summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorPeter Chen <peter.chen@nxp.com>2018-05-16 11:25:01 +0800
committerJason Liu <jason.hui.liu@nxp.com>2019-02-12 10:32:09 +0800
commite5a1abc937692efe1cc7347ae69a31e80b751352 (patch)
treedd7fde8c1c24df2c03f04eafabf0b25753a814df /drivers
parent648aa522827e0a81f3f3447c985ac6be74c4e087 (diff)
MLK-18319-2 usb: cdns3: gadget: delete the unless code
Confirmed from CDNS, this code is from bare metal, and not needed for Linux. Below are their response: This is alternative deferred interrupt. This is intended to be used in Bare Metal to not block system in interrupt. This was not fully checked in Linux, so we do not recommend to use it there. Reviewed-by: Li Jun <jun.li@nxp.com> Signed-off-by: Peter Chen <peter.chen@nxp.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/cdns3/gadget.c38
1 files changed, 0 insertions, 38 deletions
diff --git a/drivers/usb/cdns3/gadget.c b/drivers/usb/cdns3/gadget.c
index 46678a54502c..b0ad5f675407 100644
--- a/drivers/usb/cdns3/gadget.c
+++ b/drivers/usb/cdns3/gadget.c
@@ -68,9 +68,6 @@ static void cdns_check_ep0_interrupt_proceed(struct usb_ss_dev *usb_ss,
int dir);
static void cdns_check_usb_interrupt_proceed(struct usb_ss_dev *usb_ss,
u32 usb_ists);
-#ifdef CDNS_THREADED_IRQ_HANDLING
-static irqreturn_t cdns_irq_handler(int irq, void *_usb_ss);
-#endif
static int usb_ss_gadget_ep0_enable(struct usb_ep *ep,
const struct usb_endpoint_descriptor *desc);
static int usb_ss_gadget_ep0_disable(struct usb_ep *ep);
@@ -838,10 +835,6 @@ static int cdns_req_ep0_set_configuration(struct usb_ss_dev *usb_ss,
&usb_ss->ep_match_list, ep_match_pending_list)
cdns_ep_config(usb_ss_ep);
-#ifdef CDNS_THREADED_IRQ_HANDLING
- usb_ss->ep_ien = gadget_readl(usb_ss, &usb_ss->regs->ep_ien)
- | EP_IEN__EOUTEN0__MASK | EP_IEN__EINEN0__MASK;
-#endif
result = cdns_get_setup_ret(usb_ss, ctrl_req);
if (result != 0)
@@ -1259,31 +1252,6 @@ static void cdns_check_usb_interrupt_proceed(struct usb_ss_dev *usb_ss,
gadget_writel(usb_ss, &usb_ss->regs->usb_ists, (1uL << interrupt_bit));
}
-#ifdef CDNS_THREADED_IRQ_HANDLING
-static irqreturn_t cdns_irq_handler(int irq, void *_usb_ss)
-{
- struct usb_ss_dev *usb_ss = _usb_ss;
-
- usb_ss->usb_ien = gadget_readl(usb_ss, &usb_ss->regs->usb_ien);
- usb_ss->ep_ien = gadget_readl(usb_ss, &usb_ss->regs->ep_ien);
-
- if (!gadget_readl(usb_ss, &usb_ss->regs->usb_ists)
- && !gadget_readl(usb_ss, &usb_ss->regs->ep_ists)) {
- dev_dbg(&usb_ss->dev, "--BUBBLE INTERRUPT 0 !!!\n");
- if (gadget_readl(usb_ss, &usb_ss->regs->usb_sts) &
- USB_STS__CFGSTS__MASK)
- return IRQ_HANDLED;
- return IRQ_NONE;
- }
-
- gadget_writel(usb_ss, &usb_ss->regs->usb_ien, 0);
- gadget_writel(usb_ss, &usb_ss->regs->ep_ien, 0);
-
- gadget_readl(usb_ss, &usb_ss->regs->dma_axi_ctrl);
- return IRQ_WAKE_THREAD;
-}
-#endif
-
/**
* cdns_irq_handler - irq line interrupt handler
* @cdns: cdns3 instance
@@ -1353,12 +1321,6 @@ static irqreturn_t cdns_irq_handler_thread(struct cdns3 *cdns)
irqend:
spin_unlock_irqrestore(&usb_ss->lock, flags);
-#ifdef CDNS_THREADED_IRQ_HANDLING
- local_irq_save(flags);
- gadget_writel(usb_ss, &usb_ss->regs->usb_ien, usb_ss->usb_ien);
- gadget_writel(usb_ss, &usb_ss->regs->ep_ien, usb_ss->ep_ien);
- local_irq_restore(flags);
-#endif
return ret;
}