Hi Peter,

[auto build test ERROR on usb/usb-next -- if it's inappropriate base, please 
suggest rules for selecting the more suitable base]

url:    
https://github.com/0day-ci/linux/commits/Peter-Hung/usb-serial-Add-Fintek-F81532-534-driver/20151103-115336
config: m68k-allyesconfig (attached as .config)
reproduce:
        wget 
https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
 -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=m68k 

All error/warnings (new ones prefixed by >>):

>> drivers/usb/serial/f81534.c:504:1: warning: data definition has no type or 
>> storage class
    MODULE_DEVICE_TABLE(usb, id_table);
    ^
>> drivers/usb/serial/f81534.c:504:1: error: type defaults to 'int' in 
>> declaration of 'MODULE_DEVICE_TABLE' [-Werror=implicit-int]
>> drivers/usb/serial/f81534.c:504:1: warning: parameter names (without types) 
>> in function declaration
>> drivers/usb/serial/f81534.c:522:19: error: field 'f81534_gpio_chip' has 
>> incomplete type
     struct gpio_chip f81534_gpio_chip;
                      ^
   In file included from include/linux/list.h:8:0,
                    from include/linux/preempt.h:10,
                    from include/linux/spinlock.h:50,
                    from include/linux/mmzone.h:7,
                    from include/linux/gfp.h:5,
                    from include/linux/slab.h:14,
                    from drivers/usb/serial/f81534.c:99:
   drivers/usb/serial/f81534.c: In function 'f81534_gpio_get':
>> drivers/usb/serial/f81534.c:849:21: error: dereferencing pointer to 
>> incomplete type
       container_of(chip->dev, struct usb_serial_port, dev);
                        ^
   include/linux/kernel.h:811:49: note: in definition of macro 'container_of'
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                    ^
   drivers/usb/serial/f81534.c: In function 'f81534_gpio_set':
   drivers/usb/serial/f81534.c:887:8: error: dereferencing pointer to 
incomplete type
       chip->dev, struct usb_serial_port, dev);
           ^
   include/linux/kernel.h:811:49: note: in definition of macro 'container_of'
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                    ^
   drivers/usb/serial/f81534.c: In function 'f81534_gpio_request':
   drivers/usb/serial/f81534.c:927:8: error: dereferencing pointer to 
incomplete type
       chip->dev, struct usb_serial_port, dev);
           ^
   include/linux/kernel.h:811:49: note: in definition of macro 'container_of'
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                    ^
   drivers/usb/serial/f81534.c: In function 'f81534_gpio_free':
   drivers/usb/serial/f81534.c:938:8: error: dereferencing pointer to 
incomplete type
       chip->dev, struct usb_serial_port, dev);
           ^
   include/linux/kernel.h:811:49: note: in definition of macro 'container_of'
     const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                    ^
   drivers/usb/serial/f81534.c: At top level:
