How are I2C devices detected by the kernel? Do Intel x86 CPUs have
dedicated
I2C pins? Does the PCI bus have a special detection hardware for I2C?
The
kernel driver articles don't explain the motherboard hardware for this
bus.

Also, the kernel header file "i2c.h" has empty declarations like:

struct i2c_msg;
struct i2c_algorithm;
struct i2c_adapter;

What are these for?

Thanks,
-Mike