Fix some modules to export more used symbols(cherry picked from commit 5bb3134a8c21cb87b30e135ef168483f0333dabb)
add superio driverThe goal of this driver is consolidate information about SuperIO chipsand to provide for peaceful coexistence of drivers that need to accessSuperIO configuration registers.Whi
add superio driverThe goal of this driver is consolidate information about SuperIO chipsand to provide for peaceful coexistence of drivers that need to accessSuperIO configuration registers.While SuperIO chips can host various functions most of them arediscoverable and accessible without any knowledge of the SuperIO.Examples are: keyboard and mouse controllers, UARTs, floppy diskcontrollers. SuperIO-s also provide non-standard functions such asGPIO, watchdog timers and hardware monitoring. Such functions dorequire drivers with a knowledge of a specific SuperIO.At this time the driver supports a number of ITE and Nuvoton (fkaWinbond) SuperIO chips.There is a single driver for all devices. So, I have not done the usualsplit between the hardware driver and the bus functionality. Although,superio does act as a bus for devices that represent known non-standardfunctions of a SuperIO chip. The bus provides enumeration of childdevices based on the hardcoded knowledge of such functions. Theknowledge as extracted from datasheets and other drivers.As there is a single driver, I have not defined a kobj interface for it.So, its interface is currently made of simple functions.I think that we can the flexibility (and complications) when we actuallyneed it.I am planning to convert nctgpio and wbwd to superio bus very soon.Also, I am working on itwd driver (watchdog in ITE SuperIO-s).Additionally, there is ithwm driver based on the reverted sensorsimport, but I am not sure how to integrate it given that we still lackany sensors interface.Discussed with: imp, jhbMFC after: 7 weeksDifferential Revision: https://reviews.freebsd.org/D8175
show more ...