diff mbox series

[U-Boot,v2,2/7] usb: introduce a separate config option for DM USB device

Message ID 1527597407-27991-3-git-send-email-jjhiblot@ti.com
State Superseded
Delegated to: Marek Vasut
Headers show
Series Improvements for the dwc3_generic driver | expand

Commit Message

Jean-Jacques Hiblot May 29, 2018, 12:36 p.m. UTC
Using CONFIG_DM_USB for this purpose prevents using DM_USB for host and not
for device.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>

---

Changes in v2:
- select DM_USB_DEV by default for zynqmp platforms

 arch/arm/Kconfig                | 2 ++
 drivers/usb/Kconfig             | 6 ++++++
 drivers/usb/dwc3/core.c         | 2 +-
 drivers/usb/dwc3/dwc3-generic.c | 4 +++-
 4 files changed, 12 insertions(+), 2 deletions(-)

Comments

Lukasz Majewski June 1, 2018, 12:12 p.m. UTC | #1
Hi Jean-Jacques,

> Using CONFIG_DM_USB for this purpose prevents using DM_USB for host
> and not for device.
> 
> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
> 
> ---
> 
> Changes in v2:
> - select DM_USB_DEV by default for zynqmp platforms
> 
>  arch/arm/Kconfig                | 2 ++
>  drivers/usb/Kconfig             | 6 ++++++
>  drivers/usb/dwc3/core.c         | 2 +-
>  drivers/usb/dwc3/dwc3-generic.c | 4 +++-
>  4 files changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 0d1802b..caf7053 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -841,6 +841,7 @@ config ARCH_ZYNQMP_R5
>  	select DM
>  	select DM_SERIAL
>  	select CLK
> +	imply DM_USB_DEV
>  
>  config ARCH_ZYNQMP
>  	bool "Xilinx ZynqMP based platform"
> @@ -855,6 +856,7 @@ config ARCH_ZYNQMP
>  	select SPL_CLK if SPL
>  	select DM_USB if USB
>  	imply FAT_WRITE
> +	imply DM_USB_DEV
>  
>  config TEGRA
>  	bool "NVIDIA Tegra"
> diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
> index 4fbe172..3587ba4 100644
> --- a/drivers/usb/Kconfig
> +++ b/drivers/usb/Kconfig
> @@ -47,6 +47,12 @@ config DM_USB
>  	  declared with the U_BOOT_USB_DEVICE() macro and will be
>  	  automatically probed when found on the bus.
>  
> +config DM_USB_DEV
> +	bool "Enable driver model for USB (Peripheral mode)"
> +	depends on DM_USB
> +	help
> +	  Enable driver model for USB (Peripheral mode).
> +
>  source "drivers/usb/host/Kconfig"
>  
>  source "drivers/usb/dwc3/Kconfig"
> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> index 1ab5cee..d5ee6d9 100644
> --- a/drivers/usb/dwc3/core.c
> +++ b/drivers/usb/dwc3/core.c
> @@ -789,7 +789,7 @@ MODULE_AUTHOR("Felipe Balbi <balbi@ti.com>");
>  MODULE_LICENSE("GPL v2");
>  MODULE_DESCRIPTION("DesignWare USB3 DRD Controller Driver");
>  
> -#ifdef CONFIG_DM_USB
> +#ifdef CONFIG_DM_USB_DEV
>  
>  int dwc3_init(struct dwc3 *dwc)
>  {
> diff --git a/drivers/usb/dwc3/dwc3-generic.c
> b/drivers/usb/dwc3/dwc3-generic.c index ca63eac..2c1e696 100644
> --- a/drivers/usb/dwc3/dwc3-generic.c
> +++ b/drivers/usb/dwc3/dwc3-generic.c
> @@ -21,7 +21,7 @@
>  #include "gadget.h"
>  #include "linux-compat.h"
>  
> -DECLARE_GLOBAL_DATA_PTR;
> +#ifdef CONFIG_DM_USB_DEV
>  
>  int usb_gadget_handle_interrupts(int index)
>  {
> @@ -98,6 +98,8 @@ U_BOOT_DRIVER(dwc3_generic_peripheral) = {
>  	.flags	= DM_FLAG_ALLOC_PRIV_DMA,
>  };
>  
> +#endif
> +
>  static int dwc3_generic_bind(struct udevice *parent)
>  {
>  	const void *fdt = gd->fdt_blob;

Reviewed-by: Lukasz Majewski <lukma@denx.de>


Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
diff mbox series

Patch

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 0d1802b..caf7053 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -841,6 +841,7 @@  config ARCH_ZYNQMP_R5
 	select DM
 	select DM_SERIAL
 	select CLK
+	imply DM_USB_DEV
 
 config ARCH_ZYNQMP
 	bool "Xilinx ZynqMP based platform"
@@ -855,6 +856,7 @@  config ARCH_ZYNQMP
 	select SPL_CLK if SPL
 	select DM_USB if USB
 	imply FAT_WRITE
+	imply DM_USB_DEV
 
 config TEGRA
 	bool "NVIDIA Tegra"
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 4fbe172..3587ba4 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -47,6 +47,12 @@  config DM_USB
 	  declared with the U_BOOT_USB_DEVICE() macro and will be
 	  automatically probed when found on the bus.
 
+config DM_USB_DEV
+	bool "Enable driver model for USB (Peripheral mode)"
+	depends on DM_USB
+	help
+	  Enable driver model for USB (Peripheral mode).
+
 source "drivers/usb/host/Kconfig"
 
 source "drivers/usb/dwc3/Kconfig"
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 1ab5cee..d5ee6d9 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -789,7 +789,7 @@  MODULE_AUTHOR("Felipe Balbi <balbi@ti.com>");
 MODULE_LICENSE("GPL v2");
 MODULE_DESCRIPTION("DesignWare USB3 DRD Controller Driver");
 
-#ifdef CONFIG_DM_USB
+#ifdef CONFIG_DM_USB_DEV
 
 int dwc3_init(struct dwc3 *dwc)
 {
diff --git a/drivers/usb/dwc3/dwc3-generic.c b/drivers/usb/dwc3/dwc3-generic.c
index ca63eac..2c1e696 100644
--- a/drivers/usb/dwc3/dwc3-generic.c
+++ b/drivers/usb/dwc3/dwc3-generic.c
@@ -21,7 +21,7 @@ 
 #include "gadget.h"
 #include "linux-compat.h"
 
-DECLARE_GLOBAL_DATA_PTR;
+#ifdef CONFIG_DM_USB_DEV
 
 int usb_gadget_handle_interrupts(int index)
 {
@@ -98,6 +98,8 @@  U_BOOT_DRIVER(dwc3_generic_peripheral) = {
 	.flags	= DM_FLAG_ALLOC_PRIV_DMA,
 };
 
+#endif
+
 static int dwc3_generic_bind(struct udevice *parent)
 {
 	const void *fdt = gd->fdt_blob;