From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Torokhov Subject: [PATCH 2/2] HID: input: optionally use device id in battery name Date: Mon, 31 Jul 2017 16:21:04 -0700 Message-ID: <20170731232104.14708-2-dmitry.torokhov@gmail.com> References: <20170731232104.14708-1-dmitry.torokhov@gmail.com> Return-path: Received: from mail-pf0-f193.google.com ([209.85.192.193]:34076 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751566AbdGaXVJ (ORCPT ); Mon, 31 Jul 2017 19:21:09 -0400 In-Reply-To: <20170731232104.14708-1-dmitry.torokhov@gmail.com> Sender: linux-input-owner@vger.kernel.org List-Id: linux-input@vger.kernel.org To: Jiri Kosina Cc: Benjamin Tissoires , Jason Gerecke , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org 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 --- drivers/hid/hid-input.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index 5bcd4e4afb54..299694cfede9 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c @@ -453,7 +453,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; -- 2.14.0.rc0.400.g1c36432dff-goog