.. | .. |
---|
84 | 84 | port->both_edges &= ~pin_mask; |
---|
85 | 85 | switch (type) { |
---|
86 | 86 | case IRQ_TYPE_EDGE_BOTH: |
---|
87 | | - val = port->gc.get(&port->gc, d->hwirq); |
---|
| 87 | + val = readl(port->base + PINCTRL_DIN(port)) & pin_mask; |
---|
88 | 88 | if (val) |
---|
89 | 89 | edge = GPIO_INT_FALL_EDGE; |
---|
90 | 90 | else |
---|
.. | .. |
---|
248 | 248 | u32 dir; |
---|
249 | 249 | |
---|
250 | 250 | dir = readl(port->base + PINCTRL_DOE(port)); |
---|
251 | | - return !(dir & mask); |
---|
| 251 | + if (dir & mask) |
---|
| 252 | + return GPIO_LINE_DIRECTION_OUT; |
---|
| 253 | + |
---|
| 254 | + return GPIO_LINE_DIRECTION_IN; |
---|
252 | 255 | } |
---|
253 | 256 | |
---|
254 | 257 | static const struct platform_device_id mxs_gpio_ids[] = { |
---|