Re: [PATCH 01/10] added media agnostic (MA) USB HCD driver

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

 



On Wed, Nov 05, 2014 at 12:14:33PM -0800, sostalle wrote:
> On Mon, Nov 03, 2014 at 04:13:55PM -0800, Greg KH wrote:
> > On Mon, Nov 03, 2014 at 04:04:42PM -0800, steph wrote:
> > > On Mon, Nov 03, 2014 at 01:21:39PM -0800, Greg KH wrote:
> > > > On Mon, Nov 03, 2014 at 12:42:48PM -0800, Stephanie Wallick wrote:
> [snip] 
> > > > > +static int mausb_hcd_init(void)
> > > > > +{
> > > > > +	int ret;
> > > > > +
> > > > > +	/* register HCD driver */
> > > > > +	ret = platform_driver_register(&mausb_driver);
> > > > 
> > > > Why is this a platform driver?  How does this relate to platform
> > > > hardware?
> > > > 
> > > The driver doesn't require platform resources. It looks like a host
> > > controller driver but communicates over the network instead of to
> > > a physical host controller. There is no MA USB-specific hardware.
> > > 
> > > Should we use a struct device instead of a struct platform_device?
> > 
> > Yes, please make it a "virtual" device.
> > 
> 
> Is it OK for our virtual host controller to use struct platform_device?
> 
> The other virtual host controllers (usbip/vhci_hcd.c & gadget/udc/dummy_hcd.c)
> use the platform_device struct. Unless I am missing something, it doesn't look
> like the other virtual host controllers use platform resources.
> 
> If it is not ok, is there a good example somewhere of a virtual non-platform
> device?

If your device is not really a platform device (i.e. no platform
resources), then just create a virtual device with a call to
device_create() and don't pass in a parent pointer.  But you need to
create a class for it, which is a pain, but shouldn't be that hard.

Hope this helps,

greg k-h
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux