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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250614145528.2fb9bf3f@jic23-huawei>
Date: Sat, 14 Jun 2025 14:55:28 +0100
From: Jonathan Cameron <jic23@...nel.org>
To: Andy Shevchenko <andriy.shevchenko@...el.com>
Cc: Lothar Rubusch <l.rubusch@...il.com>, lars@...afoo.de,
 Michael.Hennerich@...log.com, dlechner@...libre.com, nuno.sa@...log.com,
 andy@...nel.org, corbet@....net, linux-iio@...r.kernel.org,
 linux-kernel@...r.kernel.org, linux-doc@...r.kernel.org,
 eraretuya@...il.com
Subject: Re: [PATCH v9 08/11] iio: accel: adxl345: add inactivity feature


> ...
> 
> >  	if (type == ADXL345_ACTIVITY) {
> >  		axis_ctrl = ADXL345_ACT_X_EN | ADXL345_ACT_Y_EN |
> >  				ADXL345_ACT_Z_EN;
> >  	} else {
> > -		axis_ctrl = 0x00;
> > +		axis_ctrl = ADXL345_INACT_X_EN | ADXL345_INACT_Y_EN |
> > +				ADXL345_INACT_Z_EN;
> >  	}  
> 
> Now this can be as simple as
> 
> 	axis_ctrl = ADXL345_ACT_X_EN;

That flag is only set in the activity case.  Confused with ADXL345_INACT_X_EN?
(initially I thought you'd run into a bug!)

> 	if (type == ADXL345_ACTIVITY)
> 		axis_ctrl |= ADXL345_ACT_Y_EN | ADXL345_ACT_Z_EN;
> 	else
> 		axis_ctrl |= ADXL345_INACT_Y_EN | ADXL345_INACT_Z_EN;
> 
> Yeah, I don't know how to make the diff better (it gets worse), but the end
> result is better.
> 
> One way, which I don't like much is to previously have this conditional written as:
> 
> 	axis_ctrl = ADXL345_ACT_X_EN;
> 	if (type == ADXL345_ACTIVITY)
> 		axis_ctrl |= ADXL345_ACT_Y_EN | ADXL345_ACT_Z_EN;
> 	else
> 		axis_ctrl = 0;
> 
> ...
> 
> > +	ret = regmap_assign_bits(st->regmap, ADXL345_REG_POWER_CTL,
> > +				 (ADXL345_POWER_CTL_AUTO_SLEEP | ADXL345_POWER_CTL_LINK),  
> 
> Unneeded parentheses.
> 
> > +				 en);
> >  	if (ret)
> >  		return ret;  
> 
> ...
> 
> >  static int adxl345_set_odr(struct adxl345_state *st, enum adxl345_odr odr)
> >  {
> > -	return regmap_update_bits(st->regmap, ADXL345_REG_BW_RATE,
> > +	int ret;
> > +
> > +	ret = regmap_update_bits(st->regmap, ADXL345_REG_BW_RATE,
> >  				 ADXL345_BW_RATE_MSK,
> >  				 FIELD_PREP(ADXL345_BW_RATE_MSK, odr));
> > +	if (ret)
> > +		return ret;
> > +
> > +	/* update inactivity time by ODR */
> > +	return adxl345_set_inact_time(st, 0);  
> 
> Okay, in this case the initial form of
> 
> 	int ret;
> 
> 	ret = ...
> 	if (ret)
> 		return ret;
> 
> 	return 0;
> 
> 
> will be better with the respectful comment (as Jonathan suggested) in that
> change that this is not optimal as standalone change, but it will help reduce
> churn in the next change(s).
> 
Worth noting we (reviewers) may well forget about this and moan on
some future version. If we do, feel free to remind us!


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