From: Majunath Goudar <csmanjuvijay@gmail.com> To: csmanjuvijay@gmail.com Cc: Alan Stern <stern@rowland.harvard.edu>, Arnd Bergmann <arnd@arndb.de>, Greg KH <greg@kroah.com>, Kukjin Kim <kgene.kim@samsung.com>, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH V3 5/6] USB: OHCI: Properly handle ohci-exynos suspend Date: Thu, 17 Oct 2013 19:05:12 +0530 [thread overview] Message-ID: <1382016913-10872-6-git-send-email-csmanjuvijay@gmail.com> (raw) In-Reply-To: <1382016913-10872-1-git-send-email-csmanjuvijay@gmail.com> Suspend scenario in case of ohci-exynos glue was not properly handled as it was not suspending generic part of ohci controller. Alan Stern suggested, properly handle ohci-exynos suspend scenario. Calling explicitly the ohci_suspend() routine in exynos_ohci_suspend() will ensure proper handling of suspend scenario. V1->V2: -No changes. Due to the build failure on ep93xx reverted this patch. This patch is needed as Alan Stern suggestion. V2->V3: -No changes. As a build failure on "ep93xx proper suspend patch" and Linaro id bounced. Rewrote this patch on top of latest Greg usb-next branch. This patch not gives any build error. Patch is required for ohci-exynos proper suspending as Alan mentioned. Initially when I wrote this patch I was working in Linaro, now I am not part of Linaro that is why Linaro id is bouncing. Sending this patch from personal mail id. Signed-off-by: Manjunath Goudar <csmanjuvijay@gmail.com> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Greg KH <greg@kroah.com> Cc: Kukjin Kim <kgene.kim@samsung.com> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-usb@vger.kernel.org --- drivers/usb/host/ohci-exynos.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/drivers/usb/host/ohci-exynos.c b/drivers/usb/host/ohci-exynos.c index a87baed..4b5c8bd 100644 --- a/drivers/usb/host/ohci-exynos.c +++ b/drivers/usb/host/ohci-exynos.c @@ -192,23 +192,14 @@ static int exynos_ohci_suspend(struct device *dev) struct exynos_ohci_hcd *exynos_ohci = to_exynos_ohci(hcd); struct ohci_hcd *ohci = hcd_to_ohci(hcd); struct platform_device *pdev = to_platform_device(dev); + bool do_wakeup = device_may_wakeup(dev); unsigned long flags; - int rc = 0; + int rc = ohci_suspend(hcd, do_wakeup); - /* - * Root hub was already suspended. Disable irq emission and - * mark HW unaccessible, bail out if RH has been resumed. Use - * the spinlock to properly synchronize with possible pending - * RH suspend or resume activity. - */ - spin_lock_irqsave(&ohci->lock, flags); - if (ohci->rh_state != OHCI_RH_SUSPENDED && - ohci->rh_state != OHCI_RH_HALTED) { - rc = -EINVAL; - goto fail; - } + if (rc) + return rc; - clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); + spin_lock_irqsave(&ohci->lock, flags); if (exynos_ohci->otg) exynos_ohci->otg->set_host(exynos_ohci->otg, &hcd->self); @@ -217,10 +208,9 @@ static int exynos_ohci_suspend(struct device *dev) clk_disable_unprepare(exynos_ohci->clk); -fail: spin_unlock_irqrestore(&ohci->lock, flags); - return rc; + return 0; } static int exynos_ohci_resume(struct device *dev) -- 1.7.9.5
WARNING: multiple messages have this Message-ID (diff)
From: csmanjuvijay@gmail.com (Majunath Goudar) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH V3 5/6] USB: OHCI: Properly handle ohci-exynos suspend Date: Thu, 17 Oct 2013 19:05:12 +0530 [thread overview] Message-ID: <1382016913-10872-6-git-send-email-csmanjuvijay@gmail.com> (raw) In-Reply-To: <1382016913-10872-1-git-send-email-csmanjuvijay@gmail.com> Suspend scenario in case of ohci-exynos glue was not properly handled as it was not suspending generic part of ohci controller. Alan Stern suggested, properly handle ohci-exynos suspend scenario. Calling explicitly the ohci_suspend() routine in exynos_ohci_suspend() will ensure proper handling of suspend scenario. V1->V2: -No changes. Due to the build failure on ep93xx reverted this patch. This patch is needed as Alan Stern suggestion. V2->V3: -No changes. As a build failure on "ep93xx proper suspend patch" and Linaro id bounced. Rewrote this patch on top of latest Greg usb-next branch. This patch not gives any build error. Patch is required for ohci-exynos proper suspending as Alan mentioned. Initially when I wrote this patch I was working in Linaro, now I am not part of Linaro that is why Linaro id is bouncing. Sending this patch from personal mail id. Signed-off-by: Manjunath Goudar <csmanjuvijay@gmail.com> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Greg KH <greg@kroah.com> Cc: Kukjin Kim <kgene.kim@samsung.com> Cc: linux-arm-kernel at lists.infradead.org Cc: linux-samsung-soc at vger.kernel.org Cc: linux-kernel at vger.kernel.org Cc: linux-usb at vger.kernel.org --- drivers/usb/host/ohci-exynos.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/drivers/usb/host/ohci-exynos.c b/drivers/usb/host/ohci-exynos.c index a87baed..4b5c8bd 100644 --- a/drivers/usb/host/ohci-exynos.c +++ b/drivers/usb/host/ohci-exynos.c @@ -192,23 +192,14 @@ static int exynos_ohci_suspend(struct device *dev) struct exynos_ohci_hcd *exynos_ohci = to_exynos_ohci(hcd); struct ohci_hcd *ohci = hcd_to_ohci(hcd); struct platform_device *pdev = to_platform_device(dev); + bool do_wakeup = device_may_wakeup(dev); unsigned long flags; - int rc = 0; + int rc = ohci_suspend(hcd, do_wakeup); - /* - * Root hub was already suspended. Disable irq emission and - * mark HW unaccessible, bail out if RH has been resumed. Use - * the spinlock to properly synchronize with possible pending - * RH suspend or resume activity. - */ - spin_lock_irqsave(&ohci->lock, flags); - if (ohci->rh_state != OHCI_RH_SUSPENDED && - ohci->rh_state != OHCI_RH_HALTED) { - rc = -EINVAL; - goto fail; - } + if (rc) + return rc; - clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); + spin_lock_irqsave(&ohci->lock, flags); if (exynos_ohci->otg) exynos_ohci->otg->set_host(exynos_ohci->otg, &hcd->self); @@ -217,10 +208,9 @@ static int exynos_ohci_suspend(struct device *dev) clk_disable_unprepare(exynos_ohci->clk); -fail: spin_unlock_irqrestore(&ohci->lock, flags); - return rc; + return 0; } static int exynos_ohci_resume(struct device *dev) -- 1.7.9.5
next prev parent reply other threads:[~2013-10-17 13:35 UTC|newest] Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-10-02 10:15 [PATCH 00/11] USB: OHCI:Properly handle ohci_suspend()routine in bus glue Majunath Goudar 2013-10-02 10:15 ` [PATCH 01/11] USB: OHCI: Properly handle OHCI controller suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 02/11] USB: OHCI: Properly handle ohci-at91 suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 03/11] USB: OHCI: Properly handle ohci-s3c2410 suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 04/11] USB: OHCI: Properly handle ohci-da8xx suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 05/11] USB: OHCI: Properly handle ohci-ep93xx suspend Majunath Goudar 2013-10-14 15:49 ` Olof Johansson 2013-10-14 20:34 ` Alan Stern 2013-10-14 20:41 ` Greg KH 2013-10-14 20:42 ` Hartley Sweeten 2013-10-14 20:50 ` Alan Stern 2013-10-14 21:07 ` Hartley Sweeten 2013-10-15 4:32 ` Olof Johansson [not found] ` <CAKsNYyzFe+o0ctNYyHhL7m71LnAC4WTKbkfN37WHmLBRjgj9+w@mail.gmail.com> 2013-10-15 15:15 ` Greg KH 2013-10-02 10:15 ` [PATCH 06/11] USB: OHCI: Properly handle ohci-exynos suspend Majunath Goudar 2013-10-02 11:34 ` Bartlomiej Zolnierkiewicz 2013-10-02 14:38 ` Alan Stern 2013-10-02 15:10 ` Bartlomiej Zolnierkiewicz 2013-10-02 15:52 ` Alan Stern 2013-10-02 10:15 ` [PATCH 07/11] USB: OHCI: Properly handle ohci-omap suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 08/11] USB: OHCI: Properly handle ohci-platform suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 09/11] USB: OHCI: Properly handle ohci-pxa27x suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 10/11] USB: OHCI: Properly handle ohci-sm501 suspend Majunath Goudar 2013-10-02 10:15 ` [PATCH 11/11] USB: OHCI: Properly handle ohci-spear suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 00/11] USB: OHCI :Properly handle ohci_suspend()routine in bus glue Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 01/11] USB: OHCI: Properly handle OHCI controller suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 02/11] USB: OHCI: Properly handle ohci-at91 suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 03/11] USB: OHCI: Properly handle ohci-s3c2410 suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 04/11] USB: OHCI: Properly handle ohci-da8xx suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 05/11] USB: OHCI: Properly handle ohci-ep93xx suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 06/11] USB: OHCI: Properly handle ohci-exynos suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 07/11] USB: OHCI: Properly handle ohci-omap suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 08/11] USB: OHCI: Properly handle ohci-platform suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 09/11] USB: OHCI: Properly handle ohci-pxa27x suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 10/11] USB: OHCI: Properly handle ohci-sm501 suspend Majunath Goudar 2013-10-03 13:02 ` [PATCH V2 11/11] USB: OHCI: Properly handle ohci-spear suspend Majunath Goudar 2013-10-15 13:19 ` [PATCH V2 0/7] USB: OHCI:Properly handle ohci_suspend()routine in bus glue Majunath Goudar 2013-10-15 13:19 ` [PATCH V2 1/7] USB: OHCI: Properly handle OHCI controller suspend Majunath Goudar 2013-10-15 15:19 ` Greg KH 2013-10-15 13:19 ` [PATCH V2 2/7] USB: OHCI: Properly handle ohci-at91 suspend Majunath Goudar 2013-10-15 13:19 ` [PATCH V2 3/7] USB: OHCI: Properly handle ohci-s3c2410 suspend Majunath Goudar 2013-10-15 13:19 ` [PATCH V2 4/7] USB: OHCI: Properly handle ohci-da8xx suspend Majunath Goudar 2013-10-15 13:20 ` [PATCH V2 5/7] USB: OHCI: Properly handle ohci-ep93xx suspend Majunath Goudar 2013-10-15 15:26 ` Alan Stern 2013-10-15 13:20 ` [PATCH V2 6/7] USB: OHCI: Properly handle ohci-exynos suspend Majunath Goudar 2013-10-15 13:20 ` [PATCH V2 7/7] USB: OHCI: Properly handle ohci-spear suspend Majunath Goudar [not found] ` <1382016913-10872-1-git-send-email-csmanjuvijay@gmail.com> 2013-10-17 13:35 ` [PATCH V3 3/6] USB: OHCI: Properly handle ohci-s3c2410 suspend Majunath Goudar 2013-10-17 13:35 ` Majunath Goudar 2013-10-17 13:35 ` Majunath Goudar [this message] 2013-10-17 13:35 ` [PATCH V3 5/6] USB: OHCI: Properly handle ohci-exynos suspend Majunath Goudar [not found] ` <1382094376-31016-1-git-send-email-csmanjuvijay@gmail.com> 2013-10-18 11:06 ` [PATCH V3 3/6] USB: OHCI: Properly handle ohci-s3c2410 suspend Majunath Goudar 2013-10-18 11:06 ` Majunath Goudar 2013-10-18 11:06 ` [PATCH V3 5/6] USB: OHCI: Properly handle ohci-exynos suspend Majunath Goudar 2013-10-18 11:06 ` Majunath Goudar [not found] ` <1382365136-24472-1-git-send-email-csmanjuvijay@gmail.com> 2013-10-21 14:18 ` [PATCH V4 3/6] USB: OHCI: Properly handle ohci-s3c2410 suspend Majunath Goudar 2013-10-21 14:18 ` Majunath Goudar 2013-10-21 14:18 ` [PATCH V4 5/6] USB: OHCI: Properly handle ohci-exynos suspend Majunath Goudar 2013-10-21 14:18 ` Majunath Goudar 2013-10-21 14:18 ` Majunath Goudar 2013-11-13 12:10 ` [PATCH V4 0/6]USB: OHCI:Properly handle ohci_suspend()routine in bus glue Majunath Goudar 2013-11-13 12:10 ` [PATCH V4 1/6] USB: OHCI: Properly handle OHCI controller suspend Majunath Goudar 2013-11-13 12:10 ` [PATCH 2/6] USB: OHCI: Properly handle ohci-at91 suspend Majunath Goudar 2013-11-13 12:10 ` [PATCH 3/6] USB: OHCI: Properly handle ohci-s3c2410 suspend Majunath Goudar 2013-11-13 12:10 ` Majunath Goudar 2013-11-13 12:10 ` [PATCH 4/6] USB: OHCI: Properly handle ohci-da8xx suspend Majunath Goudar 2013-11-13 12:10 ` [PATCH 5/6] USB: OHCI: Properly handle ohci-exynos suspend Majunath Goudar 2013-11-13 12:10 ` Majunath Goudar 2013-11-13 12:10 ` [PATCH 6/6] USB: OHCI: Properly handle ohci-spear suspend Majunath Goudar
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1382016913-10872-6-git-send-email-csmanjuvijay@gmail.com \ --to=csmanjuvijay@gmail.com \ --cc=arnd@arndb.de \ --cc=greg@kroah.com \ --cc=kgene.kim@samsung.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-samsung-soc@vger.kernel.org \ --cc=linux-usb@vger.kernel.org \ --cc=stern@rowland.harvard.edu \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.