aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid
diff options
context:
space:
mode:
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>2015-03-12 03:44:02 -0400
committerSebastian Reichel <sre@kernel.org>2015-03-13 18:15:12 -0400
commit2dc9215d7c94f7f9f34ccf8b1710ad73d82f6216 (patch)
treeb8bae66b916e1f64dd725a68bca2182ee315bf66 /drivers/hid
parente44ea364394499d38a26ed4c9668fb378ae8797f (diff)
power_supply: Move run-time configuration to separate structure
Add new structure 'power_supply_config' for holding run-time initialization data like of_node, supplies and private driver data. The power_supply_register() function is changed so all power supply drivers need updating. When registering the power supply this new 'power_supply_config' should be used instead of directly initializing 'struct power_supply'. This allows changing the ownership of power_supply structure from driver to the power supply core in next patches. When a driver does not use of_node or supplies then it should use NULL as config. If driver uses of_node or supplies then it should allocate config on stack and initialize it with proper values. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Acked-by: Pavel Machek <pavel@ucw.cz> [for the nvec part] Reviewed-by: Marc Dietrich <marvin24@gmx.de> [for drivers/platform/x86/compal-laptop.c] Reviewed-by: Darren Hart <dvhart@linux.intel.com> [for drivers/hid/*] Reviewed-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Sebastian Reichel <sre@kernel.org>
Diffstat (limited to 'drivers/hid')
-rw-r--r--drivers/hid/hid-input.c2
-rw-r--r--drivers/hid/hid-sony.c2
-rw-r--r--drivers/hid/hid-wiimote-modules.c2
-rw-r--r--drivers/hid/wacom_sys.c5
4 files changed, 6 insertions, 5 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 052869d0ab78..6182265a6571 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -439,7 +439,7 @@ static bool hidinput_setup_battery(struct hid_device *dev, unsigned report_type,
439 dev->battery_report_type = report_type; 439 dev->battery_report_type = report_type;
440 dev->battery_report_id = field->report->id; 440 dev->battery_report_id = field->report->id;
441 441
442 ret = power_supply_register(&dev->dev, battery); 442 ret = power_supply_register(&dev->dev, battery, NULL);
443 if (ret != 0) { 443 if (ret != 0) {
444 hid_warn(dev, "can't register power supply: %d\n", ret); 444 hid_warn(dev, "can't register power supply: %d\n", ret);
445 kfree(battery->name); 445 kfree(battery->name);
diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
index 31e9d2561106..16fc6a17ac63 100644
--- a/drivers/hid/hid-sony.c
+++ b/drivers/hid/hid-sony.c
@@ -1718,7 +1718,7 @@ static int sony_battery_probe(struct sony_sc *sc)
1718 if (!sc->battery.name) 1718 if (!sc->battery.name)
1719 return -ENOMEM; 1719 return -ENOMEM;
1720 1720
1721 ret = power_supply_register(&hdev->dev, &sc->battery); 1721 ret = power_supply_register(&hdev->dev, &sc->battery, NULL);
1722 if (ret) { 1722 if (ret) {
1723 hid_err(hdev, "Unable to register battery device\n"); 1723 hid_err(hdev, "Unable to register battery device\n");
1724 goto err_free; 1724 goto err_free;
diff --git a/drivers/hid/hid-wiimote-modules.c b/drivers/hid/hid-wiimote-modules.c
index 6b61f01e01e7..91cb00abcb8e 100644
--- a/drivers/hid/hid-wiimote-modules.c
+++ b/drivers/hid/hid-wiimote-modules.c
@@ -250,7 +250,7 @@ static int wiimod_battery_probe(const struct wiimod_ops *ops,
250 if (!wdata->battery.name) 250 if (!wdata->battery.name)
251 return -ENOMEM; 251 return -ENOMEM;
252 252
253 ret = power_supply_register(&wdata->hdev->dev, &wdata->battery); 253 ret = power_supply_register(&wdata->hdev->dev, &wdata->battery, NULL);
254 if (ret) { 254 if (ret) {
255 hid_err(wdata->hdev, "cannot register battery device\n"); 255 hid_err(wdata->hdev, "cannot register battery device\n");
256 goto err_free; 256 goto err_free;
diff --git a/drivers/hid/wacom_sys.c b/drivers/hid/wacom_sys.c
index f0568a7e6de9..148949c0e039 100644
--- a/drivers/hid/wacom_sys.c
+++ b/drivers/hid/wacom_sys.c
@@ -1021,13 +1021,14 @@ static int wacom_initialize_battery(struct wacom *wacom)
1021 wacom->ac.use_for_apm = 0; 1021 wacom->ac.use_for_apm = 0;
1022 1022
1023 error = power_supply_register(&wacom->hdev->dev, 1023 error = power_supply_register(&wacom->hdev->dev,
1024 &wacom->battery); 1024 &wacom->battery, NULL);
1025 if (error) 1025 if (error)
1026 return error; 1026 return error;
1027 1027
1028 power_supply_powers(&wacom->battery, &wacom->hdev->dev); 1028 power_supply_powers(&wacom->battery, &wacom->hdev->dev);
1029 1029
1030 error = power_supply_register(&wacom->hdev->dev, &wacom->ac); 1030 error = power_supply_register(&wacom->hdev->dev, &wacom->ac,
1031 NULL);
1031 if (error) { 1032 if (error) {
1032 power_supply_unregister(&wacom->battery); 1033 power_supply_unregister(&wacom->battery);
1033 return error; 1034 return error;