mfd: stmpe: Add the proper PWM resources
authorLinus Walleij <linus.walleij@linaro.org>
Sun, 14 Feb 2016 13:07:07 +0000 (14:07 +0100)
committerLee Jones <lee.jones@linaro.org>
Wed, 16 Mar 2016 08:50:37 +0000 (08:50 +0000)
This adds the PWM resources to the STMPE MFD driver, so that
it can properly grab and use them.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/stmpe.c

index 8222e374e4b17d55d3d514e9fc414b96b998008c..fb8f9e8b75dfa36ab69dc959fa222d748b23b2fd 100644 (file)
@@ -333,6 +333,31 @@ static const struct mfd_cell stmpe_keypad_cell = {
        .num_resources  = ARRAY_SIZE(stmpe_keypad_resources),
 };
 
+/*
+ * PWM (1601, 2401, 2403)
+ */
+static struct resource stmpe_pwm_resources[] = {
+       {
+               .name   = "PWM0",
+               .flags  = IORESOURCE_IRQ,
+       },
+       {
+               .name   = "PWM1",
+               .flags  = IORESOURCE_IRQ,
+       },
+       {
+               .name   = "PWM2",
+               .flags  = IORESOURCE_IRQ,
+       },
+};
+
+static const struct mfd_cell stmpe_pwm_cell = {
+       .name           = "stmpe-pwm",
+       .of_compatible  = "st,stmpe-pwm",
+       .resources      = stmpe_pwm_resources,
+       .num_resources  = ARRAY_SIZE(stmpe_pwm_resources),
+};
+
 /*
  * STMPE801
  */
@@ -537,6 +562,11 @@ static struct stmpe_variant_block stmpe1601_blocks[] = {
                .irq    = STMPE1601_IRQ_KEYPAD,
                .block  = STMPE_BLOCK_KEYPAD,
        },
+       {
+               .cell   = &stmpe_pwm_cell,
+               .irq    = STMPE1601_IRQ_PWM0,
+               .block  = STMPE_BLOCK_PWM,
+       },
 };
 
 /* supported autosleep timeout delay (in msecs) */
@@ -771,6 +801,11 @@ static struct stmpe_variant_block stmpe24xx_blocks[] = {
                .irq    = STMPE24XX_IRQ_KEYPAD,
                .block  = STMPE_BLOCK_KEYPAD,
        },
+       {
+               .cell   = &stmpe_pwm_cell,
+               .irq    = STMPE24XX_IRQ_PWM0,
+               .block  = STMPE_BLOCK_PWM,
+       },
 };
 
 static int stmpe24xx_enable(struct stmpe *stmpe, unsigned int blocks,