Re: [PATCH 4/4] [RFC] hwmon: f71882fg: Add watchdog API forF71808E and F71889

From: Giel van Schijndel
Date: Wed Mar 24 2010 - 16:36:25 EST


On Wed, Mar 24, 2010 at 05:20:59PM +0100, Hans de Goede wrote:
> On 03/24/2010 04:51 PM, Alan Cox wrote:
>>> hold on the SIO port range. This would thus interfere with the
>>> operation of the f71882fg driver. I.e. it would prevent the device
>>> probing stage from working, thus preventing it from loading *after*
>>> my in-development watchdog driver.
>>
>> There are two ways to deal with that really
>>
>> 1. Add a multi-function driver - it finds the chip and claims the
>> port regions and then provides methods for locked access to them as
>> well as creating other device instances that the drivers map to
>> (probably platform devices ?) which in turn trigger the
>> loading/binding of the relevant low level devices.
>>
>> 2. Fix the kernel request_resource stuff to support a sleeping non
>> exclusive resource so request/free of regions can be used as a
>> resource semaphore by co-operative devices.
>>
>> #2 is actually not hard but when I did the patch originally it then
>> wasn't needed by the driver I had in mind for other reasons.
>>
>> See http://groups.google.com/group/linux.kernel/msg/1425fc2aad32e6ea
>>
>> Maybe its worth resurrecting ?
>
> Or, a bit more specific solution would be to resurrect the superio
> lock coordinator patches, which were written (but never merged) 2
> years ago to solve exactly this problem:
> http://lists.lm-sensors.org/pipermail/lm-sensors/2008-July/023743.html

When performing some searches I find messages going back to at least
september 2006 [1] [2]. With multiple occurences of these patches being
"dusted off". They never got applied though, and for that (*not*
applying them) I cannot find any reason. Is there any? Or did people
just become uninterested and let the patches "collect dust"?

Then regarding Alan's patch. The fact that it is a *lot* simpler than
Jim Cromie's SuperIO locks coordinator is IMHO a significant advantage
over the latter. Furthermore, "lock coordinator" seems like a bad name
to me, since those patches seem especially concerned with centralising
the way that SuperIO devices are probed for. Thus if the only thing
required is to serialize resource access I think plain-ol' locking
(with the ability to block on the lock, rather than polling for it).

[1] http://lists.lm-sensors.org/pipermail/lm-sensors/2006-June/016476.html
[2] http://lkml.org/lkml/2006/9/14/20

--
Met vriendelijke groet,
With kind regards,
Giel van Schijndel

Attachment: signature.asc
Description: Digital signature