Skip to contentSkip to conversation

pinctrl: samsung: Add ifdef CONFIG_OF_GPIO guard for gc->of_node

PATCH In review Axel Lin 3 participants 3 messages Nov 5, 2012 – Nov 6, 2012 Pin control

lore
Share & tools
lore

Axel Lin

author
#0 lore raw

PATCH v2 1/1 pinctrl: samsung: Add ifdef CONFIG_OF_GPIO guard for gc->of_node

This fixes below build error when !CONFIG_OF_GPIO.

CC drivers/pinctrl/pinctrl-samsung.o
drivers/pinctrl/pinctrl-samsung.c: In function 'samsung_pinctrl_parse_dt_pins':
drivers/pinctrl/pinctrl-samsung.c:557:19: warning: unused variable 'prop' [-Wunused-variable] drivers/pinctrl/pinctrl-samsung.c: In function 'samsung_gpiolib_register':
drivers/pinctrl/pinctrl-samsung.c:797:5: error: 'struct gpio_chip' has no member named 'of_node' make[2]: *** [drivers/pinctrl/pinctrl-samsung.o] Error 1
make[1]: *** [drivers/pinctrl] Error 2
make: *** [drivers] Error 2

---
v2:
Don't remove the prop variable.
It is used in of_property_for_each_string() when CONFIG_OF_GPIO is enabled.

 drivers/pinctrl/pinctrl-samsung.c |    2 ++
 1 file changed, 2 insertions(+)
drivers/pinctrl/pinctrl-samsung.c +2 -0
index fc34cac..f798b4d 100644
@@ -794,7 +794,9 @@ static int __devinit samsung_gpiolib_register(struct platform_device *pdev,
 		gc->base = ctrl->base + bank->pin_base;
 		gc->ngpio = bank->nr_pins;
 		gc->dev = &pdev->dev;
+#if defined(CONFIG_OF_GPIO)
 		gc->of_node = bank->of_node;
+#endif
 		gc->label = bank->name;
 
 		ret = gpiochip_add(gc);
Signature · 1 line
1.7.9.5
#1 lore raw
Quoted 25 lines · Axel Lin

This fixes below build error when !CONFIG_OF_GPIO.

CC drivers/pinctrl/pinctrl-samsung.o
drivers/pinctrl/pinctrl-samsung.c: In function 'samsung_pinctrl_parse_dt_pins':
drivers/pinctrl/pinctrl-samsung.c:557:19: warning: unused variable 'prop' [-Wunused-variable] drivers/pinctrl/pinctrl-samsung.c: In function 'samsung_gpiolib_register':
drivers/pinctrl/pinctrl-samsung.c:797:5: error: 'struct gpio_chip' has no member named 'of_node' make[2]: *** [drivers/pinctrl/pinctrl-samsung.o] Error 1
make[1]: *** [drivers/pinctrl] Error 2
make: *** [drivers] Error 2

---
v2:
Don't remove the prop variable.
It is used in of_property_for_each_string() when CONFIG_OF_GPIO is enabled.

 drivers/pinctrl/pinctrl-samsung.c |    2 ++
 1 file changed, 2 insertions(+)
drivers/pinctrl/pinctrl-samsung.c +0 -0
index fc34cac..f798b4d 100644

drivers/pinctrl/pinctrl-samsung.c static int __devinit samsung_gpiolib_register(struct platform_device *pdev, · line 802

Quoted 9 lines
drivers/pinctrl/pinctrl-samsung.c +2 -0
@@ -794,7 +794,9 @@ static int __devinit samsung_gpiolib_register(struct platform_device *pdev,
                gc->base = ctrl->base + bank->pin_base;
                gc->ngpio = bank->nr_pins;
                gc->dev = &pdev->dev;
+#if defined(CONFIG_OF_GPIO)
                gc->of_node = bank->of_node;
+#endif
                gc->label = bank->name;
 
                ret = gpiochip_add(gc);

The samsung pinctrl driver supports only device tree enabled platforms. So instead of adding the above #if, would it not be better to add 'select OF_GPIO' for Samsung pinctrl driver in drivers/pinctrl/Kconfig. ?

Thanks,
Thomas.

Quoted 5 lines

--
1.7.9.5

#2 lore raw
Quoted 10 lines · Thomas Abraham

drivers/pinctrl/pinctrl-samsung.c static int __devinit samsung_gpiolib_register(struct platform_device *pdev, · line 799

Quoted 3 lines · Axel Lin
drivers/pinctrl/pinctrl-samsung.c +2 -0
+#if defined(CONFIG_OF_GPIO)
                gc->of_node = bank->of_node;
+#endif

The samsung pinctrl driver supports only device tree enabled platforms. So instead of adding the above #if, would it not be better to add 'select OF_GPIO' for Samsung pinctrl driver in drivers/pinctrl/Kconfig. ?

Or edit the Samsung driver to depend on OF_GPIO, this is probably better.

Yours,
Linus Walleij