Better forwarding the device name, manufacturer and serial to upower.
Note that serial is still empty, it will be filled in a later patch
in this series.

Signed-off-by: Benjamin Tissoires <[email protected]>

---

changes in v2:
* model stripped of Logitech
* vendor Logitech -> Logitech, Inc.
* use hidpp->name for the power_supply name (so that it can be overloaded)
---
 drivers/hid/hid-logitech-hidpp.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c
index 3c57886..6124481 100644
--- a/drivers/hid/hid-logitech-hidpp.c
+++ b/drivers/hid/hid-logitech-hidpp.c
@@ -758,6 +758,9 @@ static enum power_supply_property hidpp_battery_props[] = {
        POWER_SUPPLY_PROP_STATUS,
        POWER_SUPPLY_PROP_CAPACITY,
        POWER_SUPPLY_PROP_SCOPE,
+       POWER_SUPPLY_PROP_MODEL_NAME,
+       POWER_SUPPLY_PROP_MANUFACTURER,
+       POWER_SUPPLY_PROP_SERIAL_NUMBER,
 };
 
 static int hidpp_battery_get_property(struct power_supply *psy,
@@ -783,6 +786,18 @@ static int hidpp_battery_get_property(struct power_supply 
*psy,
                                        hidpp->battery.status ==
                                              POWER_SUPPLY_STATUS_FULL;
                        break;
+               case POWER_SUPPLY_PROP_MODEL_NAME:
+                       if (!strncmp(hidpp->name, "Logitech ", 9))
+                               val->strval = hidpp->name + 9;
+                       else
+                               val->strval = hidpp->name;
+                       break;
+               case POWER_SUPPLY_PROP_MANUFACTURER:
+                       val->strval = "Logitech, Inc.";
+                       break;
+               case POWER_SUPPLY_PROP_SERIAL_NUMBER:
+                       val->strval = hidpp->hid_dev->uniq;
+                       break;
                default:
                        ret = -EINVAL;
                        break;
-- 
2.9.3

Reply via email to