bool ps_connected)
{
struct wacom *wacom = container_of(wacom_wac, struct wacom, wacom_wac);
-------- bool changed = wacom_wac->battery_capacity != bat_capacity ||
-------- wacom_wac->bat_charging != bat_charging ||
-------- wacom_wac->bat_connected != bat_connected ||
-------- wacom_wac->ps_connected != ps_connected;
-
- if (changed) {
- wacom_wac->battery_capacity = bat_capacity;
- wacom_wac->bat_charging = bat_charging;
- wacom_wac->bat_connected = bat_connected;
- wacom_wac->ps_connected = ps_connected;
------- if (changed) {
------- wacom_wac->battery_capacity = bat_capacity;
------- wacom_wac->bat_charging = bat_charging;
------- wacom_wac->bat_connected = bat_connected;
------- wacom_wac->ps_connected = ps_connected;
-------
-------- if (wacom->battery)
-------- power_supply_changed(wacom->battery);
-------- }
++++++++ __wacom_notify_battery(&wacom->battery, bat_capacity, bat_charging,
++++++++ bat_connected, ps_connected);
}
static int wacom_penpartner_irq(struct wacom_wac *wacom)
touch_ring_mode = (data[11] & 0xC0) >> 6;
for (i = 0; i < WACOM_MAX_REMOTES; i++) {
-------- if (wacom_wac->serial[i] == serial)
-------- wacom->led.select[i] = touch_ring_mode;
------- }
-------
------- if (!wacom->battery &&
------- !(features->quirks & WACOM_QUIRK_BATTERY)) {
------- features->quirks |= WACOM_QUIRK_BATTERY;
------- INIT_WORK(&wacom->work, wacom_battery_work);
------- wacom_schedule_work(wacom_wac);
++++++++ if (remote->remotes[i].serial == serial)
++++++++ wacom->led.groups[i].select = touch_ring_mode;
}
- if (!wacom->battery &&
- !(features->quirks & WACOM_QUIRK_BATTERY)) {
- features->quirks |= WACOM_QUIRK_BATTERY;
- INIT_WORK(&wacom->work, wacom_battery_work);
- wacom_schedule_work(wacom_wac);
- }
------- wacom_notify_battery(wacom_wac, bat_percent, bat_charging, 1,
------- bat_charging);
++++++++ __wacom_notify_battery(&remote->remotes[index].battery, bat_percent,
++++++++ bat_charging, 1, bat_charging);
- wacom_notify_battery(wacom_wac, bat_percent, bat_charging, 1,
- bat_charging);
-
-------- return 1;
++++++++ out:
++++++++ spin_unlock_irqrestore(&remote->remote_lock, flags);
++++++++ return 0;
}
-------- static int wacom_remote_status_irq(struct wacom_wac *wacom_wac, size_t len)
++++++++ static void wacom_remote_status_irq(struct wacom_wac *wacom_wac, size_t len)
{
struct wacom *wacom = container_of(wacom_wac, struct wacom, wacom_wac);
unsigned char *data = wacom_wac->data;