• Lars Povlsen's avatar
    HID: mcp2221: Fix GPIO output handling · 567b8e9f
    Lars Povlsen authored
    The mcp2221 driver GPIO output handling has has several issues.
    
    * A wrong value is used for the GPIO direction.
    
    * Wrong offsets are calculated for some GPIO set value/set direction
      operations, when offset is larger than 0.
    
    This has been fixed by introducing proper manifest constants for the
    direction encoding, and using 'offsetof' when calculating GPIO
    register offsets.
    
    The updated driver has been tested with the Sparx5 pcb134/pcb135
    board, which has the mcp2221 device with several (output) GPIO's.
    
    Fixes: 328de1c5 ("HID: mcp2221: add GPIO functionality support")
    Reviewed-by: default avatarRishi Gupta <gupt21@gmail.com>
    Signed-off-by: default avatarLars Povlsen <lars.povlsen@microchip.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    567b8e9f
hid-mcp2221.c 20.8 KB