On Wed, 2020-04-01 at 19:35 +0300, Andy Shevchenko wrote: > On Wed, Apr 1, 2020 at 7:24 PM Ivan Mikhaylov <i.mikhaylov@xxxxxxxxx> wrote: > > Proximity sensor driver based on light/vcnl4000.c code. > > For now supports only the single on-demand measurement. > > > > The VCNL3020 is a fully integrated proximity sensor. Fully > > integrated means that the infrared emitter is included in the > > package. It has 16-bit resolution. It includes a signal > > processing IC and features standard I2C communication > > interface. It features an interrupt function. > > Thank you for an update, my comments below. > > ... > > > +static int get_and_apply_property(struct vcnl3020_data *data, const char > > *prop, > > + u32 reg) > > +{ > > + int rc; > > + u32 val; > > + > > + rc = device_property_read_u32(data->dev, prop, &val); > > + if (rc) > > + return 0; > > + > > + rc = regmap_write(data->regmap, reg, val); > > + if (rc) > > + dev_err(data->dev, "Error (%d) setting property (%s)", > > + rc, prop); > > This requires {} according to the coding style checkpatch.pl doesn't say anything bad on this spot. Do you mean to make something like this? rc = regmap_write(data->regmap, reg, val); if (rc) { dev_err(data->dev, "Error (%d) setting property (%s)", rc, prop); } In previous notes you said to remove them. > . > > > + return rc; > > +} > > ... > > > +static int vcnl3020_probe(struct i2c_client *client) > > +{ > > + indio_dev->name = VCNL_DRV_NAME; > > It's definitely not a driver name. You have to put part number here. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/iio/light/tsl4531.c?h=v5.6#n199 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/iio/light/max44009.c?h=v5.6#n507 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/iio/light/vl6180.c?h=v5.6#n515