History

Merge tag 'pinctrl-for-v3.8-late' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

Pull late pinctrl fixes from Linus Walleij: "Two patches appeared as of late, one was completely news to me, the other one was rotated in -next for the next merge window but turned out to be a showstopper. - Exynos Kconfig fixup - SIRF DT translation bug" * tag 'pinctrl-for-v3.8-late' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: sirf: replace of_gpio_simple_xlate by sirf specific of_xlate pinctrl: exynos: change PINCTRL_EXYNOS option

Linus Torvalds committed 13 years ago

Commit 95436ad2 parents a04521a 228f1ce4 files · +22 −4Browse files

Unified · Split

4 files
  1. arch/arm/mach-exynos/Kconfig +1 −1
  2. drivers/pinctrl/Kconfig +2 −2
  3. drivers/pinctrl/Makefile +1 −1
  4. drivers/pinctrl/pinctrl-sirf.c +18 −0
arch/arm/mach-exynos/Kconfig+1−1
@@ -414,7 +414,7 @@ config MACH_EXYNOS4_DT · 413 unmodified lines
414 select CPU_EXYNOS4210414 select CPU_EXYNOS4210
415 select HAVE_SAMSUNG_KEYPAD if INPUT_KEYBOARD415 select HAVE_SAMSUNG_KEYPAD if INPUT_KEYBOARD
416 select PINCTRL416 select PINCTRL
417 select PINCTRL_EXYNOS4417 select PINCTRL_EXYNOS
418 select USE_OF418 select USE_OF
419 help419 help
420 Machine support for Samsung Exynos4 machine with device tree enabled.420 Machine support for Samsung Exynos4 machine with device tree enabled.
drivers/pinctrl/Kconfig+2−2
@@ -184,8 +184,8 @@ config PINCTRL_SAMSUNG · 183 unmodified lines
184 select PINMUX184 select PINMUX
185 select PINCONF185 select PINCONF
186 186
187config PINCTRL_EXYNOS4187config PINCTRL_EXYNOS
188 bool "Pinctrl driver data for Exynos4 SoC"188 bool "Pinctrl driver data for Samsung EXYNOS SoCs"
189 depends on OF && GPIOLIB189 depends on OF && GPIOLIB
190 select PINCTRL_SAMSUNG190 select PINCTRL_SAMSUNG
191 191
drivers/pinctrl/Makefile+1−1
@@ -36,7 +36,7 @@ obj-$(CONFIG_PINCTRL_TEGRA30) += pinctrl-tegra30.o · 35 unmodified lines
36obj-$(CONFIG_PINCTRL_U300) += pinctrl-u300.o36obj-$(CONFIG_PINCTRL_U300) += pinctrl-u300.o
37obj-$(CONFIG_PINCTRL_COH901) += pinctrl-coh901.o37obj-$(CONFIG_PINCTRL_COH901) += pinctrl-coh901.o
38obj-$(CONFIG_PINCTRL_SAMSUNG) += pinctrl-samsung.o38obj-$(CONFIG_PINCTRL_SAMSUNG) += pinctrl-samsung.o
39obj-$(CONFIG_PINCTRL_EXYNOS4) += pinctrl-exynos.o39obj-$(CONFIG_PINCTRL_EXYNOS) += pinctrl-exynos.o
40obj-$(CONFIG_PINCTRL_EXYNOS5440) += pinctrl-exynos5440.o40obj-$(CONFIG_PINCTRL_EXYNOS5440) += pinctrl-exynos5440.o
41obj-$(CONFIG_PINCTRL_XWAY) += pinctrl-xway.o41obj-$(CONFIG_PINCTRL_XWAY) += pinctrl-xway.o
42obj-$(CONFIG_PINCTRL_LANTIQ) += pinctrl-lantiq.o42obj-$(CONFIG_PINCTRL_LANTIQ) += pinctrl-lantiq.o
drivers/pinctrl/pinctrl-sirf.c+18−0
@@ -1246,6 +1246,22 @@ static void __iomem *sirfsoc_rsc_of_iomap(void) · 1245 unmodified lines
1246 return of_iomap(np, 0);1246 return of_iomap(np, 0);
1247}1247}
1248 1248
1249static int sirfsoc_gpio_of_xlate(struct gpio_chip *gc,
1250 const struct of_phandle_args *gpiospec,
1251 u32 *flags)
1252{
1253 if (gpiospec->args[0] > SIRFSOC_GPIO_NO_OF_BANKS * SIRFSOC_GPIO_BANK_SIZE)
1254 return -EINVAL;
1255
1256 if (gc != &sgpio_bank[gpiospec->args[0] / SIRFSOC_GPIO_BANK_SIZE].chip.gc)
1257 return -EINVAL;
1258
1259 if (flags)
1260 *flags = gpiospec->args[1];
1261
1262 return gpiospec->args[0] % SIRFSOC_GPIO_BANK_SIZE;
1263}
1264
1249static int sirfsoc_pinmux_probe(struct platform_device *pdev)1265static int sirfsoc_pinmux_probe(struct platform_device *pdev)
1250{1266{
1251 int ret;1267 int ret;
@@ -1736,6 +1752,8 @@ static int sirfsoc_gpio_probe(struct device_node *np) · 484 unmodified lines
1736 bank->chip.gc.ngpio = SIRFSOC_GPIO_BANK_SIZE;1752 bank->chip.gc.ngpio = SIRFSOC_GPIO_BANK_SIZE;
1737 bank->chip.gc.label = kstrdup(np->full_name, GFP_KERNEL);1753 bank->chip.gc.label = kstrdup(np->full_name, GFP_KERNEL);
1738 bank->chip.gc.of_node = np;1754 bank->chip.gc.of_node = np;
1755 bank->chip.gc.of_xlate = sirfsoc_gpio_of_xlate;
1756 bank->chip.gc.of_gpio_n_cells = 2;
1739 bank->chip.regs = regs;1757 bank->chip.regs = regs;
1740 bank->id = i;1758 bank->id = i;
1741 bank->is_marco = is_marco;1759 bank->is_marco = is_marco;