Re: [lm-sensors] [RFC] (almost) booting allyesconfig -- please don't poke super-io without request_region

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Milton Miller <miltonm@...>
Cc: <linux-kernel@...>, <lm-sensors@...>, <linuxppc-dev@...>, Samuel Ortiz <samuel@...>
Date: Thursday, July 10, 2008 - 5:33 pm

Milton Miller wrote:

Erm,

The superio sensor drivers only poke the superio chip registers without request 
region during the probe phase, iow they try to detect the chip, using a widely 
document and standardized (part of isa pnp AFAIK) procedure on standardized ports.

Let me try to explain a bit about superio chips, they have 2 superio control 
registers (an index and data register) with which things like a manufacturer 
and device id can be read, besides these id registers they also have a set of 
registers with config for different logical devices. Once the id is matched, 
the driver knows which logical device config to read, reads a (different) isa 
base address + range from the logical device config, and then does a 
request_region on the region actually used by the logical device.

The superio control registers are thus a sort of pci configuration space if you 
want, doing a request_region on these is not such a good idea, as multiple 
drivers (for different logical devices within the superio device) may use 
these, so trying to gain exclusive access will lead to troubles.

I hope with this info about the problem space, that you maybe have a suggestion 
on howto fix this?

Regards,

Hans

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [lm-sensors] [RFC] (almost) booting allyesconfig -- plea..., Hans de Goede, (Thu Jul 10, 5:33 pm)