summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/pinctrl/bcm/pinctrl-bcm281xx.c6
-rw-r--r--drivers/pinctrl/bcm/pinctrl-iproc-gpio.c2
-rw-r--r--drivers/pinctrl/bcm/pinctrl-ns2-mux.c6
-rw-r--r--drivers/pinctrl/bcm/pinctrl-nsp-gpio.c6
-rw-r--r--drivers/pinctrl/intel/pinctrl-cherryview.c4
-rw-r--r--drivers/pinctrl/meson/pinctrl-meson.c2
-rw-r--r--drivers/pinctrl/pinctrl-da850-pupd.c2
-rw-r--r--drivers/pinctrl/pinctrl-lpc18xx.c10
-rw-r--r--drivers/pinctrl/pinctrl-max77620.c2
-rw-r--r--drivers/pinctrl/pinctrl-palmas.c2
-rw-r--r--drivers/pinctrl/pinctrl-rockchip.c2
-rw-r--r--drivers/pinctrl/pinctrl-single.c2
-rw-r--r--drivers/pinctrl/sirf/pinctrl-atlas7.c3
-rw-r--r--drivers/pinctrl/sunxi/pinctrl-sunxi.c2
-rw-r--r--drivers/pinctrl/uniphier/pinctrl-uniphier-core.c4
-rw-r--r--drivers/pinctrl/vt8500/pinctrl-wmt.c2
-rw-r--r--drivers/rtc/rtc-omap.c2
-rw-r--r--include/linux/pinctrl/pinconf-generic.h19
18 files changed, 39 insertions, 39 deletions
diff --git a/drivers/pinctrl/bcm/pinctrl-bcm281xx.c b/drivers/pinctrl/bcm/pinctrl-bcm281xx.c
index a5331fdfc795..810a81786f62 100644
--- a/drivers/pinctrl/bcm/pinctrl-bcm281xx.c
+++ b/drivers/pinctrl/bcm/pinctrl-bcm281xx.c
@@ -1106,7 +1106,7 @@ static int bcm281xx_std_pin_update(struct pinctrl_dev *pctldev,
1106 struct bcm281xx_pinctrl_data *pdata = pinctrl_dev_get_drvdata(pctldev); 1106 struct bcm281xx_pinctrl_data *pdata = pinctrl_dev_get_drvdata(pctldev);
1107 int i; 1107 int i;
1108 enum pin_config_param param; 1108 enum pin_config_param param;
1109 u16 arg; 1109 u32 arg;
1110 1110
1111 for (i = 0; i < num_configs; i++) { 1111 for (i = 0; i < num_configs; i++) {
1112 param = pinconf_to_config_param(configs[i]); 1112 param = pinconf_to_config_param(configs[i]);
@@ -1222,7 +1222,7 @@ static int bcm281xx_i2c_pin_update(struct pinctrl_dev *pctldev,
1222 struct bcm281xx_pinctrl_data *pdata = pinctrl_dev_get_drvdata(pctldev); 1222 struct bcm281xx_pinctrl_data *pdata = pinctrl_dev_get_drvdata(pctldev);
1223 int i, j; 1223 int i, j;
1224 enum pin_config_param param; 1224 enum pin_config_param param;
1225 u16 arg; 1225 u32 arg;
1226 1226
1227 for (i = 0; i < num_configs; i++) { 1227 for (i = 0; i < num_configs; i++) {
1228 param = pinconf_to_config_param(configs[i]); 1228 param = pinconf_to_config_param(configs[i]);
@@ -1292,7 +1292,7 @@ static int bcm281xx_hdmi_pin_update(struct pinctrl_dev *pctldev,
1292 struct bcm281xx_pinctrl_data *pdata = pinctrl_dev_get_drvdata(pctldev); 1292 struct bcm281xx_pinctrl_data *pdata = pinctrl_dev_get_drvdata(pctldev);
1293 int i; 1293 int i;
1294 enum pin_config_param param; 1294 enum pin_config_param param;
1295 u16 arg; 1295 u32 arg;
1296 1296
1297 for (i = 0; i < num_configs; i++) { 1297 for (i = 0; i < num_configs; i++) {
1298 param = pinconf_to_config_param(configs[i]); 1298 param = pinconf_to_config_param(configs[i]);
diff --git a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
index 5d1e505c3c63..3ca925dfefd1 100644
--- a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
+++ b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
@@ -619,7 +619,7 @@ static int iproc_pin_config_set(struct pinctrl_dev *pctldev, unsigned pin,
619{ 619{
620 struct iproc_gpio *chip = pinctrl_dev_get_drvdata(pctldev); 620 struct iproc_gpio *chip = pinctrl_dev_get_drvdata(pctldev);
621 enum pin_config_param param; 621 enum pin_config_param param;
622 u16 arg; 622 u32 arg;
623 unsigned i, gpio = iproc_pin_to_gpio(pin); 623 unsigned i, gpio = iproc_pin_to_gpio(pin);
624 int ret = -ENOTSUPP; 624 int ret = -ENOTSUPP;
625 625
diff --git a/drivers/pinctrl/bcm/pinctrl-ns2-mux.c b/drivers/pinctrl/bcm/pinctrl-ns2-mux.c
index 13a4c2774157..4b5cf0e0f16e 100644
--- a/drivers/pinctrl/bcm/pinctrl-ns2-mux.c
+++ b/drivers/pinctrl/bcm/pinctrl-ns2-mux.c
@@ -703,7 +703,7 @@ static int ns2_pin_get_enable(struct pinctrl_dev *pctrldev, unsigned int pin)
703} 703}
704 704
705static int ns2_pin_set_slew(struct pinctrl_dev *pctrldev, unsigned int pin, 705static int ns2_pin_set_slew(struct pinctrl_dev *pctrldev, unsigned int pin,
706 u16 slew) 706 u32 slew)
707{ 707{
708 struct ns2_pinctrl *pinctrl = pinctrl_dev_get_drvdata(pctrldev); 708 struct ns2_pinctrl *pinctrl = pinctrl_dev_get_drvdata(pctrldev);
709 struct ns2_pin *pin_data = pctrldev->desc->pins[pin].drv_data; 709 struct ns2_pin *pin_data = pctrldev->desc->pins[pin].drv_data;
@@ -793,7 +793,7 @@ static void ns2_pin_get_pull(struct pinctrl_dev *pctrldev,
793} 793}
794 794
795static int ns2_pin_set_strength(struct pinctrl_dev *pctrldev, unsigned int pin, 795static int ns2_pin_set_strength(struct pinctrl_dev *pctrldev, unsigned int pin,
796 u16 strength) 796 u32 strength)
797{ 797{
798 struct ns2_pinctrl *pinctrl = pinctrl_dev_get_drvdata(pctrldev); 798 struct ns2_pinctrl *pinctrl = pinctrl_dev_get_drvdata(pctrldev);
799 struct ns2_pin *pin_data = pctrldev->desc->pins[pin].drv_data; 799 struct ns2_pin *pin_data = pctrldev->desc->pins[pin].drv_data;
@@ -904,7 +904,7 @@ static int ns2_pin_config_set(struct pinctrl_dev *pctrldev, unsigned int pin,
904 struct ns2_pin *pin_data = pctrldev->desc->pins[pin].drv_data; 904 struct ns2_pin *pin_data = pctrldev->desc->pins[pin].drv_data;
905 enum pin_config_param param; 905 enum pin_config_param param;
906 unsigned int i; 906 unsigned int i;
907 u16 arg; 907 u32 arg;
908 int ret = -ENOTSUPP; 908 int ret = -ENOTSUPP;
909 909
910 if (pin_data->pin_conf.base == -1) 910 if (pin_data->pin_conf.base == -1)
diff --git a/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c b/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
index c8deb8be1da7..91ea32dc1e7f 100644
--- a/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
+++ b/drivers/pinctrl/bcm/pinctrl-nsp-gpio.c
@@ -366,7 +366,7 @@ static const struct pinctrl_ops nsp_pctrl_ops = {
366 .dt_free_map = pinctrl_utils_free_map, 366 .dt_free_map = pinctrl_utils_free_map,
367}; 367};
368 368
369static int nsp_gpio_set_slew(struct nsp_gpio *chip, unsigned gpio, u16 slew) 369static int nsp_gpio_set_slew(struct nsp_gpio *chip, unsigned gpio, u32 slew)
370{ 370{
371 if (slew) 371 if (slew)
372 nsp_set_bit(chip, IO_CTRL, NSP_GPIO_SLEW_RATE_EN, gpio, true); 372 nsp_set_bit(chip, IO_CTRL, NSP_GPIO_SLEW_RATE_EN, gpio, true);
@@ -403,7 +403,7 @@ static void nsp_gpio_get_pull(struct nsp_gpio *chip, unsigned gpio,
403} 403}
404 404
405static int nsp_gpio_set_strength(struct nsp_gpio *chip, unsigned gpio, 405static int nsp_gpio_set_strength(struct nsp_gpio *chip, unsigned gpio,
406 u16 strength) 406 u32 strength)
407{ 407{
408 u32 offset, shift, i; 408 u32 offset, shift, i;
409 u32 val; 409 u32 val;
@@ -522,7 +522,7 @@ static int nsp_pin_config_set(struct pinctrl_dev *pctldev, unsigned pin,
522{ 522{
523 struct nsp_gpio *chip = pinctrl_dev_get_drvdata(pctldev); 523 struct nsp_gpio *chip = pinctrl_dev_get_drvdata(pctldev);
524 enum pin_config_param param; 524 enum pin_config_param param;
525 u16 arg; 525 u32 arg;
526 unsigned int i, gpio; 526 unsigned int i, gpio;
527 int ret = -ENOTSUPP; 527 int ret = -ENOTSUPP;
528 528
diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c b/drivers/pinctrl/intel/pinctrl-cherryview.c
index 5e66860a5e67..f80134e3e0b6 100644
--- a/drivers/pinctrl/intel/pinctrl-cherryview.c
+++ b/drivers/pinctrl/intel/pinctrl-cherryview.c
@@ -1059,7 +1059,7 @@ static int chv_config_get(struct pinctrl_dev *pctldev, unsigned pin,
1059} 1059}
1060 1060
1061static int chv_config_set_pull(struct chv_pinctrl *pctrl, unsigned pin, 1061static int chv_config_set_pull(struct chv_pinctrl *pctrl, unsigned pin,
1062 enum pin_config_param param, u16 arg) 1062 enum pin_config_param param, u32 arg)
1063{ 1063{
1064 void __iomem *reg = chv_padreg(pctrl, pin, CHV_PADCTRL0); 1064 void __iomem *reg = chv_padreg(pctrl, pin, CHV_PADCTRL0);
1065 unsigned long flags; 1065 unsigned long flags;
@@ -1151,7 +1151,7 @@ static int chv_config_set(struct pinctrl_dev *pctldev, unsigned pin,
1151 struct chv_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); 1151 struct chv_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev);
1152 enum pin_config_param param; 1152 enum pin_config_param param;
1153 int i, ret; 1153 int i, ret;
1154 u16 arg; 1154 u32 arg;
1155 1155
1156 if (chv_pad_locked(pctrl, pin)) 1156 if (chv_pad_locked(pctrl, pin))
1157 return -EBUSY; 1157 return -EBUSY;
diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
index a579126832af..8fbb571f50de 100644
--- a/drivers/pinctrl/meson/pinctrl-meson.c
+++ b/drivers/pinctrl/meson/pinctrl-meson.c
@@ -260,7 +260,6 @@ static int meson_pinconf_set(struct pinctrl_dev *pcdev, unsigned int pin,
260 enum pin_config_param param; 260 enum pin_config_param param;
261 unsigned int reg, bit; 261 unsigned int reg, bit;
262 int i, ret; 262 int i, ret;
263 u16 arg;
264 263
265 ret = meson_get_bank(pc, pin, &bank); 264 ret = meson_get_bank(pc, pin, &bank);
266 if (ret) 265 if (ret)
@@ -268,7 +267,6 @@ static int meson_pinconf_set(struct pinctrl_dev *pcdev, unsigned int pin,
268 267
269 for (i = 0; i < num_configs; i++) { 268 for (i = 0; i < num_configs; i++) {
270 param = pinconf_to_config_param(configs[i]); 269 param = pinconf_to_config_param(configs[i]);
271 arg = pinconf_to_config_argument(configs[i]);
272 270
273 switch (param) { 271 switch (param) {
274 case PIN_CONFIG_BIAS_DISABLE: 272 case PIN_CONFIG_BIAS_DISABLE:
diff --git a/drivers/pinctrl/pinctrl-da850-pupd.c b/drivers/pinctrl/pinctrl-da850-pupd.c
index b36a90a3f3e4..44d5f5f5b07f 100644
--- a/drivers/pinctrl/pinctrl-da850-pupd.c
+++ b/drivers/pinctrl/pinctrl-da850-pupd.c
@@ -113,7 +113,6 @@ static int da850_pupd_pin_config_group_set(struct pinctrl_dev *pctldev,
113 struct da850_pupd_data *data = pinctrl_dev_get_drvdata(pctldev); 113 struct da850_pupd_data *data = pinctrl_dev_get_drvdata(pctldev);
114 u32 ena, sel; 114 u32 ena, sel;
115 enum pin_config_param param; 115 enum pin_config_param param;
116 u16 arg;
117 int i; 116 int i;
118 117
119 ena = readl(data->base + DA850_PUPD_ENA); 118 ena = readl(data->base + DA850_PUPD_ENA);
@@ -121,7 +120,6 @@ static int da850_pupd_pin_config_group_set(struct pinctrl_dev *pctldev,
121 120
122 for (i = 0; i < num_configs; i++) { 121 for (i = 0; i < num_configs; i++) {
123 param = pinconf_to_config_param(configs[i]); 122 param = pinconf_to_config_param(configs[i]);
124 arg = pinconf_to_config_argument(configs[i]);
125 123
126 switch (param) { 124 switch (param) {
127 case PIN_CONFIG_BIAS_DISABLE: 125 case PIN_CONFIG_BIAS_DISABLE:
diff --git a/drivers/pinctrl/pinctrl-lpc18xx.c b/drivers/pinctrl/pinctrl-lpc18xx.c
index e053f1fa5512..d090f37ca4a1 100644
--- a/drivers/pinctrl/pinctrl-lpc18xx.c
+++ b/drivers/pinctrl/pinctrl-lpc18xx.c
@@ -904,7 +904,7 @@ static int lpc18xx_pconf_get(struct pinctrl_dev *pctldev, unsigned pin,
904 904
905static int lpc18xx_pconf_set_usb1(struct pinctrl_dev *pctldev, 905static int lpc18xx_pconf_set_usb1(struct pinctrl_dev *pctldev,
906 enum pin_config_param param, 906 enum pin_config_param param,
907 u16 param_val, u32 *reg) 907 u32 param_val, u32 *reg)
908{ 908{
909 switch (param) { 909 switch (param) {
910 case PIN_CONFIG_LOW_POWER_MODE: 910 case PIN_CONFIG_LOW_POWER_MODE:
@@ -932,7 +932,7 @@ static int lpc18xx_pconf_set_usb1(struct pinctrl_dev *pctldev,
932 932
933static int lpc18xx_pconf_set_i2c0(struct pinctrl_dev *pctldev, 933static int lpc18xx_pconf_set_i2c0(struct pinctrl_dev *pctldev,
934 enum pin_config_param param, 934 enum pin_config_param param,
935 u16 param_val, u32 *reg, 935 u32 param_val, u32 *reg,
936 unsigned pin) 936 unsigned pin)
937{ 937{
938 u8 shift; 938 u8 shift;
@@ -982,7 +982,7 @@ static int lpc18xx_pconf_set_i2c0(struct pinctrl_dev *pctldev,
982} 982}
983 983
984static int lpc18xx_pconf_set_gpio_pin_int(struct pinctrl_dev *pctldev, 984static int lpc18xx_pconf_set_gpio_pin_int(struct pinctrl_dev *pctldev,
985 u16 param_val, unsigned pin) 985 u32 param_val, unsigned pin)
986{ 986{
987 struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); 987 struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev);
988 u32 val, reg_val, reg_offset = LPC18XX_SCU_PINTSEL0; 988 u32 val, reg_val, reg_offset = LPC18XX_SCU_PINTSEL0;
@@ -1008,7 +1008,7 @@ static int lpc18xx_pconf_set_gpio_pin_int(struct pinctrl_dev *pctldev,
1008} 1008}
1009 1009
1010static int lpc18xx_pconf_set_pin(struct pinctrl_dev *pctldev, unsigned param, 1010static int lpc18xx_pconf_set_pin(struct pinctrl_dev *pctldev, unsigned param,
1011 u16 param_val, u32 *reg, unsigned pin, 1011 u32 param_val, u32 *reg, unsigned pin,
1012 struct lpc18xx_pin_caps *pin_cap) 1012 struct lpc18xx_pin_caps *pin_cap)
1013{ 1013{
1014 switch (param) { 1014 switch (param) {
@@ -1088,7 +1088,7 @@ static int lpc18xx_pconf_set(struct pinctrl_dev *pctldev, unsigned pin,
1088 struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); 1088 struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev);
1089 struct lpc18xx_pin_caps *pin_cap; 1089 struct lpc18xx_pin_caps *pin_cap;
1090 enum pin_config_param param; 1090 enum pin_config_param param;
1091 u16 param_val; 1091 u32 param_val;
1092 u32 reg; 1092 u32 reg;
1093 int ret; 1093 int ret;
1094 int i; 1094 int i;
diff --git a/drivers/pinctrl/pinctrl-max77620.c b/drivers/pinctrl/pinctrl-max77620.c
index d9ff53e8f715..b8d2180a2bea 100644
--- a/drivers/pinctrl/pinctrl-max77620.c
+++ b/drivers/pinctrl/pinctrl-max77620.c
@@ -402,7 +402,7 @@ static int max77620_pinconf_set(struct pinctrl_dev *pctldev,
402 struct device *dev = mpci->dev; 402 struct device *dev = mpci->dev;
403 struct max77620_fps_config *fps_config; 403 struct max77620_fps_config *fps_config;
404 int param; 404 int param;
405 u16 param_val; 405 u32 param_val;
406 unsigned int val; 406 unsigned int val;
407 unsigned int pu_val; 407 unsigned int pu_val;
408 unsigned int pd_val; 408 unsigned int pd_val;
diff --git a/drivers/pinctrl/pinctrl-palmas.c b/drivers/pinctrl/pinctrl-palmas.c
index a30146da7ffd..4d6a5015b927 100644
--- a/drivers/pinctrl/pinctrl-palmas.c
+++ b/drivers/pinctrl/pinctrl-palmas.c
@@ -860,7 +860,7 @@ static int palmas_pinconf_set(struct pinctrl_dev *pctldev,
860{ 860{
861 struct palmas_pctrl_chip_info *pci = pinctrl_dev_get_drvdata(pctldev); 861 struct palmas_pctrl_chip_info *pci = pinctrl_dev_get_drvdata(pctldev);
862 enum pin_config_param param; 862 enum pin_config_param param;
863 u16 param_val; 863 u32 param_val;
864 const struct palmas_pingroup *g; 864 const struct palmas_pingroup *g;
865 const struct palmas_pin_info *opt; 865 const struct palmas_pin_info *opt;
866 int ret; 866 int ret;
diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
index 08765f58253c..7813599e43fa 100644
--- a/drivers/pinctrl/pinctrl-rockchip.c
+++ b/drivers/pinctrl/pinctrl-rockchip.c
@@ -1441,7 +1441,7 @@ static int rockchip_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin,
1441 struct rockchip_pinctrl *info = pinctrl_dev_get_drvdata(pctldev); 1441 struct rockchip_pinctrl *info = pinctrl_dev_get_drvdata(pctldev);
1442 struct rockchip_pin_bank *bank = pin_to_bank(info, pin); 1442 struct rockchip_pin_bank *bank = pin_to_bank(info, pin);
1443 enum pin_config_param param; 1443 enum pin_config_param param;
1444 u16 arg; 1444 u32 arg;
1445 int i; 1445 int i;
1446 int rc; 1446 int rc;
1447 1447
diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c
index a5a0392ab817..f71f2e813ea6 100644
--- a/drivers/pinctrl/pinctrl-single.c
+++ b/drivers/pinctrl/pinctrl-single.c
@@ -622,7 +622,7 @@ static int pcs_pinconf_set(struct pinctrl_dev *pctldev,
622 struct pcs_device *pcs = pinctrl_dev_get_drvdata(pctldev); 622 struct pcs_device *pcs = pinctrl_dev_get_drvdata(pctldev);
623 struct pcs_function *func; 623 struct pcs_function *func;
624 unsigned offset = 0, shift = 0, i, data, ret; 624 unsigned offset = 0, shift = 0, i, data, ret;
625 u16 arg; 625 u32 arg;
626 int j; 626 int j;
627 627
628 ret = pcs_get_function(pctldev, pin, &func); 628 ret = pcs_get_function(pctldev, pin, &func);
diff --git a/drivers/pinctrl/sirf/pinctrl-atlas7.c b/drivers/pinctrl/sirf/pinctrl-atlas7.c
index 7f3041697813..82b8a429743d 100644
--- a/drivers/pinctrl/sirf/pinctrl-atlas7.c
+++ b/drivers/pinctrl/sirf/pinctrl-atlas7.c
@@ -5322,7 +5322,8 @@ static int atlas7_pin_config_set(struct pinctrl_dev *pctldev,
5322 unsigned pin, unsigned long *configs, 5322 unsigned pin, unsigned long *configs,
5323 unsigned num_configs) 5323 unsigned num_configs)
5324{ 5324{
5325 u16 param, arg; 5325 u16 param;
5326 u32 arg;
5326 int idx, err; 5327 int idx, err;
5327 5328
5328 for (idx = 0; idx < num_configs; idx++) { 5329 for (idx = 0; idx < num_configs; idx++) {
diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
index 0eb51e33cb1b..28bfa5f413e4 100644
--- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c
+++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
@@ -540,7 +540,7 @@ static int sunxi_pconf_group_set(struct pinctrl_dev *pctldev,
540 enum pin_config_param param; 540 enum pin_config_param param;
541 unsigned long flags; 541 unsigned long flags;
542 u32 offset, shift, mask, reg; 542 u32 offset, shift, mask, reg;
543 u16 arg, val; 543 u32 arg, val;
544 int ret; 544 int ret;
545 545
546 param = pinconf_to_config_param(configs[i]); 546 param = pinconf_to_config_param(configs[i]);
diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c
index 9b2ee717bccc..546f23c9040c 100644
--- a/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c
+++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-core.c
@@ -297,7 +297,7 @@ static int uniphier_conf_pin_config_get(struct pinctrl_dev *pctldev,
297 297
298static int uniphier_conf_pin_bias_set(struct pinctrl_dev *pctldev, 298static int uniphier_conf_pin_bias_set(struct pinctrl_dev *pctldev,
299 const struct pin_desc *desc, 299 const struct pin_desc *desc,
300 enum pin_config_param param, u16 arg) 300 enum pin_config_param param, u32 arg)
301{ 301{
302 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev); 302 struct uniphier_pinctrl_priv *priv = pinctrl_dev_get_drvdata(pctldev);
303 enum uniphier_pin_pull_dir pull_dir = 303 enum uniphier_pin_pull_dir pull_dir =
@@ -468,7 +468,7 @@ static int uniphier_conf_pin_config_set(struct pinctrl_dev *pctldev,
468 for (i = 0; i < num_configs; i++) { 468 for (i = 0; i < num_configs; i++) {
469 enum pin_config_param param = 469 enum pin_config_param param =
470 pinconf_to_config_param(configs[i]); 470 pinconf_to_config_param(configs[i]);
471 u16 arg = pinconf_to_config_argument(configs[i]); 471 u32 arg = pinconf_to_config_argument(configs[i]);
472 472
473 switch (param) { 473 switch (param) {
474 case PIN_CONFIG_BIAS_DISABLE: 474 case PIN_CONFIG_BIAS_DISABLE:
diff --git a/drivers/pinctrl/vt8500/pinctrl-wmt.c b/drivers/pinctrl/vt8500/pinctrl-wmt.c
index 270ca2a47a8c..c207e60b734f 100644
--- a/drivers/pinctrl/vt8500/pinctrl-wmt.c
+++ b/drivers/pinctrl/vt8500/pinctrl-wmt.c
@@ -428,7 +428,7 @@ static int wmt_pinconf_set(struct pinctrl_dev *pctldev, unsigned pin,
428{ 428{
429 struct wmt_pinctrl_data *data = pinctrl_dev_get_drvdata(pctldev); 429 struct wmt_pinctrl_data *data = pinctrl_dev_get_drvdata(pctldev);
430 enum pin_config_param param; 430 enum pin_config_param param;
431 u16 arg; 431 u32 arg;
432 u32 bank = WMT_BANK_FROM_PIN(pin); 432 u32 bank = WMT_BANK_FROM_PIN(pin);
433 u32 bit = WMT_BIT_FROM_PIN(pin); 433 u32 bit = WMT_BIT_FROM_PIN(pin);
434 u32 reg_pull_en = data->banks[bank].reg_pull_en; 434 u32 reg_pull_en = data->banks[bank].reg_pull_en;
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
index 51e52446eacb..73594f38c453 100644
--- a/drivers/rtc/rtc-omap.c
+++ b/drivers/rtc/rtc-omap.c
@@ -610,7 +610,7 @@ static int rtc_pinconf_set(struct pinctrl_dev *pctldev,
610 struct omap_rtc *rtc = pinctrl_dev_get_drvdata(pctldev); 610 struct omap_rtc *rtc = pinctrl_dev_get_drvdata(pctldev);
611 u32 val; 611 u32 val;
612 unsigned int param; 612 unsigned int param;
613 u16 param_val; 613 u32 param_val;
614 int i; 614 int i;
615 615
616 rtc->type->unlock(rtc); 616 rtc->type->unlock(rtc);
diff --git a/include/linux/pinctrl/pinconf-generic.h b/include/linux/pinctrl/pinconf-generic.h
index 12343caa114e..9a09107c890e 100644
--- a/include/linux/pinctrl/pinconf-generic.h
+++ b/include/linux/pinctrl/pinconf-generic.h
@@ -92,6 +92,8 @@
92 * @PIN_CONFIG_END: this is the last enumerator for pin configurations, if 92 * @PIN_CONFIG_END: this is the last enumerator for pin configurations, if
93 * you need to pass in custom configurations to the pin controller, use 93 * you need to pass in custom configurations to the pin controller, use
94 * PIN_CONFIG_END+1 as the base offset. 94 * PIN_CONFIG_END+1 as the base offset.
95 * @PIN_CONFIG_MAX: this is the maximum configuration value that can be
96 * presented using the packed format.
95 */ 97 */
96enum pin_config_param { 98enum pin_config_param {
97 PIN_CONFIG_BIAS_BUS_HOLD, 99 PIN_CONFIG_BIAS_BUS_HOLD,
@@ -112,7 +114,8 @@ enum pin_config_param {
112 PIN_CONFIG_OUTPUT, 114 PIN_CONFIG_OUTPUT,
113 PIN_CONFIG_POWER_SOURCE, 115 PIN_CONFIG_POWER_SOURCE,
114 PIN_CONFIG_SLEW_RATE, 116 PIN_CONFIG_SLEW_RATE,
115 PIN_CONFIG_END = 0x7FFF, 117 PIN_CONFIG_END = 0x7F,
118 PIN_CONFIG_MAX = 0xFF,
116}; 119};
117 120
118#ifdef CONFIG_DEBUG_FS 121#ifdef CONFIG_DEBUG_FS
@@ -130,27 +133,27 @@ struct pin_config_item {
130/* 133/*
131 * Helpful configuration macro to be used in tables etc. 134 * Helpful configuration macro to be used in tables etc.
132 */ 135 */
133#define PIN_CONF_PACKED(p, a) ((a << 16) | ((unsigned long) p & 0xffffUL)) 136#define PIN_CONF_PACKED(p, a) ((a << 8) | ((unsigned long) p & 0xffUL))
134 137
135/* 138/*
136 * The following inlines stuffs a configuration parameter and data value 139 * The following inlines stuffs a configuration parameter and data value
137 * into and out of an unsigned long argument, as used by the generic pin config 140 * into and out of an unsigned long argument, as used by the generic pin config
138 * system. We put the parameter in the lower 16 bits and the argument in the 141 * system. We put the parameter in the lower 8 bits and the argument in the
139 * upper 16 bits. 142 * upper 24 bits.
140 */ 143 */
141 144
142static inline enum pin_config_param pinconf_to_config_param(unsigned long config) 145static inline enum pin_config_param pinconf_to_config_param(unsigned long config)
143{ 146{
144 return (enum pin_config_param) (config & 0xffffUL); 147 return (enum pin_config_param) (config & 0xffUL);
145} 148}
146 149
147static inline u16 pinconf_to_config_argument(unsigned long config) 150static inline u32 pinconf_to_config_argument(unsigned long config)
148{ 151{
149 return (enum pin_config_param) ((config >> 16) & 0xffffUL); 152 return (u32) ((config >> 8) & 0xffffffUL);
150} 153}
151 154
152static inline unsigned long pinconf_to_config_packed(enum pin_config_param param, 155static inline unsigned long pinconf_to_config_packed(enum pin_config_param param,
153 u16 argument) 156 u32 argument)
154{ 157{
155 return PIN_CONF_PACKED(param, argument); 158 return PIN_CONF_PACKED(param, argument);
156} 159}