On 19/11/2015 06:39, Martin Schiller wrote: > On 11/17/2015 at 8:50 AM, Martin Schiller wrote: >> Hi, >> >> here follows a little review of the 0012-pinctrl-lantiq-fix-up- >> pinmux.patch >> to get this stuff upstream: >> >>> From 25494c55a4007a1409f53ddbafd661636e47ea34 Mon Sep 17 00:00:00 >> 2001 >>> From: John Crispin <[email protected]> >>> Date: Fri, 9 Aug 2013 20:38:15 +0200 >>> Subject: [PATCH 12/36] pinctrl/lantiq: fix up pinmux >>> >>> We found out how to set the gphy led pinmuxing. >>> >>> Signed-off-by: John Crispin <[email protected]> >>> --- >>> drivers/pinctrl/pinctrl-xway.c | 28 ++++++++++++++++++++++++++-- >>> 1 file changed, 26 insertions(+), 2 deletions(-) >>> >>> --- a/drivers/pinctrl/pinctrl-xway.c >>> +++ b/drivers/pinctrl/pinctrl-xway.c >>> @@ -609,10 +609,9 @@ static struct pinctrl_desc xway_pctrl_de >>> .confops= &xway_pinconf_ops, >>> }; >>> >>> -static inline int xway_mux_apply(struct pinctrl_dev *pctrldev, >>> +static int mux_apply(struct ltq_pinmux_info *info, >>> int pin, int mux) >>> { >>> -struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev); >>> int port = PORT(pin); >>> u32 alt1_reg = GPIO_ALT1(pin); >>> >>> @@ -632,6 +631,14 @@ static inline int xway_mux_apply(struct >>> return 0; >>> } >>> >>> +static inline int xway_mux_apply(struct pinctrl_dev *pctrldev, >>> +int pin, int mux) >>> +{ >>> +struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev); >>> + >>> +return mux_apply(info, pin, mux); >>> +} >>> + >>> static const struct ltq_cfg_param xway_cfg_params[] = { >>> {"lantiq,pull",LTQ_PINCONF_PARAM_PULL}, >>> {"lantiq,open-drain",LTQ_PINCONF_PARAM_OPEN_DRAIN}, >> >> What are these changes for? >> >>> @@ -676,6 +683,10 @@ static int xway_gpio_dir_out(struct gpio >>> { >>> struct ltq_pinmux_info *info = dev_get_drvdata(chip->dev); >>> >>> +if (PORT(pin) == PORT3) >>> +gpio_setbit(info->membase[0], GPIO3_OD, PORT_PIN(pin)); >>> +else >>> +gpio_setbit(info->membase[0], GPIO_OD(pin), PORT_PIN(pin)); >>> gpio_setbit(info->membase[0], GPIO_DIR(pin), PORT_PIN(pin)); >>> xway_gpio_set(chip, pin, val); >>> >> >> This fixes the GPIO Setup for GPIOs >= GPIO48 (GPIO Port3), right? >> >> >>> @@ -696,6 +707,18 @@ static void xway_gpio_free(struct gpio_c >>> pinctrl_free_gpio(gpio); >>> } >>> >>> +static int xway_gpio_to_irq(struct gpio_chip *chip, unsigned offset) >>> +{ >>> +struct ltq_pinmux_info *info = dev_get_drvdata(chip->dev); >>> +int i; >>> + >>> +for (i = 0; i < info->num_exin; i++) >>> +if (info->exin[i] == offset) >>> +return ltq_eiu_get_irq(i); >>> + >>> +return -1; >>> +} >>> + >>> static struct gpio_chip xway_chip = { >>> .label = "gpio-xway", >>> .direction_input = xway_gpio_dir_in, >>> @@ -704,6 +727,7 @@ static struct gpio_chip xway_chip = { >>> .set = xway_gpio_set, >>> .request = xway_gpio_req, >>> .free = xway_gpio_free, >>> +.to_irq = xway_gpio_to_irq, >>> .base = -1, >>> }; >>> >> >> This implements the IRQ Mapping for GPIOs. >> >> >> So which of these changes is related to gphy led pinmuxing? >> >> I think we can make 2 patches out of this one: >> >> [1/2] pinctrl/lantiq: Fix GPIO Setup for GPIO Port3 >> [2/2] pinctrl/lantiq: Implement gpio_chip.to_irq > > Aren't there any comments / suggestions? >
we are not a barber shop where you can walk in and demand to be serviced right away. _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
