summaryrefslogtreecommitdiff
path: root/sound_card_init/max98390d/src/datastore.rs
diff options
context:
space:
mode:
Diffstat (limited to 'sound_card_init/max98390d/src/datastore.rs')
-rw-r--r--sound_card_init/max98390d/src/datastore.rs56
1 files changed, 0 insertions, 56 deletions
diff --git a/sound_card_init/max98390d/src/datastore.rs b/sound_card_init/max98390d/src/datastore.rs
deleted file mode 100644
index 12ebff73..00000000
--- a/sound_card_init/max98390d/src/datastore.rs
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2020 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-use std::fs::File;
-use std::io::{prelude::*, BufReader, BufWriter};
-use std::path::PathBuf;
-
-use serde::{Deserialize, Serialize};
-use sys_util::info;
-use utils::DATASTORE_DIR;
-
-use crate::error::{Error, Result};
-
-/// `Datastore`, which stores and reads calibration values in yaml format.
-#[derive(Debug, Deserialize, Serialize, Copy, Clone)]
-pub enum Datastore {
- /// Indicates using values in VPD.
- UseVPD,
- /// rdc is (11 / 3) / actual_rdc * 2^20.
- /// ambient_temp is actual_temp * 2^12 / 100.
- DSM { rdc: i32, ambient_temp: i32 },
-}
-
-impl Datastore {
- /// Creates a `Datastore` and initializes its fields from DATASTORE_DIR/<snd_card>/{file}.
- pub fn from_file(snd_card: &str, file: &str) -> Result<Datastore> {
- let path = PathBuf::from(DATASTORE_DIR).join(snd_card).join(file);
-
- let io_err = |e| Error::FileIOFailed(path.to_string_lossy().to_string(), e);
- let parse_err = |e: serde_yaml::Error| {
- Error::DeserializationFailed(path.to_string_lossy().to_string(), e)
- };
-
- let reader = BufReader::new(File::open(&path).map_err(io_err)?);
- let datastore: Datastore = serde_yaml::from_reader(reader).map_err(parse_err)?;
- Ok(datastore)
- }
-
- /// Saves a `Datastore` to DATASTORE_DIR/<snd_card>/{file}.
- pub fn save(&self, snd_card: &str, file: &str) -> Result<()> {
- let path = PathBuf::from(DATASTORE_DIR).join(snd_card).join(file);
- let io_err = |e| Error::FileIOFailed(path.to_string_lossy().to_string(), e);
-
- let mut writer = BufWriter::new(File::create(&path).map_err(io_err)?);
- writer
- .write(
- serde_yaml::to_string(self)
- .map_err(Error::SerializationFailed)?
- .as_bytes(),
- )
- .map_err(io_err)?;
- writer.flush().map_err(io_err)?;
- info!("update Datastore {}: {:?}", path.to_string_lossy(), self);
- Ok(())
- }
-}