|
@@ -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)
|