您好,我正在查看此文档 . https://www.kernel.org/doc/html/v4.11/driver-api/i2c.html我的目标是使用I2C总线将一些数据写入EEPROM . 我对使用哪些函数以及如何填充这些函数所需的结构感到困惑 . 我的猜测是我需要创建一个i2c_client来代表EEPROM . 我从这个设备树中获得了EEPROM的位置 .

&i2c0 {
    status = "okay";
    clock-frequency = <400000>;
    pinctrl-names = "default";

    i2cswitch@74 {
        compatible = "nxp,pca9548";
        #address-cells = <1>;
        #size-cells = <0>;
        reg = <0x74>;

        i2c@2 {
            #address-cells = <1>;
            #size-cells = <0>;
            reg = <2>;
            eeprom@54 {
                compatible = "at,24c08";
                reg = <0x54>;
            };
        };
    };
};

我如何用这些数据填充i2c_client结构?

然后我猜我会使用这个功能

int i2c_master_send(const struct i2c_client * client, const char * buf, int count)

并提供客户端结构和我想写的字符串以及该字符串的长度,其规定小于64k . 在这种情况下,CPU是主?

我需要包含哪些头文件才能使用文档提供的函数和结构?

谢谢 .