All of lore.kernel.org
 help / color / mirror / Atom feed
* [gpio:devel-cleanup-irqchip-threaded 1/1] include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
@ 2020-02-10 19:04 ` kbuild test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kbuild test robot @ 2020-02-10 19:04 UTC (permalink / raw)
  To: Linus Walleij; +Cc: kbuild-all, linux-gpio

[-- Attachment #1: Type: text/plain, Size: 19755 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git devel-cleanup-irqchip-threaded
head:   bf5b241314ea9d338b03df6f54b7c02113ab0f87
commit: bf5b241314ea9d338b03df6f54b7c02113ab0f87 [1/1] gpio: Handle generic and threaded IRQs on gpio irqchips
config: microblaze-nommu_defconfig (attached as .config)
compiler: microblaze-linux-gcc (GCC) 7.5.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout bf5b241314ea9d338b03df6f54b7c02113ab0f87
        # save the attached .config to linux build tree
        GCC_VERSION=7.5.0 make.cross ARCH=microblaze 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

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

   In file included from include/asm-generic/gpio.h:13:0,
                    from include/linux/gpio.h:62,
                    from drivers//gpio/gpiolib.c:13:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from include/linux/gpio.h:62:0,
                    from drivers//gpio/gpiolib.c:13:
   include/asm-generic/gpio.h: In function 'gpio_to_chip':
>> include/asm-generic/gpio.h:61:9: error: implicit declaration of function 'gpiod_to_chip'; did you mean 'gpio_to_chip'? [-Werror=implicit-function-declaration]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~
            gpio_to_chip
>> include/asm-generic/gpio.h:61:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers//gpio/gpiolib.c:17:0:
   include/linux/gpio/driver.h: At top level:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from drivers//gpio/gpiolib.h:12:0,
                    from drivers//gpio/gpiolib.c:31:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   drivers//gpio/gpiolib.c: In function 'gpiochip_get_desc':
>> drivers//gpio/gpiolib.c:145:33: error: dereferencing pointer to incomplete type 'struct gpio_chip'
     struct gpio_device *gdev = chip->gpiodev;
                                    ^~
   drivers//gpio/gpiolib.c: At top level:
>> drivers//gpio/gpiolib.c:174:19: error: conflicting types for 'gpiod_to_chip'
    struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc)
                      ^~~~~~~~~~~~~
   In file included from include/linux/gpio.h:62:0,
                    from drivers//gpio/gpiolib.c:13:
   include/asm-generic/gpio.h:61:9: note: previous implicit declaration of 'gpiod_to_chip' was here
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~
   In file included from include/asm-generic/bitops.h:14:0,
                    from ./arch/microblaze/include/generated/asm/bitops.h:1,
                    from include/linux/bitops.h:29,
                    from include/linux/bitmap.h:8,
                    from drivers//gpio/gpiolib.c:2:
   drivers//gpio/gpiolib.c: In function 'gpiochip_line_is_valid':
>> drivers//gpio/gpiolib.c:413:22: error: dereferencing pointer to incomplete type 'const struct gpio_chip'
     if (likely(!gpiochip->valid_mask))
                         ^
   include/linux/compiler.h:77:40: note: in definition of macro 'likely'
    # define likely(x) __builtin_expect(!!(x), 1)
                                           ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_add_data_with_key':
>> drivers//gpio/gpiolib.c:1571:2: error: implicit declaration of function 'gpiochip_remove_pin_ranges'; did you mean 'gpiochip_add_pin_ranges'? [-Werror=implicit-function-declaration]
     gpiochip_remove_pin_ranges(chip);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~
     gpiochip_add_pin_ranges
   drivers//gpio/gpiolib.c: In function 'devm_gpiochip_add_data':
>> drivers//gpio/gpiolib.c:1692:8: error: implicit declaration of function 'gpiochip_add_data'; did you mean 'gpiochip_get_data'? [-Werror=implicit-function-declaration]
     ret = gpiochip_add_data(chip, data);
           ^~~~~~~~~~~~~~~~~
           gpiochip_get_data
   drivers//gpio/gpiolib.c: In function 'gpiochip_line_is_valid':
>> drivers//gpio/gpiolib.c:416:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_get_data':
   drivers//gpio/gpiolib.c:1603:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_generic_request':
   drivers//gpio/gpiolib.c:2610:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_generic_config':
   drivers//gpio/gpiolib.c:2634:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpio_set_config':
   drivers//gpio/gpiolib.c:3045:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiod_cansleep':
   drivers//gpio/gpiolib.c:3912:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_line_is_irq':
   drivers//gpio/gpiolib.c:4076:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_line_is_open_drain':
   drivers//gpio/gpiolib.c:4109:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_line_is_open_source':
   drivers//gpio/gpiolib.c:4118:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_line_is_persistent':
   drivers//gpio/gpiolib.c:4127:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_match_name':
   drivers//gpio/gpiolib.c:1742:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
   In file included from include/asm-generic/gpio.h:13:0,
                    from include/linux/gpio.h:62,
                    from drivers//gpio/gpiolib-devres.c:11:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from include/linux/gpio.h:62:0,
                    from drivers//gpio/gpiolib-devres.c:11:
   include/asm-generic/gpio.h: In function 'gpio_to_chip':
>> include/asm-generic/gpio.h:61:9: error: implicit declaration of function 'gpiod_to_chip'; did you mean 'gpio_to_chip'? [-Werror=implicit-function-declaration]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~
            gpio_to_chip
>> include/asm-generic/gpio.h:61:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers//gpio/gpiolib.h:12:0,
                    from drivers//gpio/gpiolib-devres.c:16:
   include/linux/gpio/driver.h: At top level:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   cc1: some warnings being treated as errors
--
   In file included from drivers//gpio/gpiolib-devprop.c:12:0:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from drivers//gpio/gpiolib.h:12:0,
                    from drivers//gpio/gpiolib-devprop.c:15:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   drivers//gpio/gpiolib-devprop.c: In function 'devprop_gpiochip_set_names':
>> drivers//gpio/gpiolib-devprop.c:30:33: error: dereferencing pointer to incomplete type 'struct gpio_chip'
     struct gpio_device *gdev = chip->gpiodev;
                                    ^~
--
   In file included from drivers//gpio/gpiolib-sysfs.c:7:0:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from drivers//gpio/gpiolib.h:12:0,
                    from drivers//gpio/gpiolib-sysfs.c:13:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   drivers//gpio/gpiolib-sysfs.c: In function 'gpio_sysfs_request_irq':
>> drivers//gpio/gpiolib-sysfs.c:195:8: error: implicit declaration of function 'gpiochip_lock_as_irq'; did you mean 'spin_lock_irq'? [-Werror=implicit-function-declaration]
     ret = gpiochip_lock_as_irq(desc->gdev->chip, gpio_chip_hwgpio(desc));
           ^~~~~~~~~~~~~~~~~~~~
           spin_lock_irq
>> drivers//gpio/gpiolib-sysfs.c:209:2: error: implicit declaration of function 'gpiochip_unlock_as_irq'; did you mean 'spin_unlock_irq'? [-Werror=implicit-function-declaration]
     gpiochip_unlock_as_irq(desc->gdev->chip, gpio_chip_hwgpio(desc));
     ^~~~~~~~~~~~~~~~~~~~~~
     spin_unlock_irq
   drivers//gpio/gpiolib-sysfs.c: In function 'base_show':
>> drivers//gpio/gpiolib-sysfs.c:417:34: error: dereferencing pointer to incomplete type 'const struct gpio_chip'
     return sprintf(buf, "%d\n", chip->base);
                                     ^~
   drivers//gpio/gpiolib-sysfs.c: In function 'gpiod_export':
>> drivers//gpio/gpiolib-sysfs.c:620:10: error: dereferencing pointer to incomplete type 'struct gpio_chip'
     if (chip->direction_input && chip->direction_output)
             ^~
   cc1: some warnings being treated as errors
--
   In file included from drivers//gpio/gpiolib-legacy.c:3:0:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from include/asm-generic/gpio.h:13:0,
                    from include/linux/gpio.h:62,
                    from drivers//gpio/gpiolib-legacy.c:5:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from include/linux/gpio.h:62:0,
                    from drivers//gpio/gpiolib-legacy.c:5:
   include/asm-generic/gpio.h: In function 'gpio_to_chip':
>> include/asm-generic/gpio.h:61:9: error: implicit declaration of function 'gpiod_to_chip'; did you mean 'gpio_to_chip'? [-Werror=implicit-function-declaration]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~
            gpio_to_chip
>> include/asm-generic/gpio.h:61:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers//gpio/gpiolib.h:12:0,
                    from drivers//gpio/gpiolib-legacy.c:7:
   include/linux/gpio/driver.h: At top level:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   cc1: some warnings being treated as errors
--
   In file included from drivers//gpio/gpio-xilinx.c:15:0:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
>> drivers//gpio/gpio-xilinx.c:43:19: error: field 'gc' has incomplete type
     struct gpio_chip gc;
                      ^~
   drivers//gpio/gpio-xilinx.c: In function 'xgpio_get':
>> drivers//gpio/gpio-xilinx.c:88:32: error: implicit declaration of function 'gpiochip_get_data' [-Werror=implicit-function-declaration]
     struct xgpio_instance *chip = gpiochip_get_data(gc);
                                   ^~~~~~~~~~~~~~~~~
>> drivers//gpio/gpio-xilinx.c:88:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
   drivers//gpio/gpio-xilinx.c: In function 'xgpio_set':
   drivers//gpio/gpio-xilinx.c:109:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
     struct xgpio_instance *chip = gpiochip_get_data(gc);
                                   ^~~~~~~~~~~~~~~~~
   drivers//gpio/gpio-xilinx.c: In function 'xgpio_set_multiple':
   drivers//gpio/gpio-xilinx.c:140:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
     struct xgpio_instance *chip = gpiochip_get_data(gc);
                                   ^~~~~~~~~~~~~~~~~
>> drivers//gpio/gpio-xilinx.c:147:20: error: dereferencing pointer to incomplete type 'struct gpio_chip'
     for (i = 0; i < gc->ngpio; i++) {
                       ^~
   drivers//gpio/gpio-xilinx.c: In function 'xgpio_dir_in':
   drivers//gpio/gpio-xilinx.c:185:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
     struct xgpio_instance *chip = gpiochip_get_data(gc);
                                   ^~~~~~~~~~~~~~~~~
   drivers//gpio/gpio-xilinx.c: In function 'xgpio_dir_out':
   drivers//gpio/gpio-xilinx.c:216:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
     struct xgpio_instance *chip = gpiochip_get_data(gc);
                                   ^~~~~~~~~~~~~~~~~
   drivers//gpio/gpio-xilinx.c: In function 'xgpio_probe':
>> drivers//gpio/gpio-xilinx.c:338:11: error: implicit declaration of function 'devm_gpiochip_add_data'; did you mean 'irq_get_chip_data'? [-Werror=implicit-function-declaration]
     status = devm_gpiochip_add_data(&pdev->dev, &chip->gc, chip);
              ^~~~~~~~~~~~~~~~~~~~~~
              irq_get_chip_data
   cc1: some warnings being treated as errors
--
   In file included from include/asm-generic/gpio.h:13:0,
                    from include/linux/gpio.h:62,
                    from include/linux/of_gpio.h:16,
                    from drivers//gpio/gpiolib-of.c:18:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from include/linux/gpio.h:62:0,
                    from include/linux/of_gpio.h:16,
                    from drivers//gpio/gpiolib-of.c:18:
   include/asm-generic/gpio.h: In function 'gpio_to_chip':
>> include/asm-generic/gpio.h:61:9: error: implicit declaration of function 'gpiod_to_chip'; did you mean 'gpio_to_chip'? [-Werror=implicit-function-declaration]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~
            gpio_to_chip
>> include/asm-generic/gpio.h:61:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers//gpio/gpiolib-of.c:18:0:
   include/linux/of_gpio.h: At top level:
>> include/linux/of_gpio.h:41:19: error: field 'gc' has incomplete type
     struct gpio_chip gc;
                      ^~
   In file included from include/linux/dev_printk.h:14:0,
                    from include/linux/device.h:15,
                    from drivers//gpio/gpiolib-of.c:10:
   include/linux/of_gpio.h: In function 'to_of_mm_gpio_chip':
>> include/linux/kernel.h:987:32: error: dereferencing pointer to incomplete type 'struct gpio_chip'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
                                   ^~~~~~
   include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/kernel.h:987:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
     ^~~~~~~~~~~~~~~~
   include/linux/kernel.h:987:20: note: in expansion of macro '__same_type'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
                       ^~~~~~~~~~~
>> include/linux/of_gpio.h:48:9: note: in expansion of macro 'container_of'
     return container_of(gc, struct of_mm_gpio_chip, gc);
            ^~~~~~~~~~~~
   In file included from drivers//gpio/gpiolib.h:12:0,
                    from drivers//gpio/gpiolib-of.c:23:
   include/linux/gpio/driver.h: At top level:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   drivers//gpio/gpiolib-of.c: In function 'of_find_gpiochip_by_xlate':
>> drivers//gpio/gpiolib-of.c:92:9: error: implicit declaration of function 'gpiochip_find'; did you mean 'of_gpiochip_add'? [-Werror=implicit-function-declaration]
     return gpiochip_find(gpiospec, of_gpiochip_match_node_and_xlate);
            ^~~~~~~~~~~~~
            of_gpiochip_add
>> drivers//gpio/gpiolib-of.c:92:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
     return gpiochip_find(gpiospec, of_gpiochip_match_node_and_xlate);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers//gpio/gpiolib-of.c: In function 'of_gpio_need_valid_mask':
>> drivers//gpio/gpiolib-of.c:121:29: error: dereferencing pointer to incomplete type 'const struct gpio_chip'
     struct device_node *np = gc->of_node;
                                ^~
   drivers//gpio/gpiolib-of.c: In function 'of_mm_gpiochip_add_data':
>> drivers//gpio/gpiolib-of.c:725:8: error: implicit declaration of function 'gpiochip_add_data'; did you mean 'gpiochip_get_desc'? [-Werror=implicit-function-declaration]
     ret = gpiochip_add_data(gc, data);
           ^~~~~~~~~~~~~~~~~
           gpiochip_get_desc
   drivers//gpio/gpiolib-of.c: In function 'of_mm_gpiochip_remove':
>> drivers//gpio/gpiolib-of.c:751:2: error: implicit declaration of function 'gpiochip_remove'; did you mean 'of_gpiochip_remove'? [-Werror=implicit-function-declaration]
     gpiochip_remove(gc);
     ^~~~~~~~~~~~~~~
     of_gpiochip_remove
   drivers//gpio/gpiolib-of.c: In function 'of_gpiochip_add':
>> drivers//gpio/gpiolib-of.c:888:3: error: implicit declaration of function 'devprop_gpiochip_set_names'; did you mean 'of_gpiochip_scan_gpios'? [-Werror=implicit-function-declaration]
      devprop_gpiochip_set_names(chip,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~
      of_gpiochip_scan_gpios
   In file included from drivers//gpio/gpiolib-of.c:16:0:
>> include/linux/of.h:175:28: error: invalid type argument of '->' (have 'int')
       &__of_fwnode_handle_node->fwnode : NULL; \
                               ^
>> drivers//gpio/gpiolib-of.c:889:9: note: in expansion of macro 'of_fwnode_handle'
            of_fwnode_handle(chip->of_node));
            ^~~~~~~~~~~~~~~~
   drivers//gpio/gpiolib-of.c: In function 'of_gpiochip_match_node_and_xlate':
>> drivers//gpio/gpiolib-of.c:87:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
..

vim +2 include/linux/gpio/driver.h

79a9becda8940d Alexandre Courbot 2013-10-17 @2  #ifndef __LINUX_GPIO_DRIVER_H
79a9becda8940d Alexandre Courbot 2013-10-17  3  #define __LINUX_GPIO_DRIVER_H
79a9becda8940d Alexandre Courbot 2013-10-17  4  

:::::: The code at line 2 was first introduced by commit
:::::: 79a9becda8940deb2274b5aa4577c86d52ee7ecb gpiolib: export descriptor-based GPIO interface

:::::: TO: Alexandre Courbot <acourbot@nvidia.com>
:::::: CC: Linus Walleij <linus.walleij@linaro.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 13875 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [gpio:devel-cleanup-irqchip-threaded 1/1] include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
@ 2020-02-10 19:04 ` kbuild test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kbuild test robot @ 2020-02-10 19:04 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 20123 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git devel-cleanup-irqchip-threaded
head:   bf5b241314ea9d338b03df6f54b7c02113ab0f87
commit: bf5b241314ea9d338b03df6f54b7c02113ab0f87 [1/1] gpio: Handle generic and threaded IRQs on gpio irqchips
config: microblaze-nommu_defconfig (attached as .config)
compiler: microblaze-linux-gcc (GCC) 7.5.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout bf5b241314ea9d338b03df6f54b7c02113ab0f87
        # save the attached .config to linux build tree
        GCC_VERSION=7.5.0 make.cross ARCH=microblaze 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

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

   In file included from include/asm-generic/gpio.h:13:0,
                    from include/linux/gpio.h:62,
                    from drivers//gpio/gpiolib.c:13:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from include/linux/gpio.h:62:0,
                    from drivers//gpio/gpiolib.c:13:
   include/asm-generic/gpio.h: In function 'gpio_to_chip':
