Add support for Fintek F81803 SuperIO chipReviewed by: avg
superio: clean up empty lines in .c and .h files
superio: do not assume that current LDN cannot change after config exitThat assumption should be true when superio(4) uses the hardwareexlusively. But it turns out to not hold on some real system
superio: do not assume that current LDN cannot change after config exitThat assumption should be true when superio(4) uses the hardwareexlusively. But it turns out to not hold on some real systems.So, err on the side of correctness rather than performance.Clear current_ldn in sio_conf_exit.Reported by: bzTested by: bzMFC after: 1 week
show more ...
superio: do not crash if failed to create the character deviceMFC after: 1 week
superio_io.h: fix the copyrightMFC after: 1 week
superio: add a simple ioctl interfaceMFC after: 1 week
superio: fix the copyright block and update the yearMFC after: 2 weeks
- Fix gcc build for superio(4)- Change string mapping of SUPERIO_DEV_NONE to distinguish from SUPERIO_DEV_MAXReviewed by: impDiscussed with: avg, imp, jhbSponsored by: The FreeBSD FoundationDif
- Fix gcc build for superio(4)- Change string mapping of SUPERIO_DEV_NONE to distinguish from SUPERIO_DEV_MAXReviewed by: impDiscussed with: avg, imp, jhbSponsored by: The FreeBSD FoundationDifferential Revision: https://reviews.freebsd.org/D20880
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