Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp2172872ybh; Fri, 13 Mar 2020 14:13:42 -0700 (PDT) X-Google-Smtp-Source: ADFU+vvoLiHvfzfq0MT3at+8M+vLoRm9XoRTEC10hJ/2ny09mIo36UCm4gBpCa5i/1rc82/GQhyU X-Received: by 2002:aca:5508:: with SMTP id j8mr8843663oib.71.1584134022705; Fri, 13 Mar 2020 14:13:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584134022; cv=none; d=google.com; s=arc-20160816; b=OZQwQ9mdgD1sch/xYgrSKO6d88Ne8w8UlkTK0oX1iWZ9amX46c51M5ixyYARTpA3fW LTrlVdgXpKtblPSvMEfZ4GoFD0cEWZ6iN0PfyIs9p/0vCok6cAgBxQuO7970UYKRULSn BVVT3xF9oaUM15jLLaVJGEI36mt6BXC5yX9JYKA9g7MxGfQkLuFVCg1aCdKmsW9mJU4z 98Gqptf6Pko3JXYi6pZ8xSvE1shlYrHcgJRrWHER5rux9JvlE56PBEhIEQGYlaw7T76Z +yQWpW0jo5OZmLWsJgEwmtwWhTX6Iv3UaOUavOYqZ8bWFi6/+evFW4SM/DXqiKXqvRYs 9J1w== 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=T1LTmeIXDQ12OAGxjUDtbgDYnW37y+lrjj5BNRHKx10=; b=uTj8Ujdb0UxDgc7UGf25/o4kwgEEW+s23k6wENXtzmBcWamBQNj9dl2v4y6P8AUoxI RAyKA7NR44QLeL7TAoXMAclhM2sdcOzrV7rVAL8h3uIs6GSACs3SUWVbNf/bVCXUc+9Z Wc9GUMWa1iDZzbWwB8gLNGKP4TVMvjHDm07oTutqn3gnUEXrGCwMtsc3Jv5frn2Cj4mG DCZJtRecPDWs6w22XdAwmVhlmPwPE3agFm5cU7dohtAjhcxaCsCvqbOAyNm4hdsEJq9R HLvLAwkLREkBsSzKMdV4LJ2GQBhq0DLCj3EHKgwRY8y3gjmuAtZ+tQmYU3coS7+e8zhO Q/7Q== 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 65si5358249oif.14.2020.03.13.14.13.24; Fri, 13 Mar 2020 14:13:42 -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 S1727455AbgCMVMy (ORCPT + 99 others); Fri, 13 Mar 2020 17:12:54 -0400 Received: from relmlor1.renesas.com ([210.160.252.171]:33087 "EHLO relmlie5.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726681AbgCMVMx (ORCPT ); Fri, 13 Mar 2020 17:12:53 -0400 X-IronPort-AV: E=Sophos;i="5.70,550,1574089200"; d="scan'208";a="41835038" Received: from unknown (HELO relmlir6.idc.renesas.com) ([10.200.68.152]) by relmlie5.idc.renesas.com with ESMTP; 14 Mar 2020 06:12:52 +0900 Received: from localhost.localdomain (unknown [10.226.36.204]) by relmlir6.idc.renesas.com (Postfix) with ESMTP id 1541B40E09D5; Sat, 14 Mar 2020 06:12:47 +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 , Laurent Pinchart , Geert Uytterhoeven 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 v3 2/4] media: i2c: ov5645: Switch to assigned-clock-rates Date: Fri, 13 Mar 2020 21:12:32 +0000 Message-Id: <1584133954-6953-3-git-send-email-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1584133954-6953-1-git-send-email-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <1584133954-6953-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 | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/drivers/media/i2c/ov5645.c b/drivers/media/i2c/ov5645.c index a6c17d1..4fbabf3 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,12 +1095,18 @@ 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); - 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) { + ret = clk_set_rate(ov5645->xclk, xclk_freq); + if (ret) { + dev_err(dev, "could not set xclk frequency\n"); + return ret; + } } + xclk_freq = clk_get_rate(ov5645->xclk); /* external clock must be 24MHz, allow 1% tolerance */ if (xclk_freq < 23760000 || xclk_freq > 24240000) { dev_err(dev, "external clock frequency %u is not supported\n", @@ -1107,12 +1114,6 @@ 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; - } - for (i = 0; i < OV5645_NUM_SUPPLIES; i++) ov5645->supplies[i].supply = ov5645_supply_name[i]; -- 2.7.4