From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 17B81C3276E for ; Thu, 2 Jan 2020 23:00:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D563520848 for ; Thu, 2 Jan 2020 23:00:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578006027; bh=vArQ7SqQAU1H15zmxOhNazLlFgEn8vZiQwMCsvmJwEU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=HG0YZP/y0Q24Q4gf6obEiL7e4hQywljq7t7sknGA8sX1Ku689T/PG1RlhUT6ThO7r 7K2HoiHlN7rjbcdHEb5Z1VDQvkbxvtG5RqNeXG8zFG4+7TVRQ/yn+z6vh9oaOAUNJ+ r56qwzEBhADsd+8vrv9OYBiZSIsW7p+YlBHfPNw8= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727780AbgABXAT (ORCPT ); Thu, 2 Jan 2020 18:00:19 -0500 Received: from mail.kernel.org ([198.145.29.99]:52456 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727183AbgABWM6 (ORCPT ); Thu, 2 Jan 2020 17:12:58 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.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 E7A4C222C3; Thu, 2 Jan 2020 22:12:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578003177; bh=vArQ7SqQAU1H15zmxOhNazLlFgEn8vZiQwMCsvmJwEU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MNjruq6/sjcIFuBXVz4L3+hoZ/bh8BDTdAVToBJlZDjiLcDmpi8pK2uWxxhn4yABC w21sAh5cOItXa0BHC3XZXCmQO+pAvCid1Z9QGydsHyLnYz7lYn2cWsQz/sT9TnvWUe uQBITIfKqT7MxSnRFyQ9U0nTL2LQD/xQO47/wzO0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Michael Hennerich , Alexandru Ardelean , Stephen Boyd , Sasha Levin Subject: [PATCH 5.4 051/191] clk: clk-gpio: propagate rate change to parent Date: Thu, 2 Jan 2020 23:05:33 +0100 Message-Id: <20200102215835.373104247@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200102215829.911231638@linuxfoundation.org> References: <20200102215829.911231638@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Michael Hennerich [ Upstream commit fc59462c5ce60da119568fac325c92fc6b7c6175 ] For an external clock source, which is gated via a GPIO, the rate change should typically be propagated to the parent clock. The situation where we are requiring this propagation, is when an external clock is connected to override an internal clock (which typically has a fixed rate). The external clock can have a different rate than the internal one, and may also be variable, thus requiring the rate propagation. This rate change wasn't propagated until now, and it's unclear about cases where this shouldn't be propagated. Thus, it's unclear whether this is fixing a bug, or extending the current driver behavior. Also, it's unsure about whether this may break any existing setups; in the case that it does, a device-tree property may be added to disable this flag. Signed-off-by: Michael Hennerich Signed-off-by: Alexandru Ardelean Link: https://lkml.kernel.org/r/20191108071718.17985-1-alexandru.ardelean@analog.com Signed-off-by: Stephen Boyd Signed-off-by: Sasha Levin --- drivers/clk/clk-gpio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/clk-gpio.c b/drivers/clk/clk-gpio.c index 9d930edd6516..13304cf5f2a8 100644 --- a/drivers/clk/clk-gpio.c +++ b/drivers/clk/clk-gpio.c @@ -280,7 +280,7 @@ static int gpio_clk_driver_probe(struct platform_device *pdev) else clk = clk_register_gpio_gate(&pdev->dev, node->name, parent_names ? parent_names[0] : NULL, gpiod, - 0); + CLK_SET_RATE_PARENT); if (IS_ERR(clk)) return PTR_ERR(clk); -- 2.20.1