mfd: Fix modular builds of rc5t583 regulator support
The combination of commit1b1247dd75
"mfd: Add support for RICOH PMIC RC5T583" and commit6ffc327021
"regulator: Add support for RICOH PMIC RC5T583 regulator" are causing the i386 allmodconfig builds to fail with this: ERROR: "rc5t583_update" [drivers/regulator/rc5t583-regulator.ko] undefined! ERROR: "rc5t583_set_bits" [drivers/regulator/rc5t583-regulator.ko] undefined! ERROR: "rc5t583_clear_bits" [drivers/regulator/rc5t583-regulator.ko] undefined! ERROR: "rc5t583_read" [drivers/regulator/rc5t583-regulator.ko] undefined! and this: ERROR: "rc5t583_ext_power_req_config" [drivers/regulator/rc5t583-regulator.ko] undefined! For the 1st four, make the simple ops static inline, instead of polluting the namespace with trivial exports. For the last one, add an EXPORT_SYMBOL. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
02269ab10f
commit
82ea267f7d
2 changed files with 40 additions and 46 deletions
|
@ -80,44 +80,6 @@ static struct mfd_cell rc5t583_subdevs[] = {
|
||||||
{.name = "rc5t583-key", }
|
{.name = "rc5t583-key", }
|
||||||
};
|
};
|
||||||
|
|
||||||
int rc5t583_write(struct device *dev, uint8_t reg, uint8_t val)
|
|
||||||
{
|
|
||||||
struct rc5t583 *rc5t583 = dev_get_drvdata(dev);
|
|
||||||
return regmap_write(rc5t583->regmap, reg, val);
|
|
||||||
}
|
|
||||||
|
|
||||||
int rc5t583_read(struct device *dev, uint8_t reg, uint8_t *val)
|
|
||||||
{
|
|
||||||
struct rc5t583 *rc5t583 = dev_get_drvdata(dev);
|
|
||||||
unsigned int ival;
|
|
||||||
int ret;
|
|
||||||
ret = regmap_read(rc5t583->regmap, reg, &ival);
|
|
||||||
if (!ret)
|
|
||||||
*val = (uint8_t)ival;
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
int rc5t583_set_bits(struct device *dev, unsigned int reg,
|
|
||||||
unsigned int bit_mask)
|
|
||||||
{
|
|
||||||
struct rc5t583 *rc5t583 = dev_get_drvdata(dev);
|
|
||||||
return regmap_update_bits(rc5t583->regmap, reg, bit_mask, bit_mask);
|
|
||||||
}
|
|
||||||
|
|
||||||
int rc5t583_clear_bits(struct device *dev, unsigned int reg,
|
|
||||||
unsigned int bit_mask)
|
|
||||||
{
|
|
||||||
struct rc5t583 *rc5t583 = dev_get_drvdata(dev);
|
|
||||||
return regmap_update_bits(rc5t583->regmap, reg, bit_mask, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
int rc5t583_update(struct device *dev, unsigned int reg,
|
|
||||||
unsigned int val, unsigned int mask)
|
|
||||||
{
|
|
||||||
struct rc5t583 *rc5t583 = dev_get_drvdata(dev);
|
|
||||||
return regmap_update_bits(rc5t583->regmap, reg, mask, val);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int __rc5t583_set_ext_pwrreq1_control(struct device *dev,
|
static int __rc5t583_set_ext_pwrreq1_control(struct device *dev,
|
||||||
int id, int ext_pwr, int slots)
|
int id, int ext_pwr, int slots)
|
||||||
{
|
{
|
||||||
|
@ -197,6 +159,7 @@ int rc5t583_ext_power_req_config(struct device *dev, int ds_id,
|
||||||
ds_id, ext_pwr_req);
|
ds_id, ext_pwr_req);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(rc5t583_ext_power_req_config);
|
||||||
|
|
||||||
static int rc5t583_clear_ext_power_req(struct rc5t583 *rc5t583,
|
static int rc5t583_clear_ext_power_req(struct rc5t583 *rc5t583,
|
||||||
struct rc5t583_platform_data *pdata)
|
struct rc5t583_platform_data *pdata)
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
|
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
#include <linux/regmap.h>
|
||||||
|
|
||||||
#define RC5T583_MAX_REGS 0xF8
|
#define RC5T583_MAX_REGS 0xF8
|
||||||
|
|
||||||
|
@ -279,14 +280,44 @@ struct rc5t583_platform_data {
|
||||||
bool enable_shutdown;
|
bool enable_shutdown;
|
||||||
};
|
};
|
||||||
|
|
||||||
int rc5t583_write(struct device *dev, u8 reg, uint8_t val);
|
static inline int rc5t583_write(struct device *dev, uint8_t reg, uint8_t val)
|
||||||
int rc5t583_read(struct device *dev, uint8_t reg, uint8_t *val);
|
{
|
||||||
int rc5t583_set_bits(struct device *dev, unsigned int reg,
|
struct rc5t583 *rc5t583 = dev_get_drvdata(dev);
|
||||||
unsigned int bit_mask);
|
return regmap_write(rc5t583->regmap, reg, val);
|
||||||
int rc5t583_clear_bits(struct device *dev, unsigned int reg,
|
}
|
||||||
unsigned int bit_mask);
|
|
||||||
int rc5t583_update(struct device *dev, unsigned int reg,
|
static inline int rc5t583_read(struct device *dev, uint8_t reg, uint8_t *val)
|
||||||
unsigned int val, unsigned int mask);
|
{
|
||||||
|
struct rc5t583 *rc5t583 = dev_get_drvdata(dev);
|
||||||
|
unsigned int ival;
|
||||||
|
int ret;
|
||||||
|
ret = regmap_read(rc5t583->regmap, reg, &ival);
|
||||||
|
if (!ret)
|
||||||
|
*val = (uint8_t)ival;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int rc5t583_set_bits(struct device *dev, unsigned int reg,
|
||||||
|
unsigned int bit_mask)
|
||||||
|
{
|
||||||
|
struct rc5t583 *rc5t583 = dev_get_drvdata(dev);
|
||||||
|
return regmap_update_bits(rc5t583->regmap, reg, bit_mask, bit_mask);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int rc5t583_clear_bits(struct device *dev, unsigned int reg,
|
||||||
|
unsigned int bit_mask)
|
||||||
|
{
|
||||||
|
struct rc5t583 *rc5t583 = dev_get_drvdata(dev);
|
||||||
|
return regmap_update_bits(rc5t583->regmap, reg, bit_mask, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int rc5t583_update(struct device *dev, unsigned int reg,
|
||||||
|
unsigned int val, unsigned int mask)
|
||||||
|
{
|
||||||
|
struct rc5t583 *rc5t583 = dev_get_drvdata(dev);
|
||||||
|
return regmap_update_bits(rc5t583->regmap, reg, mask, val);
|
||||||
|
}
|
||||||
|
|
||||||
int rc5t583_ext_power_req_config(struct device *dev, int deepsleep_id,
|
int rc5t583_ext_power_req_config(struct device *dev, int deepsleep_id,
|
||||||
int ext_pwr_req, int deepsleep_slot_nr);
|
int ext_pwr_req, int deepsleep_slot_nr);
|
||||||
int rc5t583_irq_init(struct rc5t583 *rc5t583, int irq, int irq_base);
|
int rc5t583_irq_init(struct rc5t583 *rc5t583, int irq, int irq_base);
|
||||||
|
|
Loading…
Reference in a new issue