06.08.2010 18:36, Greg KH wrote: > On Fri, Aug 06, 2010 at 06:26:42PM +0400, Michael Tokarev wrote: >> 06.08.2010 18:14, Greg KH wrote: >> [] >>>> Sure thing, but before I'd want to know how to add that >>>> support properly (not how to format the patch :) >>> >>> Well, a patch would be nice so that others can use the device :) >> >> I'm fine with a patch, but I wanted to do it "properly" -- >> I'd not say that exposing the 2 extra/unknown interfaces >> as serial interfaces is a proper way, some sort of "raw >> device" is better. But ok, here we go... >> >> The attached patch is against for 2.6.35 kernel. It'd >> be nice to have all these VENDOR_IDs and usb device table >> sorted somehow, instead of adding them at the end.... > > Why, it doesn't speed up anything, and makes it easier to merge patches. It does not make easier to merge patches, because when everyone is adding stuff to the end, they collide with 100% probability, but for a sufficiently large sorted list the probability is far less. >> Signed-Off-By: Michael Tokarev <mjt@xxxxxxxxxx> >> >> Thanks! >> >> --- kernel-2.6.34/drivers/usb/serial/option.c.orig 2010-07-05 23:57:45.501593450 +0400 >> +++ kernel-2.6.34/drivers/usb/serial/option.c 2010-08-06 13:39:24.892077680 +0400 [] > Please don't put the #defines here, put them where the other ones are. Doh, I sent the wrong patch - the one I did for a test, from another directory... Re-sending the right one, with the same Signed-Off-By: Michael Tokarev <mjt@xxxxxxxxxx> and now really against 2.6.35 as promised :) Thanks! /mjt
--- linux-2.6.34/drivers/usb/serial/option.c.orig 2010-08-02 02:11:14.000000000 +0400 +++ linux-2.6.34/drivers/usb/serial/option.c 2010-08-06 18:22:28.520671967 +0400 @@ -365,6 +365,14 @@ #define OLIVETTI_VENDOR_ID 0x0b3c #define OLIVETTI_PRODUCT_OLICARD100 0xc000 +/* Celot products */ +#define CELOT_VENDOR_ID 0x211f +/* CT-650 CD A 450 1xEVDO modem. + * This has 3 interfaces, one serial and 2 unknown. + * Expose all 3 for now + */ +#define CELOT_PRODUCT_CT680M 0x6801 + /* some devices interfaces need special handling due to a number of reasons */ enum option_blacklist_reason { OPTION_BLACKLIST_NONE = 0, @@ -889,6 +897,9 @@ { USB_DEVICE(CINTERION_VENDOR_ID, 0x0047) }, { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD100) }, + + { USB_DEVICE(CELOT_VENDOR_ID, CELOT_PRODUCT_CT680M) }, /* CT-650 CDMA 450 1xEVDO modem */ + { } /* Terminating entry */ }; MODULE_DEVICE_TABLE(usb, option_ids);