> As usual, five minutes after I ask a question I get further. I tried > changing the ioctl to I2C_SLAVE_FORCE, and now I can talk to my > EEPROM. I'm happy it's now working, but I'm concerned about why I now > need to force the slave address. Is this because I now need to set > things up differently, or is it a problem with the driver? From userspace, you cannot access an I2C client which has a kernel driver bound to it unless you use I2C_SLAVE_FORCE. And you really should not do that because you could confuse the kernel driver. Your old kernel probably did not bind a driver to the EEPROM, so you could access it from userspace. Since your DT now describes the EEPROM, why don't you simply access the 'eeprom' file in sysfs?
Attachment:
signature.asc
Description: PGP signature