Message ID | alpine.DEB.2.02.1311261651300.11450@tamien (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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@nvidia.com> > Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> > Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > --- > > 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; > } >
Hi Paul > 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@nvidia.com> > Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> > Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> > --- Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> > 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; > } > > > ----------------------------------------------------------------------------------- > This email message is for the sole use of the intended recipient(s) and may contain > confidential information. Any unauthorized review, use, disclosure or distribution > is prohibited. If you are not the intended recipient, please contact the sender by > reply email and destroy all copies of the original message. > ----------------------------------------------------------------------------------- Best regards --- Kuninori Morimoto -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2013-11-27 02:53, 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@nvidia.com> > Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> > Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> > Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> > Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> > --- > > Applies on v3.13-rc1. See also: I'm not able to apply this, I'm just getting "patch doesn't apply". I tried both the patch saved from my email client, and the patch from patchworks... Can you rebase to, say, rc6, and resend? Tomi
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; }
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@nvidia.com> Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- 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(-) ----------------------------------------------------------------------------------- This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. ----------------------------------------------------------------------------------- -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html