[PATCH v2 0/2] gpio: realtek-otto: make the driver work with SWAP_IO_SPACE
Rustam Adilov <[email protected]>
| Newsgroups | org.kernel.vger.linux-gpio,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
This patch series changes gpio-realtek-otto to be functional around SWAP_IO_SPACE config. Firstly the ioread32 and iowrite32 in realtek_gpio_update_line_imr() have to be changed to their __raw variants as it is the only point in the driver where both devices with ports reversed and without meet. Secondly, the bank_read/write and the flag for generic gpio config have to be able to be changed to the opposite one when SWAP_IO_SPACE is enabled. To avoid breaking any existing device tree out in the wild, make them overridable by endian properties from the device tree node and keep the current GPIO_PORTS_REVERSED quirk as it is. I have tested it on my RTL9607C machine with SWAP_IO_SPACE enabled and with big-endian property set under gpio controller node and it was working fine. --- Changes in v2: - added the review-by tag from Linus Walleij. - changed the patch 1 to instead use endian preprties as overrides on top of existing GPIO_PORTS_REVERSED quirk to not break any exsiting device trees as they don't use endian properties. - Link to v1: https://lore.kernel.org/all/[email protected]/ Rustam Adilov (2): gpio: realtek-otto: use __raw_readl/writel in realtek_gpio_update_line_imr() gpio: realtek-otto: make bank_read/write overridable by endian property drivers/gpio/gpio-realtek-otto.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) -- 2.55.0