Re: [RFC] (almost) booting allyesconfig -- please don't pokesuper-io without request_region

From: Jean Delvare
Date: Fri Jul 11 2008 - 03:37:31 EST


On Fri, 11 Jul 2008 09:27:26 +0200, Hans de Goede wrote:
> Jean Delvare wrote:
> > Hi Hans, hi Milton,
> >
>
> <snip>
>
> >> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/