Re: [PATCH v2 6/9] usb: roles: Find the muxes by also matching against the device node

From: Heikki Krogerus
Date: Mon Feb 11 2019 - 07:40:49 EST


On Mon, Feb 11, 2019 at 12:46:29PM +0200, Heikki Krogerus wrote:
> On Mon, Feb 11, 2019 at 09:58:04AM +0000, Jun Li wrote:
> > Hi Heikki,
> >
> > > @@ -84,7 +85,12 @@ enum usb_role usb_role_switch_get_role(struct
> > > usb_role_switch *sw) } EXPORT_SYMBOL_GPL(usb_role_switch_get_role);
> > >
> > > -static int __switch_match(struct device *dev, const void *name)
> > > +static int switch_fwnode_match(struct device *dev, const void *fwnode)
> > > +{
> > > + return dev_fwnode(dev) == fwnode;
> >
> > You missed the comment
> > https://lkml.org/lkml/2019/1/22/437
> >
> > return dev_fwnode(dev->parent) == fwnode;
>
> That's actually not the case. struct usb_role_switch_desc has a member
> for fwnode, and that's what we use with the actual mux device. Check
> usb_role_switch_register():
>
> ...
> sw->dev.fwnode = desc->fwnode;
> ...
>
> Sorry for not realizing it before.

Just to clarify. The current patch is OK. No changes needed.


thanks,

--
heikki