aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
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/acpi
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/acpi')
-rw-r--r--drivers/acpi/ac.c2
-rw-r--r--drivers/acpi/battery.c3
-rw-r--r--drivers/acpi/sbs.c4
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");