drivers//pinctrl/pinctrl-stmfx.c:652:17: error: 'struct gpio_chip' has no member named 'of_node'

From: kbuild test robot
Date: Mon May 20 2019 - 00:13:53 EST


Hi Amelie,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a188339ca5a396acc588e5851ed7e19f66b0ebd9
commit: 1490d9f841b186664f9d3ca213dcfa4464a60680 pinctrl: Add STMFX GPIO expander Pinctrl/GPIO driver
date: 10 days ago
config: um-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
git checkout 1490d9f841b186664f9d3ca213dcfa4464a60680
# save the attached .config to linux build tree
make ARCH=um

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

All errors (new ones prefixed by >>):

drivers//pinctrl/pinctrl-stmfx.c: In function 'stmfx_pinctrl_probe':
>> drivers//pinctrl/pinctrl-stmfx.c:652:17: error: 'struct gpio_chip' has no member named 'of_node'
pctl->gpio_chip.of_node = np;
^

vim +652 drivers//pinctrl/pinctrl-stmfx.c

588
589 static int stmfx_pinctrl_probe(struct platform_device *pdev)
590 {
591 struct stmfx *stmfx = dev_get_drvdata(pdev->dev.parent);
592 struct device_node *np = pdev->dev.of_node;
593 struct stmfx_pinctrl *pctl;
594 u32 n;
595 int irq, ret;
596
597 pctl = devm_kzalloc(stmfx->dev, sizeof(*pctl), GFP_KERNEL);
598 if (!pctl)
599 return -ENOMEM;
600
601 platform_set_drvdata(pdev, pctl);
602
603 pctl->dev = &pdev->dev;
604 pctl->stmfx = stmfx;
605
606 if (!of_find_property(np, "gpio-ranges", NULL)) {
607 dev_err(pctl->dev, "missing required gpio-ranges property\n");
608 return -EINVAL;
609 }
610
611 irq = platform_get_irq(pdev, 0);
612 if (irq <= 0) {
613 dev_err(pctl->dev, "failed to get irq\n");
614 return -ENXIO;
615 }
616
617 mutex_init(&pctl->lock);
618
619 /* Register pin controller */
620 pctl->pctl_desc.name = "stmfx-pinctrl";
621 pctl->pctl_desc.pctlops = &stmfx_pinctrl_ops;
622 pctl->pctl_desc.confops = &stmfx_pinconf_ops;
623 pctl->pctl_desc.pins = stmfx_pins;
624 pctl->pctl_desc.npins = ARRAY_SIZE(stmfx_pins);
625 pctl->pctl_desc.owner = THIS_MODULE;
626
627 ret = devm_pinctrl_register_and_init(pctl->dev, &pctl->pctl_desc,
628 pctl, &pctl->pctl_dev);
629 if (ret) {
630 dev_err(pctl->dev, "pinctrl registration failed\n");
631 return ret;
632 }
633
634 ret = pinctrl_enable(pctl->pctl_dev);
635 if (ret) {
636 dev_err(pctl->dev, "pinctrl enable failed\n");
637 return ret;
638 }
639
640 /* Register gpio controller */
641 pctl->gpio_chip.label = "stmfx-gpio";
642 pctl->gpio_chip.parent = pctl->dev;
643 pctl->gpio_chip.get_direction = stmfx_gpio_get_direction;
644 pctl->gpio_chip.direction_input = stmfx_gpio_direction_input;
645 pctl->gpio_chip.direction_output = stmfx_gpio_direction_output;
646 pctl->gpio_chip.get = stmfx_gpio_get;
647 pctl->gpio_chip.set = stmfx_gpio_set;
648 pctl->gpio_chip.set_config = gpiochip_generic_config;
649 pctl->gpio_chip.base = -1;
650 pctl->gpio_chip.ngpio = pctl->pctl_desc.npins;
651 pctl->gpio_chip.can_sleep = true;
> 652 pctl->gpio_chip.of_node = np;
653 pctl->gpio_chip.need_valid_mask = true;
654
655 ret = devm_gpiochip_add_data(pctl->dev, &pctl->gpio_chip, pctl);
656 if (ret) {
657 dev_err(pctl->dev, "gpio_chip registration failed\n");
658 return ret;
659 }
660
661 ret = stmfx_pinctrl_gpio_function_enable(pctl);
662 if (ret)
663 return ret;
664
665 pctl->irq_chip.name = dev_name(pctl->dev);
666 pctl->irq_chip.irq_mask = stmfx_pinctrl_irq_mask;
667 pctl->irq_chip.irq_unmask = stmfx_pinctrl_irq_unmask;
668 pctl->irq_chip.irq_set_type = stmfx_pinctrl_irq_set_type;
669 pctl->irq_chip.irq_bus_lock = stmfx_pinctrl_irq_bus_lock;
670 pctl->irq_chip.irq_bus_sync_unlock = stmfx_pinctrl_irq_bus_sync_unlock;
671 for_each_clear_bit(n, &pctl->gpio_valid_mask, pctl->gpio_chip.ngpio)
672 clear_bit(n, pctl->gpio_chip.valid_mask);
673
674 ret = gpiochip_irqchip_add_nested(&pctl->gpio_chip, &pctl->irq_chip,
675 0, handle_bad_irq, IRQ_TYPE_NONE);
676 if (ret) {
677 dev_err(pctl->dev, "cannot add irqchip to gpiochip\n");
678 return ret;
679 }
680
681 ret = devm_request_threaded_irq(pctl->dev, irq, NULL,
682 stmfx_pinctrl_irq_thread_fn,
683 IRQF_ONESHOT,
684 pctl->irq_chip.name, pctl);
685 if (ret) {
686 dev_err(pctl->dev, "cannot request irq%d\n", irq);
687 return ret;
688 }
689
690 gpiochip_set_nested_irqchip(&pctl->gpio_chip, &pctl->irq_chip, irq);
691
692 dev_info(pctl->dev,
693 "%ld GPIOs available\n", hweight_long(pctl->gpio_valid_mask));
694
695 return 0;
696 }
697

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

Attachment: .config.gz
Description: application/gzip