I have an interrupt driven driver for the I2C controller of the MPC107 and MPC8245:
http://www.humboldt.co.uk/mpc10xi2c.html In this driver I attempt to find the interrupt vector for I2C by reading it directly out of the EPIC hardware in the driver initialisation code: i2c_vec = readl(epic_base + 0x11020) & 0xff; This works fine on my custom board based on the linuxppc_2_4_devel kernel, but caused problems for an end user using a 2.4.17 kernel from Montavista. On that kernel, the EPIC register at offset 0x11020 contained 0. Another user with an unknown kernel found 0 in the register, but was able to make progress by hardcoding the IRQ number 20. Does anybody have any suggestions for a generic solution? I'd like to get the driver into the kernel at some point, but this part of the code seems a bit too ugly for now. - Adrian Cox http://www.humboldt.co.uk/ ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
