Hello Dan, On Wed, Feb 13, 2019 at 04:17:31PM +0300, Dan Carpenter wrote: > The patch 501f98266cad: "rtc: ds1307: rx8130: honor Voltage Loss Flag > when reading the time" from Jan 25, 2019, leads to the following > static checker warning: > > drivers/rtc/rtc-ds1307.c:314 ds1307_set_time() > warn: this cast is a no-op > > drivers/rtc/rtc-ds1307.c > 304 result = regmap_bulk_write(ds1307->regmap, chip->offset, regs, > 305 sizeof(regs)); > 306 if (result) { > 307 dev_err(dev, "%s error %d\n", "write", result); > 308 return result; > 309 } > 310 > 311 if (ds1307->type == rx_8130) { > 312 /* clear Voltage Loss Flag as data is available now */ > 313 result = regmap_write(ds1307->regmap, RX8130_REG_FLAG, > --> 314 ~(u8)RX8130_REG_FLAG_VLF); > ^^^^^^^^^^^^^^^^^^^^^^^^ > RX8130_REG_FLAG_VLF is 0x2. The cast to u8 doesn't change anything > because it gets type promoted to int. I don't know what was intended. This reasoning looks right, yes. I don't remember why I added it. Probably because I intended to create the value 0xfd and not 0xfffffffd (aka -3). Feel free to fix this in a patch blaming me. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ |