Question about algorithms

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Usually a "bus" driver is a combined "algorithm" and "adapter" driver.

Where it makes sense to share the low-level "algoritm" part across multiple
"adapter" drivers these can be separated.

All "bit-banger" drivers use a common algorithm layer i2c-algo-bit,
which exports functions to directly manipulate the clock and data lines
and get the timing right. The adapter drivers in these cases
are responsible for finding the chip and the correct register locations.

Some of the other drivers in i2c are separated into algo and adap.
Some also share the algorithm driver, others I think don't really,
perhaps they were separated because of intent to share the algorithm
driver and others were just written that way.


If our explanation on this page wasn't clear feel free to enhance :)


http://www2.lm-sensors.nu/~lm78/docs.html



Jean Delvare wrote:
> Hi all,
> 
> Could someone please explain to me what i2c-algo-* are for? I understand
> what bus drivers and chip drivers are and work together, but I can't
> figure out how and where the algo files do work with the first two.
> 
> Also, what are the i2c-adap-* files for?
> 
> Thanks.
> 



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux