* [PATCH v8 01/22] USB: ehci-omap: Don't free gpios that we didn't request
@ 2013-01-18 12:36 Roger Quadros
0 siblings, 0 replies; 3+ messages in thread
From: Roger Quadros @ 2013-01-18 12:36 UTC (permalink / raw)
To: linux-arm-kernel
This driver does not request any gpios so don't free them.
Fixes L3 bus error on multiple modprobe/rmmod of ehci_hcd
with ehci-omap in use.
Without this patch, EHCI will break on repeated insmod/rmmod
of ehci_hcd for all OMAP2+ platforms that use EHCI and
set 'phy_reset = true' in usbhs_omap_board_data.
i.e.
board-3430sdp.c: .phy_reset = true,
board-3630sdp.c: .phy_reset = true,
board-am3517crane.c: .phy_reset = true,
board-am3517evm.c: .phy_reset = true,
board-cm-t3517.c: .phy_reset = true,
board-cm-t35.c: .phy_reset = true,
board-devkit8000.c: .phy_reset = true,
board-igep0020.c: .phy_reset = true,
board-igep0020.c: .phy_reset = true,
board-omap3beagle.c: .phy_reset = true,
board-omap3evm.c: .phy_reset = true,
board-omap3pandora.c: .phy_reset = true,
board-omap3stalker.c: .phy_reset = true,
board-omap3touchbook.c: .phy_reset = true,
board-omap4panda.c: .phy_reset = false,
board-overo.c: .phy_reset = true,
board-zoom.c: .phy_reset = true,
CC: Alan Stern <stern@rowland.harvard.edu>
Cc: stable at vger.kernel.org
Signed-off-by: Roger Quadros <rogerq@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
---
drivers/usb/host/ehci-omap.c | 8 --------
1 files changed, 0 insertions(+), 8 deletions(-)
diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
index ac17a7c..e9d9b09 100644
--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -288,7 +288,6 @@ static int ehci_hcd_omap_remove(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
struct usb_hcd *hcd = dev_get_drvdata(dev);
- struct ehci_hcd_omap_platform_data *pdata = dev->platform_data;
usb_remove_hcd(hcd);
disable_put_regulator(dev->platform_data);
@@ -298,13 +297,6 @@ static int ehci_hcd_omap_remove(struct platform_device *pdev)
pm_runtime_put_sync(dev);
pm_runtime_disable(dev);
- if (pdata->phy_reset) {
- if (gpio_is_valid(pdata->reset_gpio_port[0]))
- gpio_free(pdata->reset_gpio_port[0]);
-
- if (gpio_is_valid(pdata->reset_gpio_port[1]))
- gpio_free(pdata->reset_gpio_port[1]);
- }
return 0;
}
--
1.7.4.1
^ permalink raw reply related [flat|nested] 3+ messages in thread* [PATCH v8 00/22] OMAP USB Host cleanup
@ 2013-01-18 12:17 Roger Quadros
2013-01-18 12:17 ` [PATCH v8 01/22] USB: ehci-omap: Don't free gpios that we didn't request Roger Quadros
0 siblings, 1 reply; 3+ messages in thread
From: Roger Quadros @ 2013-01-18 12:17 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
This patchset addresses the following
- Consolidate USB Host platform data.
- Avoid addressing clocks one by one by name and use a for loop + bunch
of cleanups.
- Get number of channels/ports dynamically either from revision register
or from platform data. Avoids getting clocks that are not present.
- Add OMAP5 and HSIC mode (Not tested).
v8:
- Re-arranged patch "USB-ehci-omap-Don-t-free-gpios-that-we-didn-t-reques.patch"
to be the first since it is a candidate for stable.
- Fixed issues raised by Felipe, i.e. indentation and use of switch ()
v7:
- Updated patch 4 to not hold a spinlock when using clk_get().
- Updated patches 3 and 11 to return -EADDRNOTAVAIL on failure of
demv_request_and_ioremap().
v6:
- Added USB Host platform data consolidation patch as the first patch.
based on request from Tony.
- Rebased on v3.8-rc3.
v5:
- Rebased on top of todays arm-soc/for-next.
- Removed the clock merging patch from the list.
- Updated patches 14, 19 and 20 to accomodate the above change.
- Added patch 22 to fix a build warning.
v4:
- Added appropriate maintainers in to/cc.
- minor print message fix in patch 23 to maintain consistency.
v3:
- Rebased on arm-soc/for-next commit f979306c4d38d213c6977aaf3b1115e8ded71e3a.
- Rearranged patch that get rids of cpu_is_omap..() macros.
- Coding style fixes.
v2:
- Clocks are allocated dynamically based on number of ports available
on the platform.
- Reduced console spam if non critical clocks are not found on the platform.
- Get rid of cpu_is_.. macros from USB host driver.
cheers,
-roger
The following changes since commit 9931faca02c604c22335f5a935a501bb2ace6e20:
Linux 3.8-rc3 (2013-01-09 18:59:55 -0800)
are available in the git repository at:
git://github.com/rogerq/linux.git linux-usbhost13-part
Roger Quadros (22):
USB: ehci-omap: Don't free gpios that we didn't request
mfd: omap-usb-host: Consolidate OMAP USB-HS platform data
mfd: omap-usb-tll: Fix channel count detection
mfd: omap-usb-tll: Use devm_kzalloc/ioremap and clean up error path
mfd: omap-usb-tll: Clean up clock handling
mfd: omap-usb-tll: introduce and use mode_needs_tll()
mfd: omap-usb-tll: Check for missing platform data in probe
mfd: omap-usb-tll: Fix error message
mfd: omap-usb-tll: serialize access to TLL device
mfd: omap-usb-tll: Add OMAP5 revision and HSIC support
mfd: omap_usb_host: Avoid missing platform data checks in
suspend/resume
mfd: omap-usb-host: Use devm_kzalloc() and devm_request_and_ioremap()
mfd: omap-usb-host: know about number of ports from revision register
mfd: omap-usb-host: override number of ports from platform data
mfd: omap-usb-host: cleanup clock management code
mfd: omap-usb-host: Manage HSIC clocks for HSIC mode
mfd: omap-usb-host: Get rid of unnecessary spinlock
mfd: omap-usb-host: clean up omap_usbhs_init()
ARM: OMAP3: clock data: get rid of unused USB host clock aliases and
dummies
ARM: OMAP4: clock data: get rid of unused USB host clock aliases
mfd: omap-usb-host: Don't spam console on clk_set_parent failure
mdf: omap-usb-host: get rid of build warning
arch/arm/mach-omap2/board-3430sdp.c | 2 +-
arch/arm/mach-omap2/board-3630sdp.c | 2 +-
arch/arm/mach-omap2/board-am3517crane.c | 2 +-
arch/arm/mach-omap2/board-am3517evm.c | 2 +-
arch/arm/mach-omap2/board-cm-t35.c | 2 +-
arch/arm/mach-omap2/board-cm-t3517.c | 2 +-
arch/arm/mach-omap2/board-devkit8000.c | 2 +-
arch/arm/mach-omap2/board-igep0020.c | 4 +-
arch/arm/mach-omap2/board-omap3beagle.c | 2 +-
arch/arm/mach-omap2/board-omap3evm.c | 2 +-
arch/arm/mach-omap2/board-omap3pandora.c | 2 +-
arch/arm/mach-omap2/board-omap3stalker.c | 2 +-
arch/arm/mach-omap2/board-omap3touchbook.c | 2 +-
arch/arm/mach-omap2/board-omap4panda.c | 2 +-
arch/arm/mach-omap2/board-overo.c | 2 +-
arch/arm/mach-omap2/board-zoom.c | 2 +-
arch/arm/mach-omap2/cclock3xxx_data.c | 11 -
arch/arm/mach-omap2/cclock44xx_data.c | 7 -
arch/arm/mach-omap2/usb-host.c | 29 +--
arch/arm/mach-omap2/usb.h | 20 +-
drivers/mfd/omap-usb-host.c | 546 +++++++++++++++++-----------
drivers/mfd/omap-usb-tll.c | 245 +++++++------
drivers/usb/host/ehci-omap.c | 14 +-
include/linux/platform_data/usb-omap.h | 24 +-
24 files changed, 491 insertions(+), 439 deletions(-)
--
1.7.4.1
^ permalink raw reply [flat|nested] 3+ messages in thread* [PATCH v8 01/22] USB: ehci-omap: Don't free gpios that we didn't request
2013-01-18 12:17 [PATCH v8 00/22] OMAP USB Host cleanup Roger Quadros
@ 2013-01-18 12:17 ` Roger Quadros
2013-01-18 12:36 ` Roger Quadros
0 siblings, 1 reply; 3+ messages in thread
From: Roger Quadros @ 2013-01-18 12:17 UTC (permalink / raw)
To: linux-arm-kernel
This driver does not request any gpios so don't free them.
Fixes L3 bus error on multiple modprobe/rmmod of ehci_hcd
with ehci-omap in use.
Without this patch, EHCI will break on repeated insmod/rmmod
of ehci_hcd for all OMAP2+ platforms that use EHCI and
set 'phy_reset = true' in usbhs_omap_board_data.
i.e.
board-3430sdp.c: .phy_reset = true,
board-3630sdp.c: .phy_reset = true,
board-am3517crane.c: .phy_reset = true,
board-am3517evm.c: .phy_reset = true,
board-cm-t3517.c: .phy_reset = true,
board-cm-t35.c: .phy_reset = true,
board-devkit8000.c: .phy_reset = true,
board-igep0020.c: .phy_reset = true,
board-igep0020.c: .phy_reset = true,
board-omap3beagle.c: .phy_reset = true,
board-omap3evm.c: .phy_reset = true,
board-omap3pandora.c: .phy_reset = true,
board-omap3stalker.c: .phy_reset = true,
board-omap3touchbook.c: .phy_reset = true,
board-omap4panda.c: .phy_reset = false,
board-overo.c: .phy_reset = true,
board-zoom.c: .phy_reset = true,
CC: Alan Stern <stern@rowland.harvard.edu>
Cc: stable at kernel.org
Signed-off-by: Roger Quadros <rogerq@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
---
drivers/usb/host/ehci-omap.c | 8 --------
1 files changed, 0 insertions(+), 8 deletions(-)
diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
index ac17a7c..e9d9b09 100644
--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -288,7 +288,6 @@ static int ehci_hcd_omap_remove(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
struct usb_hcd *hcd = dev_get_drvdata(dev);
- struct ehci_hcd_omap_platform_data *pdata = dev->platform_data;
usb_remove_hcd(hcd);
disable_put_regulator(dev->platform_data);
@@ -298,13 +297,6 @@ static int ehci_hcd_omap_remove(struct platform_device *pdev)
pm_runtime_put_sync(dev);
pm_runtime_disable(dev);
- if (pdata->phy_reset) {
- if (gpio_is_valid(pdata->reset_gpio_port[0]))
- gpio_free(pdata->reset_gpio_port[0]);
-
- if (gpio_is_valid(pdata->reset_gpio_port[1]))
- gpio_free(pdata->reset_gpio_port[1]);
- }
return 0;
}
--
1.7.4.1
^ permalink raw reply related [flat|nested] 3+ messages in thread* [PATCH v8 01/22] USB: ehci-omap: Don't free gpios that we didn't request
2013-01-18 12:17 ` [PATCH v8 01/22] USB: ehci-omap: Don't free gpios that we didn't request Roger Quadros
@ 2013-01-18 12:36 ` Roger Quadros
0 siblings, 0 replies; 3+ messages in thread
From: Roger Quadros @ 2013-01-18 12:36 UTC (permalink / raw)
To: linux-arm-kernel
On 01/18/2013 02:17 PM, Roger Quadros wrote:
> This driver does not request any gpios so don't free them.
> Fixes L3 bus error on multiple modprobe/rmmod of ehci_hcd
> with ehci-omap in use.
>
> Without this patch, EHCI will break on repeated insmod/rmmod
> of ehci_hcd for all OMAP2+ platforms that use EHCI and
> set 'phy_reset = true' in usbhs_omap_board_data.
> i.e.
>
> board-3430sdp.c: .phy_reset = true,
> board-3630sdp.c: .phy_reset = true,
> board-am3517crane.c: .phy_reset = true,
> board-am3517evm.c: .phy_reset = true,
> board-cm-t3517.c: .phy_reset = true,
> board-cm-t35.c: .phy_reset = true,
> board-devkit8000.c: .phy_reset = true,
> board-igep0020.c: .phy_reset = true,
> board-igep0020.c: .phy_reset = true,
> board-omap3beagle.c: .phy_reset = true,
> board-omap3evm.c: .phy_reset = true,
> board-omap3pandora.c: .phy_reset = true,
> board-omap3stalker.c: .phy_reset = true,
> board-omap3touchbook.c: .phy_reset = true,
> board-omap4panda.c: .phy_reset = false,
> board-overo.c: .phy_reset = true,
> board-zoom.c: .phy_reset = true,
>
> CC: Alan Stern <stern@rowland.harvard.edu>
> Cc: stable at kernel.org
I messed up with the stable list id, so will resend just this one
and update the git repo.
>
> Signed-off-by: Roger Quadros <rogerq@ti.com>
> Reviewed-by: Felipe Balbi <balbi@ti.com>
> Acked-by: Alan Stern <stern@rowland.harvard.edu>
cheers,
-roger
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-01-18 12:36 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-18 12:36 [PATCH v8 01/22] USB: ehci-omap: Don't free gpios that we didn't request Roger Quadros
-- strict thread matches above, loose matches on Subject: below --
2013-01-18 12:17 [PATCH v8 00/22] OMAP USB Host cleanup Roger Quadros
2013-01-18 12:17 ` [PATCH v8 01/22] USB: ehci-omap: Don't free gpios that we didn't request Roger Quadros
2013-01-18 12:36 ` Roger Quadros
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox