[PATCH v4 4/4] iio: humidity: si7020: added No Hold read mode
From: lars@metafoo.de (Lars-Peter Clausen)
Date: 2015-10-28 18:46:19
Also in:
linux-i2c, linux-iio
From: lars@metafoo.de (Lars-Peter Clausen)
Date: 2015-10-28 18:46:19
Also in:
linux-i2c, linux-iio
On 10/28/2015 07:35 PM, Nicola Corna wrote:
October 28 2015 10:38 AM, "Lars-Peter Clausen" [off-list ref] wrote:quoted
On 10/28/2015 07:58 AM, Nicola Corna wrote: [...]quoted
+ holdmode = !((*client)->adapter->quirks && + (*client)->adapter->quirks->flags &[...]quoted
+ client->adapter->quirks && + client->adapter->quirks->flags & I2C_AQ_NO_CLK_STRETCH)This is rather ugly, can we get a helper in the I2C core something along the lines of i2c_check_quirks(client->adapter, I2C_AQ_NO_CLK_STRETCH) - LarsSomething like this? ---diff --git a/include/linux/i2c.h b/include/linux/i2c.h index a69a9a0..a06ffc0 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h@@ -613,6 +613,12 @@ static inline int i2c_check_functionality(struct i2c_adapter *adap, u32 func)return (func & i2c_get_functionality(adap)) == func; } +/* Return 1 if adapter has the specified quirks, 0 if not. */ +static inline int i2c_check_quirks(struct i2c_adapter *adap, u64 quirks) +{ + return (quirks & (adap->quirks ? adap->quirks->flags : 0)) == quirks; +}
This is not a code obfuscation contest ;)
So maybe more like this:
static inline bool i2c_check_quirks(struct i2c_adapter *adap, u64 quirks)
{
if (!adap->quirks)
return false;
return (adap->quirks->flags & quirks) == quirks;
}
And please use kernel-doc for the documentation.