[PATCH v2 1/2] gpio: mediatek: add driver for MT7621
kbuild test robot
lkp at intel.com
Fri Jun 29 16:43:12 UTC 2018
Hi Sergio,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on gpio/for-next]
[also build test ERROR on v4.18-rc2 next-20180629]
[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/Sergio-Paracuellos/gpio-mediatek-driver-for-gpio-chip-in-MT7621-SoC/20180629-225420
base: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git for-next
config: x86_64-randconfig-s0-06292230 (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All errors (new ones prefixed by >>):
drivers/gpio/gpio-mt7621.c: In function 'mediatek_gpio_bank_probe':
>> drivers/gpio/gpio-mt7621.c:221:10: error: 'struct gpio_chip' has no member named 'of_node'
rg->chip.of_node = node;
^
vim +221 drivers/gpio/gpio-mt7621.c
207
208 static int
209 mediatek_gpio_bank_probe(struct platform_device *pdev,
210 struct device_node *node, int bank)
211 {
212 struct mtk_data *gpio = dev_get_drvdata(&pdev->dev);
213 struct mtk_gc *rg;
214 void __iomem *dat, *set, *ctrl, *diro;
215 int ret;
216
217 rg = &gpio->gc_map[bank];
218 memset(rg, 0, sizeof(*rg));
219
220 spin_lock_init(&rg->lock);
> 221 rg->chip.of_node = node;
222 rg->bank = bank;
223 rg->chip.label = mediatek_gpio_bank_name(rg->bank);
224
225 dat = gpio->gpio_membase + GPIO_REG_DATA + (rg->bank * GPIO_BANK_WIDE);
226 set = gpio->gpio_membase + GPIO_REG_DSET + (rg->bank * GPIO_BANK_WIDE);
227 ctrl = gpio->gpio_membase + GPIO_REG_DCLR + (rg->bank * GPIO_BANK_WIDE);
228 diro = gpio->gpio_membase + GPIO_REG_CTRL + (rg->bank * GPIO_BANK_WIDE);
229
230 ret = bgpio_init(&rg->chip, &pdev->dev, 4,
231 dat, set, ctrl, diro, NULL, 0);
232 if (ret) {
233 dev_err(&pdev->dev, "bgpio_init() failed\n");
234 return ret;
235 }
236
237 ret = devm_gpiochip_add_data(&pdev->dev, &rg->chip, gpio);
238 if (ret < 0) {
239 dev_err(&pdev->dev, "Could not register gpio %d, ret=%d\n",
240 rg->chip.ngpio, ret);
241 return ret;
242 }
243
244 if (gpio->gpio_irq) {
245 /*
246 * Manually request the irq here instead of passing
247 * a flow-handler to gpiochip_set_chained_irqchip,
248 * because the irq is shared.
249 */
250 ret = devm_request_irq(&pdev->dev, gpio->gpio_irq,
251 mediatek_gpio_irq_handler, IRQF_SHARED,
252 rg->chip.label, &rg->chip);
253
254 if (ret) {
255 dev_err(&pdev->dev, "Error requesting IRQ %d: %d\n",
256 gpio->gpio_irq, ret);
257 return ret;
258 }
259
260 mediatek_gpio_irq_chip.name = rg->chip.label;
261 ret = gpiochip_irqchip_add(&rg->chip, &mediatek_gpio_irq_chip,
262 0, handle_simple_irq, IRQ_TYPE_NONE);
263 if (ret) {
264 dev_err(&pdev->dev, "failed to add gpiochip_irqchip\n");
265 return ret;
266 }
267
268 gpiochip_set_chained_irqchip(&rg->chip, &mediatek_gpio_irq_chip,
269 gpio->gpio_irq, NULL);
270 }
271
272 /* set polarity to low for all gpios */
273 mtk_gpio_w32(rg, GPIO_REG_POL, 0);
274
275 dev_info(&pdev->dev, "registering %d gpios\n", rg->chip.ngpio);
276
277 return 0;
278 }
279
---
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: 27994 bytes
Desc: not available
URL: <http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/attachments/20180630/3742cbf2/attachment-0001.bin>
More information about the devel
mailing list