Re: [PATCH 3/3] usb: typec: ucsi: retry find role swithch when module load late

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 13, 2022 at 02:19:49PM +0300, Heikki Krogerus wrote:
> On Wed, Apr 13, 2022 at 11:01:23AM +0000, Linyu Yuan (QUIC) wrote:
> > > From: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
> > > Sent: Wednesday, April 13, 2022 6:24 PM
> > > > > No, you don't check that, you just return that.
> > > > Yes, I do like it.
> > > > >
> > > > > So you don't need that crazy polling mechanism where you queue a work
> > > > > until you get the resource. Just let the driver core handle the
> > > > > situation.
> > > > The issue is when a UCSI implementation driver probe, it call ucsi_register(),
> > > > But this function will not return -EPROBE_DEFER,
> > > > It just queue a work to start connector discovery.
> > > 
> > > Ah, right right. This is a library. But we should be able use
> > > wait_for_device_probe().
> > > 
> > > So if fwnode_usb_role_switch_get() returns -EPROBE_DEFER, you call
> > > wait_for_device_probe() and try again.
> > Do you mean do as below,
> > 
> > find_role_switch:
> > 	con->usb_role_sw = fwnode_usb_role_switch_get(cap->fwnode);
> > 	if (IS_ERR(con->usb_role_sw)) {
> > 		dev_err(ucsi->dev, "con%d: failed to get usb role switch\n",
> > 			con->num);
> > 		if (con->usb_role_sw == -EPROBE_DEFER) {
> > 			wait_for_device_probe();
> > 			goto find_role_switch;
> > 		}
> > 
> > 		return PTR_ERR(con->usb_role_sw);
> > 	}
> 
> Yes, something like that. Perhaps you could just do that in a loop,
> and you should have a delay there.
> 
> > Seem wait_for_device_probe() will wait all drivers probe,
> > Can we accept it ?
> 
> That part is not a problem, but I'm not sure if it appropriate to call
> the function from drivers. Let me check if there is something else
> that we can do...

OK, I don't think we should use that in drivers, and I don't have any
better ideas. Sorry for the noise.

I notised that you have already send a couple of new versions of this
series. I'll review the last one of those, but in the future please
don't send the new versions so fast.

thanks,

-- 
heikki



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux