diff options
author | Krzysztof Kozlowski <k.kozlowski@samsung.com> | 2015-03-12 03:44:02 -0400 |
---|---|---|
committer | Sebastian Reichel <sre@kernel.org> | 2015-03-13 18:15:12 -0400 |
commit | 2dc9215d7c94f7f9f34ccf8b1710ad73d82f6216 (patch) | |
tree | b8bae66b916e1f64dd725a68bca2182ee315bf66 /drivers/hid | |
parent | e44ea364394499d38a26ed4c9668fb378ae8797f (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.c | 2 | ||||
-rw-r--r-- | drivers/hid/hid-sony.c | 2 | ||||
-rw-r--r-- | drivers/hid/hid-wiimote-modules.c | 2 | ||||
-rw-r--r-- | drivers/hid/wacom_sys.c | 5 |
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; |