lkml.org 
[lkml]   [2010]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 2/3] staging: make USB device id constant
    From: Márton Németh <nm127@freemail.hu>

    The id_table field of the struct usb_device_id is constant in <linux/usb.h>
    so it is worth to make the initialization data also constant.

    The semantic match that finds this kind of pattern is as follows:
    (http://coccinelle.lip6.fr/)

    // <smpl>
    @r@
    disable decl_init,const_decl_init;
    identifier I1, I2, x;
    @@
    struct I1 {
    ...
    const struct I2 *x;
    ...
    };
    @s@
    identifier r.I1, y;
    identifier r.x, E;
    @@
    struct I1 y = {
    .x = E,
    };
    @c@
    identifier r.I2;
    identifier s.E;
    @@
    const struct I2 E[] = ... ;
    @depends on !c@
    identifier r.I2;
    identifier s.E;
    @@
    + const
    struct I2 E[] = ...;
    // </smpl>

    Signed-off-by: Márton Németh <nm127@freemail.hu>
    Cc: Julia Lawall <julia@diku.dk>
    Cc: cocci@diku.dk
    ---
    diff -u -p a/drivers/staging/serqt_usb2/serqt_usb2.c b/drivers/staging/serqt_usb2/serqt_usb2.c
    --- a/drivers/staging/serqt_usb2/serqt_usb2.c 2010-01-07 19:08:46.000000000 +0100
    +++ b/drivers/staging/serqt_usb2/serqt_usb2.c 2010-01-08 09:53:37.000000000 +0100
    @@ -126,7 +126,7 @@ static int debug;
    #define MODEM_CTRL 0x40
    #define RS232_MODE 0x00

    -static struct usb_device_id serqt_id_table[] = {
    +static const struct usb_device_id serqt_id_table[] = {
    {USB_DEVICE(USB_VENDOR_ID_QUATECH, QUATECH_SSU100)},
    {USB_DEVICE(USB_VENDOR_ID_QUATECH, QUATECH_SSU200)},
    {USB_DEVICE(USB_VENDOR_ID_QUATECH, QUATECH_DSU100)},
    diff -u -p a/drivers/staging/line6/driver.c b/drivers/staging/line6/driver.c
    --- a/drivers/staging/line6/driver.c 2010-01-07 19:08:45.000000000 +0100
    +++ b/drivers/staging/line6/driver.c 2010-01-08 09:56:21.000000000 +0100
    @@ -33,7 +33,7 @@


    /* table of devices that work with this driver */
    -static struct usb_device_id line6_id_table[] = {
    +static const struct usb_device_id line6_id_table[] = {
    { USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_BASSPODXT) },
    { USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_BASSPODXTLIVE) },
    { USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_BASSPODXTPRO) },
    diff -u -p a/drivers/staging/winbond/wbusb.c b/drivers/staging/winbond/wbusb.c
    --- a/drivers/staging/winbond/wbusb.c 2009-12-03 04:51:21.000000000 +0100
    +++ b/drivers/staging/winbond/wbusb.c 2010-01-08 09:58:45.000000000 +0100
    @@ -23,7 +23,7 @@ MODULE_DESCRIPTION("IS89C35 802.11bg WLA
    MODULE_LICENSE("GPL");
    MODULE_VERSION("0.1");

    -static struct usb_device_id wb35_table[] __devinitdata = {
    +static const struct usb_device_id wb35_table[] __devinitconst = {
    { USB_DEVICE(0x0416, 0x0035) },
    { USB_DEVICE(0x18E8, 0x6201) },
    { USB_DEVICE(0x18E8, 0x6206) },
    diff -u -p a/drivers/staging/rtl8192su/r8192U_core.c b/drivers/staging/rtl8192su/r8192U_core.c
    --- a/drivers/staging/rtl8192su/r8192U_core.c 2010-01-07 19:08:46.000000000 +0100
    +++ b/drivers/staging/rtl8192su/r8192U_core.c 2010-01-08 10:01:12.000000000 +0100
    @@ -110,7 +110,7 @@ u32 rt_global_debug_component = \
    #define TOTAL_CAM_ENTRY 32
    #define CAM_CONTENT_COUNT 8

    -static struct usb_device_id rtl8192_usb_id_tbl[] = {
    +static const struct usb_device_id rtl8192_usb_id_tbl[] = {
    /* Realtek */
    {USB_DEVICE(0x0bda, 0x8192)},
    {USB_DEVICE(0x0bda, 0x8709)},
    diff -u -p a/drivers/staging/comedi/drivers/dt9812.c b/drivers/staging/comedi/drivers/dt9812.c
    --- a/drivers/staging/comedi/drivers/dt9812.c 2009-12-03 04:51:21.000000000 +0100
    +++ b/drivers/staging/comedi/drivers/dt9812.c 2010-01-08 10:10:15.000000000 +0100
    @@ -264,7 +264,7 @@ struct dt9812_usb_cmd {

    static DECLARE_MUTEX(dt9812_mutex);

    -static struct usb_device_id dt9812_table[] = {
    +static const struct usb_device_id dt9812_table[] = {
    {USB_DEVICE(0x0867, 0x9812)},
    {} /* Terminating entry */
    };
    diff -u -p a/drivers/staging/comedi/drivers/usbduxfast.c b/drivers/staging/comedi/drivers/usbduxfast.c
    --- a/drivers/staging/comedi/drivers/usbduxfast.c 2010-01-07 19:08:45.000000000 +0100
    +++ b/drivers/staging/comedi/drivers/usbduxfast.c 2010-01-08 10:10:57.000000000 +0100
    @@ -1769,7 +1769,7 @@ static struct comedi_driver driver_usbdu
    /*
    * Table with the USB-devices: just now only testing IDs
    */
    -static struct usb_device_id usbduxfastsub_table[] = {
    +static const struct usb_device_id usbduxfastsub_table[] = {
    /* { USB_DEVICE(0x4b4, 0x8613) }, testing */
    {USB_DEVICE(0x13d8, 0x0010)}, /* real ID */
    {USB_DEVICE(0x13d8, 0x0011)}, /* real ID */
    diff -u -p a/drivers/staging/comedi/drivers/usbdux.c b/drivers/staging/comedi/drivers/usbdux.c
    --- a/drivers/staging/comedi/drivers/usbdux.c 2010-01-07 19:08:45.000000000 +0100
    +++ b/drivers/staging/comedi/drivers/usbdux.c 2010-01-08 10:13:48.000000000 +0100
    @@ -2833,7 +2833,7 @@ static struct comedi_driver driver_usbdu
    };

    /* Table with the USB-devices: just now only testing IDs */
    -static struct usb_device_id usbduxsub_table[] = {
    +static const struct usb_device_id usbduxsub_table[] = {
    {USB_DEVICE(0x13d8, 0x0001)},
    {USB_DEVICE(0x13d8, 0x0002)},
    {} /* Terminating entry */
    diff -u -p a/drivers/staging/comedi/drivers/vmk80xx.c b/drivers/staging/comedi/drivers/vmk80xx.c
    --- a/drivers/staging/comedi/drivers/vmk80xx.c 2010-01-07 19:08:45.000000000 +0100
    +++ b/drivers/staging/comedi/drivers/vmk80xx.c 2010-01-08 10:14:14.000000000 +0100
    @@ -75,7 +75,7 @@ enum {
    DEVICE_VMK8061
    };

    -static struct usb_device_id vmk80xx_id_table[] = {
    +static const struct usb_device_id vmk80xx_id_table[] = {
    {USB_DEVICE(0x10cf, 0x5500), .driver_info = DEVICE_VMK8055},
    {USB_DEVICE(0x10cf, 0x5501), .driver_info = DEVICE_VMK8055},
    {USB_DEVICE(0x10cf, 0x5502), .driver_info = DEVICE_VMK8055},
    diff -u -p a/drivers/staging/mimio/mimio.c b/drivers/staging/mimio/mimio.c
    --- a/drivers/staging/mimio/mimio.c 2009-12-03 04:51:21.000000000 +0100
    +++ b/drivers/staging/mimio/mimio.c 2010-01-08 10:33:06.000000000 +0100
    @@ -145,7 +145,7 @@ static void mimio_rx_handler(struct mimi
    static int mimio_tx(struct mimio *, const char *, int);

    static char mimio_name[] = "VirtualInk mimio-Xi";
    -static struct usb_device_id mimio_table [] = {
    +static const struct usb_device_id mimio_table[] = {
    { USB_DEVICE(MIMIO_VENDOR_ID, MIMIO_PRODUCT_ID) },
    { USB_DEVICE(0x0525, 0xa4a0) }, /* gadget zero firmware */
    { }
    diff -u -p a/drivers/staging/go7007/go7007-usb.c b/drivers/staging/go7007/go7007-usb.c
    --- a/drivers/staging/go7007/go7007-usb.c 2010-01-07 19:08:45.000000000 +0100
    +++ b/drivers/staging/go7007/go7007-usb.c 2010-01-08 10:39:47.000000000 +0100
    @@ -444,7 +444,7 @@ static struct go7007_usb_board board_sen
    },
    };

    -static struct usb_device_id go7007_usb_id_table[] = {
    +static const struct usb_device_id go7007_usb_id_table[] = {
    {
    .match_flags = USB_DEVICE_ID_MATCH_DEVICE_AND_VERSION |
    USB_DEVICE_ID_MATCH_INT_INFO,
    diff -u -p a/drivers/staging/go7007/s2250-loader.c b/drivers/staging/go7007/s2250-loader.c
    --- a/drivers/staging/go7007/s2250-loader.c 2010-01-07 19:08:45.000000000 +0100
    +++ b/drivers/staging/go7007/s2250-loader.c 2010-01-08 10:42:54.000000000 +0100
    @@ -148,7 +148,7 @@ static void s2250loader_disconnect(struc
    unlock_kernel();
    }

    -static struct usb_device_id s2250loader_ids[] = {
    +static const struct usb_device_id s2250loader_ids[] = {
    {USB_DEVICE(0x1943, 0xa250)},
    {} /* Terminating entry */
    };
    diff -u -p a/drivers/staging/otus/zdusb.c b/drivers/staging/otus/zdusb.c
    --- a/drivers/staging/otus/zdusb.c 2009-12-03 04:51:21.000000000 +0100
    +++ b/drivers/staging/otus/zdusb.c 2010-01-08 10:47:44.000000000 +0100
    @@ -45,7 +45,7 @@ MODULE_LICENSE("Dual BSD/GPL");
    static const char driver_name[] = "Otus";

    /* table of devices that work with this driver */
    -static struct usb_device_id zd1221_ids [] = {
    +static const struct usb_device_id zd1221_ids[] = {
    { USB_DEVICE(VENDOR_ATHR, PRODUCT_AR9170) },
    { USB_DEVICE(VENDOR_DLINK, PRODUCT_DWA160A) },
    { USB_DEVICE(VENDOR_NETGEAR, PRODUCT_WNDA3100) },
    diff -u -p a/drivers/staging/rtl8192u/r8192U_core.c b/drivers/staging/rtl8192u/r8192U_core.c
    --- a/drivers/staging/rtl8192u/r8192U_core.c 2010-01-07 19:08:46.000000000 +0100
    +++ b/drivers/staging/rtl8192u/r8192U_core.c 2010-01-08 10:51:26.000000000 +0100
    @@ -104,7 +104,7 @@ u32 rt_global_debug_component = \
    #define TOTAL_CAM_ENTRY 32
    #define CAM_CONTENT_COUNT 8

    -static struct usb_device_id rtl8192_usb_id_tbl[] = {
    +static const struct usb_device_id rtl8192_usb_id_tbl[] = {
    /* Realtek */
    {USB_DEVICE(0x0bda, 0x8192)},
    {USB_DEVICE(0x0bda, 0x8709)},
    diff -u -p a/drivers/staging/udlfb/udlfb.c b/drivers/staging/udlfb/udlfb.c
    --- a/drivers/staging/udlfb/udlfb.c 2009-12-03 04:51:21.000000000 +0100
    +++ b/drivers/staging/udlfb/udlfb.c 2010-01-08 10:54:45.000000000 +0100
    @@ -112,7 +112,7 @@ static struct usb_device_id id_table []
    };
    */

    -static struct usb_device_id id_table[] = {
    +static const struct usb_device_id id_table[] = {
    {.idVendor = 0x17e9, .match_flags = USB_DEVICE_ID_MATCH_VENDOR,},
    {},
    };
    diff -u -p a/drivers/staging/quatech_usb2/quatech_usb2.c b/drivers/staging/quatech_usb2/quatech_usb2.c
    --- a/drivers/staging/quatech_usb2/quatech_usb2.c 2010-01-07 19:08:45.000000000 +0100
    +++ b/drivers/staging/quatech_usb2/quatech_usb2.c 2010-01-08 11:00:33.000000000 +0100
    @@ -116,7 +116,7 @@ static int debug;
    #define FOURTHCHAR ((unsigned char *)(urb->transfer_buffer))[i + 3]
    #define FIFTHCHAR ((unsigned char *)(urb->transfer_buffer))[i + 4]

    -static struct usb_device_id quausb2_id_table[] = {
    +static const struct usb_device_id quausb2_id_table[] = {
    {USB_DEVICE(USB_VENDOR_ID_QUATECH, QUATECH_SSU2_100)},
    {USB_DEVICE(USB_VENDOR_ID_QUATECH, QUATECH_DSU2_100)},
    {USB_DEVICE(USB_VENDOR_ID_QUATECH, QUATECH_DSU2_400)},
    diff -u -p a/drivers/staging/frontier/tranzport.c b/drivers/staging/frontier/tranzport.c
    --- a/drivers/staging/frontier/tranzport.c 2009-12-03 04:51:21.000000000 +0100
    +++ b/drivers/staging/frontier/tranzport.c 2010-01-08 11:03:26.000000000 +0100
    @@ -55,7 +55,7 @@
    #endif

    /* table of devices that work with this driver */
    -static struct usb_device_id usb_tranzport_table[] = {
    +static const struct usb_device_id usb_tranzport_table[] = {
    {USB_DEVICE(VENDOR_ID, PRODUCT_ID)},
    {} /* Terminating entry */
    };
    diff -u -p a/drivers/staging/frontier/alphatrack.c b/drivers/staging/frontier/alphatrack.c
    --- a/drivers/staging/frontier/alphatrack.c 2009-12-03 04:51:21.000000000 +0100
    +++ b/drivers/staging/frontier/alphatrack.c 2010-01-08 11:03:36.000000000 +0100
    @@ -58,7 +58,7 @@
    #endif

    /* table of devices that work with this driver */
    -static struct usb_device_id usb_alphatrack_table[] = {
    +static const struct usb_device_id usb_alphatrack_table[] = {
    {USB_DEVICE(VENDOR_ID, PRODUCT_ID)},
    {} /* Terminating entry */
    };
    diff -u -p a/drivers/staging/asus_oled/asus_oled.c b/drivers/staging/asus_oled/asus_oled.c
    --- a/drivers/staging/asus_oled/asus_oled.c 2009-12-03 04:51:21.000000000 +0100
    +++ b/drivers/staging/asus_oled/asus_oled.c 2010-01-08 11:16:13.000000000 +0100
    @@ -83,7 +83,7 @@ struct oled_dev_desc_str {
    };

    /* table of devices that work with this driver */
    -static struct usb_device_id id_table[] = {
    +static const struct usb_device_id id_table[] = {
    /* Asus G1/G2 (and variants)*/
    { USB_DEVICE(0x0b05, 0x1726) },
    /* Asus G50V (and possibly others - G70? G71?)*/
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2010-01-10 00:21    [W:0.034 / U:92.216 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site