update_engine: Remove GPIO support.

We have not used GPIO since Jan 2013. This CL removes the GPIO handling code.
As a side effect, it also removes dependency on libudev.

BUG=chromium:221725
CQ-DEPEND=CL:199683
TEST=unittest
TEST=AU end2end test on real device from older version to a version that
has CL applied, then from that to another newer version (need not have
this CL applied).

Change-Id: I4352488ec360b44a44b137c40a3ae4ec35c6fe9d
Reviewed-on: https://chromium-review.googlesource.com/199626
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Commit-Queue: Nam Nguyen <namnguyen@chromium.org>
Tested-by: Nam Nguyen <namnguyen@chromium.org>
diff --git a/real_system_state.cc b/real_system_state.cc
index 7fca0ca..10b66f3 100644
--- a/real_system_state.cc
+++ b/real_system_state.cc
@@ -19,7 +19,7 @@
       request_params_(this),
       system_rebooted_(false) {}
 
-bool RealSystemState::Initialize(bool enable_gpio) {
+bool RealSystemState::Initialize() {
   metrics_lib_.Init();
 
   if (!prefs_.Init(base::FilePath(kPrefsDirectory))) {
@@ -59,22 +59,6 @@
     return false;
   }
 
-  // Initialize the GPIO handler as instructed.
-  if (enable_gpio) {
-    // A real GPIO handler. Defer GPIO discovery to ensure the udev has ample
-    // time to export the devices. Also require that test mode is physically
-    // queried at most once and the result cached, for a more consistent update
-    // behavior.
-    udev_iface_.reset(new StandardUdevInterface());
-    file_descriptor_.reset(new EintrSafeFileDescriptor());
-    gpio_handler_.reset(new StandardGpioHandler(udev_iface_.get(),
-                                                file_descriptor_.get(),
-                                                true, true));
-  } else {
-    // A no-op GPIO handler, always indicating a non-test mode.
-    gpio_handler_.reset(new NoopGpioHandler(false));
-  }
-
   // Initialize the update attempter.
   update_attempter_.Init();