Looks like upowerd is ignoring this since October 2013, so there is no need to keep this around in the kernel. And as mentioned in 8aaa592 (linux: Ignore ACs coming from devices) in the upower tree, "We already have enough information on the device battery".
Signed-off-by: Benjamin Tissoires <benjamin.tissoi...@redhat.com> Acked-by: Ping Cheng <pi...@wacom.com> Signed-off-by: Jiri Kosina <jkos...@suse.cz> [aaron.sko...@wacom.com: Imported into input-wacom repository (136ae5e)] Signed-off-by: Aaron Armstrong Skomra <aaron.sko...@wacom.com> [aaron.sko...@wacom.com: Backported from input-wacom repository (d35475c)] Signed-off-by: Aaron Armstrong Skomra <aaron.sko...@wacom.com> --- 3.17/wacom.h | 4 ---- 3.17/wacom_sys.c | 72 +------------------------------------------------------- 2 files changed, 1 insertion(+), 75 deletions(-) diff --git a/3.17/wacom.h b/3.17/wacom.h index d3fb8b9..cb93199 100644 --- a/3.17/wacom.h +++ b/3.17/wacom.h @@ -133,15 +133,11 @@ struct wacom_group_leds { struct wacom_battery { #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0) struct power_supply_desc bat_desc; - struct power_supply_desc ac_desc; struct power_supply *battery; - struct power_supply *ac; #else struct power_supply battery; - struct power_supply ac; #endif char bat_name[WACOM_NAME_MAX]; - char ac_name[WACOM_NAME_MAX]; int battery_capacity; int bat_charging; int bat_connected; diff --git a/3.17/wacom_sys.c b/3.17/wacom_sys.c index 7357037..3330450 100644 --- a/3.17/wacom_sys.c +++ b/3.17/wacom_sys.c @@ -1107,12 +1107,6 @@ static enum power_supply_property wacom_battery_props[] = { POWER_SUPPLY_PROP_CAPACITY }; -static enum power_supply_property wacom_ac_props[] = { - POWER_SUPPLY_PROP_PRESENT, - POWER_SUPPLY_PROP_ONLINE, - POWER_SUPPLY_PROP_SCOPE, -}; - static int wacom_battery_get_property(struct power_supply *psy, enum power_supply_property psp, union power_supply_propval *val) @@ -1153,33 +1147,6 @@ static int wacom_battery_get_property(struct power_supply *psy, return ret; } -static int wacom_ac_get_property(struct power_supply *psy, - enum power_supply_property psp, - union power_supply_propval *val) -{ -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0) - struct wacom_battery *battery = power_supply_get_drvdata(psy); -#else - struct wacom_battery *battery = container_of(psy, struct wacom_battery, battery); -#endif - int ret = 0; - - switch (psp) { - case POWER_SUPPLY_PROP_PRESENT: - /* fall through */ - case POWER_SUPPLY_PROP_ONLINE: - val->intval = battery->ps_connected; - break; - case POWER_SUPPLY_PROP_SCOPE: - val->intval = POWER_SUPPLY_SCOPE_DEVICE; - break; - default: - ret = -EINVAL; - break; - } - return ret; -} - #if LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0) static int __wacom_initialize_battery(struct wacom *wacom, struct wacom_battery *battery) @@ -1199,14 +1166,6 @@ static int __wacom_initialize_battery(struct wacom *wacom, battery->battery.type = POWER_SUPPLY_TYPE_USB; battery->battery.use_for_apm = 0; - battery->ac.properties = wacom_ac_props; - battery->ac.num_properties = ARRAY_SIZE(wacom_ac_props); - battery->ac.get_property = wacom_ac_get_property; - sprintf(wacom->battery.ac_name, "wacom_ac_%ld", n); - battery->ac.name = wacom->battery.ac_name; - battery->ac.type = POWER_SUPPLY_TYPE_MAINS; - battery->ac.use_for_apm = 0; - error = power_supply_register(dev, &battery->battery); if (error) @@ -1214,15 +1173,6 @@ static int __wacom_initialize_battery(struct wacom *wacom, power_supply_powers(WACOM_POWERSUPPLY_REF(battery->battery), dev); - error = power_supply_register(dev, &battery->ac); - - if (error) { - power_supply_unregister(&battery->battery); - return error; - } - - power_supply_powers(WACOM_POWERSUPPLY_REF(battery->ac), dev); - return 0; } @@ -1233,9 +1183,8 @@ static int __wacom_initialize_battery(struct wacom *wacom, static atomic_t battery_no = ATOMIC_INIT(0); struct device *dev = &wacom->hdev->dev; struct power_supply_config psy_cfg = { .drv_data = battery, }; - struct power_supply *ps_bat, *ps_ac; + struct power_supply *ps_bat; struct power_supply_desc *bat_desc = &battery->bat_desc; - struct power_supply_desc *ac_desc = &battery->ac_desc; unsigned long n; int error; @@ -1252,31 +1201,15 @@ static int __wacom_initialize_battery(struct wacom *wacom, bat_desc->type = POWER_SUPPLY_TYPE_USB; bat_desc->use_for_apm = 0; - ac_desc->properties = wacom_ac_props; - ac_desc->num_properties = ARRAY_SIZE(wacom_ac_props); - ac_desc->get_property = wacom_ac_get_property; - sprintf(battery->ac_name, "wacom_ac_%ld", n); - ac_desc->name = battery->ac_name; - ac_desc->type = POWER_SUPPLY_TYPE_MAINS; - ac_desc->use_for_apm = 0; - ps_bat = devm_power_supply_register(dev, bat_desc, &psy_cfg); if (IS_ERR(ps_bat)) { error = PTR_ERR(ps_bat); goto err; } - ps_ac = devm_power_supply_register(dev, ac_desc, &psy_cfg); - if (IS_ERR(ps_ac)) { - error = PTR_ERR(ps_ac); - goto err; - } - power_supply_powers(ps_bat, &wacom->hdev->dev); - power_supply_powers(ps_ac, &wacom->hdev->dev); battery->battery = ps_bat; - battery->ac = ps_ac; devres_close_group(dev, bat_desc); return 0; @@ -1302,10 +1235,8 @@ static void wacom_destroy_battery(struct wacom *wacom) devres_release_group(&wacom->hdev->dev, wacom->battery.battery); #else power_supply_unregister(&wacom->battery.battery); - power_supply_unregister(&wacom->battery.ac); #endif WACOM_POWERSUPPLY_DEVICE(wacom->battery.battery) = NULL; - WACOM_POWERSUPPLY_DEVICE(wacom->battery.ac) = NULL; } } @@ -1486,7 +1417,6 @@ static void wacom_remotes_destroy(void *data) if (WACOM_POWERSUPPLY_DEVICE(remote->remotes[i].battery.battery)) { power_supply_unregister(&remote->remotes[i].battery.battery); - power_supply_unregister(&remote->remotes[i].battery.ac); } } } -- 2.7.4 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel