diff mbox

pwm: fix Broadcom BCM7038 PWM driver

Message ID 6796852.Ynn1zMqb4r@wuerfel
State Superseded
Headers show

Commit Message

Arnd Bergmann Oct. 6, 2015, 7:59 p.m. UTC
The newly added pwm-brcmstb driver fails to build if CONFIG_PM_SLEEP
is enabled:

drivers/pwm/pwm-brcmstb.c: In function 'brcmstb_pwm_suspend':
drivers/pwm/pwm-brcmstb.c:309:42: error: 'dev' undeclared (first use in this function)
  struct brcmstb_pwm *p = dev_get_drvdata(dev);

This changes the name of the function argument to match its user.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
On Monday 05 October 2015 17:14:15 Thierry Reding wrote:
> On Mon, Sep 14, 2015 at 04:47:04PM -0700, Florian Fainelli wrote:
> > Florian Fainelli (2):
> >   Documentation: dt: add Broadcom BCM7038 PWM controller binding
> >   pwm: Add Broadcom BCM7038 PWM controller support
> 
> I've applied both of these patches with a couple of stylistic changes.

As in the pwm-berlin driver, one of the fixups was broken.


--
To unsubscribe from this list: send the line "unsubscribe linux-pwm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Florian Fainelli Oct. 7, 2015, 12:51 a.m. UTC | #1
On 06/10/15 12:59, Arnd Bergmann wrote:
> The newly added pwm-brcmstb driver fails to build if CONFIG_PM_SLEEP
> is enabled:
> 
> drivers/pwm/pwm-brcmstb.c: In function 'brcmstb_pwm_suspend':
> drivers/pwm/pwm-brcmstb.c:309:42: error: 'dev' undeclared (first use in this function)
>   struct brcmstb_pwm *p = dev_get_drvdata(dev);
> 
> This changes the name of the function argument to match its user.

Thanks, maybe, to avoid similar issues in the future, we should start
removing the ifdef CONFIG_PM_SLEEP and instead annotate such functions
with __maybe_unused. I wonder if we could magically make that happen
with a coccinelle script that looks for SIMPLE_DEV_PM_OPS to know which
functions to annotate... humm.

> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> On Monday 05 October 2015 17:14:15 Thierry Reding wrote:
>> On Mon, Sep 14, 2015 at 04:47:04PM -0700, Florian Fainelli wrote:
>>> Florian Fainelli (2):
>>>   Documentation: dt: add Broadcom BCM7038 PWM controller binding
>>>   pwm: Add Broadcom BCM7038 PWM controller support
>>
>> I've applied both of these patches with a couple of stylistic changes.
> 
> As in the pwm-berlin driver, one of the fixups was broken.
> 
> diff --git a/drivers/pwm/pwm-brcmstb.c b/drivers/pwm/pwm-brcmstb.c
> index 083e3ef5b8e5..423ce087cd9c 100644
> --- a/drivers/pwm/pwm-brcmstb.c
> +++ b/drivers/pwm/pwm-brcmstb.c
> @@ -304,7 +304,7 @@ static int brcmstb_pwm_remove(struct platform_device *pdev)
>  }
>  
>  #ifdef CONFIG_PM_SLEEP
> -static int brcmstb_pwm_suspend(struct device *d)
> +static int brcmstb_pwm_suspend(struct device *dev)
>  {
>  	struct brcmstb_pwm *p = dev_get_drvdata(dev);
>  
> @@ -313,7 +313,7 @@ static int brcmstb_pwm_suspend(struct device *d)
>  	return 0;
>  }
>  
> -static int brcmstb_pwm_resume(struct device *d)
> +static int brcmstb_pwm_resume(struct device *dev)
>  {
>  	struct brcmstb_pwm *p = dev_get_drvdata(dev);
>  
>
Arnd Bergmann Oct. 7, 2015, 1:31 p.m. UTC | #2
On Tuesday 06 October 2015 17:51:30 Florian Fainelli wrote:
> On 06/10/15 12:59, Arnd Bergmann wrote:
> > The newly added pwm-brcmstb driver fails to build if CONFIG_PM_SLEEP
> > is enabled:
> > 
> > drivers/pwm/pwm-brcmstb.c: In function 'brcmstb_pwm_suspend':
> > drivers/pwm/pwm-brcmstb.c:309:42: error: 'dev' undeclared (first use in this function)
> >   struct brcmstb_pwm *p = dev_get_drvdata(dev);
> > 
> > This changes the name of the function argument to match its user.
> 
> Thanks, maybe, to avoid similar issues in the future, we should start
> removing the ifdef CONFIG_PM_SLEEP and instead annotate such functions
> with __maybe_unused. I wonder if we could magically make that happen
> with a coccinelle script that looks for SIMPLE_DEV_PM_OPS to know which
> functions to annotate... humm.

I think the best solution would be to replace SIMPLE_DEV_PM_OPS with
a macro that creates an unused reference to the functions. That
way, we could remove all the #ifdef CONFIG_PM_SLEEP from the kernel,
but we'd still have to use coccinelle to replace all the current
instances with the new macro.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-pwm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/pwm/pwm-brcmstb.c b/drivers/pwm/pwm-brcmstb.c
index 083e3ef5b8e5..423ce087cd9c 100644
--- a/drivers/pwm/pwm-brcmstb.c
+++ b/drivers/pwm/pwm-brcmstb.c
@@ -304,7 +304,7 @@  static int brcmstb_pwm_remove(struct platform_device *pdev)
 }
 
 #ifdef CONFIG_PM_SLEEP
-static int brcmstb_pwm_suspend(struct device *d)
+static int brcmstb_pwm_suspend(struct device *dev)
 {
 	struct brcmstb_pwm *p = dev_get_drvdata(dev);
 
@@ -313,7 +313,7 @@  static int brcmstb_pwm_suspend(struct device *d)
 	return 0;
 }
 
-static int brcmstb_pwm_resume(struct device *d)
+static int brcmstb_pwm_resume(struct device *dev)
 {
 	struct brcmstb_pwm *p = dev_get_drvdata(dev);