diff mbox

mfd: stmpe: add the proper PWM resources

Message ID 1455455227-16848-1-git-send-email-linus.walleij@linaro.org
State Not Applicable
Headers show

Commit Message

Linus Walleij Feb. 14, 2016, 1:07 p.m. UTC
This adds the PWM resources to the STMPE MFD driver, so that
it can properly grab and use them.

Cc: linux-pwm@vger.kernel.org
Cc: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
ChangeLog: split this patch off from the PWM driver and sent
separately. This can be merged separately too so we need no
criss-cross between MFD and PWM anymore, Lee: this one is for
you if it looks all right, excess newlines are gone too.
---
 drivers/mfd/stmpe.c | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

Comments

Lee Jones Feb. 15, 2016, 8:30 a.m. UTC | #1
On Sun, 14 Feb 2016, Linus Walleij wrote:

> This adds the PWM resources to the STMPE MFD driver, so that
> it can properly grab and use them.
> 
> Cc: linux-pwm@vger.kernel.org
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> ChangeLog: split this patch off from the PWM driver and sent
> separately. This can be merged separately too so we need no
> criss-cross between MFD and PWM anymore, Lee: this one is for
> you if it looks all right, excess newlines are gone too.
> ---
>  drivers/mfd/stmpe.c | 35 +++++++++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)

Applied, thanks.
 
> diff --git a/drivers/mfd/stmpe.c b/drivers/mfd/stmpe.c
> index 8222e374e4b1..fb8f9e8b75df 100644
> --- a/drivers/mfd/stmpe.c
> +++ b/drivers/mfd/stmpe.c
> @@ -334,6 +334,31 @@ static const struct mfd_cell stmpe_keypad_cell = {
>  };
>  
>  /*
> + * 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
>   */
>  static const u8 stmpe801_regs[] = {
> @@ -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,
diff mbox

Patch

diff --git a/drivers/mfd/stmpe.c b/drivers/mfd/stmpe.c
index 8222e374e4b1..fb8f9e8b75df 100644
--- a/drivers/mfd/stmpe.c
+++ b/drivers/mfd/stmpe.c
@@ -334,6 +334,31 @@  static const struct mfd_cell stmpe_keypad_cell = {
 };
 
 /*
+ * 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
  */
 static const u8 stmpe801_regs[] = {
@@ -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,