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/acpi | |
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/acpi')
-rw-r--r-- | drivers/acpi/ac.c | 2 | ||||
-rw-r--r-- | drivers/acpi/battery.c | 3 | ||||
-rw-r--r-- | drivers/acpi/sbs.c | 4 |
3 files changed, 5 insertions, 4 deletions
diff --git a/drivers/acpi/ac.c b/drivers/acpi/ac.c index 36b0e61f9c09..8bf516885ede 100644 --- a/drivers/acpi/ac.c +++ b/drivers/acpi/ac.c | |||
@@ -351,7 +351,7 @@ static int acpi_ac_add(struct acpi_device *device) | |||
351 | ac->charger.properties = ac_props; | 351 | ac->charger.properties = ac_props; |
352 | ac->charger.num_properties = ARRAY_SIZE(ac_props); | 352 | ac->charger.num_properties = ARRAY_SIZE(ac_props); |
353 | ac->charger.get_property = get_ac_property; | 353 | ac->charger.get_property = get_ac_property; |
354 | result = power_supply_register(&ac->device->dev, &ac->charger); | 354 | result = power_supply_register(&ac->device->dev, &ac->charger, NULL); |
355 | if (result) | 355 | if (result) |
356 | goto end; | 356 | goto end; |
357 | 357 | ||
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c index d98ba4355819..fd8c06f492a1 100644 --- a/drivers/acpi/battery.c +++ b/drivers/acpi/battery.c | |||
@@ -624,7 +624,8 @@ static int sysfs_add_battery(struct acpi_battery *battery) | |||
624 | battery->bat.type = POWER_SUPPLY_TYPE_BATTERY; | 624 | battery->bat.type = POWER_SUPPLY_TYPE_BATTERY; |
625 | battery->bat.get_property = acpi_battery_get_property; | 625 | battery->bat.get_property = acpi_battery_get_property; |
626 | 626 | ||
627 | result = power_supply_register_no_ws(&battery->device->dev, &battery->bat); | 627 | result = power_supply_register_no_ws(&battery->device->dev, |
628 | &battery->bat, NULL); | ||
628 | 629 | ||
629 | if (result) | 630 | if (result) |
630 | return result; | 631 | return result; |
diff --git a/drivers/acpi/sbs.c b/drivers/acpi/sbs.c index a7a3edd28beb..2038ec1d021d 100644 --- a/drivers/acpi/sbs.c +++ b/drivers/acpi/sbs.c | |||
@@ -540,7 +540,7 @@ static int acpi_battery_add(struct acpi_sbs *sbs, int id) | |||
540 | ARRAY_SIZE(sbs_energy_battery_props); | 540 | ARRAY_SIZE(sbs_energy_battery_props); |
541 | } | 541 | } |
542 | battery->bat.get_property = acpi_sbs_battery_get_property; | 542 | battery->bat.get_property = acpi_sbs_battery_get_property; |
543 | result = power_supply_register(&sbs->device->dev, &battery->bat); | 543 | result = power_supply_register(&sbs->device->dev, &battery->bat, NULL); |
544 | if (result) | 544 | if (result) |
545 | goto end; | 545 | goto end; |
546 | 546 | ||
@@ -580,7 +580,7 @@ static int acpi_charger_add(struct acpi_sbs *sbs) | |||
580 | sbs->charger.properties = sbs_ac_props; | 580 | sbs->charger.properties = sbs_ac_props; |
581 | sbs->charger.num_properties = ARRAY_SIZE(sbs_ac_props); | 581 | sbs->charger.num_properties = ARRAY_SIZE(sbs_ac_props); |
582 | sbs->charger.get_property = sbs_get_ac_property; | 582 | sbs->charger.get_property = sbs_get_ac_property; |
583 | power_supply_register(&sbs->device->dev, &sbs->charger); | 583 | power_supply_register(&sbs->device->dev, &sbs->charger, NULL); |
584 | printk(KERN_INFO PREFIX "%s [%s]: AC Adapter [%s] (%s)\n", | 584 | printk(KERN_INFO PREFIX "%s [%s]: AC Adapter [%s] (%s)\n", |
585 | ACPI_SBS_DEVICE_NAME, acpi_device_bid(sbs->device), | 585 | ACPI_SBS_DEVICE_NAME, acpi_device_bid(sbs->device), |
586 | ACPI_AC_DIR_NAME, sbs->charger_present ? "on-line" : "off-line"); | 586 | ACPI_AC_DIR_NAME, sbs->charger_present ? "on-line" : "off-line"); |