Message ID | 20190226193609.9862-2-andrew.smirnov@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tc358767 driver improvements | expand |
On 26.02.2019 20:36, Andrey Smirnov wrote: > Implementation of tc_poll_timeout() is almost a 100% copy-and-paste of > the code for regmap_read_poll_timeout(). Replace copied code with a > call to the original. No functional change intended. > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: Andrzej Hajda <a.hajda@samsung.com> > Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> > Cc: Chris Healy <cphealy@gmail.com> > Cc: Lucas Stach <l.stach@pengutronix.de> > Cc: dri-devel@lists.freedesktop.org > Cc: linux-kernel@vger.kernel.org Reviewed-by: Andrzej Hajda <a.hajda@samsung.com> -- Regards Andrzej > --- > drivers/gpu/drm/bridge/tc358767.c | 19 +++---------------- > 1 file changed, 3 insertions(+), 16 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c > index e6403b9549f1..b0f8264a1285 100644 > --- a/drivers/gpu/drm/bridge/tc358767.c > +++ b/drivers/gpu/drm/bridge/tc358767.c > @@ -252,24 +252,11 @@ static inline int tc_poll_timeout(struct regmap *map, unsigned int addr, > unsigned int cond_value, > unsigned long sleep_us, u64 timeout_us) > { > - ktime_t timeout = ktime_add_us(ktime_get(), timeout_us); > unsigned int val; > - int ret; > > - for (;;) { > - ret = regmap_read(map, addr, &val); > - if (ret) > - break; > - if ((val & cond_mask) == cond_value) > - break; > - if (timeout_us && ktime_compare(ktime_get(), timeout) > 0) { > - ret = regmap_read(map, addr, &val); > - break; > - } > - if (sleep_us) > - usleep_range((sleep_us >> 2) + 1, sleep_us); > - } > - return ret ?: (((val & cond_mask) == cond_value) ? 0 : -ETIMEDOUT); > + return regmap_read_poll_timeout(map, addr, val, > + (val & cond_mask) == cond_value, > + sleep_us, timeout_us); > } > > static int tc_aux_wait_busy(struct tc_data *tc, unsigned int timeout_ms)
Hi Andrey, Thank you for the patch. On Tue, Feb 26, 2019 at 11:36:01AM -0800, Andrey Smirnov wrote: > Implementation of tc_poll_timeout() is almost a 100% copy-and-paste of > the code for regmap_read_poll_timeout(). Replace copied code with a > call to the original. No functional change intended. > > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> > Cc: Archit Taneja <architt@codeaurora.org> > Cc: Andrzej Hajda <a.hajda@samsung.com> > Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> > Cc: Chris Healy <cphealy@gmail.com> > Cc: Lucas Stach <l.stach@pengutronix.de> > Cc: dri-devel@lists.freedesktop.org > Cc: linux-kernel@vger.kernel.org Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/gpu/drm/bridge/tc358767.c | 19 +++---------------- > 1 file changed, 3 insertions(+), 16 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c > index e6403b9549f1..b0f8264a1285 100644 > --- a/drivers/gpu/drm/bridge/tc358767.c > +++ b/drivers/gpu/drm/bridge/tc358767.c > @@ -252,24 +252,11 @@ static inline int tc_poll_timeout(struct regmap *map, unsigned int addr, > unsigned int cond_value, > unsigned long sleep_us, u64 timeout_us) > { > - ktime_t timeout = ktime_add_us(ktime_get(), timeout_us); > unsigned int val; > - int ret; > > - for (;;) { > - ret = regmap_read(map, addr, &val); > - if (ret) > - break; > - if ((val & cond_mask) == cond_value) > - break; > - if (timeout_us && ktime_compare(ktime_get(), timeout) > 0) { > - ret = regmap_read(map, addr, &val); > - break; > - } > - if (sleep_us) > - usleep_range((sleep_us >> 2) + 1, sleep_us); > - } > - return ret ?: (((val & cond_mask) == cond_value) ? 0 : -ETIMEDOUT); > + return regmap_read_poll_timeout(map, addr, val, > + (val & cond_mask) == cond_value, > + sleep_us, timeout_us); > } > > static int tc_aux_wait_busy(struct tc_data *tc, unsigned int timeout_ms)
diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c index e6403b9549f1..b0f8264a1285 100644 --- a/drivers/gpu/drm/bridge/tc358767.c +++ b/drivers/gpu/drm/bridge/tc358767.c @@ -252,24 +252,11 @@ static inline int tc_poll_timeout(struct regmap *map, unsigned int addr, unsigned int cond_value, unsigned long sleep_us, u64 timeout_us) { - ktime_t timeout = ktime_add_us(ktime_get(), timeout_us); unsigned int val; - int ret; - for (;;) { - ret = regmap_read(map, addr, &val); - if (ret) - break; - if ((val & cond_mask) == cond_value) - break; - if (timeout_us && ktime_compare(ktime_get(), timeout) > 0) { - ret = regmap_read(map, addr, &val); - break; - } - if (sleep_us) - usleep_range((sleep_us >> 2) + 1, sleep_us); - } - return ret ?: (((val & cond_mask) == cond_value) ? 0 : -ETIMEDOUT); + return regmap_read_poll_timeout(map, addr, val, + (val & cond_mask) == cond_value, + sleep_us, timeout_us); } static int tc_aux_wait_busy(struct tc_data *tc, unsigned int timeout_ms)
Implementation of tc_poll_timeout() is almost a 100% copy-and-paste of the code for regmap_read_poll_timeout(). Replace copied code with a call to the original. No functional change intended. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Archit Taneja <architt@codeaurora.org> Cc: Andrzej Hajda <a.hajda@samsung.com> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org --- drivers/gpu/drm/bridge/tc358767.c | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-)