From: Guenter Roeck <linux@roeck-us.net>
To: "Sören Brinkmann" <soren.brinkmann@xilinx.com>
Cc: Rob Herring <rob.herring@calxeda.com>,
Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Stephen Warren <swarren@wwwdotorg.org>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Rob Landley <rob@landley.net>,
Mike Turquette <mturquette@linaro.org>,
Grant Likely <grant.likely@linaro.org>,
devicetree@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Hyun Kwon <hyunk@xilinx.com>
Subject: Re: [PATCH] clk: si570: Add a driver for SI570 oscillators
Date: Fri, 13 Sep 2013 12:48:22 -0700 [thread overview]
Message-ID: <20130913194822.GA12117@roeck-us.net> (raw)
In-Reply-To: <c6755ff6-104d-40fe-a753-0e165cff1e10@AM1EHSMHS004.ehs.local>
On Fri, Sep 13, 2013 at 10:26:04AM -0700, Sören Brinkmann wrote:
> On Fri, Sep 13, 2013 at 10:00:05AM -0700, Guenter Roeck wrote:
> > On Thu, Sep 12, 2013 at 05:55:37PM -0700, Soren Brinkmann wrote:
> > > Add a driver for SILabs 570, 571, 598, 599 programmable oscillators.
> > > The devices generate low-jitter clock signals and are reprogrammable via
> > > an I2C interface.
> > >
> > > Cc: Guenter Roeck <linux@roeck-us.net>
> > > Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
> > > ---
[ ... ]
> > > + /* Applying a new frequency can take up to 10ms */
> > > + usleep_range(10000, 10001);
> >
> > One microsecond range doesn't really buy anything besides forcing the compiler
> > to generate extra code. Why not just use 10000 ?
> That's due to checkpatch. I originally had 'msleep(10)' and checkpatch
> suggested to use 'usleep_range()'. Then I put
> 'usleep_range(10000, 10000)' and checkpatch suggested to not use the
> same values for MIN and MAX, so I added the 1 to the MAX value.
> If it is considered to be safe and okay to put in MIN=MAX=10000, I'll
> change it accordingly.
>
Guess what checkpatch means is to put in something resonable,
such as maybe (10000, 12000). (10000, 10001) just defeats checkpatch
which doesn't really provide any value. So either provide a reasonable
and acceptable range or use a single value.
[ ... ]
> > > + match = of_match_node(clk_si570_of_match, client->dev.of_node);
> > > + if (!match)
> > > + return -EINVAL;
> >
> > Seems unusual. Is this really needed ? It precludes the driver from being used
> > in a non-devicetree environment, for example. I would guess that there is a match
> > if client->dev.of_node is set. Otherwise, this code would be needed in every
> > driver supporting devicetree, and I don't recall seeing that.
> >
> > > + ddata = match->data;
> > > +
> > You should be able to get this information (ie the pointer to si570_device_data)
> > from id->driver_data. That would be more consistent with other i2c devices.
> I think I copied this approach from the other clk-si... driver. I'll
> do some research on your suggestion and change it. Could you point me to
> an example for your proposal?
>
drivers/hwmon/lm90.c or drivers/hwmon/max6697.c.
> > > +
> > > + if (of_property_read_u32(client->dev.of_node, "factory-fout",
> > > + &factory_fout)) {
> > > + dev_warn(&client->dev,
> > > + "DTS does not contain factory-fout, using default\n");
> >
> > Is that really worth a warning ?
> My understanding is, that the default output frequency is part-specific
> and required to calculate the frequency of the internal crystal. Hence,
> if you do not provide the correct default output frequency for your part, all
> frequencies generated by this driver will be off, unless the here used
> default matches your part. Please correct me if I'm wrong, otherwise, I
> think it's worth a warning.
>
Maybe the property should be mandatory ?
Thanks,
Guenter
next prev parent reply other threads:[~2013-09-13 19:48 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-13 0:55 [PATCH] SI570 clock driver Soren Brinkmann
[not found] ` <1379033737-30015-1-git-send-email-soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
2013-09-13 0:55 ` [PATCH] clk: si570: Add a driver for SI570 oscillators Soren Brinkmann
2013-09-13 17:00 ` Guenter Roeck
2013-09-13 17:26 ` Sören Brinkmann
2013-09-13 19:48 ` Guenter Roeck [this message]
[not found] ` <20130913194822.GA12117-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-09-13 21:05 ` Sören Brinkmann
2013-09-13 21:14 ` Guenter Roeck
[not found] ` <c6755ff6-104d-40fe-a753-0e165cff1e10-dAX9Bq04yCSXHCJdrdq+zrjjLBE8jN/0@public.gmane.org>
2013-09-14 8:01 ` Sebastian Hesselbarth
2013-09-16 16:34 ` Stephen Warren
2013-09-16 16:49 ` Guenter Roeck
[not found] ` <20130916164927.GB21352-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-09-16 16:59 ` Stephen Warren
[not found] ` <5237390E.5070203-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-09-16 17:35 ` Guenter Roeck
[not found] ` <20130916173540.GA3481-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
2013-09-16 18:37 ` Stephen Warren
2013-09-16 19:14 ` Guenter Roeck
2013-09-17 7:59 ` Sebastian Hesselbarth
2013-09-17 13:08 ` Guenter Roeck
2013-09-17 16:14 ` Stephen Warren
2013-09-18 20:41 ` Sören Brinkmann
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=20130913194822.GA12117@roeck-us.net \
--to=linux@roeck-us.net \
--cc=devicetree@vger.kernel.org \
--cc=grant.likely@linaro.org \
--cc=hyunk@xilinx.com \
--cc=ijc+devicetree@hellion.org.uk \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mturquette@linaro.org \
--cc=pawel.moll@arm.com \
--cc=rob.herring@calxeda.com \
--cc=rob@landley.net \
--cc=soren.brinkmann@xilinx.com \
--cc=swarren@wwwdotorg.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).