* Lee Jones <[email protected]> [140520 08:18]:
> 
> Ah, I forgot to Ack this last time, didn't I?
> 
>   Acked-by: Lee Jones <[email protected]>

Yeah, here's this one updated with your ack.

Regards,

Tony

8< ---------------------------
From: Tony Lindgren <[email protected]>
Date: Tue, 20 May 2014 11:17:54 -0700
Subject: [PATCH] mfd: twl4030-power: Add support for board specific 
configuration

With the recommended twl4030 configuration added, we can now add
board specific changes as modifications to the recommended
configuration.

Note that the data is private to this driver, and the data must
always have a NULL resource in the sentinel.

Cc: Peter De Schrijver <[email protected]>
Cc: Samuel Ortiz <[email protected]>
Acked-by: Lee Jones <[email protected]>
Signed-off-by: Tony Lindgren <[email protected]>

--- a/drivers/mfd/twl4030-power.c
+++ b/drivers/mfd/twl4030-power.c
@@ -567,13 +567,34 @@ twl4030_power_configure_scripts(const struct 
twl4030_power_data *pdata)
        return 0;
 }
 
+static void twl4030_patch_rconfig(struct twl4030_resconfig *common,
+                                 struct twl4030_resconfig *board)
+{
+       while (common->resource) {
+               struct twl4030_resconfig *b = board;
+
+               while (b->resource) {
+                       if (b->resource == common->resource) {
+                               *common = *b;
+                               break;
+                       }
+                       b++;
+               }
+               common++;
+       }
+}
+
 static int
 twl4030_power_configure_resources(const struct twl4030_power_data *pdata)
 {
        struct twl4030_resconfig *resconfig = pdata->resource_config;
+       struct twl4030_resconfig *boardconf = pdata->board_config;
        int err;
 
        if (resconfig) {
+               if (boardconf)
+                       twl4030_patch_rconfig(resconfig, boardconf);
+
                while (resconfig->resource) {
                        err = twl4030_configure_resource(resconfig);
                        if (err)
--- a/include/linux/i2c/twl.h
+++ b/include/linux/i2c/twl.h
@@ -674,6 +674,7 @@ struct twl4030_power_data {
        struct twl4030_script **scripts;
        unsigned num;
        struct twl4030_resconfig *resource_config;
+       struct twl4030_resconfig *board_config;
 #define TWL4030_RESCONFIG_UNDEF        ((u8)-1)
        bool use_poweroff;      /* Board is wired for TWL poweroff */
 };
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to