Hi Paul, Thank you for the patch. On Tuesday 26 November 2013 16:53:26 Paul Walmsley wrote: > Treat both negative and zero return values from clk_round_rate() as > errors. This is needed since subsequent patches will convert > clk_round_rate()'s return value to be an unsigned type, rather than a > signed type, since some clock sources can generate rates higher than > (2^31)-1 Hz. > > Eventually, when calling clk_round_rate(), only a return value of zero > will be considered a error. All other values will be considered valid > rates. The comparison against values less than 0 is kept to preserve > the correct behavior in the meantime. > > Signed-off-by: Paul Walmsley <pwalmsley@xxxxxxxxxx> > Cc: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> > Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> > Cc: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > --- > > Applies on v3.13-rc1. See also: > > http://marc.info/?l=linux-arm-kernel&m=138542591313620&w=2 > > drivers/video/sh_mipi_dsi.c | 4 +++- > drivers/video/sh_mobile_hdmi.c | 6 +++--- > 2 files changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/video/sh_mipi_dsi.c b/drivers/video/sh_mipi_dsi.c > index 8f6e8ff620d4..510cfb668a0c 100644 > --- a/drivers/video/sh_mipi_dsi.c > +++ b/drivers/video/sh_mipi_dsi.c > @@ -494,8 +494,10 @@ static int __init sh_mipi_probe(struct platform_device > *pdev) ret = clk_set_rate(mipi->dsit_clk, rate); > else > ret = rate; > - if (ret < 0) > + if (ret <= 0) { > + ret = -ERANGE; > goto esettrate; > + } > > dev_dbg(&pdev->dev, "DSI-T clk %lu -> %lu\n", f_current, rate); > > diff --git a/drivers/video/sh_mobile_hdmi.c b/drivers/video/sh_mobile_hdmi.c > index 9a33ee0413fb..1e757e54c784 100644 > --- a/drivers/video/sh_mobile_hdmi.c > +++ b/drivers/video/sh_mobile_hdmi.c > @@ -818,7 +818,7 @@ static unsigned long sh_hdmi_rate_error(struct sh_hdmi > *hdmi, struct sh_mobile_hdmi_info *pdata = dev_get_platdata(hdmi->dev); > > *hdmi_rate = clk_round_rate(hdmi->hdmi_clk, target); > - if ((long)*hdmi_rate < 0) > + if ((long)*hdmi_rate <= 0) > *hdmi_rate = clk_get_rate(hdmi->hdmi_clk); > > rate_error = (long)*hdmi_rate > 0 ? abs(*hdmi_rate - target) : ULONG_MAX; > @@ -1321,8 +1321,8 @@ static int __init sh_hdmi_probe(struct > platform_device *pdev) if (rate > 0) > rate = sh_hdmi_clk_configure(hdmi, rate, 0); > > - if (rate < 0) { > - ret = rate; > + if (rate <= 0) { > + ret = -EINVAL; > goto erate; > } > -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html