>> include/asm-generic/gpio.h:61:9: error: implicit declaration of function 'gpiod_to_chip'; did you mean 'gpio_to_chip'? [-Werror=implicit-function-declaration]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~
            gpio_to_chip
>> include/asm-generic/gpio.h:61:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers//gpio/gpiolib.c:17:0:
   include/linux/gpio/driver.h: At top level:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from drivers//gpio/gpiolib.h:12:0,
                    from drivers//gpio/gpiolib.c:31:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   drivers//gpio/gpiolib.c: In function 'gpiochip_get_desc':
>> drivers//gpio/gpiolib.c:145:33: error: dereferencing pointer to incomplete type 'struct gpio_chip'
     struct gpio_device *gdev = chip->gpiodev;
                                    ^~
   drivers//gpio/gpiolib.c: At top level:
>> drivers//gpio/gpiolib.c:174:19: error: conflicting types for 'gpiod_to_chip'
    struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc)
                      ^~~~~~~~~~~~~
   In file included from include/linux/gpio.h:62:0,
                    from drivers//gpio/gpiolib.c:13:
   include/asm-generic/gpio.h:61:9: note: previous implicit declaration of 'gpiod_to_chip' was here
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~
   In file included from include/asm-generic/bitops.h:14:0,
                    from ./arch/microblaze/include/generated/asm/bitops.h:1,
                    from include/linux/bitops.h:29,
                    from include/linux/bitmap.h:8,
                    from drivers//gpio/gpiolib.c:2:
   drivers//gpio/gpiolib.c: In function 'gpiochip_line_is_valid':
