Hi Kishon, On 2019-07-19 12:04, Kishon Vijay Abraham I wrote: > Hi Marek, > > On 19/07/19 3:22 PM, Marek Szyprowski wrote: >> Commit 36914111e682 ("drivers: phy: add calibrate method") added support >> for generic phy_calibrate() method, but it didn't explain in detail when >> such method is supposed to be called. Add some more documentation directly >> to the phy.h to make it clean that it is intended to be called after every >> host controller reset. >> >> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> >> --- >> include/linux/phy/phy.h | 12 ++++++++++++ >> 1 file changed, 12 insertions(+) >> >> diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h >> index 15032f145063..46775e8b0ed9 100644 >> --- a/include/linux/phy/phy.h >> +++ b/include/linux/phy/phy.h >> @@ -101,6 +101,18 @@ struct phy_ops { >> int (*validate)(struct phy *phy, enum phy_mode mode, int submode, >> union phy_configure_opts *opts); >> int (*reset)(struct phy *phy); >> + >> + /** >> + * @calibrate: >> + * >> + * Optional. >> + * >> + * Used to calibrate phy, typically by adjusting some parameters >> + * in runtime, which are otherwise lost after host controller >> + * reset and cannot be set in phy_init() and phy_power_on(). >> + * >> + * Returns: 0 if successful, an negative error code otherwise >> + */ >> int (*calibrate)(struct phy *phy); > This should be added in drivers/phy/phy-core.c before phy_calibrate()? Okay. Do you want to keep it also in phy.h (like for validate and configure)? > We could > add a separate section in Documentation/phy.txt to document these phy_ops. Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland