This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Question on Linux i2c driver terminology



>>When we talk about I2C, we use the following terms:
>> Bus -> Algorithm
>> Adapter
>> Device -> Driver
>> Client
>>
>>An Algorithm driver contains general code that can be used for a whole class
>>of I2C adapters. Each specific adapter driver either depends on one algorithm
>>driver, or includes its own implementation.

What do we mean here by whole class of i2c adapters. Does it mean i2c controller variants for different SOC from same vendors ?
Are there any examples available to make things clear ?

Additionally this implies that algo driver is not a MUST. All the controller specific code can be put into the adapter driver itself... am I correct ?