Re: [PATCH 0/2] *** SUBJECT HERE ***
On Tue, Jul 02, 2013 at 01:22:01AM +0200, Anders Hammarquist wrote: In a message of Fri, 28 Jun 2013 12:23:33 +0200, Johan Hovold writes: I did a quick check of adding the device id though sysfs, and although it partly works, it doesn't find the correct firmware (it ends up trying to load 5052 firmware for a 3410 device. Looking at the code it seems (struct ti_device) td_is_3410 isn't set properly.) Turns out that the drivers device-type detection has never worked with the dynamic id interface (all devices were detected as 2-port devices). I'm responding to this mail with a fix. Care to give it a try? Yes, this works fine. Thanks for testing. Johan -- To unsubscribe from this list: send the line unsubscribe linux-usb in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/2] *** SUBJECT HERE ***
In a message of Fri, 28 Jun 2013 12:23:33 +0200, Johan Hovold writes: I did a quick check of adding the device id though sysfs, and although it partly works, it doesn't find the correct firmware (it ends up trying to load 5052 firmware for a 3410 device. Looking at the code it seems (struct ti_device) td_is_3410 isn't set properly.) Turns out that the drivers device-type detection has never worked with the dynamic id interface (all devices were detected as 2-port devices). I'm responding to this mail with a fix. Care to give it a try? Yes, this works fine. /Anders -- To unsubscribe from this list: send the line unsubscribe linux-usb in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/2] *** SUBJECT HERE ***
On Thu, Jun 27, 2013 at 11:50:52PM +0200, Anders Hammarquist wrote: In a message of Wed, 26 Jun 2013 12:39:24 +0200, Johan Hovold writes: On Wed, Jun 26, 2013 at 10:29:59AM +0200, Anders Hammarquist wrote: In a message of Tue, 25 Jun 2013 16:39:11 -0700, Greg KH writes: Indeed. I'd already had some (failed) thoughts about how to handle it nicely. Now I've had another think through, and I have something which deals with it and at least complains if TI_EXTRA_VID_PID_COUNT is changed without changing the initializer. Patch 2/2 Why don't we just drop the extra id thing entirely? The usb-serial subsystem handles new device ids being added dynamically from sysfs for a long time now. Removing this module option would clean up the code a lot, and prevent these errors from ever happening again. Aha, yes, I'm all for that (had I only known I'd have done that to start with). I'll look in to it. I already have a few patches here (part of a larger 3.11 clean-up series) which removes the vid/pid module parameters from all usb-serial modules including ti_usb_3410_5052. I hope to be able to submit the whole series a later tonight, but here's the ti_usb_3410_5052 part if anyone's interested. I did a quick check of adding the device id though sysfs, and although it partly works, it doesn't find the correct firmware (it ends up trying to load 5052 firmware for a 3410 device. Looking at the code it seems (struct ti_device) td_is_3410 isn't set properly.) Turns out that the drivers device-type detection has never worked with the dynamic id interface (all devices were detected as 2-port devices). I'm responding to this mail with a fix. Care to give it a try? Thanks, Johan -- To unsubscribe from this list: send the line unsubscribe linux-usb in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/2] *** SUBJECT HERE ***
In a message of Wed, 26 Jun 2013 12:39:24 +0200, Johan Hovold writes: On Wed, Jun 26, 2013 at 10:29:59AM +0200, Anders Hammarquist wrote: In a message of Tue, 25 Jun 2013 16:39:11 -0700, Greg KH writes: Indeed. I'd already had some (failed) thoughts about how to handle it nicely. Now I've had another think through, and I have something which deals with it and at least complains if TI_EXTRA_VID_PID_COUNT is changed without changing the initializer. Patch 2/2 Why don't we just drop the extra id thing entirely? The usb-serial subsystem handles new device ids being added dynamically from sysfs for a long time now. Removing this module option would clean up the code a lot, and prevent these errors from ever happening again. Aha, yes, I'm all for that (had I only known I'd have done that to start with). I'll look in to it. I already have a few patches here (part of a larger 3.11 clean-up series) which removes the vid/pid module parameters from all usb-serial modules including ti_usb_3410_5052. I hope to be able to submit the whole series a later tonight, but here's the ti_usb_3410_5052 part if anyone's interested. I did a quick check of adding the device id though sysfs, and although it partly works, it doesn't find the correct firmware (it ends up trying to load 5052 firmware for a 3410 device. Looking at the code it seems (struct ti_device) td_is_3410 isn't set properly.) I can take a stab at fixing it in the next few days. /Anders -- To unsubscribe from this list: send the line unsubscribe linux-usb in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/2] *** SUBJECT HERE ***
In a message of Tue, 25 Jun 2013 16:39:11 -0700, Greg KH writes: Indeed. I'd already had some (failed) thoughts about how to handle it nicely. Now I've had another think through, and I have something which deals with it and at least complains if TI_EXTRA_VID_PID_COUNT is changed without changing the initializer. Patch 2/2 Why don't we just drop the extra id thing entirely? The usb-serial subsystem handles new device ids being added dynamically from sysfs for a long time now. Removing this module option would clean up the code a lot, and prevent these errors from ever happening again. Aha, yes, I'm all for that (had I only known I'd have done that to start with). I'll look in to it. /Anders -- To unsubscribe from this list: send the line unsubscribe linux-usb in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/2] *** SUBJECT HERE ***
On Wed, Jun 26, 2013 at 10:29:59AM +0200, Anders Hammarquist wrote: In a message of Tue, 25 Jun 2013 16:39:11 -0700, Greg KH writes: Indeed. I'd already had some (failed) thoughts about how to handle it nicely. Now I've had another think through, and I have something which deals with it and at least complains if TI_EXTRA_VID_PID_COUNT is changed without changing the initializer. Patch 2/2 Why don't we just drop the extra id thing entirely? The usb-serial subsystem handles new device ids being added dynamically from sysfs for a long time now. Removing this module option would clean up the code a lot, and prevent these errors from ever happening again. Aha, yes, I'm all for that (had I only known I'd have done that to start with). I'll look in to it. I already have a few patches here (part of a larger 3.11 clean-up series) which removes the vid/pid module parameters from all usb-serial modules including ti_usb_3410_5052. I hope to be able to submit the whole series a later tonight, but here's the ti_usb_3410_5052 part if anyone's interested. Thanks, Johan From: Johan Hovold jhov...@gmail.com Subject: [PATCH] USB: ti_usb_3410_5052: remove vendor/product module parameters Remove the vendor and product module parameters which were added a long time ago when we did not have the dynamic sysfs interface to add new device ids (and which isn't limited to five new vid/pid pair). A vid/pid pair can be added dynamically using sysfs, for example: echo 0451 1234 /sys/bus/usb-serial/drivers/ti_usb_3410_5052_1/new_id for 1-port adapters, or echo 0451 1234 /sys/bus/usb-serial/drivers/ti_usb_3410_5052_2/new_id for 2-port adapters. Signed-off-by: Johan Hovold jhov...@gmail.com --- drivers/usb/serial/ti_usb_3410_5052.c | 72 --- 1 file changed, 7 insertions(+), 65 deletions(-) diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c index f3e21f5..5585b20 100644 --- a/drivers/usb/serial/ti_usb_3410_5052.c +++ b/drivers/usb/serial/ti_usb_3410_5052.c @@ -141,20 +141,9 @@ static int ti_download_firmware(struct ti_device *tdev); /* module parameters */ static int closing_wait = TI_DEFAULT_CLOSING_WAIT; -static ushort vendor_3410[TI_EXTRA_VID_PID_COUNT]; -static unsigned int vendor_3410_count; -static ushort product_3410[TI_EXTRA_VID_PID_COUNT]; -static unsigned int product_3410_count; -static ushort vendor_5052[TI_EXTRA_VID_PID_COUNT]; -static unsigned int vendor_5052_count; -static ushort product_5052[TI_EXTRA_VID_PID_COUNT]; -static unsigned int product_5052_count; /* supported devices */ -/* the array dimension is the number of default entries plus */ -/* TI_EXTRA_VID_PID_COUNT user defined entries plus 1 terminating */ -/* null entry */ -static struct usb_device_id ti_id_table_3410[15+TI_EXTRA_VID_PID_COUNT+1] = { +static struct usb_device_id ti_id_table_3410[] = { { USB_DEVICE(TI_VENDOR_ID, TI_3410_PRODUCT_ID) }, { USB_DEVICE(TI_VENDOR_ID, TI_3410_EZ430_ID) }, { USB_DEVICE(MTS_VENDOR_ID, MTS_GSM_NO_FW_PRODUCT_ID) }, @@ -171,16 +160,18 @@ static struct usb_device_id ti_id_table_3410[15+TI_EXTRA_VID_PID_COUNT+1] = { { USB_DEVICE(ABBOTT_VENDOR_ID, ABBOTT_STEREO_PLUG_ID) }, { USB_DEVICE(ABBOTT_VENDOR_ID, ABBOTT_STRIP_PORT_ID) }, { USB_DEVICE(TI_VENDOR_ID, FRI2_PRODUCT_ID) }, + { } /* terminator */ }; -static struct usb_device_id ti_id_table_5052[5+TI_EXTRA_VID_PID_COUNT+1] = { +static struct usb_device_id ti_id_table_5052[] = { { USB_DEVICE(TI_VENDOR_ID, TI_5052_BOOT_PRODUCT_ID) }, { USB_DEVICE(TI_VENDOR_ID, TI_5152_BOOT_PRODUCT_ID) }, { USB_DEVICE(TI_VENDOR_ID, TI_5052_EEPROM_PRODUCT_ID) }, { USB_DEVICE(TI_VENDOR_ID, TI_5052_FIRMWARE_PRODUCT_ID) }, + { } /* terminator */ }; -static struct usb_device_id ti_id_table_combined[19+2*TI_EXTRA_VID_PID_COUNT+1] = { +static struct usb_device_id ti_id_table_combined[] = { { USB_DEVICE(TI_VENDOR_ID, TI_3410_PRODUCT_ID) }, { USB_DEVICE(TI_VENDOR_ID, TI_3410_EZ430_ID) }, { USB_DEVICE(MTS_VENDOR_ID, MTS_GSM_NO_FW_PRODUCT_ID) }, @@ -200,7 +191,7 @@ static struct usb_device_id ti_id_table_combined[19+2*TI_EXTRA_VID_PID_COUNT+1] { USB_DEVICE(IBM_VENDOR_ID, IBM_454C_PRODUCT_ID) }, { USB_DEVICE(ABBOTT_VENDOR_ID, ABBOTT_PRODUCT_ID) }, { USB_DEVICE(TI_VENDOR_ID, FRI2_PRODUCT_ID) }, - { } + { } /* terminator */ }; static struct usb_serial_driver ti_1port_device = { @@ -289,61 +280,12 @@ module_param(closing_wait, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(closing_wait, Maximum wait for data to drain in close, in .01 secs, default is 4000); -module_param_array(vendor_3410, ushort, vendor_3410_count, S_IRUGO); -MODULE_PARM_DESC(vendor_3410, - Vendor ids for 3410 based devices, 1-5 short integers); -module_param_array(product_3410, ushort, product_3410_count, S_IRUGO);
Re: [PATCH 0/2] *** SUBJECT HERE ***
On Sat, Jun 22, 2013 at 08:54:43PM +0200, Anders Hammarquist wrote: In a message of Fri, 21 Jun 2013 16:56:03 -0700, Greg KH writes: Please resend this in a format that I can apply it in (i.e. one that does not require me to edit it by hand...) After more fighting with git, I belive I now made it spit out what I wanted. Patch 1/2 ahead. -static struct usb_device_id ti_id_table_3410[15+TI_EXTRA_VID_PID_COUNT+1] = { +static struct usb_device_id ti_id_table_3410[16+TI_EXTRA_VID_PID_COUNT+1] = { That's a mess, why have it be a static array at all? Just include an empty one at the end. Indeed. I'd already had some (failed) thoughts about how to handle it nicely. Now I've had another think through, and I have something which deals with it and at least complains if TI_EXTRA_VID_PID_COUNT is changed without changing the initializer. Patch 2/2 Why don't we just drop the extra id thing entirely? The usb-serial subsystem handles new device ids being added dynamically from sysfs for a long time now. Removing this module option would clean up the code a lot, and prevent these errors from ever happening again. thanks, greg k-h -- To unsubscribe from this list: send the line unsubscribe linux-usb in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 0/2] *** SUBJECT HERE ***
In a message of Fri, 21 Jun 2013 16:56:03 -0700, Greg KH writes: Please resend this in a format that I can apply it in (i.e. one that does not require me to edit it by hand...) After more fighting with git, I belive I now made it spit out what I wanted. Patch 1/2 ahead. -static struct usb_device_id ti_id_table_3410[15+TI_EXTRA_VID_PID_COUNT+1] = { +static struct usb_device_id ti_id_table_3410[16+TI_EXTRA_VID_PID_COUNT+1] = { That's a mess, why have it be a static array at all? Just include an empty one at the end. Indeed. I'd already had some (failed) thoughts about how to handle it nicely. Now I've had another think through, and I have something which deals with it and at least complains if TI_EXTRA_VID_PID_COUNT is changed without changing the initializer. Patch 2/2 /Anders -- To unsubscribe from this list: send the line unsubscribe linux-usb in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html