Skip to content

Commit 0472567

Browse files
committed
pinctrl: lynxpoint: Introduce helpers to enable or disable input
Introduce couple of helpers to enable or disable input. i.e. lp_gpio_enable_input() and lp_gpio_disable_input(). Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Mika Westerberg <[email protected]>
1 parent f3e7d28 commit 0472567

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

drivers/pinctrl/intel/pinctrl-lynxpoint.c

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,16 @@ static int lp_pinmux_set_mux(struct pinctrl_dev *pctldev,
386386
return 0;
387387
}
388388

389+
static void lp_gpio_enable_input(void __iomem *reg)
390+
{
391+
iowrite32(ioread32(reg) & ~GPINDIS_BIT, reg);
392+
}
393+
394+
static void lp_gpio_disable_input(void __iomem *reg)
395+
{
396+
iowrite32(ioread32(reg) | GPINDIS_BIT, reg);
397+
}
398+
389399
static int lp_gpio_request_enable(struct pinctrl_dev *pctldev,
390400
struct pinctrl_gpio_range *range,
391401
unsigned int pin)
@@ -411,7 +421,7 @@ static int lp_gpio_request_enable(struct pinctrl_dev *pctldev,
411421
}
412422

413423
/* Enable input sensing */
414-
iowrite32(ioread32(conf2) & ~GPINDIS_BIT, conf2);
424+
lp_gpio_enable_input(conf2);
415425

416426
raw_spin_unlock_irqrestore(&lg->lock, flags);
417427

@@ -429,7 +439,7 @@ static void lp_gpio_disable_free(struct pinctrl_dev *pctldev,
429439
raw_spin_lock_irqsave(&lg->lock, flags);
430440

431441
/* Disable input sensing */
432-
iowrite32(ioread32(conf2) | GPINDIS_BIT, conf2);
442+
lp_gpio_disable_input(conf2);
433443

434444
raw_spin_unlock_irqrestore(&lg->lock, flags);
435445

@@ -921,14 +931,11 @@ static int lp_gpio_resume(struct device *dev)
921931
struct intel_pinctrl *lg = dev_get_drvdata(dev);
922932
struct gpio_chip *chip = &lg->chip;
923933
const char *dummy;
924-
void __iomem *reg;
925934
int i;
926935

927936
/* on some hardware suspend clears input sensing, re-enable it here */
928-
for_each_requested_gpio(chip, i, dummy) {
929-
reg = lp_gpio_reg(chip, i, LP_CONFIG2);
930-
iowrite32(ioread32(reg) & ~GPINDIS_BIT, reg);
931-
}
937+
for_each_requested_gpio(chip, i, dummy)
938+
lp_gpio_enable_input(lp_gpio_reg(chip, i, LP_CONFIG2));
932939

933940
return 0;
934941
}

0 commit comments

Comments
 (0)