Re: [PATCH] usb: chipidea: reuse the platform_data to store the ci info

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

 



On Mon, 17 Aug 2015, Peter Chen wrote:

> > That's not quite what I had in mind.  I was thinking of something more 
> > like this:
> > 
> > 		Platform device ---- drvdata ----> struct usb_pointers
> > 			|
> > 			|
> > 		|-------|-------|
> > 		|	|	|
> > 	      gadget   hcd     otg
> > 
> > where struct usb_pointers (maybe you can think of a better name) looks 
> > like this:
> > 
> > struct usb_pointers {
> > 	struct usb_hcd		*hcd;
> > 	struct usb_gadget	*gadget;
> > 	struct usb_otg		*otg;
> > };
> > 
> > If you want, you can use your IP Core device in place of my platform
> > device.  All that matters is that the parent device of the root hub
> > (for hosts) or gadget (for peripherals) should store the address of a 
> > usb_pointers structure in its drvdata.
> > 
> 
> I am wonder how you get hcd pointer at hcd core code? The platform
> device drvdata is not hcd pointer any more, instead, it is platform
> device private data.

The platform device private data will now be a usb_pointers structure.  
The hcd core code will simply do:

	struct usb_pointers *usbptr = platform_get_drvdata(dev);
	hcd = usbptr->hcd;

We can allocate some extra space at the end of the usb_pointers
structure if the platform/glue driver wants to store additional data in
there.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



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

  Powered by Linux