When bgpio direction register use dirin and setting  
BGPIOF_READ_OUTPUT_REG_SET flag, the get_set I/O functions reading 
the inverted set register of each direction, it means:

when direction=in the get_set function read set register.
when direction=out the get_set function read dat register.

but is should be inverted.

conversion about it with Linus Walleij:
https://www.spinics.net/lists/devicetree/msg241973.html

to solve it, adding get_set_inv_dir and get_set_multiple_inv_dir
I/O functions to call the data register when the direction is input and
set register when the direction is output.
the functions will linked to the I/O get functions if the user set
BGPIOF_INVERTED_REG_DIR flag in the bgpio initialization.

Tomer Maimon (1):
  gpio: mmio: add inverted direction get_set io support

 drivers/gpio/gpio-mmio.c    | 48 ++++++++++++++++++++++++++++++++++++++++++---
 include/linux/gpio/driver.h |  1 +
 2 files changed, 46 insertions(+), 3 deletions(-)

-- 
2.14.1

Reply via email to