> -----Original Message----- > From: Wolfram Sang [mailto:wsa@xxxxxxxxxxxxx] > Sent: Wednesday, May 24, 2017 7:07 PM > To: Bryan Evenson <bevenson@xxxxxxxxxxxxxx> > Cc: linux-i2c@xxxxxxxxxxxxxxx; Ludovic Desroches > <ludovic.desroches@xxxxxxxxx> > Subject: Re: Error using at91-i2c driver in kernel 4.4.x > > > 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? I didn't realize that option now existed for me. I verified that with my older kernel the 'eeprom' file doesn't exist in sysfs, but it does with the newer kernel. I'll leave the old method in place as backup but will default to reading from the eeprom file. Thanks, Bryan -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html