Re: [PATCH] usb: phy: add dedicated notifier for charger events

From: Ivaylo Dimitrov
Date: Mon Nov 14 2022 - 11:46:38 EST


Hi,

On 14.11.22 г. 18:14 ч., Greg KH wrote:
On Mon, Nov 14, 2022 at 02:56:02PM +0200, Ivaylo Dimitrov wrote:
usb_phy::notifier is already used by various PHY drivers (including
phy_generic) to report VBUS status changes and its usage conflicts with
charger current limit changes reporting.

How exactly does it conflict?


see below

Fix that by introducing a second notifier that is dedicated to usb charger
notifications. Add usb_charger_XXX_notifier functions. Fix charger drivers
that currently (ab)use usb_XXX_notifier() to use the new API.

Why not just set the notifier type to be a new one instead of adding a
whole new notifier list? Or use a real callback? notifier lists are
really horrid and should be avoided whenever possible.


Not sure what you mean by "notifier type', but if that is that val parameter of atomic_notifier_call_chain(), the way it is used by usb charger FW:

https://elixir.bootlin.com/linux/latest/source/drivers/usb/phy/phy.c#L132

is not compatible with:

https://elixir.bootlin.com/linux/latest/source/drivers/usb/phy/phy-generic.c#L185

for example, IIUC.

The former wants to send max current as val, while latter sends event type as val. Sure, I may create some kind of hack, like using the MSB to denote charger events, but that doesn't feel right.

Or, shall I do something else and fix the usage all over the place? Please elaborate.

In regards to callback - I didn't want to come-up with a whole new API, but just fix the current one. Also, a single callback will not be enough - imagine a case with 2 batteries that have to be charged by a single USB port, so 2 separate charger devices, most-probably. We will have to keep a list of callback functions somehow. I admit my lack of knowledge, but, do we already have such API to use?

Fixes: a9081a008f84 ("usb: phy: Add USB charger support")

Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@xxxxxxxxx>

You can't have a blank line between there, checkpatch.pl should have
complained.


it didn't:

./scripts/checkpatch.pl 0001-usb-phy-add-dedicated-notifier-for-charger-events.patch
total: 0 errors, 0 warnings, 90 lines checked

0001-usb-phy-add-dedicated-notifier-for-charger-events.patch has no obvious style problems and is ready for submission.

Will fix, if I am to send v2

Thanks,
Ivo

thanks,

greg k-h