devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Arnaud Ebalard <arno@natisbad.org>
Cc: Andrew Lunn <andrew@lunn.ch>, Jean Delvare <khali@linux-fr.org>,
	Grant Likely <grant.likely@secretlab.ca>,
	Rob Herring <rob.herring@calxeda.com>,
	lm-sensors@lm-sensors.org, devicetree-discuss@lists.ozlabs.org,
	Rob Landley <rob@landley.net>,
	linux-doc@vger.kernel.org,
	Linux ARM Kernel Mailing List
	<linux-arm-kernel@lists.infradead.org>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Jason Cooper <jason@lakedaemon.net>,
	Simon Guinot <simon.guinot@sequanux.org>,
	Olivier Mouchet <olivier.mouchet@gmail.com>
Subject: Re: [PATCHv1 1/3] hwmon: Add support for GMT G762/G763 PWM fan controller
Date: Wed, 24 Apr 2013 06:38:56 -0700	[thread overview]
Message-ID: <20130424133856.GA18851@roeck-us.net> (raw)
In-Reply-To: <87obd4wb4e.fsf@natisbad.org>

On Wed, Apr 24, 2013 at 11:06:57AM +0200, Arnaud Ebalard wrote:
> Hi Andrew,
> 
> Andrew Lunn <andrew@lunn.ch> writes:
> 
> >> +struct g762_data {
> >> +	struct i2c_client *client;
> >> +	struct device *hwmon_dev;
> >> +
> >> +	/* update mutex */
> >> +	struct mutex update_lock;
> >> +
> >> +	/* board specific parameters. */
> >> +	u32 clk; /* default 32kHz */
> >> +
> >> +	/* g762 register cache */
> >> +	bool valid;
> >> +	unsigned long last_updated; /* in jiffies */
> >> +
> >> +	u8 set_cnt;  /* RPM cmd in close loop control */
> >> +	u8 act_cnt;  /* formula: cnt = (CLK * 30)/(rpm * P) */
> >> +	u8 fan_sta;  /* bit 0: set when actual fan speed is more than
> >> +		      *        25% outside requested fan speed
> >> +		      * bit 1: set when no transition occurs on fan
> >> +		      *        pin for 0.7s
> >> +		      */
> >> +	u8 set_out;  /* output voltage/PWM duty in open loop control */
> >> +	u8 fan_cmd1; /*   0: FG_PLS_ID0 FG pulses count per revolution
> >> +		      *      0: 2 counts per revolution
> >> +		      *      1: 4 counts per revolution
> >> +		      *   1: PWM_POLARITY 1: negative_duty
> >> +		      *                   0: positive_duty
> >> +		      * 2,3: [FG_CLOCK_ID0, FG_CLK_ID1]
> >> +		      *         00: Divide fan clock by 1
> >> +		      *         01: Divide fan clock by 2
> >> +		      *         10: Divide fan clock by 4
> >> +		      *         11: Divide fan clock by 8
> >> +		      *   4: FAN_MODE 1:close-loop, 0:open-loop
> >> +		      *   5: OUT_MODE 1:PWM, 0:DAC
> >> +		      *   6: DET_FAN_OOC enable "fan ooc" status
> >> +		      *   7: DET_FAN_FAIL enable "fan fail" status
> >> +		      */
> >> +	u8 fan_cmd2; /* 0,1: FAN_STARTV 0,1,2,3 -> 0,32,64,96 dac_code
> >> +		      * 2,3: FG_GEAR_MODE
> >> +		      *         00: div = 1
> >> +		      *         01: div = 2
> >> +		      *         10: div = 4
> >> +		      *   4: Mask ALERT# (g763 only)
> >> +		      */
> >
> > You could consider using regmap for holding this cache.
> >
> > http://elceurope2012.sched.org/event/100619b669ce5767341624253aa03659?iframe=no&w=900&sidebar=yes&bg=no#.UXdspHLQ5jM
> >
> > http://elinux.org/ELCE_Europe_2012_Presentations
> 
> Interesting. As I am not yet familiar w/ regmap I would prefer having
> the driver accepted during merge window with current data structure and
> then convert it to regmap. But I will take a look (e.g. will study
> fca1dd03 for instance). Thanks for the pointers. 
> 
I have not had time for a detailed review, but adding regmap support will not be
a requirement.

Note that it is too late for 3.10, so the driver will have to wait for 3.11.

> >> +/*
> >> + * Helpers to import hardware characteristics from .dts file and overload
> >> + * default config values.
> >> + */
> >> +
> >> +#ifdef CONFIG_OF
> >
> > Can the driver be used without device tree? Would it be simpler to
> >  just add depends OF in the Kconfig entry?
> 
> It can be used if the default params (or those configured by u-boot I
> guess) fit your needs. I think it would be fairly easy to extend the
> driver later to expose g762_config struct to allow parameters to be set
> w/o using OF. If someone wants to do that, I think it is better to not
> depend on OF in Kconfig at the moment but I have not strong argument
> other that that one. I'll let you decide.
> 
Agreed. As long as there are major platforms not supporting device tree,
and as long as device tree overlays are not supported, it must not be made
mandatory. Especially for I2C and SPI devices I reserve the right to be able
test the hardware on an X86 system and not require a reboot to do so.

Guenter

  parent reply	other threads:[~2013-04-24 13:38 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-18 22:27 [RFC,PATCHv0 0/3] Add support for GMT G762/G763 PWM fan controller Arnaud Ebalard
2013-04-18 22:28 ` [PATCH 1/3] Add support for GMT G72/G763 " Arnaud Ebalard
2013-04-19  4:35   ` Guenter Roeck
2013-04-19  5:34     ` Arnaud Ebalard
2013-04-23 22:05     ` [PATCHv1 0/3] hwmon: " Arnaud Ebalard
2013-04-23 22:05       ` [PATCHv1 1/3] hwmon: Add support for GMT G762/G763 " Arnaud Ebalard
2013-04-24  5:37         ` Andrew Lunn
2013-04-24  9:06           ` Arnaud Ebalard
2013-04-24 10:04             ` Simon Guinot
2013-04-24 10:50               ` Arnaud Ebalard
2013-04-24 13:38             ` Guenter Roeck [this message]
2013-04-24 20:28               ` Arnaud Ebalard
2013-04-24 22:47                 ` Guenter Roeck
2013-04-25 10:14                   ` Simon Guinot
2013-04-24 17:06         ` Simon Guinot
2013-04-24 23:37         ` Guenter Roeck
2013-04-25  9:58         ` Simon Guinot
2013-04-27 14:03         ` Simon Guinot
2013-04-27 14:12           ` Jean Delvare
2013-04-27 16:56           ` Guenter Roeck
2013-04-27 18:55             ` Arnaud Ebalard
2013-04-23 22:06       ` [PATCHv1 2/3] hwmon: Add documentation for g762 driver Arnaud Ebalard
2013-04-24 17:32         ` Guenter Roeck
2013-04-24 20:33           ` Arnaud Ebalard
2013-04-23 22:06       ` [PATCHv1 3/3] hwmon: Add DT " Arnaud Ebalard
2013-04-23 22:23         ` Jason Cooper
2013-04-24  5:43           ` Arnaud Ebalard
2013-04-19  5:50   ` [PATCH 1/3] Add support for GMT G72/G763 PWM fan controller Andrew Lunn
2013-04-19 11:30     ` Arnaud Ebalard
2013-04-19 13:37       ` Guenter Roeck
2013-04-19  6:05   ` Jean Delvare
2013-04-19 11:31     ` Arnaud Ebalard
2013-04-18 22:28 ` [RFC,PATCHv0 2/3] Add DT documentation for G762 " Arnaud Ebalard
2013-04-18 22:28 ` [PATCH 3/3] Add documentation for g762 driver Arnaud Ebalard

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=20130424133856.GA18851@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=andrew@lunn.ch \
    --cc=arno@natisbad.org \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=jason@lakedaemon.net \
    --cc=khali@linux-fr.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=lm-sensors@lm-sensors.org \
    --cc=olivier.mouchet@gmail.com \
    --cc=rob.herring@calxeda.com \
    --cc=rob@landley.net \
    --cc=simon.guinot@sequanux.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).