libweave: Pass firmware using weave::Settings

Also removed unused weave::Options fields.

BUG=brillo:1257
TEST=`FEATURES=test emerge-gizmo libweave buffet`

Change-Id: I9299e3d2f58e9b8f2965cb2198107e865dabb953
Reviewed-on: https://chromium-review.googlesource.com/293927
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/buffet/buffet_config.cc b/buffet/buffet_config.cc
index 9126ead..1bb1473 100644
--- a/buffet/buffet_config.cc
+++ b/buffet/buffet_config.cc
@@ -84,6 +84,17 @@
   store.GetString(config_keys::kOemName, &settings->oem_name);
   store.GetString(config_keys::kModelName, &settings->model_name);
   store.GetString(config_keys::kModelId, &settings->model_id);
+
+  base::FilePath lsb_release_path("/etc/lsb-release");
+  chromeos::KeyValueStore lsb_release_store;
+  if (lsb_release_store.Load(lsb_release_path) &&
+      lsb_release_store.GetString("CHROMEOS_RELEASE_VERSION",
+                                  &settings->firmware_version)) {
+  } else {
+    LOG(ERROR) << "Failed to get CHROMEOS_RELEASE_VERSION from "
+               << lsb_release_path.value();
+  }
+
   std::string polling_period_str;
   if (store.GetString(config_keys::kPollingPeriodMs, &polling_period_str) &&
       !StringToTimeDelta(polling_period_str, &settings->polling_period)) {