i2c: add i2c_check_quirks helper function
authorNicola Corna <nicola@corna.info>
Thu, 29 Oct 2015 11:34:26 +0000 (12:34 +0100)
committerWolfram Sang <wsa@the-dreams.de>
Mon, 30 Nov 2015 17:37:27 +0000 (18:37 +0100)
This patch adds a i2c_check_quirks helper function to check the quirk flags
of an i2c adapter, in a similar way to i2c_check_functionality.

Signed-off-by: Nicola Corna <nicola@corna.info>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
include/linux/i2c.h

index 96970024883ff9e955b8043684493b7f1753cbe4..51028f351d13e94463648e1636448fdf4d82b0c3 100644 (file)
@@ -617,6 +617,20 @@ static inline int i2c_check_functionality(struct i2c_adapter *adap, u32 func)
        return (func & i2c_get_functionality(adap)) == func;
 }
 
+/**
+ * i2c_check_quirks() - Function for checking the quirk flags in an i2c adapter
+ * @adap: i2c adapter
+ * @quirks: quirk flags
+ *
+ * Return: true if the adapter has all the specified quirk flags, false if not
+ */
+static inline bool i2c_check_quirks(struct i2c_adapter *adap, u64 quirks)
+{
+       if (!adap->quirks)
+               return false;
+       return (adap->quirks->flags & quirks) == quirks;
+}
+
 /* Return the adapter number for a specific adapter */
 static inline int i2c_adapter_id(struct i2c_adapter *adap)
 {