lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20231125164533.57abf756@jic23-huawei>
Date:   Sat, 25 Nov 2023 16:45:33 +0000
From:   Jonathan Cameron <jic23@...nel.org>
To:     Javier Carrasco <javier.carrasco.cruz@...il.com>
Cc:     Lars-Peter Clausen <lars@...afoo.de>,
        Rob Herring <robh+dt@...nel.org>,
        Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
        Conor Dooley <conor+dt@...nel.org>,
        linux-kernel@...r.kernel.org, linux-iio@...r.kernel.org,
        devicetree@...r.kernel.org
Subject: Re: [PATCH v2 3/3] iio: light: add VEML6075 UVA and UVB light
 sensor driver

On Sat, 25 Nov 2023 17:17:06 +0100
Javier Carrasco <javier.carrasco.cruz@...il.com> wrote:

> On 25.11.23 16:11, Jonathan Cameron wrote:
> > On Sat, 25 Nov 2023 12:56:57 +0100
> > Javier Carrasco <javier.carrasco.cruz@...il.com> wrote:
> >   
> >> The Vishay VEMl6075 is a low power, 16-bit resolution UVA and UVB
> >> light sensor with I2C interface and noise compensation (visible and
> >> infrarred).
> >>
> >> Every UV channel generates an output signal measured in counts per
> >> integration period, where the integration time is configurable.
> >>
> >> This driver adds support for both UV channels and the ultraviolet
> >> index (UVI) inferred from them according to the device application note
> >> with open-air (no teflon) coefficients.
> >>
> >> Signed-off-by: Javier Carrasco <javier.carrasco.cruz@...il.com>  
> > 
> > Hi Javier,
> > 
> > A few more minor things. Looks good in general.
> > 
> > Jonathan
> >   
> >> +struct veml6075_data {
> >> +	struct i2c_client *client;
> >> +	struct regmap *regmap;
> >> +	struct mutex lock; /* integration time/measurement trigger lock */  
> > 
> > Could perhaps be clearer. Maybe something like
> > 	/* Prevent integration time changing during a measurement */
> >   
> It prevents integration time changing as well as measurement triggers
> while a measurement is underway. I just wanted to cover both usages with
> a short comment in the same line.

Ah.  Well I misunderstood it, so burn a few more lines :)

> >> +
> >> +static int veml6075_uva_comp(int raw_uva, int comp1, int comp2)
> >> +{
> >> +	int comp1a_c, comp2a_c, uva_comp;
> >> +
> >> +	comp1a_c = (comp1 * VEML6075_A_COEF) / 1000U;
> >> +	comp2a_c = (comp2 * VEML6075_B_COEF) / 1000U;
> >> +	uva_comp = raw_uva - comp1a_c - comp2a_c;
> >> +
> >> +	return clamp_val(uva_comp, 0, U16_MAX);
> >> +}
> >> +
> >> +static int veml6075_uvb_comp(int raw_uvb, int comp1, int comp2)
> >> +{
> >> +	int comp1b_c, comp2b_c, uvb_comp;
> >> +
> >> +	comp1b_c = (comp1 * VEML6075_C_COEF) / 1000U;  
> > 
> > Any of units.h appropriate here?  I'm not sure if the / 1000U is a units
> > thing or not.
> >   
> These divisions are used to scale the coefficients down, as they are
> defined as entire numbers. These coefficients have no units and the
> resulting value is a count.
Fair enough.
> 
> I have nothing to add to the rest of your comments. I will start working
> on v3.
> 
> Thanks again for your thorough review.
> 
> Best regards,
> Javier Carrasco

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