]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
twl4030-power: minor cleanup
authorDavid Brownell <dbrownell@users.sourceforge.net>
Wed, 26 Nov 2008 21:09:08 +0000 (13:09 -0800)
committerTony Lindgren <tony@atomide.com>
Wed, 26 Nov 2008 22:59:24 +0000 (14:59 -0800)
Minor cleanups to the twl4030 power script support:  move its
init code out of the "add children" call (it adds no children!),
and move the power bus messages earlier in the header file to
unclutter the platform data section and since they're not used
only for those scripts.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
drivers/mfd/twl4030-core.c
include/linux/i2c/twl4030.h

index b15416317a1faa68690559721399d848bfbc6d81..26dea6b448f6b4a808a89567b6327283afa356a6 100644 (file)
@@ -503,9 +503,6 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)
                        return PTR_ERR(child);
        }
 
-       if (twl_has_power() && pdata->power)
-               twl4030_power_init(pdata->power);
-
        if (twl_has_rtc()) {
                /*
                 * REVISIT platform_data here currently might expose the
@@ -788,6 +785,10 @@ twl4030_probe(struct i2c_client *client, const struct i2c_device_id *id)
        /* setup clock framework */
        clocks_init();
 
+       /* load power event scripts */
+       if (twl_has_power() && pdata->power)
+               twl4030_power_init(pdata->power);
+
        /* Maybe init the T2 Interrupt subsystem */
        if (client->irq
                        && pdata->irq_base
index 7eb31ad97392a2474086613fa3351df42cfbbcad..e606d50b685d7b97a22f059dc8b4a18f505ccecd 100644 (file)
@@ -168,7 +168,7 @@ int twl4030_i2c_read(u8 mod_no, u8 *value, u8 reg, unsigned num_bytes);
 /*----------------------------------------------------------------------*/
 
 /*
- * Multichannel ADC register offsets (use TWL4030_MODULE_MADC)
+ * Monitoring ADC register offsets (use TWL4030_MODULE_MADC)
  * ... SIH/interrupt only
  */
 
@@ -218,6 +218,53 @@ int twl4030_i2c_read(u8 mod_no, u8 *value, u8 reg, unsigned num_bytes);
 
 /*----------------------------------------------------------------------*/
 
+/* Power bus message definitions */
+
+#define DEV_GRP_NULL           0x0
+#define DEV_GRP_P1             0x1
+#define DEV_GRP_P2             0x2
+#define DEV_GRP_P3             0x4
+
+#define RES_GRP_RES            0x0
+#define RES_GRP_PP             0x1
+#define RES_GRP_RC             0x2
+#define RES_GRP_PP_RC          0x3
+#define RES_GRP_PR             0x4
+#define RES_GRP_PP_PR          0x5
+#define RES_GRP_RC_PR          0x6
+#define RES_GRP_ALL            0x7
+
+#define RES_TYPE2_R0           0x0
+
+#define RES_TYPE_ALL           0x7
+
+#define RES_STATE_WRST         0xF
+#define RES_STATE_ACTIVE       0xE
+#define RES_STATE_SLEEP                0x8
+#define RES_STATE_OFF          0x0
+
+/*
+ * Power Bus Message Format ... these can be sent individually by Linux,
+ * but are usually part of downloaded scripts that are run when various
+ * power events are triggered.
+ *
+ *  Broadcast Message (16 Bits):
+ *    DEV_GRP[15:13] MT[12]  RES_GRP[11:9]  RES_TYPE2[8:7] RES_TYPE[6:4]
+ *    RES_STATE[3:0]
+ *
+ *  Singular Message (16 Bits):
+ *    DEV_GRP[15:13] MT[12]  RES_ID[11:4]  RES_STATE[3:0]
+ */
+
+#define MSG_BROADCAST(devgrp, grp, type, type2, state) \
+       ( (devgrp) << 13 | 1 << 12 | (grp) << 9 | (type2) << 7 \
+       | (type) << 4 | (state))
+
+#define MSG_SINGULAR(devgrp, id, state) \
+       ((devgrp) << 13 | 0 << 12 | (id) << 4 | (state))
+
+/*----------------------------------------------------------------------*/
+
 struct twl4030_bci_platform_data {
        int *battery_tmp_tbl;
        unsigned int tblsize;
@@ -281,60 +328,17 @@ struct twl4030_script {
        struct twl4030_ins *script;
        unsigned size;
        u8 flags;
-};
 #define TRITON_WRST_SCRIPT     (1<<0)
 #define TRITON_WAKEUP12_SCRIPT (1<<1)
 #define TRITON_WAKEUP3_SCRIPT  (1<<2)
 #define TRITON_SLEEP_SCRIPT    (1<<3)
+};
 
 struct twl4030_power_data {
        struct twl4030_script **scripts;
        unsigned size;
 };
 
-/* Power bus message definitions */
-
-#define DEV_GRP_NULL           0x0
-#define DEV_GRP_P1             0x1
-#define DEV_GRP_P2             0x2
-#define DEV_GRP_P3             0x4
-
-#define RES_GRP_RES            0x0
-#define RES_GRP_PP             0x1
-#define RES_GRP_RC             0x2
-#define RES_GRP_PP_RC          0x3
-#define RES_GRP_PR             0x4
-#define RES_GRP_PP_PR          0x5
-#define RES_GRP_RC_PR          0x6
-#define RES_GRP_ALL            0x7
-
-#define RES_TYPE2_R0           0x0
-
-#define RES_TYPE_ALL           0x7
-
-#define RES_STATE_WRST         0xF
-#define RES_STATE_ACTIVE       0xE
-#define RES_STATE_SLEEP                0x8
-#define RES_STATE_OFF          0x0
-
-/*
-*      Power Bus Message Format
-*
-*      Broadcast Message (16 Bits)
-*      DEV_GRP[15:13] MT[12]  RES_GRP[11:9]  RES_TYPE2[8:7] RES_TYPE[6:4]
-*      RES_STATE[3:0]
-*
-*      Singular Message (16 Bits)
-*      DEV_GRP[15:13] MT[12]  RES_ID[11:4]  RES_STATE[3:0]
-*
-*/
-
-#define MSG_BROADCAST(devgrp, grp, type, type2, state) \
-       (devgrp << 13 | 1 << 12 | grp << 9 | type2 << 7 | type << 4 | state)
-
-#define MSG_SINGULAR(devgrp, id, state) \
-       (devgrp << 13 | 0 << 12 | id << 4 | state)
-
 struct twl4030_platform_data {
        unsigned                                irq_base, irq_end;
        struct twl4030_bci_platform_data        *bci;