summaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-input.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2017-08-01 15:38:02 -0700
committerJiri Kosina <jkosina@suse.cz>2017-08-02 10:51:46 +0200
commit0922386538f9da8f242b1d52b5538bf9b8ddded5 (patch)
tree64f2b42e97af73064833bdf16741af75a7211902 /drivers/hid/hid-input.c
parent581c4484769e692eade761c17c22549aaefe6749 (diff)
downloadop-kernel-dev-0922386538f9da8f242b1d52b5538bf9b8ddded5.zip
op-kernel-dev-0922386538f9da8f242b1d52b5538bf9b8ddded5.tar.gz
HID: input: optionally use device id in battery name
Manufacturers do not always populate serial number in their devices, so let's fall back to device ID when forming the battery device name. As a result, batteries in devices without serial number will be named like this: hid-0018:2D1F:510E.0001-battery (as opposed to hid--battery for the first one, and failing to create batteries for the subsequent ones). Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-input.c')
-rw-r--r--drivers/hid/hid-input.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 2158ec7..27d8442 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -456,7 +456,9 @@ static int hidinput_setup_battery(struct hid_device *dev, unsigned report_type,
if (!psy_desc)
return -ENOMEM;
- psy_desc->name = kasprintf(GFP_KERNEL, "hid-%s-battery", dev->uniq);
+ psy_desc->name = kasprintf(GFP_KERNEL, "hid-%s-battery",
+ strlen(dev->uniq) ?
+ dev->uniq : dev_name(&dev->dev));
if (!psy_desc->name) {
error = -ENOMEM;
goto err_free_mem;
OpenPOWER on IntegriCloud