On Mon, 2012-04-16 at 15:51 -0400, Diego Elio Pettenò wrote: > Hi all, sorry if I'm mailing lots of you at once, but I'm afraid I got > my hands on a can of worms right now... > > As some of you remember I've been working on a driver for supporting the > GPIO functions of the IT8728F Super I/O chip, as well as making the WDT > driver to work on this chip. > > After trying to make a bit of sense of it all, I'm concerned that the > only _correct_ way to handle this would be to ahve a set of drivers that > work together, rather than a number of drivers that all do their own > part. Currently we have: > > - hwmon/it87 which supports most it87xx chips; > - it87_wdt for most it87xx chips (including it8712); > - it8712f_wdt which supports the "Smart Guardian" watchdog; > - gpio_it8761e for that single IT87xx gpio; > - my gpio_it87 driver that works with it8728f and should work with > it8761e (for what I can tell from the other driver), and Guillaume has > code for IT8712 as well (which variant?). > > What issues are there with this situation? > > All these drivers use to some extent the Super I/O addresses (0x2e/0x2f) > to read and write to its registers, including detection code which is > replicated for each of them. The functions to read and write superio > registers is also duplicate. > > Only some of these drivers (namely gpio-it8761e for what I can tell) > support checking both 0x2e/0x2f and 0x4e/0x4f, which is an alternative > addressing for the superio register handling. > > The GPIO pins on most of the it87xx chips are also multi-function, and > _should not_ be user-visible, but for some of them it might make sense > to (for instance it should be possible to drive some of the LEDs on > it8728f-based motherboards by replacing the functions of some PINs to GPIO). > > For what I can tell, it should probably be a good idea to have something > along these lines, but I'm _not_ a driver expert: > > - mfd-it87xx: a platform driver, which probes the superio to check it > to be an it87xx chip, and then reserve resources for the other drivers; > - hwmon/it87: no longer probes autonomously for which chip it is, and > where it is; > - it87_wdt: ibidem; > - it8712_wdt: no clue about it, but I guess the same; > - gpio-it87: ibidem again; > - pinctrl-it87: abstracts support for the various pin-choice registers; > - led-it87: possibly to drive the power/network/hdd leds, akin to what > happens with some laptops, and embedded systems. > > Does a plan like this make sense? Denis have you still access to an > it8761e board? > Yes, that sounds about right. Guenter -- To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html