[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4439d19b13e2acf4c6b7f917eef590035460b06a.camel@hadess.net>
Date: Wed, 20 Apr 2022 10:45:10 +0200
From: Bastien Nocera <hadess@...ess.net>
To: Jason Gerecke <killertofu@...il.com>
Cc: Linux Input <linux-input@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Jiri Kosina <jikos@...nel.org>,
Benjamin Tissoires <benjamin.tissoires@...hat.com>,
Ping Cheng <pinglinux@...il.com>
Subject: Re: [PATCH] HID: wacom: Correct power_supply type
On Mon, 2022-04-11 at 11:51 -0700, Jason Gerecke wrote:
> It seems that the USB type was chosen to fit into a upower heuristic
> that still exists (see [1], [2]).
This heuristic was introduced in a commit that reads:
"
Hardcode wacom battery devices as not power-supply devices
We'll switch to a kernel property when the power_supply interface is
fixed.
"
Might be time :)
> Looking at the upower code I suspect
> that swapping to the Battery type will at least cause
> "UP_DEVICE_KIND_TABLET" to no longer be used for our dongle-based
> wireless devices (Bluetooth-based might still be fine though). We
> haven't sold dongle-based devices in a while, but they're definitely
> still out there. If the batteries in those devices are seen as system
> batteries that could cause a problem -- e.g. triggering hibernation
> when the tablet battery gets low.
Whatever the type of "power_supply", the device will never be detected
as supplying the system, as the "scope" is correct.
> I think it would be wise to test this first to see if there's any
> obvious real-world fallout from the change...
Worse case scenario, the tablet is detected as something other than a
tablet. If that happens, please file a bug against upower and attach
the output of "udevadm info --export-db" and CC: me on the issue, and
I'll fix the detection.
Cheers
>
> [1]:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=96983296281507f049425b84f0d244c40d506eba
> [2]:
> https://cgit.freedesktop.org/upower/tree/src/linux/up-device-supply.c
>
> Jason
> ---
> Now instead of four in the eights place /
> you’ve got three, ‘Cause you added one /
> (That is to say, eight) to the two, /
> But you can’t take seven from three, /
> So you look at the sixty-fours....
>
>
>
> On Thu, Apr 7, 2022 at 1:52 PM Bastien Nocera <hadess@...ess.net>
> wrote:
> >
> > POWER_SUPPLY_TYPE_USB seems to only ever be used by USB ports that
> > are
> > used to charge the machine itself (so a "system" scope), like the
> > single USB port on a phone, rather than devices.
> >
> > The wacom_sys driver is the only driver that sets its device
> > battery as
> > being a USB type, which doesn't seem correct based on its usage, so
> > switch it to be a battery type like all the other USB-connected
> > devices.
> >
> > Signed-off-by: Bastien Nocera <hadess@...ess.net>
> > ---
> > drivers/hid/wacom_sys.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/hid/wacom_sys.c b/drivers/hid/wacom_sys.c
> > index 066c567dbaa2..620fe74f5676 100644
> > --- a/drivers/hid/wacom_sys.c
> > +++ b/drivers/hid/wacom_sys.c
> > @@ -1777,7 +1777,7 @@ static int __wacom_initialize_battery(struct
> > wacom *wacom,
> > bat_desc->get_property = wacom_battery_get_property;
> > sprintf(battery->bat_name, "wacom_battery_%ld", n);
> > bat_desc->name = battery->bat_name;
> > - bat_desc->type = POWER_SUPPLY_TYPE_USB;
> > + bat_desc->type = POWER_SUPPLY_TYPE_BATTERY;
> > bat_desc->use_for_apm = 0;
> >
> > ps_bat = devm_power_supply_register(dev, bat_desc,
> > &psy_cfg);
> > --
> > 2.35.1
> >
Powered by blists - more mailing lists