|
@@ -64,11 +64,16 @@ static struct resource charger_resources[] = {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
-static const struct mfd_cell tps65090s[] = {
|
|
|
- {
|
|
|
+enum tps65090_cells {
|
|
|
+ PMIC = 0,
|
|
|
+ CHARGER = 1,
|
|
|
+};
|
|
|
+
|
|
|
+static struct mfd_cell tps65090s[] = {
|
|
|
+ [PMIC] = {
|
|
|
.name = "tps65090-pmic",
|
|
|
},
|
|
|
- {
|
|
|
+ [CHARGER] = {
|
|
|
.name = "tps65090-charger",
|
|
|
.num_resources = ARRAY_SIZE(charger_resources),
|
|
|
.resources = &charger_resources[0],
|
|
@@ -211,6 +216,9 @@ static int tps65090_i2c_probe(struct i2c_client *client,
|
|
|
"IRQ init failed with err: %d\n", ret);
|
|
|
return ret;
|
|
|
}
|
|
|
+ } else {
|
|
|
+ /* Don't tell children they have an IRQ that'll never fire */
|
|
|
+ tps65090s[CHARGER].num_resources = 0;
|
|
|
}
|
|
|
|
|
|
ret = mfd_add_devices(tps65090->dev, -1, tps65090s,
|