Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751831AbdGSFEr (ORCPT ); Wed, 19 Jul 2017 01:04:47 -0400 Received: from mail-wr0-f195.google.com ([209.85.128.195]:35281 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751123AbdGSFEq (ORCPT ); Wed, 19 Jul 2017 01:04:46 -0400 Subject: Re: [PATCH 1/9] ARM: ep93xx: allow NULL clock for clk_get_rate To: Jonas Gorski Cc: Hartley Sweeten , Russell King , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Olof Johansson , Arnd Bergmann References: <20170718101730.2541-1-jonas.gorski@gmail.com> <20170718101730.2541-2-jonas.gorski@gmail.com> From: Alexander Sverdlin Message-ID: Date: Wed, 19 Jul 2017 07:04:40 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <20170718101730.2541-2-jonas.gorski@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1206 Lines: 33 On 18/07/17 12:17, Jonas Gorski wrote: > Make the behaviour of clk_get_rate consistent with common clk's > clk_get_rate by accepting NULL clocks as parameter. Some device > drivers rely on this, and will cause an OOPS otherwise. > > Fixes: 1d81eedb8f6c ("[ARM] 3634/1: ep93xx: initial implementation of the clk_* API") > Cc: Hartley Sweeten > Cc: Alexander Sverdlin > Cc: Russell King > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > Reported-by: Mathias Kresin > Signed-off-by: Jonas Gorski Acked-by: Alexander Sverdlin > --- > arch/arm/mach-ep93xx/clock.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/arm/mach-ep93xx/clock.c b/arch/arm/mach-ep93xx/clock.c > index 39ef3b613912..f0768befafe8 100644 > --- a/arch/arm/mach-ep93xx/clock.c > +++ b/arch/arm/mach-ep93xx/clock.c > @@ -316,6 +316,9 @@ static unsigned long get_uart_rate(struct clk *clk) > > unsigned long clk_get_rate(struct clk *clk) > { > + if (!clk) > + return 0; > + > if (clk->get_rate) > return clk->get_rate(clk);