
Hi,
On Jun 25, 2014 12:08 AM, "Marek Vasut" marex@denx.de wrote:
On Wednesday, June 25, 2014 at 07:11:42 AM, Vivek Gautam wrote:
Hi Marek,
On Tue, Jun 24, 2014 at 7:56 PM, Marek Vasut marex@denx.de wrote:
On Tuesday, June 24, 2014 at 04:10:20 PM, Vivek Gautam wrote:
Hi Marek,
It's been very long since we had discussion for introducing the
wrapper
layer to enable using multiple usb controller types. Its been unfortunate that i had been busy with other tasks, and
couldn't
look into this. Now that i got sometime, i have prepared a simple RFC patch which
right
now supports APIs translation for submit_control_msg(), submit_bulk_msg(), submit_int_msg(), and usb_lowlevel_init() as well
as
usb_lowlevel_stop(). This was the simplest approach that could differentiate between controller types.
I had thought of another approach too, wherein there's a 'list'
passed
by the usb core layer, which would be filled with
'host_controller_drv'
structure, that would contain information about the driver. And then each host controller driver will register certain callbacks that can
be
called from the upper layers. If you say i will send an RFC for this approach.
I think this approach in this patchset will not play well with the
driver
model. Instead, I'd love to see a mean to instantiate each *HCI controller and have a USB core which would track those instances. The USB core would then be able to call whatever generic ops on those instances as needed. Does that make sense please ?
True, i understand your point here. I think the second approach i was talking of, goes in this direction. I think i could not put it well in words there.
I will prepare an RFC patch for that, and post it as soon as its ready, so that you can have a look.
Ah, this would be so very appreciated! Thank you!
Should we consider just going straight for driver model?
Regards, Simon