• Rodrigo Alencar's avatar
    gpio: max730x: bring gpiochip_add_data after port config · 47a3734b
    Rodrigo Alencar authored
    gpiochip_add_data being called before might cause premature calls of
    the gpiochip operations before the port_config values are initialized,
    which would possibily write zeros to port configuration registers,
    an operation not allowed. For example, if there are gpio-hog nodes
    in a device-tree, the sequence of function calls are performed
    
    gpiochip_add_data
    of_gpiochip_add
    of_gpiochip_scan_gpios
    of_gpiochip_add_hog
    gpiod_hog
    gpiochip_request_own_desc
    gpiod_configure_flags
    gpiod_direction_output/gpiod_direction_input
    
    which would call later the gpiochip operation direction_output or
    direction_input prior the port_config[] initialization.
    
    Moreover, gpiochip_get_data is replaced by the container_of macro
    inside the gpiochip operations, which would allow the calling of
    max7301_direction_input prior to gpiochip_add_data
    Signed-off-by: default avatarRodrigo Alencar <455.rodrigo.alencar@gmail.com>
    [Bartosz: tweaked the commit message]
    Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
    47a3734b
gpio-max730x.c 5.67 KB