From: Lukasz Majewski <l.majewski@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [u-boot 40/40] usb: modify usb_gadget_handle_interrupts to take controller index
Date: Mon, 16 Feb 2015 12:56:24 +0100 [thread overview]
Message-ID: <20150216125624.29843202@amdc2363> (raw)
In-Reply-To: <1423212497-11970-41-git-send-email-kishon@ti.com>
Hi Kishon,
> Since we support multiple dwc3 controllers to be existent at the same
> time, in order to handle the interrupts of a particular dwc3
> controller usb_gadget_handle_interrutps should take controller index
> as an argument.
>
> Hence the API of usb_gadget_handle_interrupts is modified to take
> controller index as an argument and made the corresponding changes to
> all the usb_gadget_handle_interrupts calls.
>
> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
> ---
> board/ti/am43xx/board.c | 6 +++---
> board/ti/dra7xx/evm.c | 6 +++---
> common/cmd_dfu.c | 2 +-
> common/cmd_fastboot.c | 2 +-
> common/cmd_usb_mass_storage.c | 2 +-
> drivers/usb/gadget/atmel_usba_udc.c | 2 +-
> drivers/usb/gadget/ci_udc.c | 2 +-
> drivers/usb/gadget/ether.c | 10 +++++-----
> drivers/usb/gadget/f_mass_storage.c | 2 +-
> drivers/usb/gadget/f_thor.c | 6 +++---
> drivers/usb/gadget/fotg210.c | 2 +-
> drivers/usb/gadget/pxa25x_udc.c | 2 +-
> drivers/usb/gadget/s3c_udc_otg.c | 2 +-
> drivers/usb/musb-new/musb_uboot.c | 2 +-
> include/linux/usb/gadget.h | 2 +-
> 15 files changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c
> index a8796b1..096e5db 100644
> --- a/board/ti/am43xx/board.c
> +++ b/board/ti/am43xx/board.c
> @@ -782,13 +782,13 @@ int board_usb_cleanup(int index, enum
> usb_init_type init) return 0;
> }
>
> -int usb_gadget_handle_interrupts(void)
> +int usb_gadget_handle_interrupts(int index)
> {
> u32 status;
>
> - status = dwc3_omap_uboot_interrupt_status(0);
> + status = dwc3_omap_uboot_interrupt_status(index);
> if (status)
> - dwc3_uboot_handle_interrupt(0);
> + dwc3_uboot_handle_interrupt(index);
>
> return 0;
> }
> diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c
> index 284775c..3089fa2 100644
> --- a/board/ti/dra7xx/evm.c
> +++ b/board/ti/dra7xx/evm.c
> @@ -220,13 +220,13 @@ int board_usb_cleanup(int index, enum
> usb_init_type init) return 0;
> }
>
> -int usb_gadget_handle_interrupts(void)
> +int usb_gadget_handle_interrupts(int index)
> {
> u32 status;
>
> - status = dwc3_omap_uboot_interrupt_status(0);
> + status = dwc3_omap_uboot_interrupt_status(index);
> if (status)
> - dwc3_uboot_handle_interrupt(0);
> + dwc3_uboot_handle_interrupt(index);
>
> return 0;
> }
> diff --git a/common/cmd_dfu.c b/common/cmd_dfu.c
> index 161d38b..ec90998 100644
> --- a/common/cmd_dfu.c
> +++ b/common/cmd_dfu.c
> @@ -64,7 +64,7 @@ static int do_dfu(cmd_tbl_t *cmdtp, int flag, int
> argc, char * const argv[]) if (ctrlc())
> goto exit;
>
> - usb_gadget_handle_interrupts();
> + usb_gadget_handle_interrupts(controller_index);
> }
> exit:
> g_dnl_unregister();
> diff --git a/common/cmd_fastboot.c b/common/cmd_fastboot.c
> index b72f4f3..8281f8e 100644
> --- a/common/cmd_fastboot.c
> +++ b/common/cmd_fastboot.c
> @@ -25,7 +25,7 @@ static int do_fastboot(cmd_tbl_t *cmdtp, int flag,
> int argc, char *const argv[]) break;
> if (ctrlc())
> break;
> - usb_gadget_handle_interrupts();
> + usb_gadget_handle_interrupts(0);
> }
>
> g_dnl_unregister();
> diff --git a/common/cmd_usb_mass_storage.c
> b/common/cmd_usb_mass_storage.c index 2c879ea..c5f909d 100644
> --- a/common/cmd_usb_mass_storage.c
> +++ b/common/cmd_usb_mass_storage.c
> @@ -137,7 +137,7 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int
> flag, }
>
> while (1) {
> - usb_gadget_handle_interrupts();
> + usb_gadget_handle_interrupts(controller_index);
>
> rc = fsg_main_thread(NULL);
> if (rc) {
> diff --git a/drivers/usb/gadget/atmel_usba_udc.c
> b/drivers/usb/gadget/atmel_usba_udc.c index fbc74f3..1e23d09 100644
> --- a/drivers/usb/gadget/atmel_usba_udc.c
> +++ b/drivers/usb/gadget/atmel_usba_udc.c
> @@ -1199,7 +1199,7 @@ static struct usba_udc controller = {
> },
> };
>
> -int usb_gadget_handle_interrupts(void)
> +int usb_gadget_handle_interrupts(int index)
> {
> struct usba_udc *udc = &controller;
>
> diff --git a/drivers/usb/gadget/ci_udc.c b/drivers/usb/gadget/ci_udc.c
> index b0ef35e..a7dc0b2 100644
> --- a/drivers/usb/gadget/ci_udc.c
> +++ b/drivers/usb/gadget/ci_udc.c
> @@ -741,7 +741,7 @@ void udc_irq(void)
> }
> }
>
> -int usb_gadget_handle_interrupts(void)
> +int usb_gadget_handle_interrupts(int index)
> {
> u32 value;
> struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor;
> diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c
> index 8ccf9b0..ba79faf 100644
> --- a/drivers/usb/gadget/ether.c
> +++ b/drivers/usb/gadget/ether.c
> @@ -1908,7 +1908,7 @@ static int eth_stop(struct eth_dev *dev)
> /* Wait until host receives
> OID_GEN_MEDIA_CONNECT_STATUS */ ts = get_timer(0);
> while (get_timer(ts) < timeout)
> - usb_gadget_handle_interrupts();
> + usb_gadget_handle_interrupts(0);
> #endif
>
> rndis_uninit(dev->rndis_config);
> @@ -2359,7 +2359,7 @@ static int usb_eth_init(struct eth_device
> *netdev, bd_t *bd) error("The remote end did not respond in time.");
> goto fail;
> }
> - usb_gadget_handle_interrupts();
> + usb_gadget_handle_interrupts(0);
> }
>
> packet_received = 0;
> @@ -2427,7 +2427,7 @@ static int usb_eth_send(struct eth_device
> *netdev, void *packet, int length) printf("timeout sending packets to
> usb ethernet\n"); return -1;
> }
> - usb_gadget_handle_interrupts();
> + usb_gadget_handle_interrupts(0);
> }
> if (rndis_pkt)
> free(rndis_pkt);
> @@ -2442,7 +2442,7 @@ static int usb_eth_recv(struct eth_device
> *netdev) {
> struct eth_dev *dev = &l_ethdev;
>
> - usb_gadget_handle_interrupts();
> + usb_gadget_handle_interrupts(0);
>
> if (packet_received) {
> debug("%s: packet received\n", __func__);
> @@ -2487,7 +2487,7 @@ void usb_eth_halt(struct eth_device *netdev)
>
> /* Clear pending interrupt */
> if (dev->network_started) {
> - usb_gadget_handle_interrupts();
> + usb_gadget_handle_interrupts(0);
> dev->network_started = 0;
> }
>
> diff --git a/drivers/usb/gadget/f_mass_storage.c
> b/drivers/usb/gadget/f_mass_storage.c index e045957..4fab35e 100644
> --- a/drivers/usb/gadget/f_mass_storage.c
> +++ b/drivers/usb/gadget/f_mass_storage.c
> @@ -689,7 +689,7 @@ static int sleep_thread(struct fsg_common *common)
> k = 0;
> }
>
> - usb_gadget_handle_interrupts();
> + usb_gadget_handle_interrupts(0);
> }
> common->thread_wakeup_needed = 0;
> return rc;
> diff --git a/drivers/usb/gadget/f_thor.c b/drivers/usb/gadget/f_thor.c
> index 2d0410d..1fd41ff 100644
> --- a/drivers/usb/gadget/f_thor.c
> +++ b/drivers/usb/gadget/f_thor.c
> @@ -543,7 +543,7 @@ static int thor_rx_data(void)
> }
>
> while (!dev->rxdata) {
> - usb_gadget_handle_interrupts();
> + usb_gadget_handle_interrupts(0);
> if (ctrlc())
> return -1;
> }
> @@ -577,7 +577,7 @@ static void thor_tx_data(unsigned char *data, int
> len)
> /* Wait until tx interrupt received */
> while (!dev->txdata)
> - usb_gadget_handle_interrupts();
> + usb_gadget_handle_interrupts(0);
>
> dev->txdata = 0;
> }
> @@ -694,7 +694,7 @@ int thor_init(void)
> /* Wait for a device enumeration and configuration settings
> */ debug("THOR enumeration/configuration setting....\n");
> while (!dev->configuration_done)
> - usb_gadget_handle_interrupts();
> + usb_gadget_handle_interrupts(0);
>
> thor_set_dma(thor_rx_data_buf, strlen("THOR"));
> /* detect the download request from Host PC */
> diff --git a/drivers/usb/gadget/fotg210.c
> b/drivers/usb/gadget/fotg210.c index 3acf6a1..1d8f58f 100644
> --- a/drivers/usb/gadget/fotg210.c
> +++ b/drivers/usb/gadget/fotg210.c
> @@ -832,7 +832,7 @@ static struct fotg210_chip controller = {
> },
> };
>
> -int usb_gadget_handle_interrupts(void)
> +int usb_gadget_handle_interrupts(int index)
> {
> struct fotg210_chip *chip = &controller;
> struct fotg210_regs *regs = chip->regs;
> diff --git a/drivers/usb/gadget/pxa25x_udc.c
> b/drivers/usb/gadget/pxa25x_udc.c index 8945c5b..1910227 100644
> --- a/drivers/usb/gadget/pxa25x_udc.c
> +++ b/drivers/usb/gadget/pxa25x_udc.c
> @@ -2041,7 +2041,7 @@ extern void udc_disconnect(void)
> /*-------------------------------------------------------------------------*/
>
> extern int
> -usb_gadget_handle_interrupts(void)
> +usb_gadget_handle_interrupts(int index)
> {
> return pxa25x_udc_irq();
> }
> diff --git a/drivers/usb/gadget/s3c_udc_otg.c
> b/drivers/usb/gadget/s3c_udc_otg.c index 7653f03..7a2d1e7 100644
> --- a/drivers/usb/gadget/s3c_udc_otg.c
> +++ b/drivers/usb/gadget/s3c_udc_otg.c
> @@ -833,7 +833,7 @@ int s3c_udc_probe(struct s3c_plat_otg_data *pdata)
> return retval;
> }
>
> -int usb_gadget_handle_interrupts()
> +int usb_gadget_handle_interrupts(int index)
> {
> u32 intr_status = readl(®->gintsts);
> u32 gintmsk = readl(®->gintmsk);
> diff --git a/drivers/usb/musb-new/musb_uboot.c
> b/drivers/usb/musb-new/musb_uboot.c index 2676f09..79f29fb 100644
> --- a/drivers/usb/musb-new/musb_uboot.c
> +++ b/drivers/usb/musb-new/musb_uboot.c
> @@ -162,7 +162,7 @@ int usb_lowlevel_stop(int index)
> #ifdef CONFIG_MUSB_GADGET
> static struct musb *gadget;
>
> -int usb_gadget_handle_interrupts(void)
> +int usb_gadget_handle_interrupts(int index)
> {
> WATCHDOG_RESET();
> if (!gadget || !gadget->isr)
> diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
> index 93a5ffc..230f47d 100644
> --- a/include/linux/usb/gadget.h
> +++ b/include/linux/usb/gadget.h
> @@ -937,6 +937,6 @@ extern struct usb_ep *usb_ep_autoconfig(struct
> usb_gadget *,
> extern void usb_ep_autoconfig_reset(struct usb_gadget *);
>
> -extern int usb_gadget_handle_interrupts(void);
> +extern int usb_gadget_handle_interrupts(int index);
>
> #endif /* __LINUX_USB_GADGET_H */
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
--
Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
next prev parent reply other threads:[~2015-02-16 11:56 UTC|newest]
Thread overview: 104+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-06 8:47 [U-Boot] [u-boot 00/40] dra7xx: am43xx: add dwc3 gadget driver support and enable dfu Kishon Vijay Abraham I
2015-02-06 8:47 ` [U-Boot] [u-boot 01/40] ARM: DRA7: Enable clocks for USB OTGSS and USB PHY Kishon Vijay Abraham I
2015-02-16 10:04 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 02/40] ARM: AM43xx: " Kishon Vijay Abraham I
2015-02-16 10:07 ` Lukasz Majewski
2015-02-16 13:29 ` Marek Vasut
2015-02-20 9:30 ` Kishon Vijay Abraham I
2015-02-20 10:48 ` Marek Vasut
2015-02-06 8:47 ` [U-Boot] [u-boot 03/40] usb: gadget: udc: add udc-core from linux kernel to u-boot Kishon Vijay Abraham I
2015-02-07 13:27 ` Marek Vasut
2015-02-16 9:58 ` Lukasz Majewski
2015-02-16 13:29 ` Marek Vasut
2015-02-16 10:11 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 04/40] include: usb: modify gadget.h to include udc support Kishon Vijay Abraham I
2015-02-16 10:12 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 05/40] usb: gadget: udc: make udc-core compile in u-boot build Kishon Vijay Abraham I
2015-02-16 10:18 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 06/40] include: asm: dma-mapping: get rid of the compilation warning in udc-core Kishon Vijay Abraham I
2015-02-16 10:19 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 07/40] usb: dwc3: add dwc3 folder from linux kernel to u-boot Kishon Vijay Abraham I
2015-02-16 10:20 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 08/40] usb: dwc3: remove un-used files from dwc3 folder Kishon Vijay Abraham I
2015-02-16 10:21 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 09/40] usb: dwc3: Modify the file headers to u-boot format Kishon Vijay Abraham I
2015-02-16 10:21 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 10/40] usb: dwc3: remove trace_* APIs from dwc3 driver Kishon Vijay Abraham I
2015-02-16 10:24 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 11/40] usb: dwc3: fix dwc3 header files Kishon Vijay Abraham I
2015-02-16 10:25 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 12/40] usb: dwc3: remove pm related operations from dwc3 driver Kishon Vijay Abraham I
2015-02-16 10:26 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 13/40] arm: asm: dma-mapping: added dma_free_coherent API Kishon Vijay Abraham I
2015-02-16 10:26 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 14/40] usb: dwc3: linux-compat: Add header for dwc3 linux compatibiltiy Kishon Vijay Abraham I
2015-02-16 10:32 ` Lukasz Majewski
2015-02-23 6:19 ` Kishon Vijay Abraham I
2015-02-23 14:59 ` Marek Vasut
2015-02-24 13:21 ` Kishon Vijay Abraham I
2015-02-24 17:42 ` Marek Vasut
2015-02-25 8:17 ` Lukasz Majewski
2015-02-25 12:16 ` Marek Vasut
2015-02-25 13:04 ` Lukasz Majewski
2015-02-27 9:43 ` Marek Vasut
2015-02-27 11:28 ` Lukasz Majewski
2015-03-02 9:51 ` Marek Vasut
2015-03-02 12:56 ` Lukasz Majewski
2015-03-02 14:30 ` Marek Vasut
2015-02-06 8:47 ` [U-Boot] [u-boot 15/40] usb: dwc3: gadget: make dwc3 gadget build in uboot Kishon Vijay Abraham I
2015-02-16 10:52 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 16/40] include: asm: types: add resource_size_t type Kishon Vijay Abraham I
2015-02-16 10:53 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 17/40] usb: dwc3: ep0: make dwc3 ep0 build in uboot Kishon Vijay Abraham I
2015-02-16 10:54 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 18/40] include: usb: composite: add USB_GADGET_DELAYED_STATUS to avoid compilation error Kishon Vijay Abraham I
2015-02-16 10:55 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 19/40] usb: dwc3: core: make dwc3 core build in uboot Kishon Vijay Abraham I
2015-02-16 10:57 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 20/40] include: dwc3-uboot: add a structure for populating platform data Kishon Vijay Abraham I
2015-02-16 10:58 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 21/40] dwc3: core: change probe and remove to uboot init and uboot exit code Kishon Vijay Abraham I
2015-02-16 10:59 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 22/40] dwc3: core: add support for multiple dwc3 controllers Kishon Vijay Abraham I
2015-02-16 11:00 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 23/40] dwc3: core: added an API to invoke irq handlers Kishon Vijay Abraham I
2015-02-16 11:01 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 24/40] usb: dwc3: dwc3-omap: make dwc3-omap build in uboot Kishon Vijay Abraham I
2015-02-16 11:02 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 25/40] include: dwc3-omap-uboot: add a structure for populating dwc3-omap platform data Kishon Vijay Abraham I
2015-02-16 11:03 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 26/40] usb: dwc3: dwc3-omap: change probe and remove to uboot init and uboot exit code Kishon Vijay Abraham I
2015-02-16 11:04 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 27/40] dwc3: dwc3-omap: add support for multiple dwc3-omap controllers Kishon Vijay Abraham I
2015-02-16 11:06 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 28/40] usb: dwc3: dwc3-omap: add interrupt status API to check for interrupts Kishon Vijay Abraham I
2015-02-16 11:07 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 29/40] usb: dwc3: TI PHY: PHY driver for dwc3 in TI platforms Kishon Vijay Abraham I
2015-02-16 11:13 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 30/40] dwc3: flush the buffers before using it Kishon Vijay Abraham I
2015-02-16 11:39 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 31/40] usb: dwc3: ep0: preparation for implementing chained TRB Kishon Vijay Abraham I
2015-02-16 11:40 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 32/40] usb: dwc3: Add chained TRB support for ep0 Kishon Vijay Abraham I
2015-02-16 11:42 ` Lukasz Majewski
2015-02-16 12:01 ` Kishon Vijay Abraham I
2015-02-16 13:04 ` Lukasz Majewski
2015-02-16 13:06 ` Kishon Vijay Abraham I
2015-02-06 8:48 ` [U-Boot] [u-boot 33/40] usb: dwc3: Makefile: Make dwc3 driver compile in u-boot Kishon Vijay Abraham I
2015-02-16 11:43 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 34/40] usb: gadget: defer setting maxpacket till ->setup() Kishon Vijay Abraham I
2015-02-16 11:44 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 35/40] common: cmd_dfu: invoke board_usb_cleanup() for cleaning up Kishon Vijay Abraham I
2015-02-16 11:47 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 36/40] board: ti: DRA7: added USB initializtion code Kishon Vijay Abraham I
2015-02-16 11:49 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 37/40] include: configs: Enable DWC3 and DFU in DRA7xx Kishon Vijay Abraham I
2015-02-16 11:50 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 38/40] board: ti: AM43xx: added USB initializtion code Kishon Vijay Abraham I
2015-02-16 11:50 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 39/40] include: configs: Enable DWC3 and DFU in AM43xx Kishon Vijay Abraham I
2015-02-16 11:53 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 40/40] usb: modify usb_gadget_handle_interrupts to take controller index Kishon Vijay Abraham I
2015-02-16 11:56 ` Lukasz Majewski [this message]
2015-02-07 13:32 ` [U-Boot] [u-boot 00/40] dra7xx: am43xx: add dwc3 gadget driver support and enable dfu Marek Vasut
2015-02-11 11:33 ` Kishon Vijay Abraham I
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=20150216125624.29843202@amdc2363 \
--to=l.majewski@samsung.com \
--cc=u-boot@lists.denx.de \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox