From: Guenter Roeck <linux@roeck-us.net>
To: Chris Brandt <Chris.Brandt@renesas.com>
Cc: Wim Van Sebroeck <wim@iguana.be>,
Sebastian Reichel <sre@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Simon Horman <horms@verge.net.au>,
Geert Uytterhoeven <geert@linux-m68k.org>,
"linux-renesas-soc@vger.kernel.org"
<linux-renesas-soc@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-watchdog@vger.kernel.org" <linux-watchdog@vger.kernel.org>
Subject: Re: [PATCH v4 1/3] watchdog: add rza_wdt driver
Date: Thu, 2 Mar 2017 09:11:48 -0800 [thread overview]
Message-ID: <20170302171148.GA28554@roeck-us.net> (raw)
In-Reply-To: <SG2PR06MB11656FE3E3CF8BAA1B8A86688A280@SG2PR06MB1165.apcprd06.prod.outlook.com>
On Thu, Mar 02, 2017 at 03:38:07PM +0000, Chris Brandt wrote:
> Hello Guenter,
>
> Thank you for your review!
>
>
> On Thursday, March 02, 2017, Guenter Roeck wrote:
> > > +/*
> > > + * Renesas RZ/A Series WDT Driver
> > > + *
> > > + * Copyright (C) 2017 Renesas Electronics America, Inc.
> > > + * Copyright (C) 2017 Chris Brandt
> > > + *
> > > + * This file is subject to the terms and conditions of the GNU
> > > +General Public
> > > + * License. See the file "COPYING" in the main directory of this
> > > +archive
> > > + * for more details.
> > > + *
> > > + *
> >
> > The above two lines are unnecessary.
>
> OK.
>
> #I'll assume you mean take out just the last sentence (2 lines), not both
> sentences (all 3 lines).
>
The two empty lines.
>
> > > +/* Watchdog Timer Registers */
> > > +#define WTCSR 0
> > > +#define WTCSR_MAGIC 0xA500
> > > +#define WTSCR_WT (1<<6)
> > > +#define WTSCR_TME (1<<5)
> >
> > BIT()
>
> OK.
>
> > > +#define WTSCR_CKS(i) i
> >
> > (i)
>
> OK.
>
>
> > > +#define WRCSR_CLEAR_WOVF 0xA500 /* special value */
> >
> > Please use
> > #define SOMETHING<tab>value
> > throughout and make sure value is aligned.
>
> OK.
>
> > > + rate = clk_get_rate(priv->clk);
> > > + if (!rate)
> > > + return -ENOENT;
> > > +
> > > + /* Assume slowest clock rate possible (CKS=7) */
> > > + rate /= 16384;
> > > +
> >
> > The rate check should probably be here to avoid situations where rate <
> > 16384.
>
> Do I need that if it's technically not possible to have a 'rate' less than 25MHz?
>
> These watchdogs HW are always feed directly from the peripheral clock and there
> is no such thing as a 16kHz peripheral block an any Renesas SoC.
>
Following that line of argument, can clk_get_rate() ever return 0 ?
>
> > > + priv->wdev.info = &rza_wdt_ident,
> > > + priv->wdev.ops = &rza_wdt_ops,
> > > + priv->wdev.parent = &pdev->dev;
> > > +
> > > + /*
> > > + * Since the max possible timeout of our 8-bit count register is
> > less
> > > + * than a second, we must use max_hw_heartbeat_ms.
> > > + */
> > > + priv->wdev.max_hw_heartbeat_ms = (1000 * U8_MAX)/rate;
> >
> > space before and after /
>
> OK.
> #Funny because checkpatch.pl said it didn't like a space on one side but
> not the other, so I choose no spaces and it was happy. I'm way below 80
> characters for that line so it doesn't matter to me.
>
That would be a bug in checkpatch. coding style, chapter 3.1, still applies.
Or at least I hope so.
>
> > > + dev_info(&pdev->dev, "max hw timeout of %dms\n",
> > > + priv->wdev.max_hw_heartbeat_ms);
> >
> > dev_dbg ?
>
> OK.
> #I guess we don't need to see that info on every boot.
>
>
> > > +
> > > + priv->wdev.min_timeout = 1;
> > > + priv->wdev.timeout = DEFAULT_TIMEOUT;
> > > +
> >
> > Add watchdog_init_timeout(&priv->wdev, 0, &pdev->dev); to optionally get
> > the timeout from dt ?
>
> OK. Good idea.
>
> > > + platform_set_drvdata(pdev, priv);
> > > + watchdog_set_drvdata(&priv->wdev, priv);
> > > +
> > > + ret = watchdog_register_device(&priv->wdev);
> >
> > devm_watchdog_register_device()
>
> OK.
>
>
> > > + if (ret < 0)
> > > + return ret;
> > > +
> > > + return 0;
Also just
return ret;
> > > +}
> > > +
> > > +static int rza_wdt_remove(struct platform_device *pdev) {
> > > + struct rza_wdt *priv = platform_get_drvdata(pdev);
> > > +
> > > + watchdog_unregister_device(&priv->wdev);
> > > + iounmap(priv->base);
> >
> > iounmap is unnecessary (and wrong).
>
> Anything mapped with devm_ioremap_resource() automatically gets unmapped
> when the drive gets unloaded?
That is the point of devm_ functions. It also means that you won't need
a remove function if you also use devm_watchdog_register_device().
Guenter
next prev parent reply other threads:[~2017-03-02 18:07 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-02 13:57 [PATCH v4 0/3] watchdog: add wdt and reset for renesas r7s72100 Chris Brandt
2017-03-02 13:57 ` Chris Brandt
2017-03-02 13:57 ` [PATCH v4 1/3] watchdog: add rza_wdt driver Chris Brandt
2017-03-02 13:57 ` Chris Brandt
2017-03-02 14:56 ` Guenter Roeck
2017-03-02 14:56 ` Guenter Roeck
2017-03-02 15:38 ` Chris Brandt
2017-03-02 15:38 ` Chris Brandt
2017-03-02 17:11 ` Guenter Roeck [this message]
2017-03-02 17:31 ` Chris Brandt
2017-03-02 17:31 ` Chris Brandt
2017-03-02 17:48 ` Guenter Roeck
2017-03-02 17:48 ` Guenter Roeck
2017-03-02 18:22 ` Chris Brandt
2017-03-02 18:22 ` Chris Brandt
2017-03-02 18:39 ` Guenter Roeck
2017-03-02 18:39 ` Guenter Roeck
2017-03-03 10:16 ` Geert Uytterhoeven
2017-03-03 10:16 ` Geert Uytterhoeven
2017-03-02 13:57 ` [PATCH v4 2/3] watchdog: renesas-wdt: add support for rza Chris Brandt
2017-03-02 13:57 ` [PATCH v4 3/3] ARM: dts: r7s72100: Add watchdog timer Chris Brandt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170302171148.GA28554@roeck-us.net \
--to=linux@roeck-us.net \
--cc=Chris.Brandt@renesas.com \
--cc=devicetree@vger.kernel.org \
--cc=geert@linux-m68k.org \
--cc=horms@verge.net.au \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=robh+dt@kernel.org \
--cc=sre@kernel.org \
--cc=wim@iguana.be \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.