[PATCH v2 3/3] drm/tinydrm: Add devres versions of drm_of_find_backlight

kbuild test robot lkp at intel.com
Fri Sep 29 22:58:44 UTC 2017


Hi Meghana,

[auto build test ERROR on drm/drm-next]
[also build test ERROR on v4.14-rc2 next-20170929]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Meghana-Madhyastha/drm-tinydrm-Move-tinydrm_of_find_backlight-into-drm_of-c/20170930-055009
base:   git://people.freedesktop.org/~airlied/linux.git drm-next
config: i386-randconfig-x073-201739 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

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

   drivers/gpu//drm/i2c/tda998x_drv.c:1721:10: error: 'tda998x_bind' undeclared (first use in this function)
     .bind = tda998x_bind,
             ^~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1722:12: error: 'tda998x_unbind' undeclared (first use in this function)
     .unbind = tda998x_unbind,
               ^~~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1727:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
    {
    ^
   drivers/gpu//drm/i2c/tda998x_drv.c:1736:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
    {
    ^
   drivers/gpu//drm/i2c/tda998x_drv.c:1742:34: error: storage class specified for parameter 'tda998x_dt_ids'
    static const struct of_device_id tda998x_dt_ids[] = {
                                     ^~~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1742:21: error: parameter 'tda998x_dt_ids' is initialized
    static const struct of_device_id tda998x_dt_ids[] = {
                        ^~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1743:2: warning: braces around scalar initializer
     { .compatible = "nxp,tda998x", },
     ^
   drivers/gpu//drm/i2c/tda998x_drv.c:1743:2: note: (near initialization for 'tda998x_dt_ids')
   drivers/gpu//drm/i2c/tda998x_drv.c:1743:4: error: field name not in record or union initializer
     { .compatible = "nxp,tda998x", },
       ^
   drivers/gpu//drm/i2c/tda998x_drv.c:1743:4: note: (near initialization for 'tda998x_dt_ids')
   drivers/gpu//drm/i2c/tda998x_drv.c:1743:18: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
     { .compatible = "nxp,tda998x", },
                     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1743:18: note: (near initialization for 'tda998x_dt_ids')
   drivers/gpu//drm/i2c/tda998x_drv.c:1744:2: warning: braces around scalar initializer
     { }
     ^
   drivers/gpu//drm/i2c/tda998x_drv.c:1744:2: note: (near initialization for 'tda998x_dt_ids')
   drivers/gpu//drm/i2c/tda998x_drv.c:1744:2: error: empty scalar initializer
   drivers/gpu//drm/i2c/tda998x_drv.c:1744:2: note: (near initialization for 'tda998x_dt_ids')
   drivers/gpu//drm/i2c/tda998x_drv.c:1744:2: warning: excess elements in scalar initializer
   drivers/gpu//drm/i2c/tda998x_drv.c:1744:2: note: (near initialization for 'tda998x_dt_ids')
   drivers/gpu//drm/i2c/tda998x_drv.c:1746:40: error: expected declaration specifiers before ';' token
    MODULE_DEVICE_TABLE(of, tda998x_dt_ids);
                                           ^
   drivers/gpu//drm/i2c/tda998x_drv.c:1749:35: error: storage class specified for parameter 'tda998x_ids'
    static const struct i2c_device_id tda998x_ids[] = {
                                      ^~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1749:21: error: parameter 'tda998x_ids' is initialized
    static const struct i2c_device_id tda998x_ids[] = {
                        ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1750:2: warning: braces around scalar initializer
     { "tda998x", 0 },
     ^
   drivers/gpu//drm/i2c/tda998x_drv.c:1750:2: note: (near initialization for 'tda998x_ids')
   drivers/gpu//drm/i2c/tda998x_drv.c:1750:4: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
     { "tda998x", 0 },
       ^~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1750:4: note: (near initialization for 'tda998x_ids')
   drivers/gpu//drm/i2c/tda998x_drv.c:1750:15: warning: excess elements in scalar initializer
     { "tda998x", 0 },
                  ^
   drivers/gpu//drm/i2c/tda998x_drv.c:1750:15: note: (near initialization for 'tda998x_ids')
   drivers/gpu//drm/i2c/tda998x_drv.c:1751:2: warning: braces around scalar initializer
     { }
     ^
   drivers/gpu//drm/i2c/tda998x_drv.c:1751:2: note: (near initialization for 'tda998x_ids')
   drivers/gpu//drm/i2c/tda998x_drv.c:1751:2: error: empty scalar initializer
   drivers/gpu//drm/i2c/tda998x_drv.c:1751:2: note: (near initialization for 'tda998x_ids')
   drivers/gpu//drm/i2c/tda998x_drv.c:1751:2: warning: excess elements in scalar initializer
   drivers/gpu//drm/i2c/tda998x_drv.c:1751:2: note: (near initialization for 'tda998x_ids')
   drivers/gpu//drm/i2c/tda998x_drv.c:1753:38: error: expected declaration specifiers before ';' token
    MODULE_DEVICE_TABLE(i2c, tda998x_ids);
                                         ^
   drivers/gpu//drm/i2c/tda998x_drv.c:1755:26: error: storage class specified for parameter 'tda998x_driver'
    static struct i2c_driver tda998x_driver = {
                             ^~~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1755:15: error: parameter 'tda998x_driver' is initialized
    static struct i2c_driver tda998x_driver = {
                  ^~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1756:11: error: 'tda998x_probe' undeclared (first use in this function)
     .probe = tda998x_probe,
              ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1757:12: error: 'tda998x_remove' undeclared (first use in this function)
     .remove = tda998x_remove,
               ^~~~~~~~~~~~~~
   In file included from include/linux/hdmi.h:28:0,
                    from drivers/gpu//drm/i2c/tda998x_drv.c:19:
   include/linux/device.h:1503:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
    { \
    ^
   include/linux/i2c.h:780:2: note: in expansion of macro 'module_driver'
     module_driver(__i2c_driver, i2c_add_driver, \
     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:1: note: in expansion of macro 'module_i2c_driver'
    module_i2c_driver(tda998x_driver);
    ^~~~~~~~~~~~~~~~~
   In file included from include/linux/printk.h:5:0,
                    from include/linux/kernel.h:13,
                    from include/linux/list.h:8,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:17,
                    from include/linux/hdmi.h:28,
                    from drivers/gpu//drm/i2c/tda998x_drv.c:19:
>> include/linux/init.h:165:20: error: storage class specified for parameter '__initcall_tda998x_driver_init6'
     static initcall_t __initcall_##fn##id __used \
                       ^
   include/linux/init.h:195:30: note: in expansion of macro '__define_initcall'
    #define device_initcall(fn)  __define_initcall(fn, 6)
                                 ^~~~~~~~~~~~~~~~~
   include/linux/init.h:200:24: note: in expansion of macro 'device_initcall'
    #define __initcall(fn) device_initcall(fn)
                           ^~~~~~~~~~~~~~~
   include/linux/module.h:85:24: note: in expansion of macro '__initcall'
    #define module_init(x) __initcall(x);
                           ^~~~~~~~~~
   include/linux/device.h:1506:1: note: in expansion of macro 'module_init'
    module_init(__driver##_init); \
    ^~~~~~~~~~~
   include/linux/i2c.h:780:2: note: in expansion of macro 'module_driver'
     module_driver(__i2c_driver, i2c_add_driver, \
     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:1: note: in expansion of macro 'module_i2c_driver'
    module_i2c_driver(tda998x_driver);
    ^~~~~~~~~~~~~~~~~
   In file included from include/linux/hdmi.h:28:0,
                    from drivers/gpu//drm/i2c/tda998x_drv.c:19:
>> include/linux/device.h:1503:1: error: parameter '__initcall_tda998x_driver_init6' is initialized
    { \
    ^
   include/linux/i2c.h:780:2: note: in expansion of macro 'module_driver'
     module_driver(__i2c_driver, i2c_add_driver, \
     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:1: note: in expansion of macro 'module_i2c_driver'
    module_i2c_driver(tda998x_driver);
    ^~~~~~~~~~~~~~~~~
   include/linux/device.h:1503:1: warning: '__used__' attribute ignored [-Wattributes]
    { \
    ^
   include/linux/i2c.h:780:2: note: in expansion of macro 'module_driver'
     module_driver(__i2c_driver, i2c_add_driver, \
     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:1: note: in expansion of macro 'module_i2c_driver'
    module_i2c_driver(tda998x_driver);
    ^~~~~~~~~~~~~~~~~
   In file included from include/linux/printk.h:5:0,
                    from include/linux/kernel.h:13,
                    from include/linux/list.h:8,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:17,
                    from include/linux/hdmi.h:28,
                    from drivers/gpu//drm/i2c/tda998x_drv.c:19:
>> include/linux/init.h:165:20: error: section attribute not allowed for '__initcall_tda998x_driver_init6'
     static initcall_t __initcall_##fn##id __used \
                       ^
   include/linux/init.h:195:30: note: in expansion of macro '__define_initcall'
    #define device_initcall(fn)  __define_initcall(fn, 6)
                                 ^~~~~~~~~~~~~~~~~
   include/linux/init.h:200:24: note: in expansion of macro 'device_initcall'
    #define __initcall(fn) device_initcall(fn)
                           ^~~~~~~~~~~~~~~
   include/linux/module.h:85:24: note: in expansion of macro '__initcall'
    #define module_init(x) __initcall(x);
                           ^~~~~~~~~~
   include/linux/device.h:1506:1: note: in expansion of macro 'module_init'
    module_init(__driver##_init); \
    ^~~~~~~~~~~
   include/linux/i2c.h:780:2: note: in expansion of macro 'module_driver'
     module_driver(__i2c_driver, i2c_add_driver, \
     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:1: note: in expansion of macro 'module_i2c_driver'
    module_i2c_driver(tda998x_driver);
    ^~~~~~~~~~~~~~~~~
>> drivers/gpu//drm/i2c/tda998x_drv.c:1765:19: error: 'tda998x_driver_init' undeclared (first use in this function)
    module_i2c_driver(tda998x_driver);
                      ^
   include/linux/init.h:166:58: note: in definition of macro '__define_initcall'
     __attribute__((__section__(".initcall" #id ".init"))) = fn;
                                                             ^~
   include/linux/init.h:200:24: note: in expansion of macro 'device_initcall'
    #define __initcall(fn) device_initcall(fn)
                           ^~~~~~~~~~~~~~~
   include/linux/module.h:85:24: note: in expansion of macro '__initcall'
    #define module_init(x) __initcall(x);
                           ^~~~~~~~~~
   include/linux/device.h:1506:1: note: in expansion of macro 'module_init'
    module_init(__driver##_init); \
    ^~~~~~~~~~~
   include/linux/i2c.h:780:2: note: in expansion of macro 'module_driver'
     module_driver(__i2c_driver, i2c_add_driver, \
     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:1: note: in expansion of macro 'module_i2c_driver'
    module_i2c_driver(tda998x_driver);
    ^~~~~~~~~~~~~~~~~
   In file included from drivers/gpu//drm/i2c/tda998x_drv.c:20:0:
   include/linux/module.h:85:37: error: expected declaration specifiers before ';' token
    #define module_init(x) __initcall(x);
                                        ^
   include/linux/device.h:1506:1: note: in expansion of macro 'module_init'
    module_init(__driver##_init); \
    ^~~~~~~~~~~
   include/linux/i2c.h:780:2: note: in expansion of macro 'module_driver'
     module_driver(__i2c_driver, i2c_add_driver, \
     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:1: note: in expansion of macro 'module_i2c_driver'
    module_i2c_driver(tda998x_driver);
    ^~~~~~~~~~~~~~~~~
   In file included from include/linux/hdmi.h:28:0,
                    from drivers/gpu//drm/i2c/tda998x_drv.c:19:
   include/linux/device.h:1506:29: error: expected declaration specifiers before ';' token
    module_init(__driver##_init); \
                                ^
   include/linux/i2c.h:780:2: note: in expansion of macro 'module_driver'
     module_driver(__i2c_driver, i2c_add_driver, \
     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:1: note: in expansion of macro 'module_i2c_driver'
    module_i2c_driver(tda998x_driver);
    ^~~~~~~~~~~~~~~~~
   include/linux/device.h:1508:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
    { \
    ^
   include/linux/i2c.h:780:2: note: in expansion of macro 'module_driver'
     module_driver(__i2c_driver, i2c_add_driver, \
     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:1: note: in expansion of macro 'module_i2c_driver'
    module_i2c_driver(tda998x_driver);
    ^~~~~~~~~~~~~~~~~
   In file included from include/linux/printk.h:5:0,
                    from include/linux/kernel.h:13,
                    from include/linux/list.h:8,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:17,
                    from include/linux/hdmi.h:28,
                    from drivers/gpu//drm/i2c/tda998x_drv.c:19:
>> include/linux/init.h:203:20: error: storage class specified for parameter '__exitcall_tda998x_driver_exit'
     static exitcall_t __exitcall_##fn __exit_call = fn
                       ^
   include/linux/module.h:97:24: note: in expansion of macro '__exitcall'
    #define module_exit(x) __exitcall(x);
                           ^~~~~~~~~~
   include/linux/device.h:1511:1: note: in expansion of macro 'module_exit'
    module_exit(__driver##_exit);
    ^~~~~~~~~~~
   include/linux/i2c.h:780:2: note: in expansion of macro 'module_driver'
     module_driver(__i2c_driver, i2c_add_driver, \
     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:1: note: in expansion of macro 'module_i2c_driver'
    module_i2c_driver(tda998x_driver);
    ^~~~~~~~~~~~~~~~~
   In file included from include/linux/hdmi.h:28:0,
                    from drivers/gpu//drm/i2c/tda998x_drv.c:19:
>> include/linux/device.h:1508:1: error: parameter '__exitcall_tda998x_driver_exit' is initialized
    { \
    ^
   include/linux/i2c.h:780:2: note: in expansion of macro 'module_driver'
     module_driver(__i2c_driver, i2c_add_driver, \
     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:1: note: in expansion of macro 'module_i2c_driver'
    module_i2c_driver(tda998x_driver);
    ^~~~~~~~~~~~~~~~~
   include/linux/device.h:1508:1: warning: '__used__' attribute ignored [-Wattributes]
    { \
    ^
   include/linux/i2c.h:780:2: note: in expansion of macro 'module_driver'
     module_driver(__i2c_driver, i2c_add_driver, \
     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:1: note: in expansion of macro 'module_i2c_driver'
    module_i2c_driver(tda998x_driver);
    ^~~~~~~~~~~~~~~~~
   In file included from include/linux/printk.h:5:0,
                    from include/linux/kernel.h:13,
                    from include/linux/list.h:8,
                    from include/linux/kobject.h:20,
                    from include/linux/device.h:17,
                    from include/linux/hdmi.h:28,
                    from drivers/gpu//drm/i2c/tda998x_drv.c:19:
>> include/linux/init.h:203:20: error: section attribute not allowed for '__exitcall_tda998x_driver_exit'
     static exitcall_t __exitcall_##fn __exit_call = fn
                       ^
   include/linux/module.h:97:24: note: in expansion of macro '__exitcall'
    #define module_exit(x) __exitcall(x);
                           ^~~~~~~~~~
   include/linux/device.h:1511:1: note: in expansion of macro 'module_exit'
    module_exit(__driver##_exit);
    ^~~~~~~~~~~
   include/linux/i2c.h:780:2: note: in expansion of macro 'module_driver'
     module_driver(__i2c_driver, i2c_add_driver, \
     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:1: note: in expansion of macro 'module_i2c_driver'
    module_i2c_driver(tda998x_driver);
    ^~~~~~~~~~~~~~~~~
>> drivers/gpu//drm/i2c/tda998x_drv.c:1765:19: error: 'tda998x_driver_exit' undeclared (first use in this function)
    module_i2c_driver(tda998x_driver);
                      ^
   include/linux/init.h:203:50: note: in definition of macro '__exitcall'
     static exitcall_t __exitcall_##fn __exit_call = fn
                                                     ^~
   include/linux/device.h:1511:1: note: in expansion of macro 'module_exit'
    module_exit(__driver##_exit);
    ^~~~~~~~~~~
   include/linux/i2c.h:780:2: note: in expansion of macro 'module_driver'
     module_driver(__i2c_driver, i2c_add_driver, \
     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:1: note: in expansion of macro 'module_i2c_driver'
    module_i2c_driver(tda998x_driver);
    ^~~~~~~~~~~~~~~~~
   In file included from include/linux/hdmi.h:28:0,
                    from drivers/gpu//drm/i2c/tda998x_drv.c:19:
   include/linux/device.h:1511:29: error: expected declaration specifiers before ';' token
    module_exit(__driver##_exit);
                                ^
   include/linux/i2c.h:780:2: note: in expansion of macro 'module_driver'
     module_driver(__i2c_driver, i2c_add_driver, \
     ^~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:1: note: in expansion of macro 'module_i2c_driver'
    module_i2c_driver(tda998x_driver);
    ^~~~~~~~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1765:34: error: expected declaration specifiers before ';' token
    module_i2c_driver(tda998x_driver);
                                     ^
   In file included from include/linux/module.h:18:0,
                    from drivers/gpu//drm/i2c/tda998x_drv.c:20:
   include/linux/moduleparam.h:27:3: warning: empty declaration
      struct __UNIQUE_ID(name) {}
      ^
   include/linux/module.h:160:32: note: in expansion of macro '__MODULE_INFO'
    #define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info)
                                   ^~~~~~~~~~~~~
   include/linux/module.h:204:32: note: in expansion of macro 'MODULE_INFO'
    #define MODULE_AUTHOR(_author) MODULE_INFO(author, _author)
                                   ^~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1767:1: note: in expansion of macro 'MODULE_AUTHOR'
    MODULE_AUTHOR("Rob Clark <robdclark at gmail.com");
    ^~~~~~~~~~~~~
   include/linux/moduleparam.h:27:3: warning: empty declaration
      struct __UNIQUE_ID(name) {}
      ^
   include/linux/module.h:160:32: note: in expansion of macro '__MODULE_INFO'
    #define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info)
                                   ^~~~~~~~~~~~~
   include/linux/module.h:207:42: note: in expansion of macro 'MODULE_INFO'
    #define MODULE_DESCRIPTION(_description) MODULE_INFO(description, _description)
                                             ^~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1768:1: note: in expansion of macro 'MODULE_DESCRIPTION'
    MODULE_DESCRIPTION("NXP Semiconductors TDA998X HDMI Encoder");
    ^~~~~~~~~~~~~~~~~~
   include/linux/moduleparam.h:27:3: warning: empty declaration
      struct __UNIQUE_ID(name) {}
      ^
   include/linux/module.h:160:32: note: in expansion of macro '__MODULE_INFO'
    #define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info)
                                   ^~~~~~~~~~~~~
   include/linux/module.h:198:34: note: in expansion of macro 'MODULE_INFO'
    #define MODULE_LICENSE(_license) MODULE_INFO(license, _license)
                                     ^~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1769:1: note: in expansion of macro 'MODULE_LICENSE'
    MODULE_LICENSE("GPL");
    ^~~~~~~~~~~~~~
   In file included from drivers/gpu//drm/i2c/tda998x_drv.c:29:0:
   include/drm/drm_of.h:33:26: error: old-style parameter declarations in prototyped function definition
    struct backlight_device *devm_drm_of_find_backlight(struct device *dev)
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/uapi/linux/stddef.h:1:0,
                    from include/linux/stddef.h:4,
                    from include/linux/component.h:4,
                    from drivers/gpu//drm/i2c/tda998x_drv.c:18:
   include/linux/compiler-gcc.h:190:45: error: expected '{' at end of input
    #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
                                                ^
   include/linux/compiler.h:52:23: note: in definition of macro '___PASTE'
    #define ___PASTE(a,b) a##b
                          ^
   include/linux/compiler-gcc.h:190:29: note: in expansion of macro '__PASTE'
    #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
                                ^~~~~~~
   include/linux/compiler.h:53:22: note: in expansion of macro '___PASTE'
    #define __PASTE(a,b) ___PASTE(a,b)
                         ^~~~~~~~
   include/linux/compiler-gcc.h:190:37: note: in expansion of macro '__PASTE'
    #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
                                        ^~~~~~~
   include/linux/moduleparam.h:27:10: note: in expansion of macro '__UNIQUE_ID'
      struct __UNIQUE_ID(name) {}
             ^~~~~~~~~~~
   include/linux/module.h:160:32: note: in expansion of macro '__MODULE_INFO'
    #define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info)
                                   ^~~~~~~~~~~~~
   include/linux/module.h:198:34: note: in expansion of macro 'MODULE_INFO'
    #define MODULE_LICENSE(_license) MODULE_INFO(license, _license)
                                     ^~~~~~~~~~~
   drivers/gpu//drm/i2c/tda998x_drv.c:1769:1: note: in expansion of macro 'MODULE_LICENSE'
    MODULE_LICENSE("GPL");
..

vim +/__initcall_tda998x_driver_init6 +165 include/linux/init.h

^1da177e Linus Torvalds            2005-04-16  147  
b67067f1 Nicholas Piggin           2016-08-24  148  /*
b67067f1 Nicholas Piggin           2016-08-24  149   * initcalls are now grouped by functionality into separate
^1da177e Linus Torvalds            2005-04-16  150   * subsections. Ordering inside the subsections is determined
^1da177e Linus Torvalds            2005-04-16  151   * by link order. 
^1da177e Linus Torvalds            2005-04-16  152   * For backwards compatibility, initcall() puts the call in 
^1da177e Linus Torvalds            2005-04-16  153   * the device init subsection.
735a7ffb Andrew Morton             2006-10-27  154   *
735a7ffb Andrew Morton             2006-10-27  155   * The `id' arg to __define_initcall() is needed so that multiple initcalls
735a7ffb Andrew Morton             2006-10-27  156   * can point at the same handler without causing duplicate-symbol build errors.
b67067f1 Nicholas Piggin           2016-08-24  157   *
b67067f1 Nicholas Piggin           2016-08-24  158   * Initcalls are run by placing pointers in initcall sections that the
b67067f1 Nicholas Piggin           2016-08-24  159   * kernel iterates at runtime. The linker can do dead code / data elimination
b67067f1 Nicholas Piggin           2016-08-24  160   * and remove that completely, so the initcall sections have to be marked
b67067f1 Nicholas Piggin           2016-08-24  161   * as KEEP() in the linker script.
^1da177e Linus Torvalds            2005-04-16  162   */
^1da177e Linus Torvalds            2005-04-16  163  
7929d407 Matthew Leach             2012-12-17  164  #define __define_initcall(fn, id) \
3ff6eecc Adrian Bunk               2008-01-24 @165  	static initcall_t __initcall_##fn##id __used \
b67067f1 Nicholas Piggin           2016-08-24  166  	__attribute__((__section__(".initcall" #id ".init"))) = fn;
^1da177e Linus Torvalds            2005-04-16  167  
b3438f82 Linus Torvalds            2006-11-20  168  /*
c2147a50 Eduard - Gabriel Munteanu 2008-07-25  169   * Early initcalls run before initializing SMP.
c2147a50 Eduard - Gabriel Munteanu 2008-07-25  170   *
c2147a50 Eduard - Gabriel Munteanu 2008-07-25  171   * Only for built-in code, not modules.
c2147a50 Eduard - Gabriel Munteanu 2008-07-25  172   */
7929d407 Matthew Leach             2012-12-17  173  #define early_initcall(fn)		__define_initcall(fn, early)
c2147a50 Eduard - Gabriel Munteanu 2008-07-25  174  
c2147a50 Eduard - Gabriel Munteanu 2008-07-25  175  /*
b3438f82 Linus Torvalds            2006-11-20  176   * A "pure" initcall has no dependencies on anything else, and purely
b3438f82 Linus Torvalds            2006-11-20  177   * initializes variables that couldn't be statically initialized.
b3438f82 Linus Torvalds            2006-11-20  178   *
b3438f82 Linus Torvalds            2006-11-20  179   * This only exists for built-in code, not for modules.
96263d28 Jim Cromie                2012-06-14  180   * Keep main.c:initcall_level_names[] in sync.
b3438f82 Linus Torvalds            2006-11-20  181   */
7929d407 Matthew Leach             2012-12-17  182  #define pure_initcall(fn)		__define_initcall(fn, 0)
7929d407 Matthew Leach             2012-12-17  183  
7929d407 Matthew Leach             2012-12-17  184  #define core_initcall(fn)		__define_initcall(fn, 1)
7929d407 Matthew Leach             2012-12-17  185  #define core_initcall_sync(fn)		__define_initcall(fn, 1s)
7929d407 Matthew Leach             2012-12-17  186  #define postcore_initcall(fn)		__define_initcall(fn, 2)
7929d407 Matthew Leach             2012-12-17  187  #define postcore_initcall_sync(fn)	__define_initcall(fn, 2s)
7929d407 Matthew Leach             2012-12-17  188  #define arch_initcall(fn)		__define_initcall(fn, 3)
7929d407 Matthew Leach             2012-12-17  189  #define arch_initcall_sync(fn)		__define_initcall(fn, 3s)
7929d407 Matthew Leach             2012-12-17  190  #define subsys_initcall(fn)		__define_initcall(fn, 4)
7929d407 Matthew Leach             2012-12-17  191  #define subsys_initcall_sync(fn)	__define_initcall(fn, 4s)
7929d407 Matthew Leach             2012-12-17  192  #define fs_initcall(fn)			__define_initcall(fn, 5)
7929d407 Matthew Leach             2012-12-17  193  #define fs_initcall_sync(fn)		__define_initcall(fn, 5s)
7929d407 Matthew Leach             2012-12-17  194  #define rootfs_initcall(fn)		__define_initcall(fn, rootfs)
7929d407 Matthew Leach             2012-12-17  195  #define device_initcall(fn)		__define_initcall(fn, 6)
7929d407 Matthew Leach             2012-12-17  196  #define device_initcall_sync(fn)	__define_initcall(fn, 6s)
7929d407 Matthew Leach             2012-12-17  197  #define late_initcall(fn)		__define_initcall(fn, 7)
7929d407 Matthew Leach             2012-12-17  198  #define late_initcall_sync(fn)		__define_initcall(fn, 7s)
^1da177e Linus Torvalds            2005-04-16  199  
^1da177e Linus Torvalds            2005-04-16  200  #define __initcall(fn) device_initcall(fn)
^1da177e Linus Torvalds            2005-04-16  201  
^1da177e Linus Torvalds            2005-04-16  202  #define __exitcall(fn)						\
^1da177e Linus Torvalds            2005-04-16 @203  	static exitcall_t __exitcall_##fn __exit_call = fn
^1da177e Linus Torvalds            2005-04-16  204  

:::::: The code at line 165 was first introduced by commit
:::::: 3ff6eecca4e5c49a5d1dd8b58ea0e20102ce08f0 remove __attribute_used__

:::::: TO: Adrian Bunk <bunk at kernel.org>
:::::: CC: Sam Ravnborg <sam at ravnborg.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 29706 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20170930/72079b86/attachment-0001.gz>


More information about the dri-devel mailing list