tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   f873db9acd3c92d4741bc3676c9eb511b2f9a6f6
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to 
define address spaces
date:   9 weeks ago
config: openrisc-randconfig-s031-20200821 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.2-191-g10164920-dirty
        git checkout 670d0a4b10704667765f7d18f7592993d02783aa
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=openrisc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>


sparse warnings: (new ones prefixed by >>)

>> drivers/gpio/gpio-mpc8xxx.c:430:27: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected void *addr @@     got 
>> void [noderef] __iomem *regs @@
   drivers/gpio/gpio-mpc8xxx.c:430:27: sparse:     expected void *addr
>> drivers/gpio/gpio-mpc8xxx.c:430:27: sparse:     got void [noderef] __iomem 
>> *regs
   drivers/gpio/gpio-mpc8xxx.c:444:27: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected void *addr @@     got 
void [noderef] __iomem *regs @@
   drivers/gpio/gpio-mpc8xxx.c:444:27: sparse:     expected void *addr
   drivers/gpio/gpio-mpc8xxx.c:444:27: sparse:     got void [noderef] __iomem 
*regs
--
   drivers/video/fbdev/pvr2fb.c:336:17: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:336:17: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:338:31: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:345:17: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:347:17: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:349:17: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:540:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:541:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:560:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:569:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:573:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:574:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:579:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:580:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:581:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:584:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:585:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:588:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:591:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:595:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:595:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:596:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:600:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:612:19: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:614:17: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:616:17: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:788:26: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected void *s @@     got char 
[noderef] __iomem *screen_base @@
   drivers/video/fbdev/pvr2fb.c:788:26: sparse:     expected void *s
   drivers/video/fbdev/pvr2fb.c:788:26: sparse:     got char [noderef] __iomem 
*screen_base
   drivers/video/fbdev/pvr2fb.c:820:15: sparse: sparse: cast removes address 
space '__iomem' of expression
>> drivers/video/fbdev/pvr2fb.c:847:32: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected void *addr @@     got 
>> char [noderef] __iomem *screen_base @@
   drivers/video/fbdev/pvr2fb.c:847:32: sparse:     expected void *addr
   drivers/video/fbdev/pvr2fb.c:847:32: sparse:     got char [noderef] __iomem 
*screen_base
>> drivers/video/fbdev/pvr2fb.c:849:28: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected void *addr @@     got 
>> void [noderef] __iomem *mmio_base @@
   drivers/video/fbdev/pvr2fb.c:849:28: sparse:     expected void *addr
>> drivers/video/fbdev/pvr2fb.c:849:28: sparse:     got void [noderef] __iomem 
>> *mmio_base
   drivers/video/fbdev/pvr2fb.c:1057:11: sparse: sparse: Using plain integer as 
NULL pointer
   drivers/video/fbdev/pvr2fb.c:233:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:233:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:240:9: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/video/fbdev/pvr2fb.c:240:9: sparse: sparse: cast removes address 
space '__iomem' of expression
--
>> drivers/clocksource/timer-fttmr010.c:424:25: sparse: sparse: incorrect type 
>> in argument 1 (different address spaces) @@     expected void *addr @@     
>> got void [noderef] __iomem *base @@
   drivers/clocksource/timer-fttmr010.c:424:25: sparse:     expected void *addr
>> drivers/clocksource/timer-fttmr010.c:424:25: sparse:     got void [noderef] 
>> __iomem *base
   drivers/clocksource/timer-fttmr010.c: note: in included file (through 
arch/openrisc/include/asm/io.h, include/linux/io.h, include/linux/irq.h, ...):
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
--
>> drivers/clocksource/sh_mtu2.c:442:20: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected void *addr @@     got 
>> void [noderef] __iomem *mapbase @@
   drivers/clocksource/sh_mtu2.c:442:20: sparse:     expected void *addr
>> drivers/clocksource/sh_mtu2.c:442:20: sparse:     got void [noderef] __iomem 
>> *mapbase
--
>> drivers/usb/musb/musb_dsps.c:910:21: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected void *addr @@     got 
>> void [noderef] __iomem *usbss_base @@
   drivers/usb/musb/musb_dsps.c:910:21: sparse:     expected void *addr
>> drivers/usb/musb/musb_dsps.c:910:21: sparse:     got void [noderef] __iomem 
>> *usbss_base
   drivers/usb/musb/musb_dsps.c:921:21: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected void *addr @@     got 
void [noderef] __iomem *usbss_base @@
   drivers/usb/musb/musb_dsps.c:921:21: sparse:     expected void *addr
   drivers/usb/musb/musb_dsps.c:921:21: sparse:     got void [noderef] __iomem 
