Skip to content

Commit

Permalink
HID: wacom: power_supply: remove ac information
Browse files Browse the repository at this point in the history
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.tissoires@redhat.com>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
  • Loading branch information
Benjamin Tissoires authored and Jiri Kosina committed Aug 5, 2016
1 parent 9698329 commit 136ae5e
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 51 deletions.
3 changes: 0 additions & 3 deletions drivers/hid/wacom.h
Original file line number Diff line number Diff line change
Expand Up @@ -135,11 +135,8 @@ struct wacom_group_leds {

struct wacom_battery {
struct power_supply_desc bat_desc;
struct power_supply_desc ac_desc;
struct power_supply *battery;
struct power_supply *ac;
char bat_name[WACOM_NAME_MAX];
char ac_name[WACOM_NAME_MAX];
int battery_capacity;
int bat_charging;
int bat_connected;
Expand Down
49 changes: 1 addition & 48 deletions drivers/hid/wacom_sys.c
Original file line number Diff line number Diff line change
Expand Up @@ -1342,12 +1342,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)
Expand Down Expand Up @@ -1384,38 +1378,14 @@ 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)
{
struct wacom_battery *battery = power_supply_get_drvdata(psy);
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;
}

static int __wacom_initialize_battery(struct wacom *wacom,
struct wacom_battery *battery)
{
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;

Expand All @@ -1432,31 +1402,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;
Expand All @@ -1480,7 +1434,6 @@ static void wacom_destroy_battery(struct wacom *wacom)
devres_release_group(&wacom->hdev->dev,
&wacom->battery.bat_desc);
wacom->battery.battery = NULL;
wacom->battery.ac = NULL;
}
}

Expand Down

0 comments on commit 136ae5e

Please sign in to comment.