All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jean Delvare <khali@linux-fr.org>
To: "Andrew Paprocki" <andrew@ishiboo.com>
Cc: linux-kernel@vger.kernel.org, "Jorge Boncompte" <jorge@dti2.net>,
	Jim Cromie <jim.cromie@gmail.com>,
	Hans de Goede <j.w.r.degoede@hhs.nl>
Subject: Re: I/O collisions w/ hwmon/it87.c and watchdog/it8712f_wdt.c? (Super I/O chips in general..)
Date: Mon, 11 Feb 2008 09:40:51 +0100	[thread overview]
Message-ID: <20080211094051.147ce36f@hyperion.delvare> (raw)
In-Reply-To: <76366b180802101304j359e2873vd9dd974920bf6745@mail.gmail.com>

Hi Andrew,

On Sun, 10 Feb 2008 16:04:25 -0500, Andrew Paprocki wrote:
> I'm interested in expanding the current support for the it87 Super I/O
> chip to provide access to more of its capabilities. I started by
> looking at two existing drivers which talk to different parts of the
> chip. Maybe I'm missing something, but what guarantees that both of
> these drivers won't attempt to talk to the chip at the same time?

Nothing guarantees it in general. However, at least most hwmon drivers
avoid accessing the Super-I/O configuration space after driver
initialization, which happens when the module is loaded. As module
loading is serialized, this limits the risk of concurrent access.

This is however a limitation I'd be happy to get rid of. It would be
nice to be able to access some configuration space registers at
run-time (e.g. VID readings).

> The watchdog/it8712f_wdt.c driver has an internal spinlock, the
> hwmon/it87.c driver doesn't, and I don't see how a lock could be
> shared across both unless it is taken care of at a lower level that
> I'm not aware of. You can see that code is essentially copied between
> the two files to talk to the chip.
> 
> This brings me to a more general question regarding SuperI/O chips.
> Since these chips touch many different parts of traditionally separate
> driver areas, how should the drivers be structured so that they can
> all talk to the chip? Should the low level communications routines for
> the chip live in a library which all the drivers could use? Should all
> of the created devices live inside one file? (e.g. platform/it87.c
> instead of hwmon, watchdog, etc)

You probably want to discuss this with Jim Cromie and Hans de Goede
(Cc'd.) They have been discussing a possible implementation in October
2007 on the lm-sensors list:

http://lists.lm-sensors.org/pipermail/lm-sensors/2007-October/021561.html
http://lists.lm-sensors.org/pipermail/lm-sensors/2007-October/021562.html
http://lists.lm-sensors.org/pipermail/lm-sensors/2007-October/021563.html
http://lists.lm-sensors.org/pipermail/lm-sensors/2007-October/021564.html
http://lists.lm-sensors.org/pipermail/lm-sensors/2007-October/021565.html
http://lists.lm-sensors.org/pipermail/lm-sensors/2007-October/021566.html

-- 
Jean Delvare

      parent reply	other threads:[~2008-02-11  8:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-10 21:04 I/O collisions w/ hwmon/it87.c and watchdog/it8712f_wdt.c? (Super I/O chips in general..) Andrew Paprocki
2008-02-10 23:05 ` Alan Cox
2008-02-10 23:32   ` Andrew Paprocki
2008-02-11  8:40 ` Jean Delvare [this message]

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=20080211094051.147ce36f@hyperion.delvare \
    --to=khali@linux-fr.org \
    --cc=andrew@ishiboo.com \
    --cc=j.w.r.degoede@hhs.nl \
    --cc=jim.cromie@gmail.com \
    --cc=jorge@dti2.net \
    --cc=linux-kernel@vger.kernel.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 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.