From patchwork Thu Jan 2 22:06:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 234523 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 C6B5CC3276D for ; Thu, 2 Jan 2020 22:55:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9B7A221835 for ; Thu, 2 Jan 2020 22:55:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578005713; bh=mhhFsvZD7JJ4GBURdn8QBsD1PYSlO46h7vMKzJUHME0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=ZZpbQzVsRP1uxSu/fGhsl3C80BGVe2xxh80eGmF8GbLE/8NkyX71/JrJBlhDmZh/Y Zja0j2NlP7Sca5b8chWSj3QHP0U5bPy3LatDO3VR+uFfEThqxQnMzJHU7QDrZ0rvzf 243kchv2fyeCcA4JmZsAc5cvXLu/bTK48RIvUPPE= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728638AbgABWTn (ORCPT ); Thu, 2 Jan 2020 17:19:43 -0500 Received: from mail.kernel.org ([198.145.29.99]:36176 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727944AbgABWTm (ORCPT ); Thu, 2 Jan 2020 17:19:42 -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 5AB2121582; Thu, 2 Jan 2020 22:19:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578003581; bh=mhhFsvZD7JJ4GBURdn8QBsD1PYSlO46h7vMKzJUHME0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=B5XQwFE7b4OVHlTHjFn/YQpb4R0xZUd8ekzPfPj0dGRSAOjtmDAsmxHUAJZyLF70Y jJghbntW0XbSNl3qbseF/HC6gHI9zbQB03ck0ckXiekrkiSTHUfZOASsTvA2I4xm/Q aBs6GDGUfRYyEVXky9FbgCs1nLl1dJUyG+NtNGbA= 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 4.19 029/114] clk: clk-gpio: propagate rate change to parent Date: Thu, 2 Jan 2020 23:06:41 +0100 Message-Id: <20200102220032.059523763@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200102220029.183913184@linuxfoundation.org> References: <20200102220029.183913184@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 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 40af4fbab4d2..af9cc00d2d92 100644 --- a/drivers/clk/clk-gpio.c +++ b/drivers/clk/clk-gpio.c @@ -248,7 +248,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);