2012-06-03 18:25:44

by Roland Stigge

[permalink] [raw]
Subject: [PATCH] ohci-nxp: Use ohci_finish_controller_resume()

OHCI drivers are supposed to use ohci_finish_controller_resume(). This patch
adds respective suspend and resume code to ohci-nxp. The following compiler
warning is fixed this way:

drivers/usb/host/ohci-hub.c:321: warning: 'ohci_finish_controller_resume'
defined but not used

Signed-off-by: Roland Stigge <[email protected]>

---
Applies to v3.5-rc1

drivers/usb/host/ohci-nxp.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

--- linux-2.6.orig/drivers/usb/host/ohci-nxp.c
+++ linux-2.6/drivers/usb/host/ohci-nxp.c
@@ -432,6 +432,23 @@ static int usb_hcd_nxp_remove(struct pla
return 0;
}

+#ifdef CONFIG_PM
+static int usb_hcd_suspend(struct platform_device *pdev, pm_message_t message)
+{
+ clk_disable(usb_clk);
+ return 0;
+}
+
+static int usb_hcd_resume(struct platform_device *pdev)
+{
+ struct usb_hcd *hcd = platform_get_drvdata(pdev);
+
+ clk_enable(usb_clk);
+ ohci_finish_controller_resume(hcd);
+ return 0;
+}
+#endif
+
/* work with hotplug and coldplug */
MODULE_ALIAS("platform:usb-ohci");

@@ -451,5 +468,9 @@ static struct platform_driver usb_hcd_nx
},
.probe = usb_hcd_nxp_probe,
.remove = usb_hcd_nxp_remove,
+#ifdef CONFIG_PM
+ .suspend = usb_hcd_suspend,
+ .resume = usb_hcd_resume,
+#endif
};


2012-06-04 14:29:35

by Alan Stern

[permalink] [raw]
Subject: Re: [PATCH] ohci-nxp: Use ohci_finish_controller_resume()

On Sun, 3 Jun 2012, Roland Stigge wrote:

> OHCI drivers are supposed to use ohci_finish_controller_resume(). This patch
> adds respective suspend and resume code to ohci-nxp. The following compiler
> warning is fixed this way:
>
> drivers/usb/host/ohci-hub.c:321: warning: 'ohci_finish_controller_resume'
> defined but not used

This is not a correct description of the patch. A correct description
would be something like:

Add suspend/resume support to the ohci-nxp driver.

The compiler warning needs a completely different fix;
ohci_finish_controller_resume should be given a __maybe_unused
annotation.

Alan Stern

> Signed-off-by: Roland Stigge <[email protected]>
>
> ---
> Applies to v3.5-rc1
>
> drivers/usb/host/ohci-nxp.c | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
> --- linux-2.6.orig/drivers/usb/host/ohci-nxp.c
> +++ linux-2.6/drivers/usb/host/ohci-nxp.c
> @@ -432,6 +432,23 @@ static int usb_hcd_nxp_remove(struct pla
> return 0;
> }
>
> +#ifdef CONFIG_PM
> +static int usb_hcd_suspend(struct platform_device *pdev, pm_message_t message)
> +{
> + clk_disable(usb_clk);
> + return 0;
> +}
> +
> +static int usb_hcd_resume(struct platform_device *pdev)
> +{
> + struct usb_hcd *hcd = platform_get_drvdata(pdev);
> +
> + clk_enable(usb_clk);
> + ohci_finish_controller_resume(hcd);
> + return 0;
> +}
> +#endif
> +
> /* work with hotplug and coldplug */
> MODULE_ALIAS("platform:usb-ohci");
>
> @@ -451,5 +468,9 @@ static struct platform_driver usb_hcd_nx
> },
> .probe = usb_hcd_nxp_probe,
> .remove = usb_hcd_nxp_remove,
> +#ifdef CONFIG_PM
> + .suspend = usb_hcd_suspend,
> + .resume = usb_hcd_resume,
> +#endif
> };

2012-06-04 14:54:11

by Kishon Vijay Abraham I

[permalink] [raw]
Subject: Re: [PATCH] ohci-nxp: Use ohci_finish_controller_resume()

Hi,

On Sun, Jun 3, 2012 at 11:54 PM, Roland Stigge <[email protected]> wrote:
> OHCI drivers are supposed to use ohci_finish_controller_resume(). This patch
> adds respective suspend and resume code to ohci-nxp. The following compiler
> warning is fixed this way:
>
> drivers/usb/host/ohci-hub.c:321: warning: 'ohci_finish_controller_resume'
> defined but not used
>
> Signed-off-by: Roland Stigge <[email protected]>
>
> ---
> Applies to v3.5-rc1
>
> ?drivers/usb/host/ohci-nxp.c | ? 21 +++++++++++++++++++++
> ?1 file changed, 21 insertions(+)
>
> --- linux-2.6.orig/drivers/usb/host/ohci-nxp.c
> +++ linux-2.6/drivers/usb/host/ohci-nxp.c
> @@ -432,6 +432,23 @@ static int usb_hcd_nxp_remove(struct pla
> ? ? ? ?return 0;
> ?}
>
> +#ifdef CONFIG_PM
> +static int usb_hcd_suspend(struct platform_device *pdev, pm_message_t message)
> +{
> + ? ? ? clk_disable(usb_clk);
> + ? ? ? return 0;
> +}
> +
> +static int usb_hcd_resume(struct platform_device *pdev)
> +{
> + ? ? ? struct usb_hcd *hcd = platform_get_drvdata(pdev);
> +
> + ? ? ? clk_enable(usb_clk);
> + ? ? ? ohci_finish_controller_resume(hcd);
> + ? ? ? return 0;
> +}
> +#endif
> +
> ?/* work with hotplug and coldplug */
> ?MODULE_ALIAS("platform:usb-ohci");
>
> @@ -451,5 +468,9 @@ static struct platform_driver usb_hcd_nx
> ? ? ? ?},
> ? ? ? ?.probe = usb_hcd_nxp_probe,
> ? ? ? ?.remove = usb_hcd_nxp_remove,
> +#ifdef CONFIG_PM
> + ? ? ? .suspend = usb_hcd_suspend,
> + ? ? ? .resume = usb_hcd_resume,
> +#endif

Please make use of the SET_SYSTEM_SLEEP_PM_OPS() initializer.

Thanks
Kishon

2012-06-04 15:02:32

by Roland Stigge

[permalink] [raw]
Subject: Re: [PATCH] ohci-nxp: Use ohci_finish_controller_resume()

Hi!

On 06/04/2012 04:29 PM, Alan Stern wrote:
>> OHCI drivers are supposed to use ohci_finish_controller_resume(). This patch
>> adds respective suspend and resume code to ohci-nxp. The following compiler
>> warning is fixed this way:
>>
>> drivers/usb/host/ohci-hub.c:321: warning: 'ohci_finish_controller_resume'
>> defined but not used
>
> This is not a correct description of the patch. A correct description
> would be something like:
>
> Add suspend/resume support to the ohci-nxp driver.
>
> The compiler warning needs a completely different fix;
> ohci_finish_controller_resume should be given a __maybe_unused
> annotation.

Thanks for the suggestion! I'll rather do the latter.

Roland