mfd: tps65090: Don't tell child devices we have an IRQ if we don't
[cascardo/linux.git] / drivers / mfd / tps65090.c
index ba1a25d..c3cddb4 100644 (file)
@@ -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,