Module Name: src Committed By: thorpej Date: Sat May 15 03:22:17 UTC 2021
Modified Files: src/sys/arch/sparc64/dev [thorpej-i2c-spi-conf]: pcf8591_envctrl.c src/sys/arch/sparc64/sparc64 [thorpej-i2c-spi-conf]: autoconf.c ofw_patch.c ofw_patch.h Log Message: - Move all of the stuff-missing-from-OFW-device-tree stuff into a new function sparc64_device_tree_fixup(), and call it from device_register(). - sparc64_device_tree_fixup() is table-driven, selecting the table based on the machine_model. It can appy "dtnode" fixups (by matching the device's OFW path) and "special" fixups, which are especially useful when a property needs to be added to another device that happens to not be in the OFW device tree. - Implement enumeration of missing-from-OFW-device-tree i2c devices by "sub-classing" the controller's device handle, intercepting the "i2c-enumerate-devices" device call. We let the "super" first enumerate any i2c devices that are in the OFW device tree, and then enumerate our own additions after that is done. i2c additions are provided by the machine_model fixup tables. To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.19.4.1 src/sys/arch/sparc64/dev/pcf8591_envctrl.c cvs rdiff -u -r1.228.2.1 -r1.228.2.2 src/sys/arch/sparc64/sparc64/autoconf.c cvs rdiff -u -r1.7 -r1.7.4.1 src/sys/arch/sparc64/sparc64/ofw_patch.c cvs rdiff -u -r1.4 -r1.4.6.1 src/sys/arch/sparc64/sparc64/ofw_patch.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.