30.03.2021 19:24, Dmitry Osipenko пишет: >> +struct hisi_i2c_controller { >> + struct i2c_adapter adapter; >> + void __iomem *iobase; >> + struct device *dev; >> + int irq; >> + >> + /* Intermediates for recording the transfer process */ >> + struct completion *completion; >> + struct i2c_msg *msgs; >> + int msg_num; >> + int msg_tx_idx; >> + int buf_tx_idx; >> + int msg_rx_idx; >> + int buf_rx_idx; >> + u16 tar_addr; >> + u32 xfer_err; >> + >> + /* I2C bus configuration */ >> + struct i2c_timings t; >> + u64 clk_rate_khz; > Looks like the u64 is overkill here and it doesn't allow you to use > COMPILE_TEST because 32bit arches can divide u64 only using the > do_div(), please fix this. I see now that the value isn't divided anywhere directly in the code, my bad. Looks good then.