>> drivers//gpio/gpiolib.c:413:22: error: dereferencing pointer to incomplete type 'const struct gpio_chip'
     if (likely(!gpiochip->valid_mask))
                         ^
   include/linux/compiler.h:77:40: note: in definition of macro 'likely'
    # define likely(x) __builtin_expect(!!(x), 1)
                                           ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_add_data_with_key':
>> drivers//gpio/gpiolib.c:1571:2: error: implicit declaration of function 'gpiochip_remove_pin_ranges'; did you mean 'gpiochip_add_pin_ranges'? [-Werror=implicit-function-declaration]
     gpiochip_remove_pin_ranges(chip);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~
     gpiochip_add_pin_ranges
   drivers//gpio/gpiolib.c: In function 'devm_gpiochip_add_data':
>> drivers//gpio/gpiolib.c:1692:8: error: implicit declaration of function 'gpiochip_add_data'; did you mean 'gpiochip_get_data'? [-Werror=implicit-function-declaration]
     ret = gpiochip_add_data(chip, data);
           ^~~~~~~~~~~~~~~~~
           gpiochip_get_data
   drivers//gpio/gpiolib.c: In function 'gpiochip_line_is_valid':
>> drivers//gpio/gpiolib.c:416:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_get_data':
   drivers//gpio/gpiolib.c:1603:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_generic_request':
   drivers//gpio/gpiolib.c:2610:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_generic_config':
   drivers//gpio/gpiolib.c:2634:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpio_set_config':
   drivers//gpio/gpiolib.c:3045:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiod_cansleep':
   drivers//gpio/gpiolib.c:3912:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_line_is_irq':
   drivers//gpio/gpiolib.c:4076:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_line_is_open_drain':
   drivers//gpio/gpiolib.c:4109:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_line_is_open_source':
   drivers//gpio/gpiolib.c:4118:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_line_is_persistent':
   drivers//gpio/gpiolib.c:4127:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers//gpio/gpiolib.c: In function 'gpiochip_match_name':
   drivers//gpio/gpiolib.c:1742:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
   In file included from include/asm-generic/gpio.h:13:0,
                    from include/linux/gpio.h:62,
                    from drivers//gpio/gpiolib-devres.c:11:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from include/linux/gpio.h:62:0,
                    from drivers//gpio/gpiolib-devres.c:11:
   include/asm-generic/gpio.h: In function 'gpio_to_chip':
