| .. | .. |
|---|
| 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[] = { |
|---|