Hi Guenter, > > In 2011 I started something similar but then with the MFD approach in mind. > > Goal was also to clean-up the w836* watchdog drivers and get a clean driver > > that > > supports all Winbond super-I/O based watchdog drivers. > > > > I dug op the development code again. I'll post it in a next e-mail so that > > we can > > see what the best way forward is. Note: I took the MFD approach because: > > 1) all superio shares the similar functions for using the Super-I/O > > registers. > > 2) Goal is to have low-level driver that support the specific super-I/O > > chipsets > > and that does the platform stuff for hwmon, watchdog, gpio, ... > > > Hi Wim, > > I started with a similar approach, only I used mfd cells to pass on platform > specific information such as the device type and the superio base address. > I still have the patchset for the mfd driver, in case you are interested. > My code is based on the patches submitted by Rodolfo Giometti a couple > of years ago. Want me to post it ?
If it's not v1 then I am interested. I think it depends on the super-I/O chipset of what info you can pass. I would not use mfd cells for the winbond driver but use platform data (similar to drivers/mfd/adp5520.c) because you don't need more then just pass some data. > What I noticed in my testing is that the superio address range (2e or 4e), > which the drivers currently take as granted, is at least on my systems > (all three of them) reserved by ACPI. Unfortunately that means one can not > use the mfd infrastructure to pass on the superio memory region, > since it checks for acpi conflicts. With that I gave up on the idea and > reverted to using request_muxed_region. That seemed simpler and accomplish > the same as long as all drivers actually use it. Noticed the same. That's why passing the platform data together with the superio-address and type seems the best way to go. I also kept the superio_enter and superio_exit a function in the low level driver because I used a lock to make sure that the hwmon code doesn't start doing things when the watchdog is doing things. But I think that the request_muxed_region is doing something similar also. Kind regards, Wim. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

