Hi Sebastian, On Wed, May 20, 2020 at 05:39:34PM +0200, Sebastian Reichel wrote: > > data->client = client; > + data->info = device_get_match_data(&client->dev); > + if (!data->info) { > + enum eeti_dev_id eeti_dev_id = > + i2c_match_id(exc3000_id, client)->driver_data; I believe i2c devices can be instantiated via sysfs, so I think we better handle case where we can't find matching id. Also driver_data is enough to store a pointer, maybe we can have individual structures instead of using an array and indexing here? Thanks. -- Dmitry