• Ben Gardiner's avatar
    davinci: da850-evm: UI expander gpio_set_value can sleep, use _cansleep · 47e7cb14
    Ben Gardiner authored
    When the RMII PHY on the UI board is enabled with CONFIG_DA850_UI_RMII
    then then following will be printed to the console when warnings are
    also enabled:
    
    WARNING: at drivers/gpio/gpiolib.c:1567 __gpio_set_value+0x4c/0x5c()
    Modules linked in:
    [<c002c6ac>] (unwind_backtrace+0x0/0xf8) from [<c003b48c>] (warn_slowpath_common+0x4c/0x64)
    [<c003b48c>] (warn_slowpath_common+0x4c/0x64) from [<c003b4c0>] (warn_slowpath_null+0x1c/0x24)
    [<c003b4c0>] (warn_slowpath_null+0x1c/0x24) from [<c01aed60>] (__gpio_set_value+0x4c/0x5c)
    [<c01aed60>] (__gpio_set_value+0x4c/0x5c) from [<c0033bd4>] (da850_evm_ui_expander_setup+0x1e4/0x2
    44)
    [<c0033bd4>] (da850_evm_ui_expander_setup+0x1e4/0x244) from [<c02e2e1c>] (pca953x_probe+0x1f8/0x29
    0)
    <snip>
    
    Traced the WARN_ON to the gpio_set_value(rmii_sel,0) call in
    da850_evm_setup_emac_rmii. Replacing the call with the _cansleep variant
    results in no more warning. Also replacing the gpio_set_value calls in the
    teardown function.
    Signed-off-by: default avatarBen Gardiner <bengardiner@nanometrics.ca>
    Reviewed-by: default avatarChris Cordahi <christophercordahi@nanometrics.ca>
    Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
    47e7cb14
board-da850-evm.c 20.7 KB