I am writing usb driver for 2.4 (based on usb-skeleton.c, MAJOR = 180). I want to add the capability to handle more than 16 devices. When I use usb_register with a minor # and fops set, I see that I only get 16 devices even if I have a minor table capable to handle more than 16.

I think I can call usb_register with different minor #s to get more than 16 devices, but there should be a better way doing this. Like calling usb_register with no minor and fops set to null and later registering the minor and fops with the driver. Please let me know if this is possible. Any example / pointers would be greatly appreciated.

And my fops includes just open, close, ioctl.