| From 03bc0d9ecdb368e5bcebd6eabfdb2d3e39b66af4 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 30 Oct 2020 13:54:50 +0800 |
| Subject: pinctrl: aspeed: Fix GPI only function problem. |
| |
| From: Billy Tsai <billy_tsai@aspeedtech.com> |
| |
| [ Upstream commit 9b92f5c51e9a41352d665f6f956bd95085a56a83 ] |
| |
| Some gpio pin at aspeed soc is input only and the prefix name of these |
| pin is "GPI" only. |
| This patch fine-tune the condition of GPIO check from "GPIO" to "GPI" |
| and it will fix the usage error of banks D and E in the AST2400/AST2500 |
| and banks T and U in the AST2600. |
| |
| Fixes: 4d3d0e4272d8 ("pinctrl: Add core support for Aspeed SoCs") |
| Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com> |
| Reviewed-by: Andrew Jeffery <andrew@aj.id.au> |
| Link: https://lore.kernel.org/r/20201030055450.29613-1-billy_tsai@aspeedtech.com |
| Signed-off-by: Linus Walleij <linus.walleij@linaro.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/pinctrl/aspeed/pinctrl-aspeed.c | 7 ++++--- |
| 1 file changed, 4 insertions(+), 3 deletions(-) |
| |
| diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed.c b/drivers/pinctrl/aspeed/pinctrl-aspeed.c |
| index 3e6567355d97d..1d603732903fe 100644 |
| --- a/drivers/pinctrl/aspeed/pinctrl-aspeed.c |
| +++ b/drivers/pinctrl/aspeed/pinctrl-aspeed.c |
| @@ -286,13 +286,14 @@ int aspeed_pinmux_set_mux(struct pinctrl_dev *pctldev, unsigned int function, |
| static bool aspeed_expr_is_gpio(const struct aspeed_sig_expr *expr) |
| { |
| /* |
| - * The signal type is GPIO if the signal name has "GPIO" as a prefix. |
| + * The signal type is GPIO if the signal name has "GPI" as a prefix. |
| * strncmp (rather than strcmp) is used to implement the prefix |
| * requirement. |
| * |
| - * expr->signal might look like "GPIOT3" in the GPIO case. |
| + * expr->signal might look like "GPIOB1" in the GPIO case. |
| + * expr->signal might look like "GPIT0" in the GPI case. |
| */ |
| - return strncmp(expr->signal, "GPIO", 4) == 0; |
| + return strncmp(expr->signal, "GPI", 3) == 0; |
| } |
| |
| static bool aspeed_gpio_in_exprs(const struct aspeed_sig_expr **exprs) |
| -- |
| 2.27.0 |
| |