On Wed, Apr 26, 2023 at 11:08:17AM +0300, Matti Vaittinen wrote: > The ROHM BU27008 is a sensor with 5 photodiodes (red, green, blue, clear > and IR) with four configurable channels. Red and green being always > available and two out of the rest three (blue, clear, IR) can be > selected to be simultaneously measured. Typical application is adjusting > LCD backlight of TVs, mobile phones and tablet PCs. > > Add initial support for the ROHM BU27008 color sensor. > - raw_read() of RGB and clear channels > - triggered buffer w/ DRDY interrtupt ... > +enum { > + BU27008_RED, /* Always data0 */ > + BU27008_GREEN, /* Always data1 */ > + BU27008_BLUE, /* data2, configurable (blue / clear) */ > + BU27008_CLEAR, /* data2 or data3 */ > + BU27008_IR, /* data3 */ > + BU27008_NUM_CHANS Why not converting comments to a kernel-doc? > +}; > + > +enum { > + BU27008_DATA0, /* Always RED */ > + BU27008_DATA1, /* Always GREEN */ > + BU27008_DATA2, /* Blue or Clear */ > + BU27008_DATA3, /* IR or Clear */ > + BU27008_NUM_HW_CHANS > +}; Ditto. ... > + if (int_time < 0) > + int_time = 400000; Adding 3 0:s to drop them below with a heavy division operation? Well done! Or did I miss anything? > + msleep(int_time / 1000); USEC_PER_MSEC ? ... > + ret = devm_iio_device_register(dev, idev); > + if (ret) > + return dev_err_probe(dev, ret, > + "Unable to register iio device\n"); > + > + return ret; return 0 will suffice. -- With Best Regards, Andy Shevchenko