On Thu, Jan 25, 2007 at 10:25:34AM +0100, Nathael Pajani wrote: > Hi again! > > Greg KH a ??crit : > > > >> - usb_serial_probe() is not laid out in a way wich pleases me, and > >> this may be useful for others: > >> the call to type->calc_num_ports(serial); is done before the > >> serial->num_bulk_in = num_bulk_in; > >> serial->num_bulk_out = num_bulk_out; > >> serial->num_interrupt_in = num_interrupt_in; > >> serial->num_interrupt_out = num_interrupt_out; > >> so we did calculations to find them, and do not pass them to > >> calc_num_ports(), which has to compute again if it needs any > >> of them. > > > >Your driver needs this information in order to determine the number of > >ports? Can't you go off of the device id? > No, but I should come with some explaination of what I'm doing: > > Actually (2.6.19.2 and earlier), when using the generic usb serial driver > you can handle only one device type (Vendor/Product) without the need to > recompile the driver. (parameters for the module)
Don't use the generic driver for any real device, it's not made for that at all. > Here, I got 16 PCI USB Cards, whith 2 OHCI controler each, and 5 USB ports. > This allow... too much different devices for the generic driver. > Moreover, new different devices can be connected while the driver is in use > for already connected devices. > > So I'm "writting" a "fake" driver, which uses most of the generic one, but > is not the generic one. You can do that in very few lines, look at the funsoft.c driver for such an example. I recommend doing that. > And in usb-serial.c we find this: > > #ifdef CONFIG_USB_SERIAL_GENERIC > if (type == &usb_serial_generic_device) { > num_ports = num_bulk_out; > > I do not want to add another /* BEGIN HORRIBLE HACK FOR MY DRIVER */ > > > Why don't I simply modify the generic driver ? Because I will not let you :) > Because I need other functionnalities like "static" allocation of tty > numbers (just think of the number of cables connected to the PC, and try to > immagine yourself trying to find which ttyUSB is which device....) That's what sysfs and udev solve. > Then, it seems I will have to hack more in the usb-serial for this, so I > may have used the generic driver finaly. Care to post what you have? I still don't see why you are doing something different from what everyone else has been doing for a while. thanks, greg k-h ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel