Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3040194imu; Mon, 19 Nov 2018 09:43:40 -0800 (PST) X-Google-Smtp-Source: AFSGD/VKAPAbWncZaHsSJKqTs/5TxvdloZGQ2jGucxmOYY2kUUuXC62Aj879GtmYZtWvp+3Ve4H6 X-Received: by 2002:a17:902:7481:: with SMTP id h1mr6954548pll.341.1542649419991; Mon, 19 Nov 2018 09:43:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542649419; cv=none; d=google.com; s=arc-20160816; b=NHOElXqpyfdF0x/LStDjRjyKI6T11Qg41o0Pkm+LvIk0BfN8AsBe3pRGf5M72f0ZlV XCYKmxPSe364gbXzvlABGa5R7WVSImohc3GE0KK4ICqTciSEUXnhsDHX/LCvKGemcdsq PF4nkF9dd9mARkocmBM3HwwJFf+hpSR+xYzKiXdl60Loxq5bLIiERTaslqLV2t0VK4A5 P7NdX3w4mHZF2OhIRO/B2CXCaC61r4pFHpbU+2PH5oTdX1i1VqRCw9h9Z0vYUrLhMQw0 QdDVcX/crdRNJFw2gT8jL/StV/R5FxIPwEIdrAZaOJLP3yXnK+jHp0gXW+MA+Zg6oN6d eaXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=hCJ4LG/dLTPy/7a/oU6hN8ZtL8Z38QUFDFrtu81KNgI=; b=YLQVGnEA2PT7glRv2pYnHfh6LQqS1ecsB/XDiVXsTzYuauqF8v0eAQBOnO+AezTRc2 uANC4llZfuZZ3gvsvrZOk+R0Z3wskpsqKOdfDTDBHFcwAdnAWRWwOUwikt1mLU7q/T+E YJ81+DYqjIENeSZVLtcMp4Jz1/D6AMCyhcH4ZqH2L7yVzsnyLgmNKyXgUPQaLlzyeqOe FhM7NisQffoT9IG+wDopkDxnAr8b2CSSe6qLn+iMpSTcI7cg1/VBMFREcA0udTCnF0s6 sGwtEvl2JJG3sVJehdLZKnQa1uFOnaR6vWnj7Z6jXVw+zCUppsEiu/8bTDu9FaMykHWq dEMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=TuDcYZgy; 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 1-v6si17094943plx.278.2018.11.19.09.43.25; Mon, 19 Nov 2018 09:43:39 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=default header.b=TuDcYZgy; 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 S2389503AbeKTDMz (ORCPT + 99 others); Mon, 19 Nov 2018 22:12:55 -0500 Received: from mail.kernel.org ([198.145.29.99]:49400 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387988AbeKTDMy (ORCPT ); Mon, 19 Nov 2018 22:12:54 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 22CBB2089F; Mon, 19 Nov 2018 16:48:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1542646121; bh=lNnNIFTlXurI0Ic630M4HX/1RIuiURrhmHdhXEfQC4Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TuDcYZgy7Frzo/6hgWd2+9UWumaVCjOJzhJ2UMMccsrqHmc+ItRwCo0R+9iLO/zGu 98tY8BNQIOEyWLcwcDgF86+4w/pcA7uCjniEDvFxv9aDVaVzm+5Uk+kpNp1YFFyGhC QxKlEJi9LuJCPdTNQVs1fVAQIieO9vT9EjAn5Hlw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lubomir Rintel , Sakari Ailus , Mauro Carvalho Chehab Subject: [PATCH 4.14 045/124] media: ov7670: make "xclk" clock optional Date: Mon, 19 Nov 2018 17:28:19 +0100 Message-Id: <20181119162622.375641329@linuxfoundation.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181119162612.951907286@linuxfoundation.org> References: <20181119162612.951907286@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Lubomir Rintel commit 786fa584eda86d6598db3b87c61dc81f68808d11 upstream. When the "xclk" clock was added, it was made mandatory. This broke the driver on an OLPC plaform which doesn't know such clock. Make it optional. Tested on a OLPC XO-1 laptop. Fixes: 0a024d634cee ("[media] ov7670: get xclk") Cc: stable@vger.kernel.org # 4.11+ Signed-off-by: Lubomir Rintel Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Greg Kroah-Hartman --- drivers/media/i2c/ov7670.c | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) --- a/drivers/media/i2c/ov7670.c +++ b/drivers/media/i2c/ov7670.c @@ -1612,23 +1612,29 @@ static int ov7670_probe(struct i2c_clien info->pclk_hb_disable = true; } - info->clk = devm_clk_get(&client->dev, "xclk"); - if (IS_ERR(info->clk)) - return PTR_ERR(info->clk); - ret = clk_prepare_enable(info->clk); - if (ret) - return ret; + info->clk = devm_clk_get(&client->dev, "xclk"); /* optional */ + if (IS_ERR(info->clk)) { + ret = PTR_ERR(info->clk); + if (ret == -ENOENT) + info->clk = NULL; + else + return ret; + } + if (info->clk) { + ret = clk_prepare_enable(info->clk); + if (ret) + return ret; + info->clock_speed = clk_get_rate(info->clk) / 1000000; + if (info->clock_speed < 10 || info->clock_speed > 48) { + ret = -EINVAL; + goto clk_disable; + } + } ret = ov7670_init_gpio(client, info); if (ret) goto clk_disable; - info->clock_speed = clk_get_rate(info->clk) / 1000000; - if (info->clock_speed < 10 || info->clock_speed > 48) { - ret = -EINVAL; - goto clk_disable; - } - /* Make sure it's an ov7670 */ ret = ov7670_detect(sd); if (ret) {