Skip to content

Commit

Permalink
mfd: palmas: Add rtc irq number as irq resource for palmas-rtc
Browse files Browse the repository at this point in the history
Palma RTC is capable of generating alarm interrupt. Pass the alarm interrupt
as IRQ_RESOURCE for palmas-rtc sub device driver so that rtc driver can get
irq as platform_get_irq().

Also pass the irq domain in mfd_add_devices() to properly offset the irqs for
sub devices. This is needed when adding device through DT.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
  • Loading branch information
Laxman Dewangan authored and Samuel Ortiz committed Feb 13, 2013
1 parent 88b62b9 commit a36516b
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions drivers/mfd/palmas.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,14 @@ enum palmas_ids {
PALMAS_USB_ID,
};

static struct resource palmas_rtc_resources[] = {
{
.start = PALMAS_RTC_ALARM_IRQ,
.end = PALMAS_RTC_ALARM_IRQ,
.flags = IORESOURCE_IRQ,
},
};

static const struct mfd_cell palmas_children[] = {
{
.name = "palmas-pmic",
Expand All @@ -59,6 +67,8 @@ static const struct mfd_cell palmas_children[] = {
{
.name = "palmas-rtc",
.id = PALMAS_RTC_ID,
.resources = &palmas_rtc_resources[0],
.num_resources = ARRAY_SIZE(palmas_rtc_resources),
},
{
.name = "palmas-pwrbutton",
Expand Down Expand Up @@ -456,8 +466,8 @@ static int palmas_i2c_probe(struct i2c_client *i2c,

ret = mfd_add_devices(palmas->dev, -1,
children, ARRAY_SIZE(palmas_children),
NULL, regmap_irq_chip_get_base(palmas->irq_data),
NULL);
NULL, 0,
regmap_irq_get_domain(palmas->irq_data));
kfree(children);

if (ret < 0)
Expand Down

0 comments on commit a36516b

Please sign in to comment.