mfd: Enable onkey on max8925
authorHaojian Zhuang <haojian.zhuang@marvell.com>
Fri, 18 Jun 2010 17:59:53 +0000 (19:59 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Thu, 12 Aug 2010 09:27:16 +0000 (11:27 +0200)
Enable onkey feature in max8925 driver.

Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/mfd/max8925-core.c

index f621bcea3d02bfbda6610f409621199b1fa5a78e..04028a9ee082735278557b606840619ade7e29a9 100644 (file)
@@ -90,6 +90,24 @@ static struct mfd_cell rtc_devs[] = {
        },
 };
 
+static struct resource onkey_resources[] = {
+       {
+               .name   = "max8925-onkey",
+               .start  = MAX8925_IRQ_GPM_SW_3SEC,
+               .end    = MAX8925_IRQ_GPM_SW_3SEC,
+               .flags  = IORESOURCE_IRQ,
+       },
+};
+
+static struct mfd_cell onkey_devs[] = {
+       {
+               .name           = "max8925-onkey",
+               .num_resources  = 1,
+               .resources      = &onkey_resources[0],
+               .id             = -1,
+       },
+};
+
 #define MAX8925_REG_RESOURCE(_start, _end)     \
 {                                              \
        .start  = MAX8925_##_start,             \
@@ -596,6 +614,15 @@ int __devinit max8925_device_init(struct max8925_chip *chip,
                dev_err(chip->dev, "Failed to add rtc subdev\n");
                goto out;
        }
+
+       ret = mfd_add_devices(chip->dev, 0, &onkey_devs[0],
+                             ARRAY_SIZE(onkey_devs),
+                             &onkey_resources[0], 0);
+       if (ret < 0) {
+               dev_err(chip->dev, "Failed to add onkey subdev\n");
+               goto out_dev;
+       }
+
        if (pdata && pdata->regulator[0]) {
                ret = mfd_add_devices(chip->dev, 0, &regulator_devs[0],
                                      ARRAY_SIZE(regulator_devs),