mfd: palmas: Add rtc irq number as irq resource for palmas-rtc
authorLaxman Dewangan <ldewangan@nvidia.com>
Thu, 3 Jan 2013 10:46:57 +0000 (16:16 +0530)
committerSamuel Ortiz <sameo@linux.intel.com>
Wed, 13 Feb 2013 23:22:44 +0000 (00:22 +0100)
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>
drivers/mfd/palmas.c

index 6ffd7a2affdc2df808bad3a75b9389741f415cbc..bbdbc50a3ccadb7ec98d5d6cd6176c36b9d85a50 100644 (file)
@@ -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",
@@ -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",
@@ -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)