On 08/09/2018 05:46 AM, Tony Lindgren wrote:
* Tony Lindgren <tony@xxxxxxxxxxx> [180808 13:52]:
* Andrew Lunn <andrew@xxxxxxx> [180808 12:02]:
Do you need to handle EPROBE_DEFER here? The phandle points to a
device which has not yet been loaded? I'm not sure exactly where it
will be returned, maybe it is bus_find_device(), but i expect to see
some handling of it somewhere in this function.
If no device is found the driver just produces a warning currently.
And in that case cpsw attempts to continue with bootloader settings.
And looking at the caller function cpsw_slave_open() it also just
produces warnings for phy_connect() too..
I agree that in general this this whole pile of cpsw related drivers sure
could use some better error handling. Starting with making cpsw_slave_open()
and cpsw_phy_sel() return errors instead of just ignoring them might be a
good start.
Grygorii, care to add that note of things to do into your cpsw maintainer
hat?
Right. EPROBE_DEFER not supported for this module as of now.
With the proper interconnect hierarchy in the device tree there should be
no EPROBE_DEFER happening here as the interconnects are probed in the
right order with the always on interrupt with system control module first :)
But then again, adding support for EPROBE_DEFER here won't hurt either,
will take a look.
I'll just add some notes about that to the patch description considering
the above.
thanks Tony.
--
regards,
-grygorii