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); void (*release)(struct phy *phy); struct module *owner; -- 2.17.1