Hi Dmitry, On Thu, Aug 06, 2020 at 05:39:01PM -0700, Dmitry Torokhov wrote: > Hi Sebastian, > > On Wed, Aug 05, 2020 at 06:05:20PM +0200, Sebastian Reichel wrote: > > > > +static int exc3000_query_interrupt(struct exc3000_data *data) > > +{ > > + u8 *buf = data->buf; > > + int err; > > + > > + err = i2c_master_recv(data->client, buf, EXC3000_LEN_FRAME); > > + if (err < 0) > > + return err; > > + > > + if (buf[0] != 0x42) > > I changed this to 'B' to match the rest of the function. OK. I assumed this to be a easter egg reference to the Answer to the Ultimate Question of Life, the Universe, and Everything from the Hitchhiker's Guide, so I left it as a number. I might be totally wrong on that one, so fine with me. > > + return -EPROTO; > > + > > + if (buf[4] == 'E') > > + strlcpy(data->model, buf+5, sizeof(data->model)); > > + else if (buf[4] == 'D') > > + strlcpy(data->fw_version, buf+5, sizeof(data->fw_version)); > > + else > > + return -EPROTO; > > + > > + return 0; > > +} > > + > > + error = sysfs_create_group(&client->dev.kobj, &exc3000_attribute_group); > > + if (error) > > + return error; > > + > > + error = devm_add_action_or_reset(&client->dev, exc3000_unregister_sysfs, &client->dev); > > + if (error) > > + return error; > > Replaced 2 calls with devm_device_add_group(). ah, I missed that because it does not have sysfs in its name and its not in the <linux/sysfs.h>. > Please yell if I managed to break it... The touchscreen works as expected, sysfs files are created and removed correctly and also work as expected. All looks good. -- Sebastian