Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
[pandora-kernel.git] / include / linux / mfd / 88pm860x.h
index 4db1fbd..8fba797 100644 (file)
@@ -131,9 +131,11 @@ enum {
        PM8607_ID_LDO8,
        PM8607_ID_LDO9,
        PM8607_ID_LDO10,
+       PM8607_ID_LDO11,
        PM8607_ID_LDO12,
        PM8607_ID_LDO13,
        PM8607_ID_LDO14,
+       PM8607_ID_LDO15,
 
        PM8607_ID_RG_MAX,
 };
@@ -310,8 +312,6 @@ struct pm860x_chip {
 
 };
 
-#define PM8607_MAX_REGULATOR   PM8607_ID_RG_MAX        /* 3 Bucks, 13 LDOs */
-
 enum {
        GI2C_PORT = 0,
        PI2C_PORT,
@@ -351,23 +351,31 @@ struct pm860x_platform_data {
        struct pm860x_led_pdata         *led;
        struct pm860x_touch_pdata       *touch;
        struct pm860x_power_pdata       *power;
+       struct regulator_init_data      *regulator;
 
        unsigned short  companion_addr; /* I2C address of companion chip */
        int             i2c_port;       /* Controlled by GI2C or PI2C */
        int             irq_mode;       /* Clear interrupt by read/write(0/1) */
        int             irq_base;       /* IRQ base number of 88pm860x */
-       struct regulator_init_data *regulator[PM8607_MAX_REGULATOR];
+       int             num_leds;
+       int             num_backlights;
+       int             num_regulators;
 };
 
-extern char pm860x_backlight_name[][MFD_NAME_SIZE];
-extern char pm860x_led_name[][MFD_NAME_SIZE];
-
 extern int pm860x_reg_read(struct i2c_client *, int);
 extern int pm860x_reg_write(struct i2c_client *, int, unsigned char);
 extern int pm860x_bulk_read(struct i2c_client *, int, int, unsigned char *);
 extern int pm860x_bulk_write(struct i2c_client *, int, int, unsigned char *);
 extern int pm860x_set_bits(struct i2c_client *, int, unsigned char,
                           unsigned char);
+extern int pm860x_page_reg_read(struct i2c_client *, int);
+extern int pm860x_page_reg_write(struct i2c_client *, int, unsigned char);
+extern int pm860x_page_bulk_read(struct i2c_client *, int, int,
+                                unsigned char *);
+extern int pm860x_page_bulk_write(struct i2c_client *, int, int,
+                                 unsigned char *);
+extern int pm860x_page_set_bits(struct i2c_client *, int, unsigned char,
+                               unsigned char);
 
 extern int pm860x_device_init(struct pm860x_chip *chip,
                              struct pm860x_platform_data *pdata) __devinit ;