From patchwork Wed Nov 27 00:53:26 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Walmsley X-Patchwork-Id: 3242721 Return-Path: X-Original-To: patchwork-linux-fbdev@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 869649F3A0 for ; Wed, 27 Nov 2013 00:53:31 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A08D120549 for ; Wed, 27 Nov 2013 00:53:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 839E42053D for ; Wed, 27 Nov 2013 00:53:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754616Ab3K0Ax2 (ORCPT ); Tue, 26 Nov 2013 19:53:28 -0500 Received: from hqemgate16.nvidia.com ([216.228.121.65]:3684 "EHLO hqemgate16.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751852Ab3K0Ax2 (ORCPT ); Tue, 26 Nov 2013 19:53:28 -0500 Received: from hqnvupgp07.nvidia.com (Not Verified[216.228.121.13]) by hqemgate16.nvidia.com id ; Tue, 26 Nov 2013 16:52:56 -0800 Received: from hqemhub01.nvidia.com ([172.20.12.94]) by hqnvupgp07.nvidia.com (PGP Universal service); Tue, 26 Nov 2013 16:51:00 -0800 X-PGP-Universal: processed; by hqnvupgp07.nvidia.com on Tue, 26 Nov 2013 16:51:00 -0800 Received: from hqnvemgw02.nvidia.com (172.16.227.111) by hqemhub01.nvidia.com (172.20.150.30) with Microsoft SMTP Server id 8.3.327.1; Tue, 26 Nov 2013 16:53:27 -0800 Received: from thelma.nvidia.com (Not Verified[172.16.212.77]) by hqnvemgw02.nvidia.com with MailMarshal (v7,1,2,5326) id ; Tue, 26 Nov 2013 16:53:27 -0800 Received: from tamien.nvidia.com (tamien.nvidia.com [172.17.186.57]) by thelma.nvidia.com (8.13.8+Sun/8.8.8) with ESMTP id rAR0rQ8U015802; Tue, 26 Nov 2013 16:53:26 -0800 (PST) Date: Tue, 26 Nov 2013 16:53:26 -0800 From: Paul Walmsley X-X-Sender: pwalmsley@tamien To: Kuninori Morimoto , Laurent Pinchart , Jean-Christophe Plagniol-Villard , Tomi Valkeinen , Guennadi Liakhovetski CC: Subject: [PATCH] fbdev: sh_mipi_dsi/sh_mobile_hdmi: clk_round_rate() can return a zero upon error Message-ID: User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Sender: linux-fbdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fbdev@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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 Cc: Kuninori Morimoto Cc: Laurent Pinchart Cc: Jean-Christophe Plagniol-Villard Cc: Tomi Valkeinen Cc: Guennadi Liakhovetski Acked-by: Laurent Pinchart Acked-by: Kuninori Morimoto --- 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 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; }