>> include/asm-generic/gpio.h:61:9: error: implicit declaration of function 'gpiod_to_chip'; did you mean 'gpio_to_chip'? [-Werror=implicit-function-declaration]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~
            gpio_to_chip
>> include/asm-generic/gpio.h:61:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers//gpio/gpiolib.h:12:0,
                    from drivers//gpio/gpiolib-devres.c:16:
   include/linux/gpio/driver.h: At top level:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   cc1: some warnings being treated as errors
--
   In file included from drivers//gpio/gpiolib-devprop.c:12:0:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from drivers//gpio/gpiolib.h:12:0,
                    from drivers//gpio/gpiolib-devprop.c:15:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   drivers//gpio/gpiolib-devprop.c: In function 'devprop_gpiochip_set_names':
>> drivers//gpio/gpiolib-devprop.c:30:33: error: dereferencing pointer to incomplete type 'struct gpio_chip'
     struct gpio_device *gdev = chip->gpiodev;
                                    ^~
--
   In file included from drivers//gpio/gpiolib-sysfs.c:7:0:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from drivers//gpio/gpiolib.h:12:0,
                    from drivers//gpio/gpiolib-sysfs.c:13:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   drivers//gpio/gpiolib-sysfs.c: In function 'gpio_sysfs_request_irq':
