summaryrefslogtreecommitdiff
path: root/drivers/pinctrl/pinctrl-utils.c
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2013-08-29 13:06:11 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 13:44:27 -0700
commitaa57366516a250b969c44ed87f8a554116db38d7 (patch)
tree194e75930cb474a0a4924f41ce8c66fa24df5210 /drivers/pinctrl/pinctrl-utils.c
parent62759b1905ff16f79b9e13fbf70e49ffd8445197 (diff)
pinctrl: utils : add support to pass config type in generic util APIs
Add support to pass the config type like GROUP or PIN when using the utils or generic pin configuration APIs. This will make the APIs more generic. Added additional inline APIs such that it can be use directly as callback for the pinctrl_ops. Changes from V1: - Remove separate implementation for pins and group for pinctrl_utils_dt_free_map and improve this function to support both i.e. PINS and GROUPs. Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> (cherry picked from commit 3287c24088abded9f111ca797fdd36f86912d199) Conflicts: drivers/pinctrl/pinctrl-palmas.c Change-Id: Ib37c1692040c606f07267e617cea915876b4fb1e Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/267844
Diffstat (limited to 'drivers/pinctrl/pinctrl-utils.c')
-rw-r--r--drivers/pinctrl/pinctrl-utils.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/pinctrl/pinctrl-utils.c b/drivers/pinctrl/pinctrl-utils.c
index 6e136087c373..d77693f2cc1b 100644
--- a/drivers/pinctrl/pinctrl-utils.c
+++ b/drivers/pinctrl/pinctrl-utils.c
@@ -127,10 +127,16 @@ void pinctrl_utils_dt_free_map(struct pinctrl_dev *pctldev,
{
int i;
- for (i = 0; i < num_maps; i++)
- if (map[i].type == PIN_MAP_TYPE_CONFIGS_GROUP)
+ for (i = 0; i < num_maps; i++) {
+ switch (map[i].type) {
+ case PIN_MAP_TYPE_CONFIGS_GROUP:
+ case PIN_MAP_TYPE_CONFIGS_PIN:
kfree(map[i].data.configs.configs);
-
+ break;
+ default:
+ break;
+ }
+ }
kfree(map);
}
EXPORT_SYMBOL_GPL(pinctrl_utils_dt_free_map);