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

Reply via email to