>> drivers/usb/serial/f81534.c:960:15: error: variable 
>> 'f81534_gpio_chip_templete' has initializer but incomplete type
    static struct gpio_chip f81534_gpio_chip_templete = {
                  ^
>> drivers/usb/serial/f81534.c:961:2: error: unknown field 'owner' specified in 
>> initializer
     .owner = THIS_MODULE,
     ^
   In file included from include/linux/linkage.h:6:0,
                    from include/linux/preempt.h:9,
                    from include/linux/spinlock.h:50,
                    from include/linux/mmzone.h:7,
                    from include/linux/gfp.h:5,
                    from include/linux/slab.h:14,
                    from drivers/usb/serial/f81534.c:99:
   include/linux/export.h:36:30: warning: excess elements in struct initializer
    #define THIS_MODULE ((struct module *)0)
                                 ^
>> drivers/usb/serial/f81534.c:961:11: note: in expansion of macro 'THIS_MODULE'
     .owner = THIS_MODULE,
              ^
   include/linux/export.h:36:30: warning: (near initialization for 
'f81534_gpio_chip_templete')
    #define THIS_MODULE ((struct module *)0)
                                 ^
>> drivers/usb/serial/f81534.c:961:11: note: in expansion of macro 'THIS_MODULE'
     .owner = THIS_MODULE,
              ^
>> drivers/usb/serial/f81534.c:962:2: error: unknown field 'get_direction' 
>> specified in initializer
     .get_direction = f81534_gpio_get_direction,
     ^
>> drivers/usb/serial/f81534.c:962:2: warning: excess elements in struct 
>> initializer
   drivers/usb/serial/f81534.c:962:2: warning: (near initialization for 
'f81534_gpio_chip_templete')
>> drivers/usb/serial/f81534.c:963:2: error: unknown field 'get' specified in 
>> initializer
     .get = f81534_gpio_get,
     ^
   drivers/usb/serial/f81534.c:963:2: warning: excess elements in struct 
initializer
   drivers/usb/serial/f81534.c:963:2: warning: (near initialization for 
'f81534_gpio_chip_templete')
>> drivers/usb/serial/f81534.c:964:2: error: unknown field 'direction_input' 
>> specified in initializer
     .direction_input = f81534_gpio_direction_in,
     ^
   drivers/usb/serial/f81534.c:964:2: warning: excess elements in struct 
initializer
   drivers/usb/serial/f81534.c:964:2: warning: (near initialization for 
'f81534_gpio_chip_templete')
>> drivers/usb/serial/f81534.c:965:2: error: unknown field 'set' specified in 
>> initializer
     .set = f81534_gpio_set,
     ^
   drivers/usb/serial/f81534.c:965:2: warning: excess elements in struct 
initializer
   drivers/usb/serial/f81534.c:965:2: warning: (near initialization for 
'f81534_gpio_chip_templete')
>> drivers/usb/serial/f81534.c:966:2: error: unknown field 'direction_output' 
>> specified in initializer
     .direction_output = f81534_gpio_direction_out,
     ^
   drivers/usb/serial/f81534.c:966:2: warning: excess elements in struct 
initializer
   drivers/usb/serial/f81534.c:966:2: warning: (near initialization for 
'f81534_gpio_chip_templete')
>> drivers/usb/serial/f81534.c:967:2: error: unknown field 'request' specified 
>> in initializer
     .request = f81534_gpio_request,
     ^
   drivers/usb/serial/f81534.c:967:2: warning: excess elements in struct 
initializer
   drivers/usb/serial/f81534.c:967:2: warning: (near initialization for 
'f81534_gpio_chip_templete')
>> drivers/usb/serial/f81534.c:968:2: error: unknown field 'free' specified in 
>> initializer
     .free = f81534_gpio_free,
     ^
   drivers/usb/serial/f81534.c:968:2: warning: excess elements in struct 
initializer
   drivers/usb/serial/f81534.c:968:2: warning: (near initialization for 
'f81534_gpio_chip_templete')
>> drivers/usb/serial/f81534.c:969:2: error: unknown field 'ngpio' specified in 
>> initializer
     .ngpio = 3, /*M0(SD)/M1/M2*/
     ^
   drivers/usb/serial/f81534.c:969:2: warning: excess elements in struct 
initializer
   drivers/usb/serial/f81534.c:969:2: warning: (near initialization for 
'f81534_gpio_chip_templete')
>> drivers/usb/serial/f81534.c:970:2: error: unknown field 'base' specified in 
>> initializer
     .base = -1,
     ^
   drivers/usb/serial/f81534.c:970:2: warning: excess elements in struct 
initializer
   drivers/usb/serial/f81534.c:970:2: warning: (near initialization for 
'f81534_gpio_chip_templete')
   In file included from include/linux/string.h:17:0,
                    from include/linux/bitmap.h:8,
                    from include/linux/nodemask.h:92,
                    from include/linux/mmzone.h:16,
                    from include/linux/gfp.h:5,
                    from include/linux/slab.h:14,
                    from drivers/usb/serial/f81534.c:99:
   drivers/usb/serial/f81534.c: In function 'f81534_prepare_gpio':
>> drivers/usb/serial/f81534.c:1566:10: error: invalid application of 'sizeof' 
>> to incomplete type 'struct gpio_chip'
       sizeof(f81534_gpio_chip_templete));
             ^
   arch/m68k/include/asm/string.h:71:48: note: in definition of macro 'memcpy'
    #define memcpy(d, s, n) __builtin_memcpy(d, s, n)
                                                   ^

vim +504 drivers/usb/serial/f81534.c

   498  static const struct usb_device_id id_table[] = {
   499          {USB_DEVICE(FINTEK_VENDOR_ID_1, FINTEK_DEVICE_ID)},
   500          {USB_DEVICE(FINTEK_VENDOR_ID_2, FINTEK_DEVICE_ID)},
   501          {}                      /* Terminating entry */
   502  };
   503  
 > 504  MODULE_DEVICE_TABLE(usb, id_table);
   505  
   506  struct f81534_serial_private {
   507          bool is_phy_port_not_empty[F81534_NUM_PORT];
   508          spinlock_t tx_empty_lock;
   509          struct mutex change_mode_mutex;
   510          u8 default_conf_data[F81534_DEF_CONF_SIZE];
   511          u32 setting_idx;
   512          atomic_t port_active[F81534_NUM_PORT];
   513  };
   514  
   515  struct f81534_port_private {
   516          u8 phy;
   517          u8 shadow_mcr;
   518          u8 shadow_lcr;
   519          u32 current_baud_rate;
   520          u32 current_baud_base;
   521          struct f81534_pin_config_data port_pin_data;
 > 522          struct gpio_chip f81534_gpio_chip;
   523          atomic_t gpio_active;
   524          spinlock_t msr_lock;
   525          struct mutex msr_mutex;

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: Binary data

Reply via email to