diff mbox

mfd: stmpe: add the proper PWM resources

Message ID 1455455227-16848-1-git-send-email-linus.walleij@linaro.org
State Accepted
Commit b273c5e0b65a98003e6fde6bf2eeba15d1ce8cf4
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(+)

-- 
2.4.3

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,


-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
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,