Hi all, I have been reading the I2C kernel documentation, and I understand the basic principles of SDA/SCL. I am now trying to grasp the kernel-side implementation.
I'm struggling with two interconnected points regarding driver development: 1. *Master/Slave Abstraction:* How are the concepts of I2C "Master" and "Slave" represented in Linux kernel drivers? Specifically, is the i2c_adapter always considered the "master" (the controller that initiates transactions), and the i2c_client always considered the "slave" (the device being accessed), or are there contexts where this simple analogy breaks down (e.g., multi-master environments or slave-mode drivers)? 2. *Client Hardware Information:* I'm trying to understand the minimum necessary hardware information required for the i2c_client to probe successfully. Beyond the reg property (slave address) and a compatible string in the Device Tree, what other information, if any, is crucial for correctly instantiating the client device, especially for a standard, non-complex sensor? Any guidance on tracing this abstraction back to the low-level register/hardware interaction would be greatly appreciated. Thanks, Momin M
_______________________________________________ Kernelnewbies mailing list [email protected] https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
