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/power/88pm860x_charger.c | |
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/power/88pm860x_charger.c')
-rw-r--r-- | drivers/power/88pm860x_charger.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/power/88pm860x_charger.c b/drivers/power/88pm860x_charger.c index 734ec4afa14d..ac352a6c03ea 100644 --- a/drivers/power/88pm860x_charger.c +++ b/drivers/power/88pm860x_charger.c | |||
@@ -648,6 +648,7 @@ static struct pm860x_irq_desc { | |||
648 | static int pm860x_charger_probe(struct platform_device *pdev) | 648 | static int pm860x_charger_probe(struct platform_device *pdev) |
649 | { | 649 | { |
650 | struct pm860x_chip *chip = dev_get_drvdata(pdev->dev.parent); | 650 | struct pm860x_chip *chip = dev_get_drvdata(pdev->dev.parent); |
651 | struct power_supply_config psy_cfg = {}; | ||
651 | struct pm860x_charger_info *info; | 652 | struct pm860x_charger_info *info; |
652 | int ret; | 653 | int ret; |
653 | int count; | 654 | int count; |
@@ -687,12 +688,12 @@ static int pm860x_charger_probe(struct platform_device *pdev) | |||
687 | 688 | ||
688 | info->usb.name = "usb"; | 689 | info->usb.name = "usb"; |
689 | info->usb.type = POWER_SUPPLY_TYPE_USB; | 690 | info->usb.type = POWER_SUPPLY_TYPE_USB; |
690 | info->usb.supplied_to = pm860x_supplied_to; | ||
691 | info->usb.num_supplicants = ARRAY_SIZE(pm860x_supplied_to); | ||
692 | info->usb.properties = pm860x_usb_props; | 691 | info->usb.properties = pm860x_usb_props; |
693 | info->usb.num_properties = ARRAY_SIZE(pm860x_usb_props); | 692 | info->usb.num_properties = ARRAY_SIZE(pm860x_usb_props); |
694 | info->usb.get_property = pm860x_usb_get_prop; | 693 | info->usb.get_property = pm860x_usb_get_prop; |
695 | ret = power_supply_register(&pdev->dev, &info->usb); | 694 | psy_cfg.supplied_to = pm860x_supplied_to; |
695 | psy_cfg.num_supplicants = ARRAY_SIZE(pm860x_supplied_to); | ||
696 | ret = power_supply_register(&pdev->dev, &info->usb, &psy_cfg); | ||
696 | if (ret) | 697 | if (ret) |
697 | goto out; | 698 | goto out; |
698 | 699 | ||