servod: provide ability to retrieve servo serial number

It is useful to be able to find out the serial number of the servo
servod is connected to. Add a 'pseudo control' to retrieve the serial
number, if known by servod.

BRANCH=none
BUG=none
TEST=ran the following commands:
    $ dut-control serialname
   serialname:780735-00084
   $ dut-control -i serialname
   serialname:serial number of the connected servo

Change-Id: Ib5ed09ece69dd104d0692b9794f01456facd6092
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/262204
Reviewed-by: Todd Broch <tbroch@chromium.org>
diff --git a/servo/data/common.xml b/servo/data/common.xml
index c10a0ae..655d2d4 100644
--- a/servo/data/common.xml
+++ b/servo/data/common.xml
@@ -50,4 +50,9 @@
     <doc>Forces a delay in seconds, according to the parameter</doc>
     <params cmd="set" interface="servo" drv="sleep" input_type="float"/>
   </control>
+  <control>
+    <name>serialname</name>
+    <doc>serial number of the connected servo</doc>
+    <params not_applicable="0"></params>
+  </control>
 </root>
diff --git a/servo/servo_server.py b/servo/servo_server.py
index 02749b3..adaed40 100755
--- a/servo/servo_server.py
+++ b/servo/servo_server.py
@@ -597,6 +597,10 @@
       HwDriverError: Error occurred while using drv
     """
     self._logger.debug("name(%s)" % (name))
+    if name == 'serialname':
+      if self._serialname:
+        return self._serialname
+      return 'unknown'
     (param, drv) = self._get_param_drv(name)
     try:
       val = drv.get()