[pinctrl:devel 16/53] drivers/pinctrl/bcm/pinctrl-bcm2835.c:995:10: error: incompatible types when assigning to type 'volatile struct SHIFTER' from type 'unsigned int'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Stefan,

FYI, the error/warning still remains.

tree:   https://kernel.googlesource.com/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git devel
head:   f2ae04c45b1a9d6c61faa8a946d515f81876e703
commit: e38a9a437fb93ddafab5030165e4c6a3a5021669 [16/53] pinctrl: bcm2835: Add support for BCM2711 pull-up functionality
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 7.4.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 e38a9a437fb93ddafab5030165e4c6a3a5021669
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=m68k 

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

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

   In file included from arch/m68k/include/asm/io_mm.h:32:0,
                    from arch/m68k/include/asm/io.h:8,
                    from include/linux/io.h:13,
                    from include/linux/irq.h:20,
                    from include/linux/gpio/driver.h:7,
                    from drivers/pinctrl/bcm/pinctrl-bcm2835.c:17:
   drivers/pinctrl/bcm/pinctrl-bcm2835.c: In function 'bcm2711_pull_config_set':
>> arch/m68k/include/asm/atarihw.h:190:22: error: expected identifier or '(' before 'volatile'
    # define shifter ((*(volatile struct SHIFTER *)SHF_BAS))
                         ^
>> drivers/pinctrl/bcm/pinctrl-bcm2835.c:990:6: note: in expansion of macro 'shifter'
     u32 shifter;
         ^~~~~~~
>> arch/m68k/include/asm/atarihw.h:172:17: error: expected ')' before '(' token
    #define SHF_BAS (0xffff8200)
                    ^
>> arch/m68k/include/asm/atarihw.h:190:48: note: in expansion of macro 'SHF_BAS'
    # define shifter ((*(volatile struct SHIFTER *)SHF_BAS))
                                                   ^~~~~~~
>> drivers/pinctrl/bcm/pinctrl-bcm2835.c:990:6: note: in expansion of macro 'shifter'
     u32 shifter;
         ^~~~~~~
>> drivers/pinctrl/bcm/pinctrl-bcm2835.c:995:10: error: incompatible types when assigning to type 'volatile struct SHIFTER' from type 'unsigned int'
     shifter = PUD_2711_REG_SHIFT(pin);
             ^
>> drivers/pinctrl/bcm/pinctrl-bcm2835.c:998:27: error: invalid operands to binary << (have 'int' and 'volatile struct SHIFTER')
     value &= ~(PUD_2711_MASK << shifter);
                              ^~
>> drivers/pinctrl/bcm/pinctrl-bcm2835.c:999:16: error: invalid operands to binary << (have 'unsigned int' and 'volatile struct SHIFTER')
     value |= (arg << shifter);
                   ^~
--
   In file included from arch/m68k/include/asm/io_mm.h:32:0,
                    from arch/m68k/include/asm/io.h:8,
                    from include/linux/io.h:13,
                    from include/linux/irq.h:20,
                    from include/linux/gpio/driver.h:7,
                    from drivers/pinctrl//bcm/pinctrl-bcm2835.c:17:
   drivers/pinctrl//bcm/pinctrl-bcm2835.c: In function 'bcm2711_pull_config_set':
>> arch/m68k/include/asm/atarihw.h:190:22: error: expected identifier or '(' before 'volatile'
    # define shifter ((*(volatile struct SHIFTER *)SHF_BAS))
                         ^
   drivers/pinctrl//bcm/pinctrl-bcm2835.c:990:6: note: in expansion of macro 'shifter'
     u32 shifter;
         ^~~~~~~
>> arch/m68k/include/asm/atarihw.h:172:17: error: expected ')' before '(' token
    #define SHF_BAS (0xffff8200)
                    ^
>> arch/m68k/include/asm/atarihw.h:190:48: note: in expansion of macro 'SHF_BAS'
    # define shifter ((*(volatile struct SHIFTER *)SHF_BAS))
                                                   ^~~~~~~
   drivers/pinctrl//bcm/pinctrl-bcm2835.c:990:6: note: in expansion of macro 'shifter'
     u32 shifter;
         ^~~~~~~
   drivers/pinctrl//bcm/pinctrl-bcm2835.c:995:10: error: incompatible types when assigning to type 'volatile struct SHIFTER' from type 'unsigned int'
     shifter = PUD_2711_REG_SHIFT(pin);
             ^
   drivers/pinctrl//bcm/pinctrl-bcm2835.c:998:27: error: invalid operands to binary << (have 'int' and 'volatile struct SHIFTER')
     value &= ~(PUD_2711_MASK << shifter);
                              ^~
   drivers/pinctrl//bcm/pinctrl-bcm2835.c:999:16: error: invalid operands to binary << (have 'unsigned int' and 'volatile struct SHIFTER')
     value |= (arg << shifter);
                   ^~

vim +995 drivers/pinctrl/bcm/pinctrl-bcm2835.c

   986	
   987	static void bcm2711_pull_config_set(struct bcm2835_pinctrl *pc,
   988					    unsigned int pin, unsigned int arg)
   989	{
 > 990		u32 shifter;
   991		u32 value;
   992		u32 off;
   993	
   994		off = PUD_2711_REG_OFFSET(pin);
 > 995		shifter = PUD_2711_REG_SHIFT(pin);
   996	
   997		value = bcm2835_gpio_rd(pc, GP_GPIO_PUP_PDN_CNTRL_REG0 + (off * 4));
 > 998		value &= ~(PUD_2711_MASK << shifter);
 > 999		value |= (arg << shifter);
  1000		bcm2835_gpio_wr(pc, GP_GPIO_PUP_PDN_CNTRL_REG0 + (off * 4), value);
  1001	}
  1002	

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux