power: supply: set_charged deadcode
cover power: supply: set_charged deadcode
From: "Dr. David Alan Gilbert" <[email protected]>
Hi,
This series removes power_supply_set_battery_charged()
which hasn't been called for a while, and then goes to clean up the set_charged() method which it was the only caller of.
The only setter of it was the ds2760, which I'm not too sure
is used any more, but I've left the device in.
Dave
Dr. David Alan Gilbert (3):
power: supply: core: Remove unused power_supply_set_battery_charged
power: supply: ds2760: Remove unused ds2760_battery_set_charged
power: supply: Remove unused set_charged method
drivers/power/supply/ds2760_battery.c | 49 ------------------------ drivers/power/supply/power_supply_core.c | 13 ------- include/linux/power_supply.h | 2 - 3 files changed, 64 deletions(-)
Signature · 1 line
2.48.1
PATCH 1/3 power: supply: core: Remove unused power_supply_set_battery_charged
From: "Dr. David Alan Gilbert" <[email protected]>
power_supply_set_battery_charged() has been unused since 2019's commit 0f884f8a090e ("ARM: pxa: remove raumfeld board files and defconfig")
Remove it.
--- drivers/power/supply/power_supply_core.c | 13 ------------- include/linux/power_supply.h | 1 - 2 files changed, 14 deletions(-)
drivers/power/supply/power_supply_core.c +0 -13
@@ -449,19 +449,6 @@ int power_supply_get_property_from_supplier(struct power_supply *psy, }EXPORT_SYMBOL_GPL (power_supply_get_property_from_supplier); -int power_supply_set_battery_charged (struct power_supply *psy) -{ -if (atomic_read (&psy->use_cnt) >=0 && - psy->desc->type ==POWER_SUPPLY_TYPE_BATTERY && - psy->desc->set_charged) { - psy->desc->set_charged (psy); -return 0 ; - } - -return -EINVAL ; -} -EXPORT_SYMBOL_GPL (power_supply_set_battery_charged); -static int power_supply_match_device_by_name (struct device *dev,const void *data) {const char *name = data;
include/linux/power_supply.h +0 -1
@@ -852,7 +852,6 @@ extern int power_supply_am_i_supplied(struct power_supply *psy);int power_supply_get_property_from_supplier (struct power_supply *psy,enum power_supply_property psp,union power_supply_propval *val); -extern int power_supply_set_battery_charged (struct power_supply *psy);static inline bool power_supply_supports_maintenance_charging (struct power_supply_battery_info *info)
Signature · 1 line
2.48.1
PATCH 2/3 power: supply: ds2760: Remove unused ds2760_battery_set_charged
In reply to [email protected]From: "Dr. David Alan Gilbert" <[email protected]>
With power_supply_set_battery_charged() deleted in the previous patch, there's no one left to call the set_charged method. The only implemented is in ds2760, unwire it and delete the associated functions and data.
(Arguably it might be time to delete ds2760 since I don't think there are any users left)
--- drivers/power/supply/ds2760_battery.c | 49 --------------------------- 1 file changed, 49 deletions(-)
drivers/power/supply/ds2760_battery.c +0 -49
@@ -112,7 +112,6 @@ struct ds2760_device_info {struct power_supply_desc bat_desc;struct workqueue_struct *monitor_wqueue;struct delayed_work monitor_work; -struct delayed_work set_charged_work;struct notifier_block pm_notifier; };
@@ -489,50 +488,6 @@ static void ds2760_battery_external_power_changed(struct power_supply *psy) } -static void ds2760_battery_set_charged_work (struct work_struct *work) -{ -char bias; -struct ds2760_device_info *di =container_of (work, - struct ds2760_device_info, set_charged_work.work); - -dev_dbg (di->dev,"%s\n" , __func__); - -ds2760_battery_read_status (di); - -/* When we get notified by external circuitry that the battery is -* considered fully charged now, we know that there is no current -* flow any more. However, the ds2760's internal current meter is -* too inaccurate to rely on - spec say something ~15% failure. -* Hence, we use the current offset bias register to compensate -* that error. -*/ - -if (!power_supply_am_i_supplied (di->bat)) -return ; - - bias = (signed char ) di->current_raw + - (signed char ) di->raw[DS2760_CURRENT_OFFSET_BIAS ]; - -dev_dbg (di->dev,"%s: bias = %d\n" , __func__, bias); - -w1_ds2760_write (di->dev, &bias,DS2760_CURRENT_OFFSET_BIAS ,1 ); -w1_ds2760_store_eeprom (di->dev,DS2760_EEPROM_BLOCK1 ); -w1_ds2760_recall_eeprom (di->dev,DS2760_EEPROM_BLOCK1 ); - -/* Write to the di->raw[] buffer directly - the CURRENT_OFFSET_BIAS -* value won't be read back by ds2760_battery_read_status() */ - di->raw[DS2760_CURRENT_OFFSET_BIAS ] = bias; -} - -static void ds2760_battery_set_charged (struct power_supply *psy) -{ -struct ds2760_device_info *di =power_supply_get_drvdata (psy); - -/* postpone the actual work by 20 secs. This is for debouncing GPIO -* signals and to let the current value settle. See AN4188. */ -mod_delayed_work (di->monitor_wqueue, &di->set_charged_work,HZ *20 ); -} -static int ds2760_battery_get_property (struct power_supply *psy,enum power_supply_property psp,union power_supply_propval *val)
@@ -692,7 +647,6 @@ static int w1_ds2760_add_slave(struct w1_slave *sl) di->bat_desc.set_property = ds2760_battery_set_property; di->bat_desc.property_is_writeable = ds2760_battery_property_is_writeable; - di->bat_desc.set_charged = ds2760_battery_set_charged; di->bat_desc.external_power_changed = ds2760_battery_external_power_changed;
@@ -747,8 +701,6 @@ static int w1_ds2760_add_slave(struct w1_slave *sl) }INIT_DELAYED_WORK (&di->monitor_work, ds2760_battery_work); -INIT_DELAYED_WORK (&di->set_charged_work, - ds2760_battery_set_charged_work); di->monitor_wqueue =alloc_ordered_workqueue (name,WQ_MEM_RECLAIM );if (!di->monitor_wqueue) { retval = -ESRCH ;
@@ -774,7 +726,6 @@ static void w1_ds2760_remove_slave(struct w1_slave *sl)unregister_pm_notifier (&di->pm_notifier);cancel_delayed_work_sync (&di->monitor_work); -cancel_delayed_work_sync (&di->set_charged_work);destroy_workqueue (di->monitor_wqueue); }
Signature · 1 line
2.48.1
PATCH 3/3 power: supply: Remove unused set_charged method
In reply to [email protected]From: "Dr. David Alan Gilbert" <[email protected]>
The previous patches in this series removed the only caller and only setter of this method.
Remove it.
--- include/linux/power_supply.h | 1 - 1 file changed, 1 deletion(-)
include/linux/power_supply.h +0 -1
@@ -274,7 +274,6 @@ struct power_supply_desc {int (*property_is_writeable)(struct power_supply *psy,enum power_supply_property psp);void (*external_power_changed)(struct power_supply *psy); -void (*set_charged)(struct power_supply *psy);/* * Set if thermal zone should not be created for this power supply.
Signature · 1 line
2.48.1
Sebastian Reichel
AppliedQuoted 10 lines · On Fri, 07 Mar 2025 23:02:22 +0000, [email protected] wrote:
From: "Dr. David Alan Gilbert" <[email protected]>
Hi,
This series removespower_supply_set_battery_charged()
which hasn't been called for a while, and then goes to clean up theset_charged()method which it was the only caller of.
The only setter of it was the ds2760, which I'm not too sure
is used any more, but I've left the device in.[...]
Applied, thanks!
[1/3] power: supply: core: Remove unused power_supply_set_battery_charged
commit: 46723e2839a543859a754b0e6b6f88fa71038b09
[2/3] power: supply: ds2760: Remove unused ds2760_battery_set_charged
commit: 172b7d79f79629300e7a6d16bc7e743b11e5ff2c
[3/3] power: supply: Remove unused set_charged method
commit: 68b6cf4020726a8be4fa4462e12b16c7fcf8487dBest regards,
Signature · 1 line
Sebastian Reichel <[email protected]>