summaryrefslogtreecommitdiff
path: root/include/linux/mfd
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mfd')
-rw-r--r--include/linux/mfd/as3722-plat.h2
-rw-r--r--include/linux/mfd/as3722.h12
2 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/mfd/as3722-plat.h b/include/linux/mfd/as3722-plat.h
index 9c6aa348d550..7a50838cbb3c 100644
--- a/include/linux/mfd/as3722-plat.h
+++ b/include/linux/mfd/as3722-plat.h
@@ -156,6 +156,8 @@ struct as3722_platform_data {
struct as3722_adc_extcon_platform_data *extcon_pdata;
int watchdog_timer_initial_period;
int watchdog_timer_mode;
+ u32 major_rev;
+ u32 minor_rev;
bool enable_clk32k_out;
};
diff --git a/include/linux/mfd/as3722.h b/include/linux/mfd/as3722.h
index dc7903069a65..ad51056522f4 100644
--- a/include/linux/mfd/as3722.h
+++ b/include/linux/mfd/as3722.h
@@ -405,6 +405,8 @@ struct as3722 {
bool en_intern_int_pullup;
bool en_intern_i2c_pullup;
struct regmap_irq_chip_data *irq_data;
+ u32 major_rev;
+ u32 minor_rev;
};
static inline int as3722_read(struct as3722 *as3722, u32 reg, u32 *dest)
@@ -440,4 +442,14 @@ static inline int as3722_irq_get_virq(struct as3722 *as3722, int irq)
return regmap_irq_get_virq(as3722->irq_data, irq);
}
+static inline bool as3722_device_rev(struct as3722 *as3722, u32 major_rev,
+ u32 minor_rev)
+{
+
+ if ((as3722->major_rev == major_rev) &&
+ (as3722->minor_rev == minor_rev))
+ return true;
+ else
+ return false;
+}
#endif