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 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.