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/ab8500_btemp.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/ab8500_btemp.c')
-rw-r--r-- | drivers/power/ab8500_btemp.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/power/ab8500_btemp.c b/drivers/power/ab8500_btemp.c index 4ebf7b0819f7..d5683f503a4e 100644 --- a/drivers/power/ab8500_btemp.c +++ b/drivers/power/ab8500_btemp.c | |||
@@ -1058,6 +1058,7 @@ static int ab8500_btemp_probe(struct platform_device *pdev) | |||
1058 | { | 1058 | { |
1059 | struct device_node *np = pdev->dev.of_node; | 1059 | struct device_node *np = pdev->dev.of_node; |
1060 | struct abx500_bm_data *plat = pdev->dev.platform_data; | 1060 | struct abx500_bm_data *plat = pdev->dev.platform_data; |
1061 | struct power_supply_config psy_cfg = {}; | ||
1061 | struct ab8500_btemp *di; | 1062 | struct ab8500_btemp *di; |
1062 | int irq, i, ret = 0; | 1063 | int irq, i, ret = 0; |
1063 | u8 val; | 1064 | u8 val; |
@@ -1095,11 +1096,11 @@ static int ab8500_btemp_probe(struct platform_device *pdev) | |||
1095 | di->btemp_psy.properties = ab8500_btemp_props; | 1096 | di->btemp_psy.properties = ab8500_btemp_props; |
1096 | di->btemp_psy.num_properties = ARRAY_SIZE(ab8500_btemp_props); | 1097 | di->btemp_psy.num_properties = ARRAY_SIZE(ab8500_btemp_props); |
1097 | di->btemp_psy.get_property = ab8500_btemp_get_property; | 1098 | di->btemp_psy.get_property = ab8500_btemp_get_property; |
1098 | di->btemp_psy.supplied_to = supply_interface; | ||
1099 | di->btemp_psy.num_supplicants = ARRAY_SIZE(supply_interface); | ||
1100 | di->btemp_psy.external_power_changed = | 1099 | di->btemp_psy.external_power_changed = |
1101 | ab8500_btemp_external_power_changed; | 1100 | ab8500_btemp_external_power_changed; |
1102 | 1101 | ||
1102 | psy_cfg.supplied_to = supply_interface; | ||
1103 | psy_cfg.num_supplicants = ARRAY_SIZE(supply_interface); | ||
1103 | 1104 | ||
1104 | /* Create a work queue for the btemp */ | 1105 | /* Create a work queue for the btemp */ |
1105 | di->btemp_wq = | 1106 | di->btemp_wq = |
@@ -1140,7 +1141,7 @@ static int ab8500_btemp_probe(struct platform_device *pdev) | |||
1140 | } | 1141 | } |
1141 | 1142 | ||
1142 | /* Register BTEMP power supply class */ | 1143 | /* Register BTEMP power supply class */ |
1143 | ret = power_supply_register(di->dev, &di->btemp_psy); | 1144 | ret = power_supply_register(di->dev, &di->btemp_psy, &psy_cfg); |
1144 | if (ret) { | 1145 | if (ret) { |
1145 | dev_err(di->dev, "failed to register BTEMP psy\n"); | 1146 | dev_err(di->dev, "failed to register BTEMP psy\n"); |
1146 | goto free_btemp_wq; | 1147 | goto free_btemp_wq; |