Skip to content

Commit

Permalink
mfd: tps65090: Don't tell child devices we have an IRQ if we don't
Browse files Browse the repository at this point in the history
If we weren't given an interrupt we shouldn't tell child devices (like
the tps65090 charger) that they have an interrupt.  This is needed so
that we can support polling mode in the tps65090 charger driver.

See also (charger: tps65090: Allow charger module to be used when no
irq).

Signed-off-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
  • Loading branch information
Doug Anderson authored and Lee Jones committed Apr 23, 2014
1 parent a798c10 commit 7d81177
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions drivers/mfd/tps65090.c
Original file line number Diff line number Diff line change
Expand Up @@ -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],
Expand Down Expand Up @@ -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,
Expand Down

0 comments on commit 7d81177

Please sign in to comment.