|
@@ -53,15 +53,11 @@ static inline void pmx_writel(struct tegra_pmx *pmx, u32 val, u32 bank, u32 reg)
|
|
|
writel(val, pmx->regs[bank] + reg);
|
|
|
}
|
|
|
|
|
|
-static int tegra_pinctrl_list_groups(struct pinctrl_dev *pctldev,
|
|
|
- unsigned group)
|
|
|
+static int tegra_pinctrl_get_groups_count(struct pinctrl_dev *pctldev)
|
|
|
{
|
|
|
struct tegra_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
|
|
|
|
|
|
- if (group >= pmx->soc->ngroups)
|
|
|
- return -EINVAL;
|
|
|
-
|
|
|
- return 0;
|
|
|
+ return pmx->soc->ngroups;
|
|
|
}
|
|
|
|
|
|
static const char *tegra_pinctrl_get_group_name(struct pinctrl_dev *pctldev,
|
|
@@ -69,9 +65,6 @@ static const char *tegra_pinctrl_get_group_name(struct pinctrl_dev *pctldev,
|
|
|
{
|
|
|
struct tegra_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
|
|
|
|
|
|
- if (group >= pmx->soc->ngroups)
|
|
|
- return NULL;
|
|
|
-
|
|
|
return pmx->soc->groups[group].name;
|
|
|
}
|
|
|
|
|
@@ -82,9 +75,6 @@ static int tegra_pinctrl_get_group_pins(struct pinctrl_dev *pctldev,
|
|
|
{
|
|
|
struct tegra_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
|
|
|
|
|
|
- if (group >= pmx->soc->ngroups)
|
|
|
- return -EINVAL;
|
|
|
-
|
|
|
*pins = pmx->soc->groups[group].pins;
|
|
|
*num_pins = pmx->soc->groups[group].npins;
|
|
|
|
|
@@ -99,21 +89,17 @@ static void tegra_pinctrl_pin_dbg_show(struct pinctrl_dev *pctldev,
|
|
|
}
|
|
|
|
|
|
static struct pinctrl_ops tegra_pinctrl_ops = {
|
|
|
- .list_groups = tegra_pinctrl_list_groups,
|
|
|
+ .get_groups_count = tegra_pinctrl_get_groups_count,
|
|
|
.get_group_name = tegra_pinctrl_get_group_name,
|
|
|
.get_group_pins = tegra_pinctrl_get_group_pins,
|
|
|
.pin_dbg_show = tegra_pinctrl_pin_dbg_show,
|
|
|
};
|
|
|
|
|
|
-static int tegra_pinctrl_list_funcs(struct pinctrl_dev *pctldev,
|
|
|
- unsigned function)
|
|
|
+static int tegra_pinctrl_get_funcs_count(struct pinctrl_dev *pctldev)
|
|
|
{
|
|
|
struct tegra_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
|
|
|
|
|
|
- if (function >= pmx->soc->nfunctions)
|
|
|
- return -EINVAL;
|
|
|
-
|
|
|
- return 0;
|
|
|
+ return pmx->soc->nfunctions;
|
|
|
}
|
|
|
|
|
|
static const char *tegra_pinctrl_get_func_name(struct pinctrl_dev *pctldev,
|
|
@@ -121,9 +107,6 @@ static const char *tegra_pinctrl_get_func_name(struct pinctrl_dev *pctldev,
|
|
|
{
|
|
|
struct tegra_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
|
|
|
|
|
|
- if (function >= pmx->soc->nfunctions)
|
|
|
- return NULL;
|
|
|
-
|
|
|
return pmx->soc->functions[function].name;
|
|
|
}
|
|
|
|
|
@@ -134,9 +117,6 @@ static int tegra_pinctrl_get_func_groups(struct pinctrl_dev *pctldev,
|
|
|
{
|
|
|
struct tegra_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
|
|
|
|
|
|
- if (function >= pmx->soc->nfunctions)
|
|
|
- return -EINVAL;
|
|
|
-
|
|
|
*groups = pmx->soc->functions[function].groups;
|
|
|
*num_groups = pmx->soc->functions[function].ngroups;
|
|
|
|
|
@@ -151,8 +131,6 @@ static int tegra_pinctrl_enable(struct pinctrl_dev *pctldev, unsigned function,
|
|
|
int i;
|
|
|
u32 val;
|
|
|
|
|
|
- if (group >= pmx->soc->ngroups)
|
|
|
- return -EINVAL;
|
|
|
g = &pmx->soc->groups[group];
|
|
|
|
|
|
if (g->mux_reg < 0)
|
|
@@ -180,8 +158,6 @@ static void tegra_pinctrl_disable(struct pinctrl_dev *pctldev,
|
|
|
const struct tegra_pingroup *g;
|
|
|
u32 val;
|
|
|
|
|
|
- if (group >= pmx->soc->ngroups)
|
|
|
- return;
|
|
|
g = &pmx->soc->groups[group];
|
|
|
|
|
|
if (g->mux_reg < 0)
|
|
@@ -194,7 +170,7 @@ static void tegra_pinctrl_disable(struct pinctrl_dev *pctldev,
|
|
|
}
|
|
|
|
|
|
static struct pinmux_ops tegra_pinmux_ops = {
|
|
|
- .list_functions = tegra_pinctrl_list_funcs,
|
|
|
+ .get_functions_count = tegra_pinctrl_get_funcs_count,
|
|
|
.get_function_name = tegra_pinctrl_get_func_name,
|
|
|
.get_function_groups = tegra_pinctrl_get_func_groups,
|
|
|
.enable = tegra_pinctrl_enable,
|
|
@@ -324,8 +300,6 @@ static int tegra_pinconf_group_get(struct pinctrl_dev *pctldev,
|
|
|
s16 reg;
|
|
|
u32 val, mask;
|
|
|
|
|
|
- if (group >= pmx->soc->ngroups)
|
|
|
- return -EINVAL;
|
|
|
g = &pmx->soc->groups[group];
|
|
|
|
|
|
ret = tegra_pinconf_reg(pmx, g, param, &bank, ®, &bit, &width);
|
|
@@ -353,8 +327,6 @@ static int tegra_pinconf_group_set(struct pinctrl_dev *pctldev,
|
|
|
s16 reg;
|
|
|
u32 val, mask;
|
|
|
|
|
|
- if (group >= pmx->soc->ngroups)
|
|
|
- return -EINVAL;
|
|
|
g = &pmx->soc->groups[group];
|
|
|
|
|
|
ret = tegra_pinconf_reg(pmx, g, param, &bank, ®, &bit, &width);
|