Hello, On Mon, Jul 13, 2026 at 04:58:34PM -0500, Chris Morgan wrote: > +#include > +#include Please don't use , to get i2c_device_id and of_device_id it's enough to have . > +static const struct i2c_device_id inv_icm42607_id[] = { > + { > + .name = "icm42607", > + .driver_data = (kernel_ulong_t)&inv_icm42607_hw_data, > + }, { > + .name = "icm42607p", > + .driver_data = (kernel_ulong_t)&inv_icm42607p_hw_data, > + }, > + { } > +}; > +MODULE_DEVICE_TABLE(i2c, inv_icm42607_id); > + > +static const struct of_device_id inv_icm42607_of_matches[] = { > + { > + .compatible = "invensense,icm42607", > + .data = &inv_icm42607_hw_data, > + }, { > + .compatible = "invensense,icm42607p", > + .data = &inv_icm42607p_hw_data, > + }, > + { } > +}; > +MODULE_DEVICE_TABLE(of, inv_icm42607_of_matches); It would be enough to provide the driver_data pointers in the i2c_device_id array only. Best regards Uwe