summaryrefslogtreecommitdiff
path: root/drivers/pinctrl/tegra/pinctrl-tegra194.c
diff options
context:
space:
mode:
authorThierry Reding <treding@nvidia.com>2023-05-30 12:53:07 +0200
committerLinus Walleij <linus.walleij@linaro.org>2023-06-01 13:17:35 +0200
commitfad57233501beb5bd25f037cb9128a533e710600 (patch)
tree8695fd6cde5ff376ba61dd280ae34758c9d50c35 /drivers/pinctrl/tegra/pinctrl-tegra194.c
parenta5961bed5429cf1134d7f539b4ed60317012f84d (diff)
pinctrl: tegra: Duplicate pinmux functions table
The function table is filled with group information based on other instance-specific data at runtime. However, the function table can be shared between multiple instances, causing the ->probe() function for one instance to overwrite the table of a previously probed instance. Fix this by sharing only the function names and allocating a separate function table for each instance. Fixes: 5a0047360743 ("pinctrl: tegra: Separate Tegra194 instances") Signed-off-by: Thierry Reding <treding@nvidia.com> Link: https://lore.kernel.org/r/20230530105308.1292852-1-thierry.reding@gmail.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/tegra/pinctrl-tegra194.c')
-rw-r--r--drivers/pinctrl/tegra/pinctrl-tegra194.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/pinctrl/tegra/pinctrl-tegra194.c b/drivers/pinctrl/tegra/pinctrl-tegra194.c
index 277973c88434..69f58df62897 100644
--- a/drivers/pinctrl/tegra/pinctrl-tegra194.c
+++ b/drivers/pinctrl/tegra/pinctrl-tegra194.c
@@ -1189,12 +1189,9 @@ enum tegra_mux_dt {
};
/* Make list of each function name */
-#define TEGRA_PIN_FUNCTION(lid) \
- { \
- .name = #lid, \
- }
+#define TEGRA_PIN_FUNCTION(lid) #lid
-static struct tegra_function tegra194_functions[] = {
+static const char * const tegra194_functions[] = {
TEGRA_PIN_FUNCTION(rsvd0),
TEGRA_PIN_FUNCTION(rsvd1),
TEGRA_PIN_FUNCTION(rsvd2),