From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751592AbcITEfw (ORCPT ); Tue, 20 Sep 2016 00:35:52 -0400 Received: from bh-25.webhostbox.net ([208.91.199.152]:50350 "EHLO bh-25.webhostbox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750708AbcITEfu (ORCPT ); Tue, 20 Sep 2016 00:35:50 -0400 Subject: Re: [PATCH 3/4] watchdog: sa11x0/pxa: get rid of get_clock_tick_rate To: Robert Jarzmik , Daniel Mack , Haojian Zhuang , Russell King , Michael Turquette , Stephen Boyd , Daniel Lezcano , Thomas Gleixner , Wim Van Sebroeck References: <1474312335-20997-1-git-send-email-robert.jarzmik@free.fr> <1474312335-20997-4-git-send-email-robert.jarzmik@free.fr> Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, linux-watchdog@vger.kernel.org From: Guenter Roeck Message-ID: Date: Mon, 19 Sep 2016 21:35:46 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <1474312335-20997-4-git-send-email-robert.jarzmik@free.fr> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Authenticated_sender: linux@roeck-us.net X-OutGoing-Spam-Status: No, score=-1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - bh-25.webhostbox.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - roeck-us.net X-Get-Message-Sender-Via: bh-25.webhostbox.net: authenticated_id: linux@roeck-us.net X-Authenticated-Sender: bh-25.webhostbox.net: linux@roeck-us.net X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/19/2016 12:12 PM, Robert Jarzmik wrote: > The OS timer rate used for the watchdog can now be fetched from the > standard clock API. This will remove the last user of > get_clock_tick_rate() in both pxa and sa11x0 architectures. > > Signed-off-by: Robert Jarzmik Reviewed-by: Guenter Roeck Tested-by: Guenter Roeck > --- > drivers/watchdog/sa1100_wdt.c | 24 +++++++++++++++++++++++- > 1 file changed, 23 insertions(+), 1 deletion(-) > > diff --git a/drivers/watchdog/sa1100_wdt.c b/drivers/watchdog/sa1100_wdt.c > index e1d39a1e9628..8965e3f536c3 100644 > --- a/drivers/watchdog/sa1100_wdt.c > +++ b/drivers/watchdog/sa1100_wdt.c > @@ -22,6 +22,7 @@ > > #include > #include > +#include > #include > #include > #include > @@ -155,12 +156,27 @@ static struct miscdevice sa1100dog_miscdev = { > }; > > static int margin __initdata = 60; /* (secs) Default is 1 minute */ > +static struct clk *clk; > > static int __init sa1100dog_init(void) > { > int ret; > > - oscr_freq = get_clock_tick_rate(); > + clk = clk_get(NULL, "OSTIMER0"); > + if (IS_ERR(clk)) { > + pr_err("SA1100/PXA2xx Watchdog Timer: clock not found: %d\n", > + (int) PTR_ERR(clk)); > + return PTR_ERR(clk); > + } > + > + ret = clk_prepare_enable(clk); > + if (ret) { > + pr_err("SA1100/PXA2xx Watchdog Timer: clock failed to prepare+enable: %d\n", > + ret); > + goto err; > + } > + > + oscr_freq = clk_get_rate(clk); > > /* > * Read the reset status, and save it for later. If > @@ -176,11 +192,17 @@ static int __init sa1100dog_init(void) > pr_info("SA1100/PXA2xx Watchdog Timer: timer margin %d sec\n", > margin); > return ret; > +err: > + clk_disable_unprepare(clk); > + clk_put(clk); > + return ret; > } > > static void __exit sa1100dog_exit(void) > { > misc_deregister(&sa1100dog_miscdev); > + clk_disable_unprepare(clk); > + clk_put(clk); > } > > module_init(sa1100dog_init); >