All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Cc: oe-kbuild-all@lists.linux.dev, linux-gpio@vger.kernel.org
Subject: [brgl:gpio/for-next 57/59] drivers/gpio/gpio-mt7621.c:254:14: error: no member named 'of_gpio_n_cells' in 'struct gpio_chip'
Date: Sat, 28 Mar 2026 01:24:29 +0800	[thread overview]
Message-ID: <202603280113.OtboXgzp-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git gpio/for-next
head:   af475c16bc02a08ed6af6ca0c920f98a45611fe6
commit: 7803501e5754dc4b295ab22b20562e2b965358ba [57/59] gpio: drop unneeded Kconfig dependencies on OF_GPIO
config: um-randconfig-r112-20260326 (https://download.01.org/0day-ci/archive/20260328/202603280113.OtboXgzp-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 054e11d1a17e5ba88bb1a8ef32fad3346e80b186)
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260328/202603280113.OtboXgzp-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603280113.OtboXgzp-lkp@intel.com/

Note: the brgl/gpio/for-next HEAD af475c16bc02a08ed6af6ca0c920f98a45611fe6 builds fine.
      It only hurts bisectability.

All errors (new ones prefixed by >>):

   In file included from drivers/gpio/gpio-mt7621.c:8:
   In file included from include/linux/gpio/driver.h:8:
   In file included from include/linux/irqchip/chained_irq.h:10:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:12:
   In file included from arch/um/include/asm/io.h:24:
   include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
    1209 |         return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
         |                                                   ~~~~~~~~~~ ^
>> drivers/gpio/gpio-mt7621.c:254:14: error: no member named 'of_gpio_n_cells' in 'struct gpio_chip'
     254 |         rg->chip.gc.of_gpio_n_cells = 2;
         |         ~~~~~~~~~~~ ^
>> drivers/gpio/gpio-mt7621.c:255:14: error: no member named 'of_xlate' in 'struct gpio_chip'
     255 |         rg->chip.gc.of_xlate = mediatek_gpio_xlate;
         |         ~~~~~~~~~~~ ^
   1 warning and 2 errors generated.
--
   In file included from drivers/gpio/gpio-tegra186.c:9:
   In file included from include/linux/gpio/driver.h:8:
   In file included from include/linux/irqchip/chained_irq.h:10:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:12:
   In file included from arch/um/include/asm/io.h:24:
   include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
    1209 |         return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
         |                                                   ~~~~~~~~~~ ^
>> drivers/gpio/gpio-tegra186.c:502:20: error: no member named 'of_gpio_n_cells' in 'struct gpio_chip'
     502 |         if (WARN_ON(chip->of_gpio_n_cells < 2))
         |                     ~~~~  ^
   drivers/gpio/gpio-tegra186.c:505:39: error: no member named 'of_gpio_n_cells' in 'struct gpio_chip'
     505 |         if (WARN_ON(spec->args_count < chip->of_gpio_n_cells))
         |                                        ~~~~  ^
   drivers/gpio/gpio-tegra186.c:709:25: error: no member named 'of_gpio_n_cells' in 'struct gpio_chip'
     709 |         if (WARN_ON(gpio->gpio.of_gpio_n_cells < 2))
         |                     ~~~~~~~~~~ ^
   include/asm-generic/bug.h:155:25: note: expanded from macro 'WARN_ON'
     155 |         int __ret_warn_on = !!(condition);                              \
         |                                ^~~~~~~~~
   drivers/gpio/gpio-tegra186.c:712:47: error: no member named 'of_gpio_n_cells' in 'struct gpio_chip'
     712 |         if (WARN_ON(fwspec->param_count < gpio->gpio.of_gpio_n_cells))
         |                                           ~~~~~~~~~~ ^
   include/asm-generic/bug.h:155:25: note: expanded from macro 'WARN_ON'
     155 |         int __ret_warn_on = !!(condition);                              \
         |                                ^~~~~~~~~
   1 warning and 4 errors generated.

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for GPIO_SYSCON
   Depends on [n]: GPIOLIB [=y] && HAS_IOMEM [=y] && MFD_SYSCON [=y] && OF [=n]
   Selected by [y]:
   - GPIO_SAMA5D2_PIOBU [=y] && GPIOLIB [=y] && HAS_IOMEM [=y] && MFD_SYSCON [=y] && (ARCH_AT91 || COMPILE_TEST [=y])


vim +254 drivers/gpio/gpio-mt7621.c

09eed5a1ed3c75 Sergio Paracuellos  2022-09-13  218  
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  219  static int
9804456e60670c Andy Shevchenko     2021-12-20  220  mediatek_gpio_bank_probe(struct device *dev, int bank)
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  221  {
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  222  	struct gpio_generic_chip_config config;
8512486ba2d441 Linus Walleij       2018-07-09  223  	struct mtk *mtk = dev_get_drvdata(dev);
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  224  	struct mtk_gc *rg;
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  225  	void __iomem *dat, *set, *ctrl, *diro;
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  226  	int ret;
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  227  
8512486ba2d441 Linus Walleij       2018-07-09  228  	rg = &mtk->gc_map[bank];
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  229  	memset(rg, 0, sizeof(*rg));
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  230  
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  231  	rg->bank = bank;
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  232  
8512486ba2d441 Linus Walleij       2018-07-09  233  	dat = mtk->base + GPIO_REG_DATA + (rg->bank * GPIO_BANK_STRIDE);
8512486ba2d441 Linus Walleij       2018-07-09  234  	set = mtk->base + GPIO_REG_DSET + (rg->bank * GPIO_BANK_STRIDE);
8512486ba2d441 Linus Walleij       2018-07-09  235  	ctrl = mtk->base + GPIO_REG_DCLR + (rg->bank * GPIO_BANK_STRIDE);
8512486ba2d441 Linus Walleij       2018-07-09  236  	diro = mtk->base + GPIO_REG_CTRL + (rg->bank * GPIO_BANK_STRIDE);
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  237  
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  238  	config = (struct gpio_generic_chip_config) {
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  239  		.dev = dev,
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  240  		.sz = 4,
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  241  		.dat = dat,
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  242  		.set = set,
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  243  		.clr = ctrl,
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  244  		.dirout = diro,
64f89f6e1f2b7f Bartosz Golaszewski 2025-09-17  245  		.flags = GPIO_GENERIC_NO_SET_ON_INPUT,
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  246  	};
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  247  
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  248  	ret = gpio_generic_chip_init(&rg->chip, &config);
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  249  	if (ret) {
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  250  		dev_err(dev, "failed to initialize generic GPIO chip\n");
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  251  		return ret;
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  252  	}
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  253  
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10 @254  	rg->chip.gc.of_gpio_n_cells = 2;
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10 @255  	rg->chip.gc.of_xlate = mediatek_gpio_xlate;
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  256  	rg->chip.gc.label = devm_kasprintf(dev, GFP_KERNEL, "%s-bank%d",
8512486ba2d441 Linus Walleij       2018-07-09  257  					dev_name(dev), bank);
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  258  	if (!rg->chip.gc.label)
59d646c775d6ae Nicholas Mc Guire   2018-11-21  259  		return -ENOMEM;
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  260  
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  261  	rg->chip.gc.offset = bank * MTK_BANK_WIDTH;
fa84667b98fd1a René van Dorst      2019-01-30  262  
8512486ba2d441 Linus Walleij       2018-07-09  263  	if (mtk->gpio_irq) {
f4e9bcc05f4e8d Linus Walleij       2019-08-09  264  		struct gpio_irq_chip *girq;
f4e9bcc05f4e8d Linus Walleij       2019-08-09  265  
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  266  		/*
f4e9bcc05f4e8d Linus Walleij       2019-08-09  267  		 * Directly request the irq here instead of passing
72780ce5f1a418 Linus Walleij       2020-01-13  268  		 * a flow-handler because the irq is shared.
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  269  		 */
8512486ba2d441 Linus Walleij       2018-07-09  270  		ret = devm_request_irq(dev, mtk->gpio_irq,
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  271  				       mediatek_gpio_irq_handler, IRQF_SHARED,
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  272  				       rg->chip.gc.label, &rg->chip.gc);
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  273  
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  274  		if (ret) {
8512486ba2d441 Linus Walleij       2018-07-09  275  			dev_err(dev, "Error requesting IRQ %d: %d\n",
8512486ba2d441 Linus Walleij       2018-07-09  276  				mtk->gpio_irq, ret);
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  277  			return ret;
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  278  		}
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  279  
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  280  		girq = &rg->chip.gc.irq;
09eed5a1ed3c75 Sergio Paracuellos  2022-09-13  281  		gpio_irq_chip_set_chip(girq, &mt7621_irq_chip);
f4e9bcc05f4e8d Linus Walleij       2019-08-09  282  		/* This will let us handle the parent IRQ in the driver */
f4e9bcc05f4e8d Linus Walleij       2019-08-09  283  		girq->parent_handler = NULL;
f4e9bcc05f4e8d Linus Walleij       2019-08-09  284  		girq->num_parents = 0;
f4e9bcc05f4e8d Linus Walleij       2019-08-09  285  		girq->parents = NULL;
f4e9bcc05f4e8d Linus Walleij       2019-08-09  286  		girq->default_type = IRQ_TYPE_NONE;
f4e9bcc05f4e8d Linus Walleij       2019-08-09  287  		girq->handler = handle_simple_irq;
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  288  	}
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  289  
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  290  	ret = devm_gpiochip_add_data(dev, &rg->chip.gc, mtk);
f4e9bcc05f4e8d Linus Walleij       2019-08-09  291  	if (ret < 0) {
f4e9bcc05f4e8d Linus Walleij       2019-08-09  292  		dev_err(dev, "Could not register gpio %d, ret=%d\n",
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  293  			rg->chip.gc.ngpio, ret);
f4e9bcc05f4e8d Linus Walleij       2019-08-09  294  		return ret;
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  295  	}
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  296  
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  297  	/* set polarity to low for all gpios */
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  298  	mtk_gpio_w32(rg, GPIO_REG_POL, 0);
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  299  
80fd7e96d669d7 Bartosz Golaszewski 2025-09-10  300  	dev_info(dev, "registering %d gpios\n", rg->chip.gc.ngpio);
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  301  
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  302  	return 0;
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  303  }
4ba9c3afda4121 Sergio Paracuellos  2018-07-05  304  

:::::: The code at line 254 was first introduced by commit
:::::: 80fd7e96d669d729d9e01bfa3e2b60ea6b500e20 gpio: mt7621: use new generic GPIO chip API

:::::: TO: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
:::::: CC: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2026-03-27 17:24 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202603280113.OtboXgzp-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=bartosz.golaszewski@oss.qualcomm.com \
    --cc=linux-gpio@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.