From e377a9d966bac61ef00f369f4f7a7c96636a88f8 Mon Sep 17 00:00:00 2001 From: Alexander Shiyan Date: Sat, 4 Aug 2012 13:15:53 +0400 Subject: mc13xxx: Added mc13xxx_revision() function. Signed-off-by: Alexander Shiyan Signed-off-by: Sascha Hauer --- include/mfd/mc13xxx.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'include/mfd') diff --git a/include/mfd/mc13xxx.h b/include/mfd/mc13xxx.h index 632c9fbe4b..377078964a 100644 --- a/include/mfd/mc13xxx.h +++ b/include/mfd/mc13xxx.h @@ -165,6 +165,7 @@ struct mc13xxx { #ifdef CONFIG_MFD_MC13XXX extern struct mc13xxx *mc13xxx_get(void); +extern int mc13xxx_revision(struct mc13xxx *mc13xxx); extern int mc13xxx_reg_read(struct mc13xxx *mc13xxx, u8 reg, u32 *val); extern int mc13xxx_reg_write(struct mc13xxx *mc13xxx, u8 reg, u32 val); extern int mc13xxx_set_bits(struct mc13xxx *mc13xxx, u8 reg, u32 mask, u32 val); @@ -174,6 +175,11 @@ static inline struct mc13xxx *mc13xxx_get(void) return NULL; } +static inline int mc13xxx_revision(struct mc13xxx *mc13xxx) +{ + return -ENODEV; +} + static inline int mc13xxx_reg_read(struct mc13xxx *mc13xxx, u8 reg, u32 *val) { return -ENODEV; -- cgit v1.2.3 From fe0545bbb01fce1acb580ad19e75f2c0d56dff53 Mon Sep 17 00:00:00 2001 From: Alexander Shiyan Date: Sat, 4 Aug 2012 13:15:54 +0400 Subject: mc13xxx: Hide private struct mc13xxx from other units Board support units must use only the provided functions. Signed-off-by: Alexander Shiyan Signed-off-by: Sascha Hauer --- drivers/mfd/mc13xxx.c | 15 +++++++++++++++ include/mfd/mc13xxx.h | 13 +------------ 2 files changed, 16 insertions(+), 12 deletions(-) (limited to 'include/mfd') diff --git a/drivers/mfd/mc13xxx.c b/drivers/mfd/mc13xxx.c index 53d9b7cd00..8e3c0b095e 100644 --- a/drivers/mfd/mc13xxx.c +++ b/drivers/mfd/mc13xxx.c @@ -32,6 +32,21 @@ #define DRIVERNAME "mc13xxx" +enum mc13xxx_mode { + MC13XXX_MODE_I2C, + MC13XXX_MODE_SPI, +}; + +struct mc13xxx { + struct cdev cdev; + union { + struct i2c_client *client; + struct spi_device *spi; + }; + enum mc13xxx_mode mode; + int revision; +}; + #define to_mc13xxx(a) container_of(a, struct mc13xxx, cdev) static struct mc13xxx *mc_dev; diff --git a/include/mfd/mc13xxx.h b/include/mfd/mc13xxx.h index 377078964a..59042ebee6 100644 --- a/include/mfd/mc13xxx.h +++ b/include/mfd/mc13xxx.h @@ -150,18 +150,7 @@ #define MC13783_SW1B_SOFTSTART (1 << 17) #define MC13783_SW_PLL_FACTOR(x) (((x) - 28) << 19) -enum mc13xxx_mode { - MC13XXX_MODE_I2C, - MC13XXX_MODE_SPI, -}; - -struct mc13xxx { - struct cdev cdev; - struct i2c_client *client; - struct spi_device *spi; - enum mc13xxx_mode mode; - int revision; -}; +struct mc13xxx; #ifdef CONFIG_MFD_MC13XXX extern struct mc13xxx *mc13xxx_get(void); -- cgit v1.2.3