On Thu, 18 Nov 2021 17:08:10 +0000 "Russell King (Oracle)" <linux@xxxxxxxxxxxxxxx> wrote: > I'm quite certain that as we try to develop phylink, such as adding > extra facilities like specifying the interface modes, we're going to > end up running into these kinds of problems that we can't solve, and > we are going to have to keep compatibility for the old ways of doing > stuff going for years to come - which is just going to get more and > more painful. One way to move this forward would be to check compatible of the corresponding MAC in this new function. If it belongs to an unconverted driver, we can ensure the old behaviour. This would require to add a comment to the driver saying "if you convert this, please drop the exception in phylink_update_phy_modes()". Yes, it is an ugly solution, but it would work and this function already is meant to be solving backward compatibility problems by such mechanisms. The comment says: + * Nonetheless it is possible that a device may support only one mode, + * for example 1000base-x, due to strapping pins or some other reasons. + * If a specific device supports only the mode mentioned in DT, the + * exception should be made here with of_machine_is_compatible(). BTW, I now realize that of_machine_is_compatible() is not the best solution. I will change the comment in v2. Marek