>> drivers//gpio/gpiolib-sysfs.c:195:8: error: implicit declaration of function 'gpiochip_lock_as_irq'; did you mean 'spin_lock_irq'? [-Werror=implicit-function-declaration]
     ret = gpiochip_lock_as_irq(desc->gdev->chip, gpio_chip_hwgpio(desc));
           ^~~~~~~~~~~~~~~~~~~~
           spin_lock_irq
>> drivers//gpio/gpiolib-sysfs.c:209:2: error: implicit declaration of function 'gpiochip_unlock_as_irq'; did you mean 'spin_unlock_irq'? [-Werror=implicit-function-declaration]
     gpiochip_unlock_as_irq(desc->gdev->chip, gpio_chip_hwgpio(desc));
     ^~~~~~~~~~~~~~~~~~~~~~
     spin_unlock_irq
   drivers//gpio/gpiolib-sysfs.c: In function 'base_show':
>> drivers//gpio/gpiolib-sysfs.c:417:34: error: dereferencing pointer to incomplete type 'const struct gpio_chip'
     return sprintf(buf, "%d\n", chip->base);
                                     ^~
   drivers//gpio/gpiolib-sysfs.c: In function 'gpiod_export':
>> drivers//gpio/gpiolib-sysfs.c:620:10: error: dereferencing pointer to incomplete type 'struct gpio_chip'
     if (chip->direction_input && chip->direction_output)
             ^~
   cc1: some warnings being treated as errors
