[lm-sensors] [PATCH] Make all it87 drivers SMP safe.

Natarajan Gurumoorthy natg at google.com
Wed Apr 6 09:04:51 CEST 2011

      Thank you for your feedback. I found an easier way to deal with
the it87_lock.c file. I do not need to move it to the driver/misc
directory. The easier thing to do was to move the IT87_LOCK entry to
the beginning of the drivers/watchdog/Kconfig file. This moves the
entry before the "menuconfig WATCHDOG" entry. They use the exact same
trick in drivers/misc/Kconfig file. The very first lines of
drivers/watchdog/Kconfig file will look something like this:

# Watchdog device configuration

# This one has to live outside of the WATCHDOG conditional,
# because it may be selected by drivers/hwmon/it87.c.
config IT87_LOCK
	default n
	  This defines the global lock needed by all IT87 drivers that
	  touch the Super I/0 chipset used on many motherboards. This
	  is needed to serialize access to the registers in SMP
	  systems. All it87 drivers will select this Kconfig option to compile
	  the lock into the kernel.

menuconfig WATCHDOG
	bool "Watchdog Timer Support"
	  If you say Y here (and to one of the following options) and create a


On Tue, Apr 5, 2011 at 8:02 PM, Guenter Roeck
<guenter.roeck at ericsson.com> wrote:
> On Tue, Apr 05, 2011 at 10:50:47PM -0400, Natarajan Gurumoorthy wrote:
>> Guenter,
>>       Thank you for spotting the fact the everything goes south if you
>> disable "watchdog". I am working on a solution. Looks like the ideal
>> place to store it87_io_lock.c will be drivers/misc and the IT87_LOCK
>> config will be placed before the MISC_DEVICES entry in
>> drivers/misc/Kconfig file. This will be similar to the
>> SENSORS_LIS3LV02D entry in that Kconfig file.
> Almost, only afaik that is only used inside the misc directory, or at least
> has some other components there. I don't really know how to handle this
> situation correctly, except you could of course write a mfd driver to handle
> the generic parts.
>>       Now going back to the partitioning do I send this change out as
>> a multi patch set consisting of 4 parts something as below:
>> patch 0 has a description
>> patch 1 has only the lock and related files
>>         drivers/misc/Kconfig
>>         drivers/misc/Makefile
>>         include/linux/it87_lock.h
>>         drivers/misc/it87_lock.c
>> patch 2 has drivers/watchdog changes
>>         drivers/watchdog/Kconfig
>>         drivers/watchdog/it8712f_wdt.c
>>         drivers/watchdog/it87_wdt.c
>> patch 3 has drives/hwmon changes
>>         drivers/hwmon/Kconfig
>>         drivers/hwmon/it87.c
> Something like that. I have some doubts about using drivers/misc,
> but I guess you'll get feedback on that after you submit the patch set.
> Thanks,
> Guenter

Nat Gurumoorthy AB6SJ

More information about the lm-sensors mailing list