[PATCH v2 2/4] pinctrl: add exynos4210 specific extensions for samsung pinctrl driver
From: Thomas Abraham <hidden>
Date: 2012-08-22 04:37:05
Also in:
linux-samsung-soc, lkml
On 21 August 2012 17:32, Linus Walleij [off-list ref] wrote:
On Wed, Aug 15, 2012 at 9:57 PM, Thomas Abraham [off-list ref] wrote:quoted
Add information about the Exynos4210 pin banks and driver data which is used by the Samsung pinctrl driver. In addition to this, the support for external gpio and wakeup interrupt support is included and hooked up with the Samsung pinctrl driver.OK...quoted
diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig +config PINCTRL_EXYNOS4 + bool "Pinctrl driver data for Exynos4 SoC" + depends on ARCH_EXYNOS4 && OFSince you depend on PINCTRL_SAMSUNG which depends on OF you don't need to depend on OF here.
Ok.
quoted
+ depends on PINCTRL_SAMSUNG + select PINMUX + select PINCONFSo as noted in the main driver, let PINCTRL_SAMSUNG select PINMUX and PINCONF and you need only select PINCTRL_SAMSUNG here.
Ok.
quoted
diff --git a/drivers/pinctrl/pinctrl-exynos.c b/drivers/pinctrl/pinctrl-exynos.c(...)quoted
+#include <linux/interrupt.h> +#include <linux/irqdomain.h> +#include <linux/irq.h> +#include <linux/of_irq.h>Do you need these includes? Didn't you put them all in "pinctrl-samsung.h"?
Yes, I will fix this.
Overall this looks good and straight-forward, but I cannot figure out how the samsung_pinctrl_soc_data is passed to the main driver, it seems to be through some DT node but I cannot figure this out. Can you explain this?
The main driver uses the .data field of the of_device_id structure to pass the pointer of the SoC data. So, upon match of a compatible value which is supported by the main driver with that in dt, the of_match_node() call can be used to find out the corresponding SoC data. There are included in the first patch (reference: samsung_pinctrl_get_soc_data() function and samsung_pinctrl_dt_mach structure).
Yours, Linus Walleij
Thanks, Thomas.