--
   In file included from drivers//gpio/gpiolib-legacy.c:3:0:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from include/asm-generic/gpio.h:13:0,
                    from include/linux/gpio.h:62,
                    from drivers//gpio/gpiolib-legacy.c:5:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from include/linux/gpio.h:62:0,
                    from drivers//gpio/gpiolib-legacy.c:5:
   include/asm-generic/gpio.h: In function 'gpio_to_chip':
>> include/asm-generic/gpio.h:61:9: error: implicit declaration of function 'gpiod_to_chip'; did you mean 'gpio_to_chip'? [-Werror=implicit-function-declaration]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~
            gpio_to_chip
>> include/asm-generic/gpio.h:61:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers//gpio/gpiolib.h:12:0,
                    from drivers//gpio/gpiolib-legacy.c:7:
   include/linux/gpio/driver.h: At top level:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   cc1: some warnings being treated as errors
--
   In file included from drivers//gpio/gpio-xilinx.c:15:0:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
>> drivers//gpio/gpio-xilinx.c:43:19: error: field 'gc' has incomplete type
     struct gpio_chip gc;
                      ^~
   drivers//gpio/gpio-xilinx.c: In function 'xgpio_get':
>> drivers//gpio/gpio-xilinx.c:88:32: error: implicit declaration of function 'gpiochip_get_data' [-Werror=implicit-function-declaration]
     struct xgpio_instance *chip = gpiochip_get_data(gc);
                                   ^~~~~~~~~~~~~~~~~
