[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.