Hi Dmitry, On Tue, Jun 29, 2021 at 8:26 PM Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> wrote: > > The power supply states of discharging, charging, full, etc, represent > state of charging, not the capacity level of the battery (for which > we have a separate property). Current HID usage tables to not allow > for expressing charging state of the batteries found in generic > styli, so we should simply assume that the battery is discharging > even if current capacity is at 100% when battery strength reporting > is done via HID interface. In fact, we were doing just that before > commit 581c4484769e. This commit is 4 year old already, so I'd like to have the opinion of Bastien on the matter for the upower side (or at least notify him). > > This change helps UIs to not mis-represent fully charged batteries in > styli as being charging/topping-off. > > Fixes: 581c4484769e ("HID: input: map digitizer battery usage") > Reported-by: Kenneth Albanowski <kenalba@xxxxxxxxxx> > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > --- > drivers/hid/hid-input.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c > index e982d8173c9c..e85a1a34ff39 100644 > --- a/drivers/hid/hid-input.c > +++ b/drivers/hid/hid-input.c > @@ -417,8 +417,6 @@ static int hidinput_get_battery_property(struct power_supply *psy, > > if (dev->battery_status == HID_BATTERY_UNKNOWN) > val->intval = POWER_SUPPLY_STATUS_UNKNOWN; What's the point of keeping the HID_BATTERY_UNKNOWN code path? AFAICT, before 581c4484769e, we were just returning POWER_SUPPLY_STATUS_DISCHARGING. If we don't need to check for the capacity, I think we could also drop the hunk just before where we do the query of the capacity. Cheers, Benjamin > - else if (dev->battery_capacity == 100) > - val->intval = POWER_SUPPLY_STATUS_FULL; > else > val->intval = POWER_SUPPLY_STATUS_DISCHARGING; > break; > -- > 2.32.0.93.g670b81a890-goog > > -- > Dmitry >