>> drivers//gpio/gpio-xilinx.c:88:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
   drivers//gpio/gpio-xilinx.c: In function 'xgpio_set':
   drivers//gpio/gpio-xilinx.c:109:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
     struct xgpio_instance *chip = gpiochip_get_data(gc);
                                   ^~~~~~~~~~~~~~~~~
   drivers//gpio/gpio-xilinx.c: In function 'xgpio_set_multiple':
   drivers//gpio/gpio-xilinx.c:140:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
     struct xgpio_instance *chip = gpiochip_get_data(gc);
                                   ^~~~~~~~~~~~~~~~~
>> drivers//gpio/gpio-xilinx.c:147:20: error: dereferencing pointer to incomplete type 'struct gpio_chip'
     for (i = 0; i < gc->ngpio; i++) {
                       ^~
   drivers//gpio/gpio-xilinx.c: In function 'xgpio_dir_in':
   drivers//gpio/gpio-xilinx.c:185:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
     struct xgpio_instance *chip = gpiochip_get_data(gc);
                                   ^~~~~~~~~~~~~~~~~
   drivers//gpio/gpio-xilinx.c: In function 'xgpio_dir_out':
   drivers//gpio/gpio-xilinx.c:216:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
     struct xgpio_instance *chip = gpiochip_get_data(gc);
                                   ^~~~~~~~~~~~~~~~~
   drivers//gpio/gpio-xilinx.c: In function 'xgpio_probe':
>> drivers//gpio/gpio-xilinx.c:338:11: error: implicit declaration of function 'devm_gpiochip_add_data'; did you mean 'irq_get_chip_data'? [-Werror=implicit-function-declaration]
     status = devm_gpiochip_add_data(&pdev->dev, &chip->gc, chip);
              ^~~~~~~~~~~~~~~~~~~~~~
              irq_get_chip_data
   cc1: some warnings being treated as errors
--
   In file included from include/asm-generic/gpio.h:13:0,
                    from include/linux/gpio.h:62,
                    from include/linux/of_gpio.h:16,
                    from drivers//gpio/gpiolib-of.c:18:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   In file included from include/linux/gpio.h:62:0,
                    from include/linux/of_gpio.h:16,
                    from drivers//gpio/gpiolib-of.c:18:
   include/asm-generic/gpio.h: In function 'gpio_to_chip':
>> include/asm-generic/gpio.h:61:9: error: implicit declaration of function 'gpiod_to_chip'; did you mean 'gpio_to_chip'? [-Werror=implicit-function-declaration]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~
            gpio_to_chip
>> include/asm-generic/gpio.h:61:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers//gpio/gpiolib-of.c:18:0:
   include/linux/of_gpio.h: At top level:
>> include/linux/of_gpio.h:41:19: error: field 'gc' has incomplete type
     struct gpio_chip gc;
                      ^~
   In file included from include/linux/dev_printk.h:14:0,
                    from include/linux/device.h:15,
                    from drivers//gpio/gpiolib-of.c:10:
   include/linux/of_gpio.h: In function 'to_of_mm_gpio_chip':
>> include/linux/kernel.h:987:32: error: dereferencing pointer to incomplete type 'struct gpio_chip'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
                                   ^~~~~~
   include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/kernel.h:987:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
     ^~~~~~~~~~~~~~~~
   include/linux/kernel.h:987:20: note: in expansion of macro '__same_type'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
                       ^~~~~~~~~~~
>> include/linux/of_gpio.h:48:9: note: in expansion of macro 'container_of'
     return container_of(gc, struct of_mm_gpio_chip, gc);
            ^~~~~~~~~~~~
   In file included from drivers//gpio/gpiolib.h:12:0,
                    from drivers//gpio/gpiolib-of.c:23:
   include/linux/gpio/driver.h: At top level:
>> include/linux/gpio/driver.h:2:0: error: unterminated #ifndef
    #ifndef __LINUX_GPIO_DRIVER_H
    
   drivers//gpio/gpiolib-of.c: In function 'of_find_gpiochip_by_xlate':
>> drivers//gpio/gpiolib-of.c:92:9: error: implicit declaration of function 'gpiochip_find'; did you mean 'of_gpiochip_add'? [-Werror=implicit-function-declaration]
     return gpiochip_find(gpiospec, of_gpiochip_match_node_and_xlate);
            ^~~~~~~~~~~~~
            of_gpiochip_add
>> drivers//gpio/gpiolib-of.c:92:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
     return gpiochip_find(gpiospec, of_gpiochip_match_node_and_xlate);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers//gpio/gpiolib-of.c: In function 'of_gpio_need_valid_mask':
>> drivers//gpio/gpiolib-of.c:121:29: error: dereferencing pointer to incomplete type 'const struct gpio_chip'
     struct device_node *np = gc->of_node;
                                ^~
   drivers//gpio/gpiolib-of.c: In function 'of_mm_gpiochip_add_data':
>> drivers//gpio/gpiolib-of.c:725:8: error: implicit declaration of function 'gpiochip_add_data'; did you mean 'gpiochip_get_desc'? [-Werror=implicit-function-declaration]
     ret = gpiochip_add_data(gc, data);
           ^~~~~~~~~~~~~~~~~
           gpiochip_get_desc
   drivers//gpio/gpiolib-of.c: In function 'of_mm_gpiochip_remove':
>> drivers//gpio/gpiolib-of.c:751:2: error: implicit declaration of function 'gpiochip_remove'; did you mean 'of_gpiochip_remove'? [-Werror=implicit-function-declaration]
     gpiochip_remove(gc);
     ^~~~~~~~~~~~~~~
     of_gpiochip_remove
   drivers//gpio/gpiolib-of.c: In function 'of_gpiochip_add':
>> drivers//gpio/gpiolib-of.c:888:3: error: implicit declaration of function 'devprop_gpiochip_set_names'; did you mean 'of_gpiochip_scan_gpios'? [-Werror=implicit-function-declaration]
      devprop_gpiochip_set_names(chip,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~
      of_gpiochip_scan_gpios
   In file included from drivers//gpio/gpiolib-of.c:16:0:
>> include/linux/of.h:175:28: error: invalid type argument of '->' (have 'int')
       &__of_fwnode_handle_node->fwnode : NULL; \
                               ^
>> drivers//gpio/gpiolib-of.c:889:9: note: in expansion of macro 'of_fwnode_handle'
            of_fwnode_handle(chip->of_node));
            ^~~~~~~~~~~~~~~~
   drivers//gpio/gpiolib-of.c: In function 'of_gpiochip_match_node_and_xlate':
>> drivers//gpio/gpiolib-of.c:87:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
..

vim +2 include/linux/gpio/driver.h

79a9becda8940d Alexandre Courbot 2013-10-17 @2  #ifndef __LINUX_GPIO_DRIVER_H
79a9becda8940d Alexandre Courbot 2013-10-17  3  #define __LINUX_GPIO_DRIVER_H
79a9becda8940d Alexandre Courbot 2013-10-17  4  

:::::: The code at line 2 was first introduced by commit
:::::: 79a9becda8940deb2274b5aa4577c86d52ee7ecb gpiolib: export descriptor-based GPIO interface

:::::: TO: Alexandre Courbot <acourbot@nvidia.com>
:::::: CC: Linus Walleij <linus.walleij@linaro.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 13875 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-02-10 19:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-10 19:04 [gpio:devel-cleanup-irqchip-threaded 1/1] include/linux/gpio/driver.h:2:0: error: unterminated #ifndef kbuild test robot
2020-02-10 19:04 ` kbuild test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.