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