tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: e9919e11e219eaa5e8041b7b1a196839143e9125 commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces date: 4 weeks ago config: mips-randconfig-s032-20200715 (attached as .config) compiler: mipsel-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.2-49-g707c5017-dirty git checkout 670d0a4b10704667765f7d18f7592993d02783aa # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=mips
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> sparse warnings: (new ones prefixed by >>) drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __le16 [usertype] wMaxPacketSize @@ got int @@ drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: expected restricted __le16 [usertype] wMaxPacketSize drivers/usb/gadget/udc/mv_udc_core.c:67:33: sparse: got int drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr0 @@ got restricted __le32 [usertype] @@ drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: expected unsigned int [usertype] buff_ptr0 drivers/usb/gadget/udc/mv_udc_core.c:367:24: sparse: got restricted __le32 [usertype] drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr1 @@ got restricted __le32 [usertype] @@ drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: expected unsigned int [usertype] buff_ptr1 drivers/usb/gadget/udc/mv_udc_core.c:369:24: sparse: got restricted __le32 [usertype] drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr2 @@ got restricted __le32 [usertype] @@ drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: expected unsigned int [usertype] buff_ptr2 drivers/usb/gadget/udc/mv_udc_core.c:370:24: sparse: got restricted __le32 [usertype] drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr3 @@ got restricted __le32 [usertype] @@ drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: expected unsigned int [usertype] buff_ptr3 drivers/usb/gadget/udc/mv_udc_core.c:371:24: sparse: got restricted __le32 [usertype] drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] buff_ptr4 @@ got restricted __le32 [usertype] @@ drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: expected unsigned int [usertype] buff_ptr4 drivers/usb/gadget/udc/mv_udc_core.c:372:24: sparse: got restricted __le32 [usertype] >> drivers/usb/gadget/udc/mv_udc_core.c:833:34: sparse: sparse: incorrect type >> in argument 1 (different address spaces) @@ expected void const volatile >> [noderef] __iomem *mem @@ got unsigned int * @@ >> drivers/usb/gadget/udc/mv_udc_core.c:833:34: sparse: expected void const >> volatile [noderef] __iomem *mem drivers/usb/gadget/udc/mv_udc_core.c:833:34: sparse: got unsigned int * >> drivers/usb/gadget/udc/mv_udc_core.c:834:42: sparse: sparse: incorrect type >> in argument 2 (different address spaces) @@ expected void volatile >> [noderef] __iomem *mem @@ got unsigned int * @@ >> drivers/usb/gadget/udc/mv_udc_core.c:834:42: sparse: expected void >> volatile [noderef] __iomem *mem drivers/usb/gadget/udc/mv_udc_core.c:834:42: sparse: got unsigned int * drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] @@ got restricted __le16 [usertype] @@ drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: expected unsigned short [usertype] drivers/usb/gadget/udc/mv_udc_core.c:1456:41: sparse: got restricted __le16 [usertype] drivers/usb/gadget/udc/mv_udc_core.c:1516:26: sparse: sparse: cast from restricted __le16 drivers/usb/gadget/udc/mv_udc_core.c:1546:31: sparse: sparse: restricted __le16 degrades to integer drivers/usb/gadget/udc/mv_udc_core.c:1547:35: sparse: sparse: restricted __le16 degrades to integer drivers/usb/gadget/udc/mv_udc_core.c:1568:30: sparse: sparse: restricted __le16 degrades to integer drivers/usb/gadget/udc/mv_udc_core.c:1579:39: sparse: sparse: restricted __le16 degrades to integer drivers/usb/gadget/udc/mv_udc_core.c:1580:43: sparse: sparse: restricted __le16 degrades to integer drivers/usb/gadget/udc/mv_udc_core.c:1616:34: sparse: sparse: restricted __le16 degrades to integer drivers/usb/gadget/udc/mv_udc_core.c:1625:52: sparse: sparse: restricted __le16 degrades to integer drivers/usb/gadget/udc/mv_udc_core.c:1611:30: sparse: sparse: restricted __le16 degrades to integer drivers/usb/gadget/udc/mv_udc_core.c:1611:30: sparse: sparse: restricted __le16 degrades to integer drivers/usb/gadget/udc/mv_udc_core.c:1634:39: sparse: sparse: restricted __le16 degrades to integer drivers/usb/gadget/udc/mv_udc_core.c:1635:43: sparse: sparse: restricted __le16 degrades to integer arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: cast to restricted __le32 arch/mips/include/asm/io.h:354:1: sparse: sparse: too many warnings -- >> drivers/watchdog/sb_wdog.c:269:27: sparse: sparse: incorrect type in >> argument 1 (different address spaces) @@ expected void const volatile >> [noderef] __iomem *mem @@ got char *wd_cfg_reg @@ >> drivers/watchdog/sb_wdog.c:269:27: sparse: expected void const volatile >> [noderef] __iomem *mem drivers/watchdog/sb_wdog.c:269:27: sparse: got char *wd_cfg_reg >> drivers/watchdog/sb_wdog.c:270:42: sparse: sparse: incorrect type in >> argument 1 (different address spaces) @@ expected void const volatile >> [noderef] __iomem *mem @@ got char * @@ drivers/watchdog/sb_wdog.c:270:42: sparse: expected void const volatile [noderef] __iomem *mem drivers/watchdog/sb_wdog.c:270:42: sparse: got char * drivers/watchdog/sb_wdog.c:275:24: sparse: sparse: incompatible types in comparison expression (different address spaces): drivers/watchdog/sb_wdog.c:275:24: sparse: char * >> drivers/watchdog/sb_wdog.c:275:24: sparse: char [noderef] __iomem * >> drivers/watchdog/sb_wdog.c:307:34: sparse: sparse: cast removes address >> space '__iomem' of expression drivers/watchdog/sb_wdog.c:321:22: sparse: sparse: cast removes address space '__iomem' of expression drivers/watchdog/sb_wdog.c:331:22: sparse: sparse: cast removes address space '__iomem' of expression vim +833 drivers/usb/gadget/udc/mv_udc_core.c c2bbd16b03d036 drivers/usb/gadget/mv_udc_core.c Neil Zhang 2011-12-20 770 e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 771 /* dequeues (cancels, unlinks) an I/O request from an endpoint */ e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 772 static int mv_ep_dequeue(struct usb_ep *_ep, struct usb_request *_req) e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 773 { e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 774 struct mv_ep *ep = container_of(_ep, struct mv_ep, ep); e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 775 struct mv_req *req; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 776 struct mv_udc *udc = ep->udc; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 777 unsigned long flags; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 778 int stopped, ret = 0; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 779 u32 epctrlx; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 780 e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 781 if (!_ep || !_req) e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 782 return -EINVAL; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 783 e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 784 spin_lock_irqsave(&ep->udc->lock, flags); e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 785 stopped = ep->stopped; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 786 e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 787 /* Stop the ep before we deal with the queue */ e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 788 ep->stopped = 1; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 789 epctrlx = readl(&udc->op_regs->epctrlx[ep->ep_num]); e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 790 if (ep_dir(ep) == EP_DIR_IN) e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 791 epctrlx &= ~EPCTRL_TX_ENABLE; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 792 else e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 793 epctrlx &= ~EPCTRL_RX_ENABLE; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 794 writel(epctrlx, &udc->op_regs->epctrlx[ep->ep_num]); e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 795 e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 796 /* make sure it's actually queued on this endpoint */ e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 797 list_for_each_entry(req, &ep->queue, queue) { e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 798 if (&req->req == _req) e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 799 break; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 800 } e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 801 if (&req->req != _req) { e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 802 ret = -EINVAL; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 803 goto out; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 804 } e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 805 e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 806 /* The request is in progress, or completed but not dequeued */ e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 807 if (ep->queue.next == &req->queue) { e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 808 _req->status = -ECONNRESET; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 809 mv_ep_fifo_flush(_ep); /* flush current transfer */ e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 810 e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 811 /* The request isn't the last request in this ep queue */ e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 812 if (req->queue.next != &ep->queue) { e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 813 struct mv_req *next_req; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 814 c2bbd16b03d036 drivers/usb/gadget/mv_udc_core.c Neil Zhang 2011-12-20 815 next_req = list_entry(req->queue.next, c2bbd16b03d036 drivers/usb/gadget/mv_udc_core.c Neil Zhang 2011-12-20 816 struct mv_req, queue); e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 817 e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 818 /* Point the QH to the first TD of next request */ c2bbd16b03d036 drivers/usb/gadget/mv_udc_core.c Neil Zhang 2011-12-20 819 mv_prime_ep(ep, next_req); e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 820 } else { e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 821 struct mv_dqh *qh; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 822 e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 823 qh = ep->dqh; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 824 qh->next_dtd_ptr = 1; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 825 qh->size_ioc_int_sts = 0; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 826 } e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 827 e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 828 /* The request hasn't been processed, patch up the TD chain */ e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 829 } else { e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 830 struct mv_req *prev_req; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 831 e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 832 prev_req = list_entry(req->queue.prev, struct mv_req, queue); e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 @833 writel(readl(&req->tail->dtd_next), e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 @834 &prev_req->tail->dtd_next); e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 835 e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 836 } e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 837 e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 838 done(ep, req, -ECONNRESET); e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 839 e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 840 /* Enable EP */ e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 841 out: e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 842 epctrlx = readl(&udc->op_regs->epctrlx[ep->ep_num]); e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 843 if (ep_dir(ep) == EP_DIR_IN) e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 844 epctrlx |= EPCTRL_TX_ENABLE; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 845 else e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 846 epctrlx |= EPCTRL_RX_ENABLE; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 847 writel(epctrlx, &udc->op_regs->epctrlx[ep->ep_num]); e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 848 ep->stopped = stopped; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 849 e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 850 spin_unlock_irqrestore(&ep->udc->lock, flags); e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 851 return ret; e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 852 } e7cddda48c7f89 drivers/usb/gadget/mv_udc_core.c cxie4 2010-11-30 853 :::::: The code at line 833 was first introduced by commit :::::: e7cddda48c7f892a3fb5c10a6f41a4395f46c0c2 USB: pxa: Add USB client support for Marvell PXA9xx/PXA168 chips :::::: TO: cxie4 <cx...@marvell.com> :::::: CC: Greg Kroah-Hartman <gre...@suse.de> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip