Put the two poll intervals (min and max) in the driver's ops structure. This is needed to add the xmdio support later.
Signed-off-by: Antoine Tenart <antoine.ten...@free-electrons.com> --- drivers/net/ethernet/marvell/mvmdio.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/marvell/mvmdio.c b/drivers/net/ethernet/marvell/mvmdio.c index f66b474b382a..07b18f60da2a 100644 --- a/drivers/net/ethernet/marvell/mvmdio.c +++ b/drivers/net/ethernet/marvell/mvmdio.c @@ -70,6 +70,9 @@ struct orion_mdio_ops { void (*start_read)(struct orion_mdio_dev *, int, int); u16 (*read)(struct orion_mdio_dev *); void (*write)(struct orion_mdio_dev *, int, int, u16); + + unsigned int poll_interval_min; + unsigned int poll_interval_max; }; static int orion_mdio_smi_is_done(struct orion_mdio_dev *dev) @@ -112,6 +115,9 @@ static const struct orion_mdio_ops orion_mdio_smi_ops = { .start_read = orion_mdio_smi_start_read_op, .read = orion_mdio_smi_read_op, .write = orion_mdio_smi_write_op, + + .poll_interval_min = MVMDIO_SMI_POLL_INTERVAL_MIN, + .poll_interval_max = MVMDIO_SMI_POLL_INTERVAL_MAX, }; /* Wait for the SMI unit to be ready for another operation @@ -131,8 +137,8 @@ static int orion_mdio_wait_ready(const struct orion_mdio_ops *ops, break; if (dev->err_interrupt <= 0) { - usleep_range(MVMDIO_SMI_POLL_INTERVAL_MIN, - MVMDIO_SMI_POLL_INTERVAL_MAX); + usleep_range(ops->poll_interval_min, + ops->poll_interval_max); if (time_is_before_jiffies(end)) ++timedout; -- 2.9.4