Hi, On Tue, Apr 28, 2020 at 09:10:04AM +0200, Yuti Amonkar wrote: > From: Swapnil Jakhade > > Use generic PHY framework function phy_set_bus_width() to set number > of lanes and function phy_set_max_link_rate() to set maximum link rate > supported by PHY. > > Signed-off-by: Swapnil Jakhade This should have your SoB. > --- > drivers/phy/cadence/phy-cadence-torrent.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/phy/cadence/phy-cadence-torrent.c b/drivers/phy/cadence/phy-cadence-torrent.c > index 7116127358ee..b914e5ddf93c 100644 > --- a/drivers/phy/cadence/phy-cadence-torrent.c > +++ b/drivers/phy/cadence/phy-cadence-torrent.c > @@ -1852,6 +1852,9 @@ static int cdns_torrent_phy_probe(struct platform_device *pdev) > cdns_phy->phys[node].num_lanes, > cdns_phy->max_bit_rate / 1000, > cdns_phy->max_bit_rate % 1000); > + > + phy_set_bus_width(gphy, cdns_phy->phys[node].num_lanes); > + phy_set_max_link_rate(gphy, cdns_phy->max_bit_rate); I think what Kishon meant in his previous mail is that it's not really clear (to me at least) how that function would be useful. In this particular case, what would the consumer make of that information? Does the phy needs to be reconfigured based on the max rate being changed? Some phy_configure_opts structures also have a somewhat similar field that can be negociated between the provider and the consumer using phy_validate, wouldn't that be redundant? Most of that discussion can only happen when you've provided a use-case for that series, so a consumer using it would help greatly there. Maxime