[OpenWrt-Devel] Issue with deferred GPIO probing on ar71xx/TL-WDR3600 under kernel 4.4

Heiner Kallweit hkallweit1 at gmail.com
Sun Apr 24 11:40:26 EDT 2016

Am 24.04.2016 um 16:53 schrieb Heiner Kallweit:
> Under 4.4 I get the following errors which do not occur under 4.1:
> [    0.120197] MIPS: machine is TP-LINK TL-WDR3600/4300/4310
> [    0.126234] unable to request GPIO18 for external LNA0
> [    0.132811] unable to request GPIO19 for external LNA1
> Reason is that gpio_request_one() in the following calls of
> the board initialization code returns -EPROBE_DEFER now.
> ath79_wmac_set_ext_lna_gpio(0, WDR4300_GPIO_EXTERNAL_LNA0);
> ath79_wmac_set_ext_lna_gpio(1, WDR4300_GPIO_EXTERNAL_LNA1);
> I'm not sure how to handle the situation that the board
> initialization code wants to access resources which are not
> available yet.
> A driver could defer its loading in this case, but most
> likely we don't have this option for the board initialization
> code.
I found that manually registering the ath79 gpio driver from
the board init code fixes the issue.
Symbol ath79_gpio_driver needs to be exported in the ath79 gpio
driver and the following has to be added to the board init code:

extern struct platform_driver ath79_gpio_driver;

However to me this looks more like a hack than a proper solution.
Any better idea?
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list