Module Name: src Committed By: thorpej Date: Sun Dec 22 23:40:49 UTC 2019
Modified Files: src/sys/arch/arm/nvidia: tegra_i2c.c Log Message: Use a separate lock (not the i2c bus lock) to synchronize with the interrupt handler. This in all liklihood fixes a deadlock bug that necessitated forcing I2C_F_POLL in tegra_i2c_exec() (someone who has the hardware should test removing that line). Also includes the changes for: Cleanup i2c bus acquire / release, centralizing all of the logic into iic_acquire_bus() / iic_release_bus(). "acquire" and "release" hooks no longer need to be provided by back-end controller drivers (only if they need special handling, e.g. powering on the i2c controller). This results in the removal of a bunch of rendundant code from each back-end controller driver. Assert that we are not in hard interrupt context in iic_acquire_bus(), iic_exec(), and iic_release_bus(). To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/arch/arm/nvidia/tegra_i2c.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.