diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-04-05 18:18:00 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-04-05 18:18:00 -0400 |
commit | 64dc9e2e7320f079b97c46b106133b58b8e18d40 (patch) | |
tree | ab010dc1337d44e29c2b32b7f11788620a91fe4f /arch | |
parent | 01a60e76b6392547ad3dca3ac05b9c886fa5da45 (diff) | |
parent | 9b192de60b5a584ee4ed967fb6758773c75e4643 (diff) |
Merge tag 'usb-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next
Felipe writes:
usb: patches for v3.10 merge window
Here is the big Gadget & PHY pull request. Many of us have
been really busy lately getting multiple drivers to a better
position.
Since this pull request is so large, I will divide it in sections
so it's easier to grasp what's included.
- cleanups:
. UDC drivers no longer touch gadget->dev, that's now udc-core
responsibility
. Many more UDC drivers converted to usb_gadget_map/unmap_request()
. UDC drivers no longer initialize DMA-related fields from gadget's
device structure
. UDC drivers don't touch gadget.dev.driver directly
. UDC drivers don't assign gadget.dev.release directly
. Removal of some unused DMA_ADDR_INVALID
. Introduction of CONFIG_USB_PHY
. All phy drivers have been moved to drivers/usb/phy and renamed to
a common naming scheme
. Fix PHY layer so it never returns a NULL pointer, also fix all
callers to avoid using IS_ERR_OR_NULL()
. Sparse fixes all over the place
. drivers/usb/otg/ has been deleted
. Marvel drivers (mv_udc, ehci-mv, mv_otg and mv_u3d) improved clock
usage
- new features:
. UDC core now provides a generic way for tracking and reporting
UDC's state (not attached, resuming, suspended, addressed,
default, etc)
. twl4030-usb learned that it shouldn't be enabled during init
. Full DT support for DWC3 has been implemented
. ab8500-usb learned about pinctrl framework
. nop PHY learned about DeviceTree and regulators
. DWC3 learned about suspend/resume
. DWC3 can now be compiled in host-only and gadget-only (as well as
DRD) configurations
. UVC now enables streaming endpoint based on negotiated speed
. isp1301 now implements the PHY API properly
. configfs-based interface for gadget drivers which will lead to
the removal of all code which just combines functions together
to build functional gadget drivers.
. f_serial and f_obex were converted to new configfs interface while
maintaining old interface around.
- non-critical fixes:
. UVC gadget driver got fixes for Endpoint usage and stream calculation
. ab8500-usb fixed unbalanced clock and regulator API usage
. twl4030-usb got a fix for when OMAP3 is booted with cable connected
. fusb300_udc got a fix for DMA usage
. UVC got fixes for two assertions of the USB Video Class Compliance
specification revision 1.1
. build warning issues caused by recent addition of __must_check to
regulator API
These are all changes which deserve a mention, all other changes are related
to these one or minor spelling fixes and other similar tasks.
Signed-of-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-mmp/aspenite.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-mmp/ttc_dkb.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-armadillo800eva.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-kzm9g.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-mackerel.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-tegra/Kconfig | 8 | ||||
-rw-r--r-- | arch/sh/boards/mach-ecovec24/setup.c | 4 |
7 files changed, 28 insertions, 24 deletions
diff --git a/arch/arm/mach-mmp/aspenite.c b/arch/arm/mach-mmp/aspenite.c index 9f64d5632e07..76901f4ce611 100644 --- a/arch/arm/mach-mmp/aspenite.c +++ b/arch/arm/mach-mmp/aspenite.c | |||
@@ -223,13 +223,7 @@ static struct pxa27x_keypad_platform_data aspenite_keypad_info __initdata = { | |||
223 | }; | 223 | }; |
224 | 224 | ||
225 | #if defined(CONFIG_USB_EHCI_MV) | 225 | #if defined(CONFIG_USB_EHCI_MV) |
226 | static char *pxa168_sph_clock_name[] = { | ||
227 | [0] = "PXA168-USBCLK", | ||
228 | }; | ||
229 | |||
230 | static struct mv_usb_platform_data pxa168_sph_pdata = { | 226 | static struct mv_usb_platform_data pxa168_sph_pdata = { |
231 | .clknum = 1, | ||
232 | .clkname = pxa168_sph_clock_name, | ||
233 | .mode = MV_USB_MODE_HOST, | 227 | .mode = MV_USB_MODE_HOST, |
234 | .phy_init = pxa_usb_phy_init, | 228 | .phy_init = pxa_usb_phy_init, |
235 | .phy_deinit = pxa_usb_phy_deinit, | 229 | .phy_deinit = pxa_usb_phy_deinit, |
diff --git a/arch/arm/mach-mmp/ttc_dkb.c b/arch/arm/mach-mmp/ttc_dkb.c index 22a9058f9f4d..6528a5fa6a26 100644 --- a/arch/arm/mach-mmp/ttc_dkb.c +++ b/arch/arm/mach-mmp/ttc_dkb.c | |||
@@ -162,13 +162,7 @@ static struct i2c_board_info ttc_dkb_i2c_info[] = { | |||
162 | #ifdef CONFIG_USB_SUPPORT | 162 | #ifdef CONFIG_USB_SUPPORT |
163 | #if defined(CONFIG_USB_MV_UDC) || defined(CONFIG_USB_EHCI_MV_U2O) | 163 | #if defined(CONFIG_USB_MV_UDC) || defined(CONFIG_USB_EHCI_MV_U2O) |
164 | 164 | ||
165 | static char *pxa910_usb_clock_name[] = { | ||
166 | [0] = "U2OCLK", | ||
167 | }; | ||
168 | |||
169 | static struct mv_usb_platform_data ttc_usb_pdata = { | 165 | static struct mv_usb_platform_data ttc_usb_pdata = { |
170 | .clknum = 1, | ||
171 | .clkname = pxa910_usb_clock_name, | ||
172 | .vbus = NULL, | 166 | .vbus = NULL, |
173 | .mode = MV_USB_MODE_OTG, | 167 | .mode = MV_USB_MODE_OTG, |
174 | .otg_force_a_bus_req = 1, | 168 | .otg_force_a_bus_req = 1, |
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c index f2ec0777cfbe..ff8b7ba9b93c 100644 --- a/arch/arm/mach-shmobile/board-armadillo800eva.c +++ b/arch/arm/mach-shmobile/board-armadillo800eva.c | |||
@@ -169,7 +169,7 @@ static int usbhsf_get_id(struct platform_device *pdev) | |||
169 | return USBHS_GADGET; | 169 | return USBHS_GADGET; |
170 | } | 170 | } |
171 | 171 | ||
172 | static void usbhsf_power_ctrl(struct platform_device *pdev, | 172 | static int usbhsf_power_ctrl(struct platform_device *pdev, |
173 | void __iomem *base, int enable) | 173 | void __iomem *base, int enable) |
174 | { | 174 | { |
175 | struct usbhsf_private *priv = usbhsf_get_priv(pdev); | 175 | struct usbhsf_private *priv = usbhsf_get_priv(pdev); |
@@ -223,6 +223,8 @@ static void usbhsf_power_ctrl(struct platform_device *pdev, | |||
223 | clk_disable(priv->pci); /* usb work around */ | 223 | clk_disable(priv->pci); /* usb work around */ |
224 | clk_disable(priv->usb24); /* usb work around */ | 224 | clk_disable(priv->usb24); /* usb work around */ |
225 | } | 225 | } |
226 | |||
227 | return 0; | ||
226 | } | 228 | } |
227 | 229 | ||
228 | static int usbhsf_get_vbus(struct platform_device *pdev) | 230 | static int usbhsf_get_vbus(struct platform_device *pdev) |
@@ -239,7 +241,7 @@ static irqreturn_t usbhsf_interrupt(int irq, void *data) | |||
239 | return IRQ_HANDLED; | 241 | return IRQ_HANDLED; |
240 | } | 242 | } |
241 | 243 | ||
242 | static void usbhsf_hardware_exit(struct platform_device *pdev) | 244 | static int usbhsf_hardware_exit(struct platform_device *pdev) |
243 | { | 245 | { |
244 | struct usbhsf_private *priv = usbhsf_get_priv(pdev); | 246 | struct usbhsf_private *priv = usbhsf_get_priv(pdev); |
245 | 247 | ||
@@ -264,6 +266,8 @@ static void usbhsf_hardware_exit(struct platform_device *pdev) | |||
264 | priv->usbh_base = NULL; | 266 | priv->usbh_base = NULL; |
265 | 267 | ||
266 | free_irq(IRQ7, pdev); | 268 | free_irq(IRQ7, pdev); |
269 | |||
270 | return 0; | ||
267 | } | 271 | } |
268 | 272 | ||
269 | static int usbhsf_hardware_init(struct platform_device *pdev) | 273 | static int usbhsf_hardware_init(struct platform_device *pdev) |
diff --git a/arch/arm/mach-shmobile/board-kzm9g.c b/arch/arm/mach-shmobile/board-kzm9g.c index 7f3a6b7e7b7c..a385f570bbfc 100644 --- a/arch/arm/mach-shmobile/board-kzm9g.c +++ b/arch/arm/mach-shmobile/board-kzm9g.c | |||
@@ -155,12 +155,14 @@ static int usbhs_get_vbus(struct platform_device *pdev) | |||
155 | return !((1 << 7) & __raw_readw(priv->cr2)); | 155 | return !((1 << 7) & __raw_readw(priv->cr2)); |
156 | } | 156 | } |
157 | 157 | ||
158 | static void usbhs_phy_reset(struct platform_device *pdev) | 158 | static int usbhs_phy_reset(struct platform_device *pdev) |
159 | { | 159 | { |
160 | struct usbhs_private *priv = usbhs_get_priv(pdev); | 160 | struct usbhs_private *priv = usbhs_get_priv(pdev); |
161 | 161 | ||
162 | /* init phy */ | 162 | /* init phy */ |
163 | __raw_writew(0x8a0a, priv->cr2); | 163 | __raw_writew(0x8a0a, priv->cr2); |
164 | |||
165 | return 0; | ||
164 | } | 166 | } |
165 | 167 | ||
166 | static int usbhs_get_id(struct platform_device *pdev) | 168 | static int usbhs_get_id(struct platform_device *pdev) |
@@ -202,7 +204,7 @@ static int usbhs_hardware_init(struct platform_device *pdev) | |||
202 | return 0; | 204 | return 0; |
203 | } | 205 | } |
204 | 206 | ||
205 | static void usbhs_hardware_exit(struct platform_device *pdev) | 207 | static int usbhs_hardware_exit(struct platform_device *pdev) |
206 | { | 208 | { |
207 | struct usbhs_private *priv = usbhs_get_priv(pdev); | 209 | struct usbhs_private *priv = usbhs_get_priv(pdev); |
208 | 210 | ||
@@ -210,6 +212,8 @@ static void usbhs_hardware_exit(struct platform_device *pdev) | |||
210 | __raw_writew(USB_PHY_MODE | USB_PHY_INT_CLR, priv->phy); | 212 | __raw_writew(USB_PHY_MODE | USB_PHY_INT_CLR, priv->phy); |
211 | 213 | ||
212 | free_irq(IRQ15, pdev); | 214 | free_irq(IRQ15, pdev); |
215 | |||
216 | return 0; | ||
213 | } | 217 | } |
214 | 218 | ||
215 | static u32 usbhs_pipe_cfg[] = { | 219 | static u32 usbhs_pipe_cfg[] = { |
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c index db968a585ff0..979237c18dad 100644 --- a/arch/arm/mach-shmobile/board-mackerel.c +++ b/arch/arm/mach-shmobile/board-mackerel.c | |||
@@ -596,12 +596,14 @@ static int usbhs_get_vbus(struct platform_device *pdev) | |||
596 | return usbhs_is_connected(usbhs_get_priv(pdev)); | 596 | return usbhs_is_connected(usbhs_get_priv(pdev)); |
597 | } | 597 | } |
598 | 598 | ||
599 | static void usbhs_phy_reset(struct platform_device *pdev) | 599 | static int usbhs_phy_reset(struct platform_device *pdev) |
600 | { | 600 | { |
601 | struct usbhs_private *priv = usbhs_get_priv(pdev); | 601 | struct usbhs_private *priv = usbhs_get_priv(pdev); |
602 | 602 | ||
603 | /* init phy */ | 603 | /* init phy */ |
604 | __raw_writew(0x8a0a, priv->usbcrcaddr); | 604 | __raw_writew(0x8a0a, priv->usbcrcaddr); |
605 | |||
606 | return 0; | ||
605 | } | 607 | } |
606 | 608 | ||
607 | static int usbhs0_get_id(struct platform_device *pdev) | 609 | static int usbhs0_get_id(struct platform_device *pdev) |
@@ -628,11 +630,13 @@ static int usbhs0_hardware_init(struct platform_device *pdev) | |||
628 | return 0; | 630 | return 0; |
629 | } | 631 | } |
630 | 632 | ||
631 | static void usbhs0_hardware_exit(struct platform_device *pdev) | 633 | static int usbhs0_hardware_exit(struct platform_device *pdev) |
632 | { | 634 | { |
633 | struct usbhs_private *priv = usbhs_get_priv(pdev); | 635 | struct usbhs_private *priv = usbhs_get_priv(pdev); |
634 | 636 | ||
635 | cancel_delayed_work_sync(&priv->work); | 637 | cancel_delayed_work_sync(&priv->work); |
638 | |||
639 | return 0; | ||
636 | } | 640 | } |
637 | 641 | ||
638 | static struct usbhs_private usbhs0_private = { | 642 | static struct usbhs_private usbhs0_private = { |
@@ -735,7 +739,7 @@ static int usbhs1_hardware_init(struct platform_device *pdev) | |||
735 | return 0; | 739 | return 0; |
736 | } | 740 | } |
737 | 741 | ||
738 | static void usbhs1_hardware_exit(struct platform_device *pdev) | 742 | static int usbhs1_hardware_exit(struct platform_device *pdev) |
739 | { | 743 | { |
740 | struct usbhs_private *priv = usbhs_get_priv(pdev); | 744 | struct usbhs_private *priv = usbhs_get_priv(pdev); |
741 | 745 | ||
@@ -743,6 +747,8 @@ static void usbhs1_hardware_exit(struct platform_device *pdev) | |||
743 | __raw_writew(USB_PHY_MODE | USB_PHY_INT_CLR, priv->usbphyaddr); | 747 | __raw_writew(USB_PHY_MODE | USB_PHY_INT_CLR, priv->usbphyaddr); |
744 | 748 | ||
745 | free_irq(IRQ8, pdev); | 749 | free_irq(IRQ8, pdev); |
750 | |||
751 | return 0; | ||
746 | } | 752 | } |
747 | 753 | ||
748 | static int usbhs1_get_id(struct platform_device *pdev) | 754 | static int usbhs1_get_id(struct platform_device *pdev) |
diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index d1c4893894ce..dbc653ea851c 100644 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig | |||
@@ -18,8 +18,8 @@ config ARCH_TEGRA_2x_SOC | |||
18 | select PL310_ERRATA_727915 if CACHE_L2X0 | 18 | select PL310_ERRATA_727915 if CACHE_L2X0 |
19 | select PL310_ERRATA_769419 if CACHE_L2X0 | 19 | select PL310_ERRATA_769419 if CACHE_L2X0 |
20 | select USB_ARCH_HAS_EHCI if USB_SUPPORT | 20 | select USB_ARCH_HAS_EHCI if USB_SUPPORT |
21 | select USB_ULPI if USB | 21 | select USB_ULPI if USB_PHY |
22 | select USB_ULPI_VIEWPORT if USB_SUPPORT | 22 | select USB_ULPI_VIEWPORT if USB_PHY |
23 | help | 23 | help |
24 | Support for NVIDIA Tegra AP20 and T20 processors, based on the | 24 | Support for NVIDIA Tegra AP20 and T20 processors, based on the |
25 | ARM CortexA9MP CPU and the ARM PL310 L2 cache controller | 25 | ARM CortexA9MP CPU and the ARM PL310 L2 cache controller |
@@ -37,8 +37,8 @@ config ARCH_TEGRA_3x_SOC | |||
37 | select PINCTRL_TEGRA30 | 37 | select PINCTRL_TEGRA30 |
38 | select PL310_ERRATA_769419 if CACHE_L2X0 | 38 | select PL310_ERRATA_769419 if CACHE_L2X0 |
39 | select USB_ARCH_HAS_EHCI if USB_SUPPORT | 39 | select USB_ARCH_HAS_EHCI if USB_SUPPORT |
40 | select USB_ULPI if USB | 40 | select USB_ULPI if USB_PHY |
41 | select USB_ULPI_VIEWPORT if USB_SUPPORT | 41 | select USB_ULPI_VIEWPORT if USB_PHY |
42 | help | 42 | help |
43 | Support for NVIDIA Tegra T30 processor family, based on the | 43 | Support for NVIDIA Tegra T30 processor family, based on the |
44 | ARM CortexA9MP CPU and the ARM PL310 L2 cache controller | 44 | ARM CortexA9MP CPU and the ARM PL310 L2 cache controller |
diff --git a/arch/sh/boards/mach-ecovec24/setup.c b/arch/sh/boards/mach-ecovec24/setup.c index aaff7671101b..764530c85aa9 100644 --- a/arch/sh/boards/mach-ecovec24/setup.c +++ b/arch/sh/boards/mach-ecovec24/setup.c | |||
@@ -254,11 +254,13 @@ static int usbhs_get_id(struct platform_device *pdev) | |||
254 | return gpio_get_value(GPIO_PTB3); | 254 | return gpio_get_value(GPIO_PTB3); |
255 | } | 255 | } |
256 | 256 | ||
257 | static void usbhs_phy_reset(struct platform_device *pdev) | 257 | static int usbhs_phy_reset(struct platform_device *pdev) |
258 | { | 258 | { |
259 | /* enable vbus if HOST */ | 259 | /* enable vbus if HOST */ |
260 | if (!gpio_get_value(GPIO_PTB3)) | 260 | if (!gpio_get_value(GPIO_PTB3)) |
261 | gpio_set_value(GPIO_PTB5, 1); | 261 | gpio_set_value(GPIO_PTB5, 1); |
262 | |||
263 | return 0; | ||
262 | } | 264 | } |
263 | 265 | ||
264 | static struct renesas_usbhs_platform_info usbhs_info = { | 266 | static struct renesas_usbhs_platform_info usbhs_info = { |