*usbss_base

# 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=670d0a4b10704667765f7d18f7592993d02783aa
git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
vim +430 drivers/gpio/gpio-mpc8xxx.c

e39d5ef678045d arch/powerpc/sysdev/mpc8xxx_gpio.c Anatolij Gustschin       
2010-08-09  327  
98686d9a52eeea drivers/gpio/gpio-mpc8xxx.c        Ricardo Ribalda          
2015-01-18  328  static int mpc8xxx_probe(struct platform_device *pdev)
1e16dfc1baa745 arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2008-09-23  329  {
98686d9a52eeea drivers/gpio/gpio-mpc8xxx.c        Ricardo Ribalda          
2015-01-18  330      struct device_node *np = pdev->dev.of_node;
1e16dfc1baa745 arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2008-09-23  331      struct mpc8xxx_gpio_chip *mpc8xxx_gc;
1e16dfc1baa745 arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2008-09-23  332      struct gpio_chip        *gc;
82e39b0d8566fa drivers/gpio/gpio-mpc8xxx.c        Uwe Kleine-König         
2015-07-16  333      const struct mpc8xxx_gpio_devtype *devtype =
82e39b0d8566fa drivers/gpio/gpio-mpc8xxx.c        Uwe Kleine-König         
2015-07-16  334              of_device_get_match_data(&pdev->dev);
1e16dfc1baa745 arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2008-09-23  335      int ret;
1e16dfc1baa745 arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2008-09-23  336  
98686d9a52eeea drivers/gpio/gpio-mpc8xxx.c        Ricardo Ribalda          
2015-01-18  337      mpc8xxx_gc = devm_kzalloc(&pdev->dev, sizeof(*mpc8xxx_gc), 
GFP_KERNEL);
98686d9a52eeea drivers/gpio/gpio-mpc8xxx.c        Ricardo Ribalda          
2015-01-18  338      if (!mpc8xxx_gc)
98686d9a52eeea drivers/gpio/gpio-mpc8xxx.c        Ricardo Ribalda          
2015-01-18  339              return -ENOMEM;
1e16dfc1baa745 arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2008-09-23  340  
257e10752c13f2 drivers/gpio/gpio-mpc8xxx.c        Ricardo Ribalda          
2015-01-18  341      platform_set_drvdata(pdev, mpc8xxx_gc);
257e10752c13f2 drivers/gpio/gpio-mpc8xxx.c        Ricardo Ribalda          
2015-01-18  342  
505936131ea71e drivers/gpio/gpio-mpc8xxx.c        Alexander Stein          
2015-07-21  343      raw_spin_lock_init(&mpc8xxx_gc->lock);
1e16dfc1baa745 arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2008-09-23  344  
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  345      mpc8xxx_gc->regs = of_iomap(np, 0);
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  346      if (!mpc8xxx_gc->regs)
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  347              return -ENOMEM;
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  348  
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  349      gc = &mpc8xxx_gc->gc;
322f6a3182d42d drivers/gpio/gpio-mpc8xxx.c        Johnson CH Chen (陳昭勳  
2019-11-26  350)        gc->parent = &pdev->dev;
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  351  
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  352      if (of_property_read_bool(np, "little-endian")) {
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  353              ret = bgpio_init(gc, &pdev->dev, 4,
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  354                               mpc8xxx_gc->regs + GPIO_DAT,
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  355                               NULL, NULL,
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  356                               mpc8xxx_gc->regs + GPIO_DIR, NULL,
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  357                               BGPIOF_BIG_ENDIAN);
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  358              if (ret)
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  359                      goto err;
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  360              dev_dbg(&pdev->dev, "GPIO registers are LITTLE 
endian\n");
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  361      } else {
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  362              ret = bgpio_init(gc, &pdev->dev, 4,
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  363                               mpc8xxx_gc->regs + GPIO_DAT,
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  364                               NULL, NULL,
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  365                               mpc8xxx_gc->regs + GPIO_DIR, NULL,
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  366                               BGPIOF_BIG_ENDIAN
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  367                               | BGPIOF_BIG_ENDIAN_BYTE_ORDER);
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  368              if (ret)
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  369                      goto err;
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  370              dev_dbg(&pdev->dev, "GPIO registers are BIG 
endian\n");
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  371      }
1e16dfc1baa745 arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2008-09-23  372  
fa4007ca06e4c8 drivers/gpio/gpio-mpc8xxx.c        Axel Lin                 
2016-02-22  373      mpc8xxx_gc->direction_output = gc->direction_output;
82e39b0d8566fa drivers/gpio/gpio-mpc8xxx.c        Uwe Kleine-König         
2015-07-16  374  
82e39b0d8566fa drivers/gpio/gpio-mpc8xxx.c        Uwe Kleine-König         
2015-07-16  375      if (!devtype)
82e39b0d8566fa drivers/gpio/gpio-mpc8xxx.c        Uwe Kleine-König         
2015-07-16  376              devtype = &mpc8xxx_gpio_devtype_default;
82e39b0d8566fa drivers/gpio/gpio-mpc8xxx.c        Uwe Kleine-König         
2015-07-16  377  
82e39b0d8566fa drivers/gpio/gpio-mpc8xxx.c        Uwe Kleine-König         
2015-07-16  378      /*
82e39b0d8566fa drivers/gpio/gpio-mpc8xxx.c        Uwe Kleine-König         
2015-07-16  379       * It's assumed that only a single type of gpio controller 
is available
82e39b0d8566fa drivers/gpio/gpio-mpc8xxx.c        Uwe Kleine-König         
2015-07-16  380       * on the current machine, so overwriting global data is 
fine.
82e39b0d8566fa drivers/gpio/gpio-mpc8xxx.c        Uwe Kleine-König         
2015-07-16  381       */
4e50573f39229d drivers/gpio/gpio-mpc8xxx.c        Vladimir Oltean          
2019-11-15  382      if (devtype->irq_set_type)
82e39b0d8566fa drivers/gpio/gpio-mpc8xxx.c        Uwe Kleine-König         
2015-07-16  383              mpc8xxx_irq_chip.irq_set_type = 
devtype->irq_set_type;
82e39b0d8566fa drivers/gpio/gpio-mpc8xxx.c        Uwe Kleine-König         
2015-07-16  384  
adf32eaa053234 drivers/gpio/gpio-mpc8xxx.c        Axel Lin                 
2016-02-22  385      if (devtype->gpio_dir_out)
adf32eaa053234 drivers/gpio/gpio-mpc8xxx.c        Axel Lin                 
2016-02-22  386              gc->direction_output = devtype->gpio_dir_out;
adf32eaa053234 drivers/gpio/gpio-mpc8xxx.c        Axel Lin                 
2016-02-22  387      if (devtype->gpio_get)
adf32eaa053234 drivers/gpio/gpio-mpc8xxx.c        Axel Lin                 
2016-02-22  388              gc->get = devtype->gpio_get;
adf32eaa053234 drivers/gpio/gpio-mpc8xxx.c        Axel Lin                 
2016-02-22  389  
345e5c8a1cc30e arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2010-01-07  390      gc->to_irq = mpc8xxx_gpio_to_irq;
1e16dfc1baa745 arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2008-09-23  391  
787b64a43f7aca drivers/gpio/gpio-mpc8xxx.c        Russell King             
2019-11-19  392      if (of_device_is_compatible(np, "fsl,qoriq-gpio"))
787b64a43f7aca drivers/gpio/gpio-mpc8xxx.c        Russell King             
2019-11-19  393              gc->write_reg(mpc8xxx_gc->regs + GPIO_IBE, 
0xffffffff);
787b64a43f7aca drivers/gpio/gpio-mpc8xxx.c        Russell King             
2019-11-19  394  
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  395      ret = gpiochip_add_data(gc, mpc8xxx_gc);
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  396      if (ret) {
7eb6ce2f272336 drivers/gpio/gpio-mpc8xxx.c        Rob Herring              
2017-07-18  397              pr_err("%pOF: GPIO chip registration failed with 
status %d\n",
7eb6ce2f272336 drivers/gpio/gpio-mpc8xxx.c        Rob Herring              
2017-07-18  398                     np, ret);
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  399              goto err;
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  400      }
1e16dfc1baa745 arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2008-09-23  401  
257e10752c13f2 drivers/gpio/gpio-mpc8xxx.c        Ricardo Ribalda          
2015-01-18  402      mpc8xxx_gc->irqn = irq_of_parse_and_map(np, 0);
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  403      if (!mpc8xxx_gc->irqn)
98686d9a52eeea drivers/gpio/gpio-mpc8xxx.c        Ricardo Ribalda          
2015-01-18  404              return 0;
345e5c8a1cc30e arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2010-01-07  405  
a8db8cf0d894df drivers/gpio/gpio-mpc8xxx.c        Grant Likely             
2012-02-14  406      mpc8xxx_gc->irq = irq_domain_add_linear(np, 
MPC8XXX_GPIO_PINS,
a8db8cf0d894df drivers/gpio/gpio-mpc8xxx.c        Grant Likely             
2012-02-14  407                                      &mpc8xxx_gpio_irq_ops, 
mpc8xxx_gc);
345e5c8a1cc30e arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2010-01-07  408      if (!mpc8xxx_gc->irq)
98686d9a52eeea drivers/gpio/gpio-mpc8xxx.c        Ricardo Ribalda          
2015-01-18  409              return 0;
345e5c8a1cc30e arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2010-01-07  410  
345e5c8a1cc30e arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2010-01-07  411      /* ack and mask all irqs */
cd0d3f58a0ca05 drivers/gpio/gpio-mpc8xxx.c        Axel Lin                 
2016-02-22  412      gc->write_reg(mpc8xxx_gc->regs + GPIO_IER, 0xffffffff);
cd0d3f58a0ca05 drivers/gpio/gpio-mpc8xxx.c        Axel Lin                 
2016-02-22  413      gc->write_reg(mpc8xxx_gc->regs + GPIO_IMR, 0);
bd4bd337039df9 drivers/gpio/gpio-mpc8xxx.c        Song Hui                 
2019-07-18  414      /* enable input buffer  */
bd4bd337039df9 drivers/gpio/gpio-mpc8xxx.c        Song Hui                 
2019-07-18  415      if (devtype->gpio_dir_in_init)
bd4bd337039df9 drivers/gpio/gpio-mpc8xxx.c        Song Hui                 
2019-07-18  416              devtype->gpio_dir_in_init(gc);
345e5c8a1cc30e arch/powerpc/sysdev/mpc8xxx_gpio.c Peter Korsgaard          
2010-01-07  417  
698b8eeaed7287 drivers/gpio/gpio-mpc8xxx.c        Song Hui                 
2019-10-11  418      ret = devm_request_irq(&pdev->dev, mpc8xxx_gc->irqn,
698b8eeaed7287 drivers/gpio/gpio-mpc8xxx.c        Song Hui                 
2019-10-11  419                             mpc8xxx_gpio_irq_cascade,
698b8eeaed7287 drivers/gpio/gpio-mpc8xxx.c        Song Hui                 
2019-10-11  420                             IRQF_NO_THREAD | IRQF_SHARED, 
"gpio-cascade",
698b8eeaed7287 drivers/gpio/gpio-mpc8xxx.c        Song Hui                 
2019-10-11  421                             mpc8xxx_gc);
698b8eeaed7287 drivers/gpio/gpio-mpc8xxx.c        Song Hui                 
2019-10-11  422      if (ret) {
698b8eeaed7287 drivers/gpio/gpio-mpc8xxx.c        Song Hui                 
2019-10-11  423              dev_err(&pdev->dev, "%s: failed to 
devm_request_irq(%d), ret = %d\n",
698b8eeaed7287 drivers/gpio/gpio-mpc8xxx.c        Song Hui                 
2019-10-11  424                      np->full_name, mpc8xxx_gc->irqn, ret);
698b8eeaed7287 drivers/gpio/gpio-mpc8xxx.c        Song Hui                 
2019-10-11  425              goto err;
698b8eeaed7287 drivers/gpio/gpio-mpc8xxx.c        Song Hui                 
2019-10-11  426      }
698b8eeaed7287 drivers/gpio/gpio-mpc8xxx.c        Song Hui                 
2019-10-11  427  
257e10752c13f2 drivers/gpio/gpio-mpc8xxx.c        Ricardo Ribalda          
2015-01-18  428      return 0;
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  429  err:
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03 @430      iounmap(mpc8xxx_gc->regs);
42178e2a1e42b4 drivers/gpio/gpio-mpc8xxx.c        Liu Gang                 
2016-02-03  431      return ret;
257e10752c13f2 drivers/gpio/gpio-mpc8xxx.c        Ricardo Ribalda          
2015-01-18  432  }
257e10752c13f2 drivers/gpio/gpio-mpc8xxx.c        Ricardo Ribalda          
2015-01-18  433  

:::::: The code at line 430 was first introduced by commit
:::::: 42178e2a1e42b480ada954750f248b53d3fb5940 drivers/gpio: Switch 
gpio-mpc8xxx to use gpio-generic

:::::: TO: Liu Gang <gang....@nxp.com>
:::::: CC: Linus Walleij <linus.wall...@linaro.org>

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

Attachment: .config.gz
Description: application/gzip

Reply via email to