Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2dc9215d authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Sebastian Reichel
Browse files

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: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: default avatarBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Acked-by: default avatarPavel Machek <pavel@ucw.cz>

[for the nvec part]
Reviewed-by: default avatarMarc Dietrich <marvin24@gmx.de>

[for drivers/platform/x86/compal-laptop.c]
Reviewed-by: default avatarDarren Hart <dvhart@linux.intel.com>

[for drivers/hid/*]
Reviewed-by: default avatarJiri Kosina <jkosina@suse.cz>

Signed-off-by: default avatarSebastian Reichel <sre@kernel.org>
parent e44ea364
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -351,7 +351,7 @@ static int acpi_ac_add(struct acpi_device *device)
	ac->charger.properties = ac_props;
	ac->charger.num_properties = ARRAY_SIZE(ac_props);
	ac->charger.get_property = get_ac_property;
	result = power_supply_register(&ac->device->dev, &ac->charger);
	result = power_supply_register(&ac->device->dev, &ac->charger, NULL);
	if (result)
		goto end;

+2 −1
Original line number Diff line number Diff line
@@ -624,7 +624,8 @@ static int sysfs_add_battery(struct acpi_battery *battery)
	battery->bat.type = POWER_SUPPLY_TYPE_BATTERY;
	battery->bat.get_property = acpi_battery_get_property;

	result = power_supply_register_no_ws(&battery->device->dev, &battery->bat);
	result = power_supply_register_no_ws(&battery->device->dev,
			&battery->bat, NULL);

	if (result)
		return result;
+2 −2
Original line number Diff line number Diff line
@@ -540,7 +540,7 @@ static int acpi_battery_add(struct acpi_sbs *sbs, int id)
		    ARRAY_SIZE(sbs_energy_battery_props);
	}
	battery->bat.get_property = acpi_sbs_battery_get_property;
	result = power_supply_register(&sbs->device->dev, &battery->bat);
	result = power_supply_register(&sbs->device->dev, &battery->bat, NULL);
	if (result)
		goto end;

@@ -580,7 +580,7 @@ static int acpi_charger_add(struct acpi_sbs *sbs)
	sbs->charger.properties = sbs_ac_props;
	sbs->charger.num_properties = ARRAY_SIZE(sbs_ac_props);
	sbs->charger.get_property = sbs_get_ac_property;
	power_supply_register(&sbs->device->dev, &sbs->charger);
	power_supply_register(&sbs->device->dev, &sbs->charger, NULL);
	printk(KERN_INFO PREFIX "%s [%s]: AC Adapter [%s] (%s)\n",
	       ACPI_SBS_DEVICE_NAME, acpi_device_bid(sbs->device),
	       ACPI_AC_DIR_NAME, sbs->charger_present ? "on-line" : "off-line");
+1 −1
Original line number Diff line number Diff line
@@ -439,7 +439,7 @@ static bool hidinput_setup_battery(struct hid_device *dev, unsigned report_type,
	dev->battery_report_type = report_type;
	dev->battery_report_id = field->report->id;

	ret = power_supply_register(&dev->dev, battery);
	ret = power_supply_register(&dev->dev, battery, NULL);
	if (ret != 0) {
		hid_warn(dev, "can't register power supply: %d\n", ret);
		kfree(battery->name);
+1 −1
Original line number Diff line number Diff line
@@ -1718,7 +1718,7 @@ static int sony_battery_probe(struct sony_sc *sc)
	if (!sc->battery.name)
		return -ENOMEM;

	ret = power_supply_register(&hdev->dev, &sc->battery);
	ret = power_supply_register(&hdev->dev, &sc->battery, NULL);
	if (ret) {
		hid_err(hdev, "Unable to register battery device\n");
		goto err_free;
Loading