Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
88pm8607.c File Reference
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/err.h>
#include <linux/i2c.h>
#include <linux/of.h>
#include <linux/regulator/of_regulator.h>
#include <linux/platform_device.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/machine.h>
#include <linux/mfd/88pm860x.h>
#include <linux/module.h>

Go to the source code of this file.

Data Structures

struct  pm8607_regulator_info
 

Macros

#define PM8606_PREG(ereg, ebit)
 
#define PM8607_DVC(vreg, ureg, ubit, ereg, ebit)
 
#define PM8607_LDO(_id, vreg, shift, ereg, ebit)
 
#define pm8607_regulator_dt_init(x, y, z)   (-1)
 

Functions

 MODULE_DEVICE_TABLE (platform, pm8607_regulator_driver_ids)
 
 subsys_initcall (pm8607_regulator_init)
 
 module_exit (pm8607_regulator_exit)
 
 MODULE_LICENSE ("GPL")
 
 MODULE_AUTHOR ("Haojian Zhuang <[email protected]>")
 
 MODULE_DESCRIPTION ("Regulator Driver for Marvell 88PM8607 PMIC")
 
 MODULE_ALIAS ("platform:88pm8607-regulator")
 

Macro Definition Documentation

#define PM8606_PREG (   ereg,
  ebit 
)
Value:
{ \
.desc = { \
.name = "PREG", \
.ops = &pm8606_preg_ops, \
.type = REGULATOR_CURRENT, \
.id = PM8606_ID_PREG, \
.owner = THIS_MODULE, \
.enable_reg = PM8606_##ereg, \
.enable_mask = (ebit), \
}, \
}

Definition at line 292 of file 88pm8607.c.

#define PM8607_DVC (   vreg,
  ureg,
  ubit,
  ereg,
  ebit 
)
Value:
{ \
.desc = { \
.name = #vreg, \
.ops = &pm8607_regulator_ops, \
.type = REGULATOR_VOLTAGE, \
.id = PM8607_ID_##vreg, \
.owner = THIS_MODULE, \
.n_voltages = ARRAY_SIZE(vreg##_table), \
.vsel_reg = PM8607_##vreg, \
.vsel_mask = ARRAY_SIZE(vreg##_table) - 1, \
.enable_reg = PM8607_##ereg, \
.enable_mask = 1 << (ebit), \
}, \
.update_reg = PM8607_##ureg, \
.update_bit = (ubit), \
.slope_double = (0), \
.vol_table = (unsigned int *)&vreg##_table, \
.vol_suspend = (unsigned int *)&vreg##_suspend_table, \
}

Definition at line 305 of file 88pm8607.c.

#define PM8607_LDO (   _id,
  vreg,
  shift,
  ereg,
  ebit 
)
Value:
{ \
.desc = { \
.name = "LDO" #_id, \
.ops = &pm8607_regulator_ops, \
.type = REGULATOR_VOLTAGE, \
.id = PM8607_ID_LDO##_id, \
.owner = THIS_MODULE, \
.n_voltages = ARRAY_SIZE(LDO##_id##_table), \
.vsel_reg = PM8607_##vreg, \
.vsel_mask = (ARRAY_SIZE(LDO##_id##_table) - 1) << (shift), \
.enable_reg = PM8607_##ereg, \
.enable_mask = 1 << (ebit), \
}, \
.slope_double = (0), \
.vol_table = (unsigned int *)&LDO##_id##_table, \
.vol_suspend = (unsigned int *)&LDO##_id##_suspend_table, \
}

Definition at line 326 of file 88pm8607.c.

#define pm8607_regulator_dt_init (   x,
  y,
 
)    (-1)

Definition at line 394 of file 88pm8607.c.

Function Documentation

MODULE_ALIAS ( "platform:88pm8607-regulator )
MODULE_AUTHOR ( "Haojian Zhuang <[email protected]>"  )
MODULE_DESCRIPTION ( "Regulator Driver for Marvell 88PM8607 PMIC"  )
MODULE_DEVICE_TABLE ( platform  ,
pm8607_regulator_driver_ids   
)
module_exit ( pm8607_regulator_exit  )
MODULE_LICENSE ( "GPL"  )
subsys_initcall ( pm8607_regulator_init  )