Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pinctrl: nuvoton: modify NPCM7xx pin configuration function

Modify GPIO direction setting in pin configuration function by using
generic GPIO functions to set the GPIO direction instead of direct
access to the GPIO direction register.

Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
Tested-by: Kun Yi <kunyi@google.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Tomer Maimon and committed by
Linus Walleij
67b249aa f969b7aa

+3 -10
+3 -10
drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c
··· 1799 1799 npcm_gpio_set(&bank->gc, bank->base + NPCM7XX_GP_N_PU, gpio); 1800 1800 break; 1801 1801 case PIN_CONFIG_INPUT_ENABLE: 1802 - if (arg) { 1803 - iowrite32(gpio, bank->base + NPCM7XX_GP_N_OEC); 1804 - npcm_gpio_set(&bank->gc, bank->base + NPCM7XX_GP_N_IEM, 1805 - gpio); 1806 - } else 1807 - npcm_gpio_clr(&bank->gc, bank->base + NPCM7XX_GP_N_IEM, 1808 - gpio); 1802 + iowrite32(gpio, bank->base + NPCM7XX_GP_N_OEC); 1803 + bank->direction_input(&bank->gc, pin % bank->gc.ngpio); 1809 1804 break; 1810 1805 case PIN_CONFIG_OUTPUT: 1811 - npcm_gpio_clr(&bank->gc, bank->base + NPCM7XX_GP_N_IEM, gpio); 1812 - iowrite32(gpio, arg ? bank->base + NPCM7XX_GP_N_DOS : 1813 - bank->base + NPCM7XX_GP_N_DOC); 1814 1806 iowrite32(gpio, bank->base + NPCM7XX_GP_N_OES); 1807 + bank->direction_output(&bank->gc, pin % bank->gc.ngpio, arg); 1815 1808 break; 1816 1809 case PIN_CONFIG_DRIVE_PUSH_PULL: 1817 1810 npcm_gpio_clr(&bank->gc, bank->base + NPCM7XX_GP_N_OTYP, gpio);