Re: [RFC] (almost) booting allyesconfig -- please don't poke super-io without request_region
From: Jean Delvare <hidden>
Date: 2008-07-11 07:37:19
Also in:
lkml
On Fri, 11 Jul 2008 09:27:26 +0200, Hans de Goede wrote:
Jean Delvare wrote:quoted
Hi Hans, hi Milton,<snip>quoted
quoted
One could make a superio driver, and create sub-devices for the IR, I2C, floppy, parallel, etc nodes.There have been proposals to do this, and this would indeed be a very good idea, but unfortunately nobody took the time to implement this properly, push it upstream and volunteer to maintain it. The problem is that you don't need just a "driver", but a new subsystem, that needs to be designed and maintained.Well, I believe there have been some lightweight superio locking coordinator patches been floating around on the lm_sensors list, and I have reviewed them and then a new version was done with my issues fixed. I kinda liked the proposed solution there, it was quite simple, moved all the generic superio stuff into generic superio code, and added locking for super io access from multiple drivers, what ever happened to those patches?
As far as I know, nothing, and this is the problem. Somebody needs to step up and call him/herself the maintainer of the new code, and push it upstream and convert all the drivers (hwmon, watchdog, parallel port...) to make use of it. And I am not the one to do this, I am busy enough as is with i2c and hwmon.
If were to start using those, we could actually do a request region and then never release it, as things should be.
Yes, if we have a superio access coordinator, it can request the region and not release it. But as long as we don't have that, I agree with Milton that the individual drivers should temporarily request the Super-I/O region before accessing it. -- Jean Delvare