Commit 4cfff5b7 authored by Raag Jadav's avatar Raag Jadav Committed by Andy Shevchenko

pinctrl: baytrail: consolidate common mask operation

Consolidate common mask operation outside of switch cases and
limit IO operations to positive cases.
Signed-off-by: default avatarRaag Jadav <raag.jadav@intel.com>
Acked-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
parent 06c2afb8
...@@ -995,8 +995,8 @@ static int byt_pin_config_set(struct pinctrl_dev *pctl_dev, ...@@ -995,8 +995,8 @@ static int byt_pin_config_set(struct pinctrl_dev *pctl_dev,
void __iomem *conf_reg = byt_gpio_reg(vg, offset, BYT_CONF0_REG); void __iomem *conf_reg = byt_gpio_reg(vg, offset, BYT_CONF0_REG);
void __iomem *val_reg = byt_gpio_reg(vg, offset, BYT_VAL_REG); void __iomem *val_reg = byt_gpio_reg(vg, offset, BYT_VAL_REG);
void __iomem *db_reg = byt_gpio_reg(vg, offset, BYT_DEBOUNCE_REG); void __iomem *db_reg = byt_gpio_reg(vg, offset, BYT_DEBOUNCE_REG);
u32 conf, val, db_pulse, debounce;
unsigned long flags; unsigned long flags;
u32 conf, val, debounce;
int i, ret = 0; int i, ret = 0;
raw_spin_lock_irqsave(&byt_lock, flags); raw_spin_lock_irqsave(&byt_lock, flags);
...@@ -1053,8 +1053,6 @@ static int byt_pin_config_set(struct pinctrl_dev *pctl_dev, ...@@ -1053,8 +1053,6 @@ static int byt_pin_config_set(struct pinctrl_dev *pctl_dev,
break; break;
case PIN_CONFIG_INPUT_DEBOUNCE: case PIN_CONFIG_INPUT_DEBOUNCE:
debounce = readl(db_reg);
if (arg) if (arg)
conf |= BYT_DEBOUNCE_EN; conf |= BYT_DEBOUNCE_EN;
else else
...@@ -1062,32 +1060,25 @@ static int byt_pin_config_set(struct pinctrl_dev *pctl_dev, ...@@ -1062,32 +1060,25 @@ static int byt_pin_config_set(struct pinctrl_dev *pctl_dev,
switch (arg) { switch (arg) {
case 375: case 375:
debounce &= ~BYT_DEBOUNCE_PULSE_MASK; db_pulse = BYT_DEBOUNCE_PULSE_375US;
debounce |= BYT_DEBOUNCE_PULSE_375US;
break; break;
case 750: case 750:
debounce &= ~BYT_DEBOUNCE_PULSE_MASK; db_pulse = BYT_DEBOUNCE_PULSE_750US;
debounce |= BYT_DEBOUNCE_PULSE_750US;
break; break;
case 1500: case 1500:
debounce &= ~BYT_DEBOUNCE_PULSE_MASK; db_pulse = BYT_DEBOUNCE_PULSE_1500US;
debounce |= BYT_DEBOUNCE_PULSE_1500US;
break; break;
case 3000: case 3000:
debounce &= ~BYT_DEBOUNCE_PULSE_MASK; db_pulse = BYT_DEBOUNCE_PULSE_3MS;
debounce |= BYT_DEBOUNCE_PULSE_3MS;
break; break;
case 6000: case 6000:
debounce &= ~BYT_DEBOUNCE_PULSE_MASK; db_pulse = BYT_DEBOUNCE_PULSE_6MS;
debounce |= BYT_DEBOUNCE_PULSE_6MS;
break; break;
case 12000: case 12000:
debounce &= ~BYT_DEBOUNCE_PULSE_MASK; db_pulse = BYT_DEBOUNCE_PULSE_12MS;
debounce |= BYT_DEBOUNCE_PULSE_12MS;
break; break;
case 24000: case 24000:
debounce &= ~BYT_DEBOUNCE_PULSE_MASK; db_pulse = BYT_DEBOUNCE_PULSE_24MS;
debounce |= BYT_DEBOUNCE_PULSE_24MS;
break; break;
default: default:
if (arg) if (arg)
...@@ -1095,8 +1086,13 @@ static int byt_pin_config_set(struct pinctrl_dev *pctl_dev, ...@@ -1095,8 +1086,13 @@ static int byt_pin_config_set(struct pinctrl_dev *pctl_dev,
break; break;
} }
if (!ret) if (ret)
writel(debounce, db_reg); break;
debounce = readl(db_reg);
debounce = (debounce & ~BYT_DEBOUNCE_PULSE_MASK) | db_pulse;
writel(debounce, db_reg);
break; break;
default: default:
ret = -ENOTSUPP; ret = -ENOTSUPP;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment