Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp953636ybh; Thu, 12 Mar 2020 14:14:03 -0700 (PDT) X-Google-Smtp-Source: ADFU+vtwy0mSuwc5b2/nl8cRhY/elwHme6Ol1AgjNuzN9zuBHRWeVr9VKLSdXuVKL74ADeC3Imzs X-Received: by 2002:a05:6830:19ec:: with SMTP id t12mr1674040ott.24.1584047643693; Thu, 12 Mar 2020 14:14:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584047643; cv=none; d=google.com; s=arc-20160816; b=lqwfHH8msRN7QDoIPNmFDRCxq6/2+G9iLDiVDNzvwtd44EjFjqQDPV0IAsnHwqB3y3 PFJNlxLbc9O8kLEamT5xwrTUMfrO9DInCRWJIrkByfP4sX16UMkeVpKRIBoA61KoIPpb w7pUIrA6ie9VYpznkMSlm2cWWSiUSLS8wc4sWtyTezH5g5vFAaF2BaObqfZ0umFHBgQT c0Dk2lL7sgpjI9B6aLCo5dSHtDVx8rlaW5QJsBj9Jk+8ycLgZ6h75ppMMy9C/VFAwJ7L /xp402VKm8/b4jTebcm80yR6Qi+mMSqAtGbuOEEjO8OC+Pyrbk+Wv3Lz5uskY7+5DmSu qLGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=OF3NKP331QO/ZXGWkDSNjJrK6VpmaeXSJqt3O6OeZIY=; b=FTEPiDqc5Y3L4PbMWdpIS/Mu2xaut7VFGq7K3xLzb5O4eVqEzQnVnmH5sCW/xb1WID 5wtu3I6uRhm58eLm70sF3RQIOrLfsE9TuahsES8opDWLGRm6sIpNPNpzOHvlt8oFgja5 WO5VS4KqV4m/h86fPx2FAA+zhx96g4XgMk0OCo4F1DJlYgMDtjH2EvJg2zyyxhiriB/5 quHPiveyTj22U+pNwZ3Xw92gOL4voeI03aqy2CCOwbTp8hMAgOSYju15wzCTYut5C402 krFWY8OOiJ2icS8b43FB4VeAi3NEH13BmmJIhSXyAK1YQn0RwyIEIqOITMJWA/iENXN2 2Hgw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q5si2088884otn.181.2020.03.12.14.13.51; Thu, 12 Mar 2020 14:14:03 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726731AbgCLVNG (ORCPT + 99 others); Thu, 12 Mar 2020 17:13:06 -0400 Received: from relmlor2.renesas.com ([210.160.252.172]:33019 "EHLO relmlie6.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726312AbgCLVNF (ORCPT ); Thu, 12 Mar 2020 17:13:05 -0400 X-IronPort-AV: E=Sophos;i="5.70,546,1574089200"; d="scan'208";a="41514819" Received: from unknown (HELO relmlir5.idc.renesas.com) ([10.200.68.151]) by relmlie6.idc.renesas.com with ESMTP; 13 Mar 2020 06:13:03 +0900 Received: from localhost.localdomain (unknown [10.226.36.204]) by relmlir5.idc.renesas.com (Postfix) with ESMTP id 4102B400C095; Fri, 13 Mar 2020 06:13:00 +0900 (JST) From: Lad Prabhakar To: Mauro Carvalho Chehab , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Rob Herring , Mark Rutland , Sakari Ailus , NXP Linux Team , Magnus Damm , Ezequiel Garcia Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Lad Prabhakar , Fabio Estevam , linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 2/3] media: i2c: ov5645: Switch to assigned-clock-rates Date: Thu, 12 Mar 2020 21:12:31 +0000 Message-Id: <1584047552-20166-3-git-send-email-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1584047552-20166-1-git-send-email-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <1584047552-20166-1-git-send-email-prabhakar.mahadev-lad.rj@bp.renesas.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch switches to assigned-clock-rates for specifying the clock rate. The clk-conf.c internally handles setting the clock rate when assigned-clock-rates is passed. The driver now sets the clock frequency only if the deprecated property clock-frequency is defined instead assigned-clock-rates, this is to avoid breakage with existing DT binaries. Signed-off-by: Lad Prabhakar --- drivers/media/i2c/ov5645.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/drivers/media/i2c/ov5645.c b/drivers/media/i2c/ov5645.c index a6c17d1..6cd16c5 100644 --- a/drivers/media/i2c/ov5645.c +++ b/drivers/media/i2c/ov5645.c @@ -1055,6 +1055,7 @@ static int ov5645_probe(struct i2c_client *client) struct device_node *endpoint; struct ov5645 *ov5645; u8 chip_id_high, chip_id_low; + bool set_clk = false; unsigned int i; u32 xclk_freq; int ret; @@ -1094,10 +1095,17 @@ static int ov5645_probe(struct i2c_client *client) return PTR_ERR(ov5645->xclk); } - ret = of_property_read_u32(dev->of_node, "clock-frequency", &xclk_freq); + ret = of_property_read_u32(dev->of_node, "assigned-clock-rates", + &xclk_freq); if (ret) { - dev_err(dev, "could not get xclk frequency\n"); - return ret; + /* check if deprecated property clock-frequency is defined */ + ret = of_property_read_u32(dev->of_node, "clock-frequency", + &xclk_freq); + if (ret) { + dev_err(dev, "could not get xclk frequency\n"); + return ret; + } + set_clk = true; } /* external clock must be 24MHz, allow 1% tolerance */ @@ -1107,10 +1115,12 @@ static int ov5645_probe(struct i2c_client *client) return -EINVAL; } - ret = clk_set_rate(ov5645->xclk, xclk_freq); - if (ret) { - dev_err(dev, "could not set xclk frequency\n"); - return ret; + if (set_clk) { + ret = clk_set_rate(ov5645->xclk, xclk_freq); + if (ret) { + dev_err(dev, "could not set xclk frequency\n"); + return ret; + } } for (i = 0; i < OV5645_NUM_SUPPLIES; i++) -- 2.7.4