summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-mxs.c
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2018-12-18 09:47:57 +0100
committerLinus Walleij <linus.walleij@linaro.org>2018-12-21 11:29:57 +0100
commitf0df462f3ae1d10131f8ff7daa016ce1a8686727 (patch)
tree4f96aa4bda17a100659cd6eca661fc4c8d6a7ff8 /drivers/gpio/gpio-mxs.c
parent533918b6f6ae7566b703adf0346dd15f2a60fe77 (diff)
downloadlinux-f0df462f3ae1d10131f8ff7daa016ce1a8686727.tar.bz2
gpio: mxs: read pin level directly instead of using .get
Calling readl directly instead of going through another function that results in the same result to remove some overhead. I didn't try to measure the performance gain, but IMHO there is little benefit from abstracting a GPIO register access in the GPIO driver. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-mxs.c')
-rw-r--r--drivers/gpio/gpio-mxs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpio/gpio-mxs.c b/drivers/gpio/gpio-mxs.c
index ea874fd033a5..5e5437a2c607 100644
--- a/drivers/gpio/gpio-mxs.c
+++ b/drivers/gpio/gpio-mxs.c
@@ -84,7 +84,7 @@ static int mxs_gpio_set_irq_type(struct irq_data *d, unsigned int type)
port->both_edges &= ~pin_mask;
switch (type) {
case IRQ_TYPE_EDGE_BOTH:
- val = port->gc.get(&port->gc, d->hwirq);
+ val = readl(port->base + PINCTRL_DIN(port)) & pin_mask;
if (val)
edge = GPIO_INT_FALL_EDGE;
else