* [PATCH 1/3] pinctrl: cy8c95x0: Fix typo
@ 2023-12-19 12:51 Patrick Rudolph
2023-12-19 12:51 ` [PATCH 2/3] pinctrl: cy8c95x0: Fix regression Patrick Rudolph
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Patrick Rudolph @ 2023-12-19 12:51 UTC (permalink / raw)
To: Patrick Rudolph, Linus Walleij; +Cc: naresh.solanki, linux-gpio, linux-kernel
Fix typo to make pinctrl-cy8c95x compile again.
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
---
drivers/pinctrl/pinctrl-cy8c95x0.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pinctrl/pinctrl-cy8c95x0.c b/drivers/pinctrl/pinctrl-cy8c95x0.c
index 4ccfa99ed93a..a8c7f00cceef 100644
--- a/drivers/pinctrl/pinctrl-cy8c95x0.c
+++ b/drivers/pinctrl/pinctrl-cy8c95x0.c
@@ -822,7 +822,7 @@ static int cy8c95x0_setup_gpiochip(struct cy8c95x0_pinctrl *chip)
gc->get_direction = cy8c95x0_gpio_get_direction;
gc->get_multiple = cy8c95x0_gpio_get_multiple;
gc->set_multiple = cy8c95x0_gpio_set_multiple;
- gc->set_config = gpiochip_generic_config,
+ gc->set_config = gpiochip_generic_config;
gc->can_sleep = true;
gc->add_pin_ranges = cy8c95x0_add_pin_ranges;
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH 2/3] pinctrl: cy8c95x0: Fix regression 2023-12-19 12:51 [PATCH 1/3] pinctrl: cy8c95x0: Fix typo Patrick Rudolph @ 2023-12-19 12:51 ` Patrick Rudolph 2023-12-19 12:51 ` [PATCH 3/3] pinctrl: cy8c95x0: Fix get_pincfg Patrick Rudolph 2023-12-20 12:03 ` [PATCH 1/3] pinctrl: cy8c95x0: Fix typo Linus Walleij 2 siblings, 0 replies; 4+ messages in thread From: Patrick Rudolph @ 2023-12-19 12:51 UTC (permalink / raw) To: Patrick Rudolph, Linus Walleij; +Cc: naresh.solanki, linux-gpio, linux-kernel Commit 1fa3df901f2c ("pinctrl: cy8c95x0: Remove custom ->set_config()") removed support for PIN_CONFIG_INPUT_ENABLE and PIN_CONFIG_OUTPUT. Add the following options to restore functionality: - PIN_CONFIG_INPUT_ENABLE - PIN_CONFIG_OUTPUT_ENABLE Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> --- drivers/pinctrl/pinctrl-cy8c95x0.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/pinctrl/pinctrl-cy8c95x0.c b/drivers/pinctrl/pinctrl-cy8c95x0.c index a8c7f00cceef..b925789a035f 100644 --- a/drivers/pinctrl/pinctrl-cy8c95x0.c +++ b/drivers/pinctrl/pinctrl-cy8c95x0.c @@ -308,6 +308,9 @@ static const char * const cy8c95x0_groups[] = { "gp77", }; +static int cy8c95x0_pinmux_direction(struct cy8c95x0_pinctrl *chip, + unsigned int pin, bool input); + static inline u8 cypress_get_port(struct cy8c95x0_pinctrl *chip, unsigned int pin) { /* Account for GPORT2 which only has 4 bits */ @@ -727,6 +730,7 @@ static int cy8c95x0_gpio_set_pincfg(struct cy8c95x0_pinctrl *chip, u8 port = cypress_get_port(chip, off); u8 bit = cypress_get_pin_mask(chip, off); unsigned long param = pinconf_to_config_param(config); + unsigned long arg = pinconf_to_config_argument(config); unsigned int reg; int ret; @@ -765,6 +769,12 @@ static int cy8c95x0_gpio_set_pincfg(struct cy8c95x0_pinctrl *chip, case PIN_CONFIG_MODE_PWM: reg = CY8C95X0_PWMSEL; break; + case PIN_CONFIG_OUTPUT_ENABLE: + ret = cy8c95x0_pinmux_direction(chip, off, !arg); + goto out; + case PIN_CONFIG_INPUT_ENABLE: + ret = cy8c95x0_pinmux_direction(chip, off, arg); + goto out; default: ret = -ENOTSUPP; goto out; -- 2.43.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/3] pinctrl: cy8c95x0: Fix get_pincfg 2023-12-19 12:51 [PATCH 1/3] pinctrl: cy8c95x0: Fix typo Patrick Rudolph 2023-12-19 12:51 ` [PATCH 2/3] pinctrl: cy8c95x0: Fix regression Patrick Rudolph @ 2023-12-19 12:51 ` Patrick Rudolph 2023-12-20 12:03 ` [PATCH 1/3] pinctrl: cy8c95x0: Fix typo Linus Walleij 2 siblings, 0 replies; 4+ messages in thread From: Patrick Rudolph @ 2023-12-19 12:51 UTC (permalink / raw) To: Patrick Rudolph, Linus Walleij; +Cc: naresh.solanki, linux-gpio, linux-kernel Invert the register value for PIN_CONFIG_OUTPUT_ENABLE to return the opposite of PIN_CONFIG_INPUT_ENABLE. Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> --- drivers/pinctrl/pinctrl-cy8c95x0.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/pinctrl/pinctrl-cy8c95x0.c b/drivers/pinctrl/pinctrl-cy8c95x0.c index b925789a035f..fe9545c630a2 100644 --- a/drivers/pinctrl/pinctrl-cy8c95x0.c +++ b/drivers/pinctrl/pinctrl-cy8c95x0.c @@ -715,6 +715,8 @@ static int cy8c95x0_gpio_get_pincfg(struct cy8c95x0_pinctrl *chip, ret = regmap_read(chip->regmap, reg, ®_val); if (reg_val & bit) arg = 1; + if (param == PIN_CONFIG_OUTPUT_ENABLE) + arg = !arg; *config = pinconf_to_config_packed(param, (u16)arg); out: -- 2.43.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/3] pinctrl: cy8c95x0: Fix typo 2023-12-19 12:51 [PATCH 1/3] pinctrl: cy8c95x0: Fix typo Patrick Rudolph 2023-12-19 12:51 ` [PATCH 2/3] pinctrl: cy8c95x0: Fix regression Patrick Rudolph 2023-12-19 12:51 ` [PATCH 3/3] pinctrl: cy8c95x0: Fix get_pincfg Patrick Rudolph @ 2023-12-20 12:03 ` Linus Walleij 2 siblings, 0 replies; 4+ messages in thread From: Linus Walleij @ 2023-12-20 12:03 UTC (permalink / raw) To: Patrick Rudolph; +Cc: naresh.solanki, linux-gpio, linux-kernel On Tue, Dec 19, 2023 at 1:51 PM Patrick Rudolph <patrick.rudolph@9elements.com> wrote: > Fix typo to make pinctrl-cy8c95x compile again. > > Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Given that the code doesn't even compile I just applied all three patches as fixe for current. Yours, Linus Walleij ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-12-20 12:03 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-12-19 12:51 [PATCH 1/3] pinctrl: cy8c95x0: Fix typo Patrick Rudolph 2023-12-19 12:51 ` [PATCH 2/3] pinctrl: cy8c95x0: Fix regression Patrick Rudolph 2023-12-19 12:51 ` [PATCH 3/3] pinctrl: cy8c95x0: Fix get_pincfg Patrick Rudolph 2023-12-20 12:03 ` [PATCH 1/3] pinctrl: cy8c95x0: Fix typo Linus Walleij
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox