* [PATCH 0/4] usb: gadget: fix most of W=1 warinngs
@ 2016-05-23 11:45 Michal Nazarewicz
2016-05-23 11:45 ` [PATCH 1/4] usb: gadget: fix unused-but-set-variale warnings Michal Nazarewicz
` (4 more replies)
0 siblings, 5 replies; 12+ messages in thread
From: Michal Nazarewicz @ 2016-05-23 11:45 UTC (permalink / raw)
To: Felipe Balbi; +Cc: linux-usb, linux-kernel
Fixes all of the unused-but-set-variable warnings enabled when
building with W=1. As described in the first patch, some warnings are
left off. See said patch for more description.
Michal Nazarewicz (4):
usb: gadget: fix unused-but-set-variale warnings
usb: gadget: m66592: fix unused-but-set-variable warnings
usb: gadget: r8a66597: fix unused-but-set-variable warnings
usb: gadget: mv_u3d: fix unused-but-set-variable warnings
drivers/usb/gadget/function/f_fs.c | 3 +-
drivers/usb/gadget/function/u_serial.c | 3 +-
drivers/usb/gadget/legacy/g_ffs.c | 15 ++++------
drivers/usb/gadget/udc/amd5536udc.c | 9 +-----
drivers/usb/gadget/udc/bdc/bdc_cmd.c | 3 --
drivers/usb/gadget/udc/bdc/bdc_ep.c | 4 ---
drivers/usb/gadget/udc/dummy_hcd.c | 5 ----
drivers/usb/gadget/udc/m66592-udc.c | 24 ++++-----------
drivers/usb/gadget/udc/mv_u3d_core.c | 23 ++-------------
drivers/usb/gadget/udc/mv_udc_core.c | 9 ++----
drivers/usb/gadget/udc/net2272.c | 4 ---
drivers/usb/gadget/udc/pch_udc.c | 54 +++++++++++++++-------------------
drivers/usb/gadget/udc/pxa27x_udc.c | 3 --
drivers/usb/gadget/udc/r8a66597-udc.c | 24 ++++-----------
drivers/usb/gadget/udc/udc-xilinx.c | 3 --
15 files changed, 50 insertions(+), 136 deletions(-)
--
Best regards
ミハウ “𝓶𝓲𝓷𝓪86” ナザレヴイツ
«If at first you don’t succeed, give up skydiving»
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH 1/4] usb: gadget: fix unused-but-set-variale warnings 2016-05-23 11:45 [PATCH 0/4] usb: gadget: fix most of W=1 warinngs Michal Nazarewicz @ 2016-05-23 11:45 ` Michal Nazarewicz 2016-05-23 11:45 ` [PATCH 2/4] usb: gadget: m66592: fix unused-but-set-variable warnings Michal Nazarewicz ` (3 subsequent siblings) 4 siblings, 0 replies; 12+ messages in thread From: Michal Nazarewicz @ 2016-05-23 11:45 UTC (permalink / raw) To: Felipe Balbi; +Cc: linux-usb, linux-kernel, Michal Nazarewicz Those are enabled with W=1 make option. type-limits warnings in uvc_configfs.o and f_hid.c are left because they are caused by generic macros used in a way where they produce always-false conditions, e.g.: CC [M] drivers/usb/gadget/function/uvc_configfs.o drivers/usb/gadget/function/uvc_configfs.c: In function ‘uvcg_control_header_bcd_uvc_store’: drivers/usb/gadget/function/uvc_configfs.c:83:9: warning: comparison is always false due to limited range of data type [-Wtype-limits] struct mutex *su_mutex = &ch->item.ci_group->cg_subsys->su_mutex;\ ^ drivers/usb/gadget/function/uvc_configfs.c:116:1: note: in expansion of macro ‘UVCG_CTRL_HDR_ATTR’ UVCG_CTRL_HDR_ATTR(bcd_uvc, bcdUVC, le16_to_cpu, kstrtou16, u16, cpu_to_le16, ^ CC [M] drivers/usb/gadget/function/f_hid.o drivers/usb/gadget/function/f_hid.c: In function ‘f_hid_opts_subclass_store’: drivers/usb/gadget/function/f_hid.c:735:9: warning: comparison is always false due to limited range of data type [-Wtype-limits] struct f_hid_opts *opts = to_f_hid_opts(item); \ ^ drivers/usb/gadget/function/f_hid.c:763:1: note: in expansion of macro ‘F_HID_OPT’ F_HID_OPT(subclass, 8, 255); ^ Signed-off-by: Michal Nazarewicz <mina86@mina86.com> --- drivers/usb/gadget/function/f_fs.c | 3 +- drivers/usb/gadget/function/u_serial.c | 3 +- drivers/usb/gadget/legacy/g_ffs.c | 15 ++++------ drivers/usb/gadget/udc/amd5536udc.c | 9 +----- drivers/usb/gadget/udc/bdc/bdc_cmd.c | 3 -- drivers/usb/gadget/udc/bdc/bdc_ep.c | 4 --- drivers/usb/gadget/udc/dummy_hcd.c | 5 ---- drivers/usb/gadget/udc/mv_udc_core.c | 9 ++---- drivers/usb/gadget/udc/net2272.c | 4 --- drivers/usb/gadget/udc/pch_udc.c | 54 +++++++++++++++------------------- drivers/usb/gadget/udc/pxa27x_udc.c | 3 -- drivers/usb/gadget/udc/udc-xilinx.c | 3 -- 12 files changed, 35 insertions(+), 80 deletions(-) diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c index e21ca2bd..f931da7 100644 --- a/drivers/usb/gadget/function/f_fs.c +++ b/drivers/usb/gadget/function/f_fs.c @@ -2228,8 +2228,8 @@ static int __ffs_data_got_strings(struct ffs_data *ffs, { u32 str_count, needed_count, lang_count; struct usb_gadget_strings **stringtabs, *t; - struct usb_string *strings, *s; const char *data = _data; + struct usb_string *s; ENTER(); @@ -2287,7 +2287,6 @@ static int __ffs_data_got_strings(struct ffs_data *ffs, stringtabs = vla_ptr(vlabuf, d, stringtabs); t = vla_ptr(vlabuf, d, stringtab); s = vla_ptr(vlabuf, d, strings); - strings = s; } /* For each language */ diff --git a/drivers/usb/gadget/function/u_serial.c b/drivers/usb/gadget/function/u_serial.c index 6af145f..60489c2 100644 --- a/drivers/usb/gadget/function/u_serial.c +++ b/drivers/usb/gadget/function/u_serial.c @@ -907,7 +907,6 @@ static int gs_write(struct tty_struct *tty, const unsigned char *buf, int count) { struct gs_port *port = tty->driver_data; unsigned long flags; - int status; pr_vdebug("gs_write: ttyGS%d (%p) writing %d bytes\n", port->port_num, tty, count); @@ -917,7 +916,7 @@ static int gs_write(struct tty_struct *tty, const unsigned char *buf, int count) count = gs_buf_put(&port->port_write_buf, buf, count); /* treat count == 0 as flush_chars() */ if (port->port_usb) - status = gs_start_tx(port); + gs_start_tx(port); spin_unlock_irqrestore(&port->port_lock, flags); return count; diff --git a/drivers/usb/gadget/legacy/g_ffs.c b/drivers/usb/gadget/legacy/g_ffs.c index f85639e..6da7316 100644 --- a/drivers/usb/gadget/legacy/g_ffs.c +++ b/drivers/usb/gadget/legacy/g_ffs.c @@ -265,7 +265,7 @@ static void *functionfs_acquire_dev(struct ffs_dev *dev) { if (!try_module_get(THIS_MODULE)) return ERR_PTR(-ENOENT); - + return NULL; } @@ -275,7 +275,7 @@ static void functionfs_release_dev(struct ffs_dev *dev) } /* - * The caller of this function takes ffs_lock + * The caller of this function takes ffs_lock */ static int functionfs_ready_callback(struct ffs_data *ffs) { @@ -294,12 +294,12 @@ static int functionfs_ready_callback(struct ffs_data *ffs) ++missing_funcs; gfs_registered = false; } - + return ret; } /* - * The caller of this function takes ffs_lock + * The caller of this function takes ffs_lock */ static void functionfs_closed_callback(struct ffs_data *ffs) { @@ -347,17 +347,14 @@ static int gfs_bind(struct usb_composite_dev *cdev) #ifdef CONFIG_USB_FUNCTIONFS_RNDIS { - struct f_rndis_opts *rndis_opts; - fi_rndis = usb_get_function_instance("rndis"); if (IS_ERR(fi_rndis)) { ret = PTR_ERR(fi_rndis); goto error; } - rndis_opts = container_of(fi_rndis, struct f_rndis_opts, - func_inst); #ifndef CONFIG_USB_FUNCTIONFS_ETH - net = rndis_opts->net; + net = container_of(fi_rndis, struct f_rndis_opts, + func_inst)->net; #endif } #endif diff --git a/drivers/usb/gadget/udc/amd5536udc.c b/drivers/usb/gadget/udc/amd5536udc.c index 39d70b4..ea03ca7 100644 --- a/drivers/usb/gadget/udc/amd5536udc.c +++ b/drivers/usb/gadget/udc/amd5536udc.c @@ -2340,7 +2340,6 @@ static irqreturn_t udc_data_in_isr(struct udc *dev, int ep_ix) struct udc_ep *ep; struct udc_request *req; struct udc_data_dma *td; - unsigned dma_done; unsigned len; ep = &dev->ep[ep_ix]; @@ -2385,13 +2384,8 @@ static irqreturn_t udc_data_in_isr(struct udc *dev, int ep_ix) */ if (use_dma_ppb_du) { td = udc_get_last_dma_desc(req); - if (td) { - dma_done = - AMD_GETBITS(td->status, - UDC_DMA_IN_STS_BS); - /* don't care DMA done */ + if (td) req->req.actual = req->req.length; - } } else { /* assume all bytes transferred */ req->req.actual = req->req.length; @@ -3417,4 +3411,3 @@ module_pci_driver(udc_pci_driver); MODULE_DESCRIPTION(UDC_MOD_DESCRIPTION); MODULE_AUTHOR("Thomas Dahlmann"); MODULE_LICENSE("GPL"); - diff --git a/drivers/usb/gadget/udc/bdc/bdc_cmd.c b/drivers/usb/gadget/udc/bdc/bdc_cmd.c index 6a4155c..4d5e918 100644 --- a/drivers/usb/gadget/udc/bdc/bdc_cmd.c +++ b/drivers/usb/gadget/udc/bdc/bdc_cmd.c @@ -57,7 +57,6 @@ static int bdc_submit_cmd(struct bdc *bdc, u32 cmd_sc, u32 param0, u32 param1, u32 param2) { u32 temp, cmd_status; - int reset_bdc = 0; int ret; temp = bdc_readl(bdc->regs, BDC_CMDSC); @@ -94,7 +93,6 @@ static int bdc_submit_cmd(struct bdc *bdc, u32 cmd_sc, case BDC_CMDS_INTL: dev_err(bdc->dev, "BDC Internal error\n"); - reset_bdc = 1; ret = -ECONNRESET; break; @@ -102,7 +100,6 @@ static int bdc_submit_cmd(struct bdc *bdc, u32 cmd_sc, dev_err(bdc->dev, "command timedout waited for %dusec\n", BDC_CMD_TIMEOUT); - reset_bdc = 1; ret = -ECONNRESET; break; default: diff --git a/drivers/usb/gadget/udc/bdc/bdc_ep.c b/drivers/usb/gadget/udc/bdc/bdc_ep.c index d619950..650717e 100644 --- a/drivers/usb/gadget/udc/bdc/bdc_ep.c +++ b/drivers/usb/gadget/udc/bdc/bdc_ep.c @@ -702,11 +702,9 @@ static int ep0_queue(struct bdc_ep *ep, struct bdc_req *req) /* Queue data stage */ static int ep0_queue_data_stage(struct bdc *bdc) { - struct usb_request *ep0_usb_req; struct bdc_ep *ep; dev_dbg(bdc->dev, "%s\n", __func__); - ep0_usb_req = &bdc->ep0_req.usb_req; ep = bdc->bdc_ep_array[1]; bdc->ep0_req.ep = ep; bdc->ep0_req.usb_req.complete = NULL; @@ -1393,10 +1391,8 @@ static int ep0_set_sel(struct bdc *bdc, { struct bdc_ep *ep; u16 wLength; - u16 wValue; dev_dbg(bdc->dev, "%s\n", __func__); - wValue = le16_to_cpu(setup_pkt->wValue); wLength = le16_to_cpu(setup_pkt->wLength); if (unlikely(wLength != 6)) { dev_err(bdc->dev, "%s Wrong wLength:%d\n", __func__, wLength); diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/dummy_hcd.c index dde4445..77d0790 100644 --- a/drivers/usb/gadget/udc/dummy_hcd.c +++ b/drivers/usb/gadget/udc/dummy_hcd.c @@ -647,12 +647,10 @@ static int dummy_disable(struct usb_ep *_ep) static struct usb_request *dummy_alloc_request(struct usb_ep *_ep, gfp_t mem_flags) { - struct dummy_ep *ep; struct dummy_request *req; if (!_ep) return NULL; - ep = usb_ep_to_dummy_ep(_ep); req = kzalloc(sizeof(*req), mem_flags); if (!req) @@ -2444,9 +2442,6 @@ static int dummy_start(struct usb_hcd *hcd) static void dummy_stop(struct usb_hcd *hcd) { - struct dummy *dum; - - dum = hcd_to_dummy_hcd(hcd)->dum; device_remove_file(dummy_dev(hcd_to_dummy_hcd(hcd)), &dev_attr_urbs); dev_info(dummy_dev(hcd_to_dummy_hcd(hcd)), "stopped\n"); } diff --git a/drivers/usb/gadget/udc/mv_udc_core.c b/drivers/usb/gadget/udc/mv_udc_core.c index 81b6229..ce73b35 100644 --- a/drivers/usb/gadget/udc/mv_udc_core.c +++ b/drivers/usb/gadget/udc/mv_udc_core.c @@ -129,7 +129,7 @@ static int process_ep_req(struct mv_udc *udc, int index, { struct mv_dtd *curr_dtd; struct mv_dqh *curr_dqh; - int td_complete, actual, remaining_length; + int actual, remaining_length; int i, direction; int retval = 0; u32 errors; @@ -139,7 +139,6 @@ static int process_ep_req(struct mv_udc *udc, int index, direction = index % 2; curr_dtd = curr_req->head; - td_complete = 0; actual = curr_req->req.length; for (i = 0; i < curr_req->dtd_count; i++) { @@ -412,11 +411,8 @@ static int req_to_dtd(struct mv_req *req) unsigned count; int is_last, is_first = 1; struct mv_dtd *dtd, *last_dtd = NULL; - struct mv_udc *udc; dma_addr_t dma; - udc = req->ep->udc; - do { dtd = build_dtd(req, &count, &dma, &is_last); if (dtd == NULL) @@ -567,7 +563,7 @@ static int mv_ep_disable(struct usb_ep *_ep) struct mv_udc *udc; struct mv_ep *ep; struct mv_dqh *dqh; - u32 bit_pos, epctrlx, direction; + u32 epctrlx, direction; unsigned long flags; ep = container_of(_ep, struct mv_ep, ep); @@ -582,7 +578,6 @@ static int mv_ep_disable(struct usb_ep *_ep) spin_lock_irqsave(&udc->lock, flags); direction = ep_dir(ep); - bit_pos = 1 << ((direction == EP_DIR_OUT ? 0 : 16) + ep->ep_num); /* Reset the max packet length and the interrupt on Setup */ dqh->max_packet_length = 0; diff --git a/drivers/usb/gadget/udc/net2272.c b/drivers/usb/gadget/udc/net2272.c index 18f5ebd..7c61134 100644 --- a/drivers/usb/gadget/udc/net2272.c +++ b/drivers/usb/gadget/udc/net2272.c @@ -329,12 +329,10 @@ static int net2272_disable(struct usb_ep *_ep) static struct usb_request * net2272_alloc_request(struct usb_ep *_ep, gfp_t gfp_flags) { - struct net2272_ep *ep; struct net2272_request *req; if (!_ep) return NULL; - ep = container_of(_ep, struct net2272_ep, ep); req = kzalloc(sizeof(*req), gfp_flags); if (!req) @@ -348,10 +346,8 @@ net2272_alloc_request(struct usb_ep *_ep, gfp_t gfp_flags) static void net2272_free_request(struct usb_ep *_ep, struct usb_request *_req) { - struct net2272_ep *ep; struct net2272_request *req; - ep = container_of(_ep, struct net2272_ep, ep); if (!_ep || !_req) return; diff --git a/drivers/usb/gadget/udc/pch_udc.c b/drivers/usb/gadget/udc/pch_udc.c index 9571ef5..64994d4 100644 --- a/drivers/usb/gadget/udc/pch_udc.c +++ b/drivers/usb/gadget/udc/pch_udc.c @@ -1743,14 +1743,14 @@ static int pch_udc_pcd_ep_disable(struct usb_ep *usbep) if ((usbep->name == ep0_string) || !ep->ep.desc) return -EINVAL; - spin_lock_irqsave(&ep->dev->lock, iflags); + spin_lock_irqsave(&dev->lock, iflags); empty_req_queue(ep); ep->halted = 1; pch_udc_ep_disable(ep); - pch_udc_disable_ep_interrupts(ep->dev, PCH_UDC_EPINT(ep->in, ep->num)); + pch_udc_disable_ep_interrupts(dev, PCH_UDC_EPINT(ep->in, ep->num)); ep->ep.desc = NULL; INIT_LIST_HEAD(&ep->queue); - spin_unlock_irqrestore(&ep->dev->lock, iflags); + spin_unlock_irqrestore(&dev->lock, iflags); return 0; } @@ -1782,10 +1782,10 @@ static struct usb_request *pch_udc_alloc_request(struct usb_ep *usbep, req->req.dma = DMA_ADDR_INVALID; req->dma = DMA_ADDR_INVALID; INIT_LIST_HEAD(&req->queue); - if (!ep->dev->dma_addr) + if (!dev->dma_addr) return &req->req; /* ep0 in requests are allocated from data pool here */ - dma_desc = pci_pool_alloc(ep->dev->data_requests, gfp, + dma_desc = pci_pool_alloc(dev->data_requests, gfp, &req->td_data_phys); if (NULL == dma_desc) { kfree(req); @@ -1957,7 +1957,7 @@ static int pch_udc_pcd_dequeue(struct usb_ep *usbep, if (!usbep || !usbreq || (!ep->ep.desc && ep->num)) return ret; req = container_of(usbreq, struct pch_udc_request, req); - spin_lock_irqsave(&ep->dev->lock, flags); + spin_lock_irqsave(&dev->lock, flags); /* make sure it's still queued on this endpoint */ list_for_each_entry(req, &ep->queue, queue) { if (&req->req == usbreq) { @@ -1968,7 +1968,7 @@ static int pch_udc_pcd_dequeue(struct usb_ep *usbep, break; } } - spin_unlock_irqrestore(&ep->dev->lock, flags); + spin_unlock_irqrestore(&dev->lock, flags); return ret; } @@ -1995,17 +1995,16 @@ static int pch_udc_pcd_set_halt(struct usb_ep *usbep, int halt) dev = ep->dev; if (!ep->ep.desc && !ep->num) return -EINVAL; - if (!ep->dev->driver || (ep->dev->gadget.speed == USB_SPEED_UNKNOWN)) + if (!dev->driver || (dev->gadget.speed == USB_SPEED_UNKNOWN)) return -ESHUTDOWN; spin_lock_irqsave(&udc_stall_spinlock, iflags); if (list_empty(&ep->queue)) { if (halt) { if (ep->num == PCH_UDC_EP0) - ep->dev->stall = 1; + dev->stall = 1; pch_udc_ep_set_stall(ep); - pch_udc_enable_ep_interrupts(ep->dev, - PCH_UDC_EPINT(ep->in, - ep->num)); + pch_udc_enable_ep_interrupts( + dev, PCH_UDC_EPINT(ep->in, ep->num)); } else { pch_udc_ep_clear_stall(ep); } @@ -2040,18 +2039,18 @@ static int pch_udc_pcd_set_wedge(struct usb_ep *usbep) dev = ep->dev; if (!ep->ep.desc && !ep->num) return -EINVAL; - if (!ep->dev->driver || (ep->dev->gadget.speed == USB_SPEED_UNKNOWN)) + if (!dev->driver || (dev->gadget.speed == USB_SPEED_UNKNOWN)) return -ESHUTDOWN; spin_lock_irqsave(&udc_stall_spinlock, iflags); if (!list_empty(&ep->queue)) { ret = -EAGAIN; } else { if (ep->num == PCH_UDC_EP0) - ep->dev->stall = 1; + dev->stall = 1; pch_udc_ep_set_stall(ep); - pch_udc_enable_ep_interrupts(ep->dev, + pch_udc_enable_ep_interrupts(dev, PCH_UDC_EPINT(ep->in, ep->num)); - ep->dev->prot_stall = 1; + dev->prot_stall = 1; ret = 0; } spin_unlock_irqrestore(&udc_stall_spinlock, iflags); @@ -2472,16 +2471,11 @@ static void pch_udc_svc_control_out(struct pch_udc_dev *dev) */ static void pch_udc_postsvc_epinters(struct pch_udc_dev *dev, int ep_num) { - struct pch_udc_ep *ep; - struct pch_udc_request *req; - - ep = &dev->ep[UDC_EPIN_IDX(ep_num)]; - if (!list_empty(&ep->queue)) { - req = list_entry(ep->queue.next, struct pch_udc_request, queue); - pch_udc_enable_ep_interrupts(ep->dev, - PCH_UDC_EPINT(ep->in, ep->num)); - pch_udc_ep_clear_nak(ep); - } + struct pch_udc_ep *ep = &dev->ep[UDC_EPIN_IDX(ep_num)]; + if (list_empty(&ep->queue)) + return; + pch_udc_enable_ep_interrupts(ep->dev, PCH_UDC_EPINT(ep->in, ep->num)); + pch_udc_ep_clear_nak(ep); } /** @@ -2647,7 +2641,7 @@ static void pch_udc_svc_enum_interrupt(struct pch_udc_dev *dev) static void pch_udc_svc_intf_interrupt(struct pch_udc_dev *dev) { u32 reg, dev_stat = 0; - int i, ret; + int i; dev_stat = pch_udc_read_device_status(dev); dev->cfg_data.cur_intf = (dev_stat & UDC_DEVSTS_INTF_MASK) >> @@ -2676,7 +2670,7 @@ static void pch_udc_svc_intf_interrupt(struct pch_udc_dev *dev) } dev->stall = 0; spin_lock(&dev->lock); - ret = dev->driver->setup(&dev->gadget, &dev->setup_data); + dev->driver->setup(&dev->gadget, &dev->setup_data); spin_unlock(&dev->lock); } @@ -2687,7 +2681,7 @@ static void pch_udc_svc_intf_interrupt(struct pch_udc_dev *dev) */ static void pch_udc_svc_cfg_interrupt(struct pch_udc_dev *dev) { - int i, ret; + int i; u32 reg, dev_stat = 0; dev_stat = pch_udc_read_device_status(dev); @@ -2713,7 +2707,7 @@ static void pch_udc_svc_cfg_interrupt(struct pch_udc_dev *dev) /* call gadget zero with setup data received */ spin_lock(&dev->lock); - ret = dev->driver->setup(&dev->gadget, &dev->setup_data); + dev->driver->setup(&dev->gadget, &dev->setup_data); spin_unlock(&dev->lock); } diff --git a/drivers/usb/gadget/udc/pxa27x_udc.c b/drivers/usb/gadget/udc/pxa27x_udc.c index 001a3b7..72aca2f 100644 --- a/drivers/usb/gadget/udc/pxa27x_udc.c +++ b/drivers/usb/gadget/udc/pxa27x_udc.c @@ -1829,9 +1829,6 @@ static void stop_activity(struct pxa_udc *udc, struct usb_gadget_driver *driver) { int i; - /* don't disconnect drivers more than once */ - if (udc->gadget.speed == USB_SPEED_UNKNOWN) - driver = NULL; udc->gadget.speed = USB_SPEED_UNKNOWN; for (i = 0; i < NR_USB_ENDPOINTS; i++) diff --git a/drivers/usb/gadget/udc/udc-xilinx.c b/drivers/usb/gadget/udc/udc-xilinx.c index 1cbb0ac..f8bf290 100644 --- a/drivers/usb/gadget/udc/udc-xilinx.c +++ b/drivers/usb/gadget/udc/udc-xilinx.c @@ -2055,7 +2055,6 @@ static int xudc_probe(struct platform_device *pdev) struct device_node *np = pdev->dev.of_node; struct resource *res; struct xusb_udc *udc; - struct xusb_ep *ep0; int irq; int ret; u32 ier; @@ -2119,8 +2118,6 @@ static int xudc_probe(struct platform_device *pdev) xudc_eps_init(udc); - ep0 = &udc->ep[0]; - /* Set device address to 0.*/ udc->write_fn(udc->addr, XUSB_ADDRESS_OFFSET, 0); -- 2.8.0.rc3.226.g39d4020 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/4] usb: gadget: m66592: fix unused-but-set-variable warnings 2016-05-23 11:45 [PATCH 0/4] usb: gadget: fix most of W=1 warinngs Michal Nazarewicz 2016-05-23 11:45 ` [PATCH 1/4] usb: gadget: fix unused-but-set-variale warnings Michal Nazarewicz @ 2016-05-23 11:45 ` Michal Nazarewicz 2016-05-23 11:45 ` [PATCH 3/4] usb: gadget: r8a66597: " Michal Nazarewicz ` (2 subsequent siblings) 4 siblings, 0 replies; 12+ messages in thread From: Michal Nazarewicz @ 2016-05-23 11:45 UTC (permalink / raw) To: Felipe Balbi Cc: linux-usb, linux-kernel, Michal Nazarewicz, Yoshihiro Shimoda This patch fixes the following (W=1) warnings: drivers/usb/gadget/udc/m66592-udc.c: In function ‘m66592_irq’: drivers/usb/gadget/udc/m66592-udc.c:1203:15: warning: variable ‘nrdyenb’ set but not used [-Wunused-but-set-variable] u16 brdyenb, nrdyenb, bempenb; ^ drivers/usb/gadget/udc/m66592-udc.c:1202:15: warning: variable ‘nrdysts’ set but not used [-Wunused-but-set-variable] u16 brdysts, nrdysts, bempsts; ^ In doing so, it removes calls to m66592_read function which does I/O with the device, but I hope the reads don’t have any side effects that are needed. Signed-off-by: Michal Nazarewicz <mina86@mina86.com> Cc: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> --- drivers/usb/gadget/udc/m66592-udc.c | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/drivers/usb/gadget/udc/m66592-udc.c b/drivers/usb/gadget/udc/m66592-udc.c index b1cfa96..6e977dc 100644 --- a/drivers/usb/gadget/udc/m66592-udc.c +++ b/drivers/usb/gadget/udc/m66592-udc.c @@ -1199,8 +1199,6 @@ static irqreturn_t m66592_irq(int irq, void *_m66592) struct m66592 *m66592 = _m66592; u16 intsts0; u16 intenb0; - u16 brdysts, nrdysts, bempsts; - u16 brdyenb, nrdyenb, bempenb; u16 savepipe; u16 mask0; @@ -1224,12 +1222,10 @@ static irqreturn_t m66592_irq(int irq, void *_m66592) mask0 = intsts0 & intenb0; if (mask0) { - brdysts = m66592_read(m66592, M66592_BRDYSTS); - nrdysts = m66592_read(m66592, M66592_NRDYSTS); - bempsts = m66592_read(m66592, M66592_BEMPSTS); - brdyenb = m66592_read(m66592, M66592_BRDYENB); - nrdyenb = m66592_read(m66592, M66592_NRDYENB); - bempenb = m66592_read(m66592, M66592_BEMPENB); + u16 brdysts = m66592_read(m66592, M66592_BRDYSTS); + u16 bempsts = m66592_read(m66592, M66592_BEMPSTS); + u16 brdyenb = m66592_read(m66592, M66592_BRDYENB); + u16 bempenb = m66592_read(m66592, M66592_BEMPENB); if (mask0 & M66592_VBINT) { m66592_write(m66592, 0xffff & ~M66592_VBINT, @@ -1408,28 +1404,20 @@ static int m66592_dequeue(struct usb_ep *_ep, struct usb_request *_req) static int m66592_set_halt(struct usb_ep *_ep, int value) { - struct m66592_ep *ep; - struct m66592_request *req; + struct m66592_ep *ep = container_of(_ep, struct m66592_ep, ep); unsigned long flags; int ret = 0; - ep = container_of(_ep, struct m66592_ep, ep); - req = list_entry(ep->queue.next, struct m66592_request, queue); - spin_lock_irqsave(&ep->m66592->lock, flags); if (!list_empty(&ep->queue)) { ret = -EAGAIN; - goto out; - } - if (value) { + } else if (value) { ep->busy = 1; pipe_stall(ep->m66592, ep->pipenum); } else { ep->busy = 0; pipe_stop(ep->m66592, ep->pipenum); } - -out: spin_unlock_irqrestore(&ep->m66592->lock, flags); return ret; } -- 2.8.0.rc3.226.g39d4020 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 3/4] usb: gadget: r8a66597: fix unused-but-set-variable warnings 2016-05-23 11:45 [PATCH 0/4] usb: gadget: fix most of W=1 warinngs Michal Nazarewicz 2016-05-23 11:45 ` [PATCH 1/4] usb: gadget: fix unused-but-set-variale warnings Michal Nazarewicz 2016-05-23 11:45 ` [PATCH 2/4] usb: gadget: m66592: fix unused-but-set-variable warnings Michal Nazarewicz @ 2016-05-23 11:45 ` Michal Nazarewicz 2016-05-23 11:45 ` [PATCH 4/4] usb: gadget: mv_u3d: " Michal Nazarewicz 2016-05-31 7:09 ` [PATCH 0/4] usb: gadget: fix most of W=1 warinngs Felipe Balbi 4 siblings, 0 replies; 12+ messages in thread From: Michal Nazarewicz @ 2016-05-23 11:45 UTC (permalink / raw) To: Felipe Balbi Cc: linux-usb, linux-kernel, Michal Nazarewicz, Yoshihiro Shimoda This patch fixes the following (W=1) warnings: drivers/usb/gadget/udc/r8a66597-udc.c: In function ‘r8a66597_irq’: drivers/usb/gadget/udc/r8a66597-udc.c:1468:15: warning: variable ‘nrdyenb’ set but not used [-Wunused-but-set-variable] u16 brdyenb, nrdyenb, bempenb; ^ drivers/usb/gadget/udc/r8a66597-udc.c:1467:15: warning: variable ‘nrdysts’ set but not used [-Wunused-but-set-variable] u16 brdysts, nrdysts, bempsts; ^ In doing so, it removes calls to r8a66597_read function which does I/O with the device, but I hope the reads don’t have any side effects that are needed. Signed-off-by: Michal Nazarewicz <mina86@mina86.com> Cc: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> --- drivers/usb/gadget/udc/r8a66597-udc.c | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/drivers/usb/gadget/udc/r8a66597-udc.c b/drivers/usb/gadget/udc/r8a66597-udc.c index baa0609..d89bbfd 100644 --- a/drivers/usb/gadget/udc/r8a66597-udc.c +++ b/drivers/usb/gadget/udc/r8a66597-udc.c @@ -1464,8 +1464,6 @@ static irqreturn_t r8a66597_irq(int irq, void *_r8a66597) struct r8a66597 *r8a66597 = _r8a66597; u16 intsts0; u16 intenb0; - u16 brdysts, nrdysts, bempsts; - u16 brdyenb, nrdyenb, bempenb; u16 savepipe; u16 mask0; @@ -1481,12 +1479,10 @@ static irqreturn_t r8a66597_irq(int irq, void *_r8a66597) mask0 = intsts0 & intenb0; if (mask0) { - brdysts = r8a66597_read(r8a66597, BRDYSTS); - nrdysts = r8a66597_read(r8a66597, NRDYSTS); - bempsts = r8a66597_read(r8a66597, BEMPSTS); - brdyenb = r8a66597_read(r8a66597, BRDYENB); - nrdyenb = r8a66597_read(r8a66597, NRDYENB); - bempenb = r8a66597_read(r8a66597, BEMPENB); + u16 brdysts = r8a66597_read(r8a66597, BRDYSTS); + u16 bempsts = r8a66597_read(r8a66597, BEMPSTS); + u16 brdyenb = r8a66597_read(r8a66597, BRDYENB); + u16 bempenb = r8a66597_read(r8a66597, BEMPENB); if (mask0 & VBINT) { r8a66597_write(r8a66597, 0xffff & ~VBINT, @@ -1658,20 +1654,14 @@ static int r8a66597_dequeue(struct usb_ep *_ep, struct usb_request *_req) static int r8a66597_set_halt(struct usb_ep *_ep, int value) { - struct r8a66597_ep *ep; - struct r8a66597_request *req; + struct r8a66597_ep *ep = container_of(_ep, struct r8a66597_ep, ep); unsigned long flags; int ret = 0; - ep = container_of(_ep, struct r8a66597_ep, ep); - req = get_request_from_ep(ep); - spin_lock_irqsave(&ep->r8a66597->lock, flags); if (!list_empty(&ep->queue)) { ret = -EAGAIN; - goto out; - } - if (value) { + } else if (value) { ep->busy = 1; pipe_stall(ep->r8a66597, ep->pipenum); } else { @@ -1679,8 +1669,6 @@ static int r8a66597_set_halt(struct usb_ep *_ep, int value) ep->wedge = 0; pipe_stop(ep->r8a66597, ep->pipenum); } - -out: spin_unlock_irqrestore(&ep->r8a66597->lock, flags); return ret; } -- 2.8.0.rc3.226.g39d4020 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 4/4] usb: gadget: mv_u3d: fix unused-but-set-variable warnings 2016-05-23 11:45 [PATCH 0/4] usb: gadget: fix most of W=1 warinngs Michal Nazarewicz ` (2 preceding siblings ...) 2016-05-23 11:45 ` [PATCH 3/4] usb: gadget: r8a66597: " Michal Nazarewicz @ 2016-05-23 11:45 ` Michal Nazarewicz 2016-05-31 7:09 ` [PATCH 0/4] usb: gadget: fix most of W=1 warinngs Felipe Balbi 4 siblings, 0 replies; 12+ messages in thread From: Michal Nazarewicz @ 2016-05-23 11:45 UTC (permalink / raw) To: Felipe Balbi; +Cc: linux-usb, linux-kernel, Michal Nazarewicz, Yu Xu This patch fixes the following (W=1) warnings: drivers/usb/gadget/udc/mv_u3d_core.c: In function ‘mv_u3d_process_ep_req’: drivers/usb/gadget/udc/mv_u3d_core.c:124:6: warning: variable ‘trb_complete’ set but not used [-Wunused-but-set-variable] int trb_complete, actual, remaining_length = 0; ^ drivers/usb/gadget/udc/mv_u3d_core.c:123:28: warning: variable ‘curr_ep_context’ set but not used [-Wunused-but-set-variable] struct mv_u3d_ep_context *curr_ep_context; ^ drivers/usb/gadget/udc/mv_u3d_core.c:122:13: warning: variable ‘cur_deq_lo’ set but not used [-Wunused-but-set-variable] dma_addr_t cur_deq_lo; ^ drivers/usb/gadget/udc/mv_u3d_core.c: In function ‘mv_u3d_ep_enable’: drivers/usb/gadget/udc/mv_u3d_core.c:530:28: warning: variable ‘ep_context’ set but not used [-Wunused-but-set-variable] struct mv_u3d_ep_context *ep_context; ^ drivers/usb/gadget/udc/mv_u3d_core.c: In function ‘mv_u3d_ep_disable’: drivers/usb/gadget/udc/mv_u3d_core.c:636:28: warning: variable ‘ep_context’ set but not used [-Wunused-but-set-variable] struct mv_u3d_ep_context *ep_context; ^ In doing so, it removes calls to ioread32 function which does I/O with the device, but I hope the reads don’t have any side effects that are needed. Signed-off-by: Michal Nazarewicz <mina86@mina86.com> Cc: Yu Xu <yuxu@marvell.com> --- drivers/usb/gadget/udc/mv_u3d_core.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/drivers/usb/gadget/udc/mv_u3d_core.c b/drivers/usb/gadget/udc/mv_u3d_core.c index dafe74e..b9e19a5 100644 --- a/drivers/usb/gadget/udc/mv_u3d_core.c +++ b/drivers/usb/gadget/udc/mv_u3d_core.c @@ -119,18 +119,14 @@ static int mv_u3d_process_ep_req(struct mv_u3d *u3d, int index, struct mv_u3d_req *curr_req) { struct mv_u3d_trb *curr_trb; - dma_addr_t cur_deq_lo; - struct mv_u3d_ep_context *curr_ep_context; - int trb_complete, actual, remaining_length = 0; + int actual, remaining_length = 0; int direction, ep_num; int retval = 0; u32 tmp, status, length; - curr_ep_context = &u3d->ep_context[index]; direction = index % 2; ep_num = index / 2; - trb_complete = 0; actual = curr_req->req.length; while (!list_empty(&curr_req->trb_list)) { @@ -143,15 +139,10 @@ static int mv_u3d_process_ep_req(struct mv_u3d *u3d, int index, } curr_trb->trb_hw->ctrl.own = 0; - if (direction == MV_U3D_EP_DIR_OUT) { + if (direction == MV_U3D_EP_DIR_OUT) tmp = ioread32(&u3d->vuc_regs->rxst[ep_num].statuslo); - cur_deq_lo = - ioread32(&u3d->vuc_regs->rxst[ep_num].curdeqlo); - } else { + else tmp = ioread32(&u3d->vuc_regs->txst[ep_num].statuslo); - cur_deq_lo = - ioread32(&u3d->vuc_regs->txst[ep_num].curdeqlo); - } status = tmp >> MV_U3D_XFERSTATUS_COMPLETE_SHIFT; length = tmp & MV_U3D_XFERSTATUS_TRB_LENGTH_MASK; @@ -527,7 +518,6 @@ static int mv_u3d_ep_enable(struct usb_ep *_ep, { struct mv_u3d *u3d; struct mv_u3d_ep *ep; - struct mv_u3d_ep_context *ep_context; u16 max = 0; unsigned maxburst = 0; u32 epxcr, direction; @@ -548,9 +538,6 @@ static int mv_u3d_ep_enable(struct usb_ep *_ep, _ep->maxburst = 1; maxburst = _ep->maxburst; - /* Get the endpoint context address */ - ep_context = (struct mv_u3d_ep_context *)ep->ep_context; - /* Set the max burst size */ switch (desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) { case USB_ENDPOINT_XFER_BULK: @@ -633,7 +620,6 @@ static int mv_u3d_ep_disable(struct usb_ep *_ep) { struct mv_u3d *u3d; struct mv_u3d_ep *ep; - struct mv_u3d_ep_context *ep_context; u32 epxcr, direction; unsigned long flags; @@ -646,9 +632,6 @@ static int mv_u3d_ep_disable(struct usb_ep *_ep) u3d = ep->u3d; - /* Get the endpoint context address */ - ep_context = ep->ep_context; - direction = mv_u3d_ep_dir(ep); /* nuke all pending requests (does flush) */ -- 2.8.0.rc3.226.g39d4020 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 0/4] usb: gadget: fix most of W=1 warinngs 2016-05-23 11:45 [PATCH 0/4] usb: gadget: fix most of W=1 warinngs Michal Nazarewicz ` (3 preceding siblings ...) 2016-05-23 11:45 ` [PATCH 4/4] usb: gadget: mv_u3d: " Michal Nazarewicz @ 2016-05-31 7:09 ` Felipe Balbi 2016-05-31 12:17 ` Michal Nazarewicz 4 siblings, 1 reply; 12+ messages in thread From: Felipe Balbi @ 2016-05-31 7:09 UTC (permalink / raw) To: Michal Nazarewicz; +Cc: linux-usb, linux-kernel [-- Attachment #1: Type: text/plain, Size: 619 bytes --] Hi, Michal Nazarewicz <mina86@mina86.com> writes: > Fixes all of the unused-but-set-variable warnings enabled when > building with W=1. As described in the first patch, some warnings are > left off. See said patch for more description. > > Michal Nazarewicz (4): > usb: gadget: fix unused-but-set-variale warnings > usb: gadget: m66592: fix unused-but-set-variable warnings > usb: gadget: r8a66597: fix unused-but-set-variable warnings > usb: gadget: mv_u3d: fix unused-but-set-variable warnings This series doesn't seem to apply to v4.7-rc1. Care to rebase on testing/fixes? -- balbi [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 818 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 0/4] usb: gadget: fix most of W=1 warinngs 2016-05-31 7:09 ` [PATCH 0/4] usb: gadget: fix most of W=1 warinngs Felipe Balbi @ 2016-05-31 12:17 ` Michal Nazarewicz 2016-05-31 12:17 ` [PATCHv2 1/4] usb: gadget: fix unused-but-set-variale warnings Michal Nazarewicz ` (3 more replies) 0 siblings, 4 replies; 12+ messages in thread From: Michal Nazarewicz @ 2016-05-31 12:17 UTC (permalink / raw) To: Felipe Balbi; +Cc: linux-usb, linux-kernel On Tue, May 31 2016, Felipe Balbi wrote: > This series doesn't seem to apply to v4.7-rc1. Care to rebase on > testing/fixes? Sure. Only the first patch needs fixing (by skipping failed hunks). Michal Nazarewicz (4): usb: gadget: fix unused-but-set-variale warnings usb: gadget: m66592: fix unused-but-set-variable warnings usb: gadget: r8a66597: fix unused-but-set-variable warnings usb: gadget: mv_u3d: fix unused-but-set-variable warnings drivers/usb/gadget/function/f_fs.c | 3 +-- drivers/usb/gadget/function/u_serial.c | 3 +-- drivers/usb/gadget/legacy/g_ffs.c | 15 +++++------ drivers/usb/gadget/udc/amd5536udc.c | 9 +------ drivers/usb/gadget/udc/bdc/bdc_cmd.c | 3 --- drivers/usb/gadget/udc/bdc/bdc_ep.c | 4 --- drivers/usb/gadget/udc/dummy_hcd.c | 5 ---- drivers/usb/gadget/udc/m66592-udc.c | 24 +++++------------- drivers/usb/gadget/udc/mv_u3d_core.c | 23 +++-------------- drivers/usb/gadget/udc/mv_udc_core.c | 9 ++----- drivers/usb/gadget/udc/net2272.c | 4 --- drivers/usb/gadget/udc/pch_udc.c | 46 +++++++++++++++------------------- drivers/usb/gadget/udc/pxa27x_udc.c | 3 --- drivers/usb/gadget/udc/r8a66597-udc.c | 24 +++++------------- drivers/usb/gadget/udc/udc-xilinx.c | 3 --- 15 files changed, 46 insertions(+), 132 deletions(-) -- Best regards ミハウ “𝓶𝓲𝓷𝓪86” ナザレヴイツ «If at first you don’t succeed, give up skydiving» ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCHv2 1/4] usb: gadget: fix unused-but-set-variale warnings 2016-05-31 12:17 ` Michal Nazarewicz @ 2016-05-31 12:17 ` Michal Nazarewicz 2016-06-04 23:24 ` kbuild test robot 2016-05-31 12:17 ` [PATCHv2 2/4] usb: gadget: m66592: fix unused-but-set-variable warnings Michal Nazarewicz ` (2 subsequent siblings) 3 siblings, 1 reply; 12+ messages in thread From: Michal Nazarewicz @ 2016-05-31 12:17 UTC (permalink / raw) To: Felipe Balbi; +Cc: linux-usb, linux-kernel, Michal Nazarewicz Those are enabled with W=1 make option. The patch leaves of some type-limits warnings which are caused by generic macros used in a way where they produce always-false conditions. Signed-off-by: Michal Nazarewicz <mina86@mina86.com> --- drivers/usb/gadget/function/f_fs.c | 3 +-- drivers/usb/gadget/function/u_serial.c | 3 +-- drivers/usb/gadget/legacy/g_ffs.c | 15 +++++------ drivers/usb/gadget/udc/amd5536udc.c | 9 +------ drivers/usb/gadget/udc/bdc/bdc_cmd.c | 3 --- drivers/usb/gadget/udc/bdc/bdc_ep.c | 4 --- drivers/usb/gadget/udc/dummy_hcd.c | 5 ---- drivers/usb/gadget/udc/mv_udc_core.c | 9 ++----- drivers/usb/gadget/udc/net2272.c | 4 --- drivers/usb/gadget/udc/pch_udc.c | 46 +++++++++++++++------------------- drivers/usb/gadget/udc/pxa27x_udc.c | 3 --- drivers/usb/gadget/udc/udc-xilinx.c | 3 --- 12 files changed, 31 insertions(+), 76 deletions(-) diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c index 73515d5..5062d1d 100644 --- a/drivers/usb/gadget/function/f_fs.c +++ b/drivers/usb/gadget/function/f_fs.c @@ -2227,8 +2227,8 @@ static int __ffs_data_got_strings(struct ffs_data *ffs, { u32 str_count, needed_count, lang_count; struct usb_gadget_strings **stringtabs, *t; - struct usb_string *strings, *s; const char *data = _data; + struct usb_string *s; ENTER(); @@ -2286,7 +2286,6 @@ static int __ffs_data_got_strings(struct ffs_data *ffs, stringtabs = vla_ptr(vlabuf, d, stringtabs); t = vla_ptr(vlabuf, d, stringtab); s = vla_ptr(vlabuf, d, strings); - strings = s; } /* For each language */ diff --git a/drivers/usb/gadget/function/u_serial.c b/drivers/usb/gadget/function/u_serial.c index 3580f19..6ded634 100644 --- a/drivers/usb/gadget/function/u_serial.c +++ b/drivers/usb/gadget/function/u_serial.c @@ -907,7 +907,6 @@ static int gs_write(struct tty_struct *tty, const unsigned char *buf, int count) { struct gs_port *port = tty->driver_data; unsigned long flags; - int status; pr_vdebug("gs_write: ttyGS%d (%p) writing %d bytes\n", port->port_num, tty, count); @@ -917,7 +916,7 @@ static int gs_write(struct tty_struct *tty, const unsigned char *buf, int count) count = gs_buf_put(&port->port_write_buf, buf, count); /* treat count == 0 as flush_chars() */ if (port->port_usb) - status = gs_start_tx(port); + gs_start_tx(port); spin_unlock_irqrestore(&port->port_lock, flags); return count; diff --git a/drivers/usb/gadget/legacy/g_ffs.c b/drivers/usb/gadget/legacy/g_ffs.c index f85639e..6da7316 100644 --- a/drivers/usb/gadget/legacy/g_ffs.c +++ b/drivers/usb/gadget/legacy/g_ffs.c @@ -265,7 +265,7 @@ static void *functionfs_acquire_dev(struct ffs_dev *dev) { if (!try_module_get(THIS_MODULE)) return ERR_PTR(-ENOENT); - + return NULL; } @@ -275,7 +275,7 @@ static void functionfs_release_dev(struct ffs_dev *dev) } /* - * The caller of this function takes ffs_lock + * The caller of this function takes ffs_lock */ static int functionfs_ready_callback(struct ffs_data *ffs) { @@ -294,12 +294,12 @@ static int functionfs_ready_callback(struct ffs_data *ffs) ++missing_funcs; gfs_registered = false; } - + return ret; } /* - * The caller of this function takes ffs_lock + * The caller of this function takes ffs_lock */ static void functionfs_closed_callback(struct ffs_data *ffs) { @@ -347,17 +347,14 @@ static int gfs_bind(struct usb_composite_dev *cdev) #ifdef CONFIG_USB_FUNCTIONFS_RNDIS { - struct f_rndis_opts *rndis_opts; - fi_rndis = usb_get_function_instance("rndis"); if (IS_ERR(fi_rndis)) { ret = PTR_ERR(fi_rndis); goto error; } - rndis_opts = container_of(fi_rndis, struct f_rndis_opts, - func_inst); #ifndef CONFIG_USB_FUNCTIONFS_ETH - net = rndis_opts->net; + net = container_of(fi_rndis, struct f_rndis_opts, + func_inst)->net; #endif } #endif diff --git a/drivers/usb/gadget/udc/amd5536udc.c b/drivers/usb/gadget/udc/amd5536udc.c index 39d70b4..ea03ca7 100644 --- a/drivers/usb/gadget/udc/amd5536udc.c +++ b/drivers/usb/gadget/udc/amd5536udc.c @@ -2340,7 +2340,6 @@ static irqreturn_t udc_data_in_isr(struct udc *dev, int ep_ix) struct udc_ep *ep; struct udc_request *req; struct udc_data_dma *td; - unsigned dma_done; unsigned len; ep = &dev->ep[ep_ix]; @@ -2385,13 +2384,8 @@ static irqreturn_t udc_data_in_isr(struct udc *dev, int ep_ix) */ if (use_dma_ppb_du) { td = udc_get_last_dma_desc(req); - if (td) { - dma_done = - AMD_GETBITS(td->status, - UDC_DMA_IN_STS_BS); - /* don't care DMA done */ + if (td) req->req.actual = req->req.length; - } } else { /* assume all bytes transferred */ req->req.actual = req->req.length; @@ -3417,4 +3411,3 @@ module_pci_driver(udc_pci_driver); MODULE_DESCRIPTION(UDC_MOD_DESCRIPTION); MODULE_AUTHOR("Thomas Dahlmann"); MODULE_LICENSE("GPL"); - diff --git a/drivers/usb/gadget/udc/bdc/bdc_cmd.c b/drivers/usb/gadget/udc/bdc/bdc_cmd.c index 6a4155c..4d5e918 100644 --- a/drivers/usb/gadget/udc/bdc/bdc_cmd.c +++ b/drivers/usb/gadget/udc/bdc/bdc_cmd.c @@ -57,7 +57,6 @@ static int bdc_submit_cmd(struct bdc *bdc, u32 cmd_sc, u32 param0, u32 param1, u32 param2) { u32 temp, cmd_status; - int reset_bdc = 0; int ret; temp = bdc_readl(bdc->regs, BDC_CMDSC); @@ -94,7 +93,6 @@ static int bdc_submit_cmd(struct bdc *bdc, u32 cmd_sc, case BDC_CMDS_INTL: dev_err(bdc->dev, "BDC Internal error\n"); - reset_bdc = 1; ret = -ECONNRESET; break; @@ -102,7 +100,6 @@ static int bdc_submit_cmd(struct bdc *bdc, u32 cmd_sc, dev_err(bdc->dev, "command timedout waited for %dusec\n", BDC_CMD_TIMEOUT); - reset_bdc = 1; ret = -ECONNRESET; break; default: diff --git a/drivers/usb/gadget/udc/bdc/bdc_ep.c b/drivers/usb/gadget/udc/bdc/bdc_ep.c index d619950..650717e 100644 --- a/drivers/usb/gadget/udc/bdc/bdc_ep.c +++ b/drivers/usb/gadget/udc/bdc/bdc_ep.c @@ -702,11 +702,9 @@ static int ep0_queue(struct bdc_ep *ep, struct bdc_req *req) /* Queue data stage */ static int ep0_queue_data_stage(struct bdc *bdc) { - struct usb_request *ep0_usb_req; struct bdc_ep *ep; dev_dbg(bdc->dev, "%s\n", __func__); - ep0_usb_req = &bdc->ep0_req.usb_req; ep = bdc->bdc_ep_array[1]; bdc->ep0_req.ep = ep; bdc->ep0_req.usb_req.complete = NULL; @@ -1393,10 +1391,8 @@ static int ep0_set_sel(struct bdc *bdc, { struct bdc_ep *ep; u16 wLength; - u16 wValue; dev_dbg(bdc->dev, "%s\n", __func__); - wValue = le16_to_cpu(setup_pkt->wValue); wLength = le16_to_cpu(setup_pkt->wLength); if (unlikely(wLength != 6)) { dev_err(bdc->dev, "%s Wrong wLength:%d\n", __func__, wLength); diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/dummy_hcd.c index dde4445..77d0790 100644 --- a/drivers/usb/gadget/udc/dummy_hcd.c +++ b/drivers/usb/gadget/udc/dummy_hcd.c @@ -647,12 +647,10 @@ static int dummy_disable(struct usb_ep *_ep) static struct usb_request *dummy_alloc_request(struct usb_ep *_ep, gfp_t mem_flags) { - struct dummy_ep *ep; struct dummy_request *req; if (!_ep) return NULL; - ep = usb_ep_to_dummy_ep(_ep); req = kzalloc(sizeof(*req), mem_flags); if (!req) @@ -2444,9 +2442,6 @@ static int dummy_start(struct usb_hcd *hcd) static void dummy_stop(struct usb_hcd *hcd) { - struct dummy *dum; - - dum = hcd_to_dummy_hcd(hcd)->dum; device_remove_file(dummy_dev(hcd_to_dummy_hcd(hcd)), &dev_attr_urbs); dev_info(dummy_dev(hcd_to_dummy_hcd(hcd)), "stopped\n"); } diff --git a/drivers/usb/gadget/udc/mv_udc_core.c b/drivers/usb/gadget/udc/mv_udc_core.c index 81b6229..ce73b35 100644 --- a/drivers/usb/gadget/udc/mv_udc_core.c +++ b/drivers/usb/gadget/udc/mv_udc_core.c @@ -129,7 +129,7 @@ static int process_ep_req(struct mv_udc *udc, int index, { struct mv_dtd *curr_dtd; struct mv_dqh *curr_dqh; - int td_complete, actual, remaining_length; + int actual, remaining_length; int i, direction; int retval = 0; u32 errors; @@ -139,7 +139,6 @@ static int process_ep_req(struct mv_udc *udc, int index, direction = index % 2; curr_dtd = curr_req->head; - td_complete = 0; actual = curr_req->req.length; for (i = 0; i < curr_req->dtd_count; i++) { @@ -412,11 +411,8 @@ static int req_to_dtd(struct mv_req *req) unsigned count; int is_last, is_first = 1; struct mv_dtd *dtd, *last_dtd = NULL; - struct mv_udc *udc; dma_addr_t dma; - udc = req->ep->udc; - do { dtd = build_dtd(req, &count, &dma, &is_last); if (dtd == NULL) @@ -567,7 +563,7 @@ static int mv_ep_disable(struct usb_ep *_ep) struct mv_udc *udc; struct mv_ep *ep; struct mv_dqh *dqh; - u32 bit_pos, epctrlx, direction; + u32 epctrlx, direction; unsigned long flags; ep = container_of(_ep, struct mv_ep, ep); @@ -582,7 +578,6 @@ static int mv_ep_disable(struct usb_ep *_ep) spin_lock_irqsave(&udc->lock, flags); direction = ep_dir(ep); - bit_pos = 1 << ((direction == EP_DIR_OUT ? 0 : 16) + ep->ep_num); /* Reset the max packet length and the interrupt on Setup */ dqh->max_packet_length = 0; diff --git a/drivers/usb/gadget/udc/net2272.c b/drivers/usb/gadget/udc/net2272.c index 18f5ebd..7c61134 100644 --- a/drivers/usb/gadget/udc/net2272.c +++ b/drivers/usb/gadget/udc/net2272.c @@ -329,12 +329,10 @@ static int net2272_disable(struct usb_ep *_ep) static struct usb_request * net2272_alloc_request(struct usb_ep *_ep, gfp_t gfp_flags) { - struct net2272_ep *ep; struct net2272_request *req; if (!_ep) return NULL; - ep = container_of(_ep, struct net2272_ep, ep); req = kzalloc(sizeof(*req), gfp_flags); if (!req) @@ -348,10 +346,8 @@ net2272_alloc_request(struct usb_ep *_ep, gfp_t gfp_flags) static void net2272_free_request(struct usb_ep *_ep, struct usb_request *_req) { - struct net2272_ep *ep; struct net2272_request *req; - ep = container_of(_ep, struct net2272_ep, ep); if (!_ep || !_req) return; diff --git a/drivers/usb/gadget/udc/pch_udc.c b/drivers/usb/gadget/udc/pch_udc.c index ebc51ec..48792fd 100644 --- a/drivers/usb/gadget/udc/pch_udc.c +++ b/drivers/usb/gadget/udc/pch_udc.c @@ -1730,14 +1730,14 @@ static int pch_udc_pcd_ep_disable(struct usb_ep *usbep) if ((usbep->name == ep0_string) || !ep->ep.desc) return -EINVAL; - spin_lock_irqsave(&ep->dev->lock, iflags); + spin_lock_irqsave(&dev->lock, iflags); empty_req_queue(ep); ep->halted = 1; pch_udc_ep_disable(ep); - pch_udc_disable_ep_interrupts(ep->dev, PCH_UDC_EPINT(ep->in, ep->num)); + pch_udc_disable_ep_interrupts(dev, PCH_UDC_EPINT(ep->in, ep->num)); ep->ep.desc = NULL; INIT_LIST_HEAD(&ep->queue); - spin_unlock_irqrestore(&ep->dev->lock, iflags); + spin_unlock_irqrestore(&dev->lock, iflags); return 0; } @@ -1767,10 +1767,10 @@ static struct usb_request *pch_udc_alloc_request(struct usb_ep *usbep, req->req.dma = DMA_ADDR_INVALID; req->dma = DMA_ADDR_INVALID; INIT_LIST_HEAD(&req->queue); - if (!ep->dev->dma_addr) + if (!dev->dma_addr) return &req->req; /* ep0 in requests are allocated from data pool here */ - dma_desc = pci_pool_alloc(ep->dev->data_requests, gfp, + dma_desc = pci_pool_alloc(dev->data_requests, gfp, &req->td_data_phys); if (NULL == dma_desc) { kfree(req); @@ -1940,7 +1940,7 @@ static int pch_udc_pcd_dequeue(struct usb_ep *usbep, if (!usbep || !usbreq || (!ep->ep.desc && ep->num)) return ret; req = container_of(usbreq, struct pch_udc_request, req); - spin_lock_irqsave(&ep->dev->lock, flags); + spin_lock_irqsave(&dev->lock, flags); /* make sure it's still queued on this endpoint */ list_for_each_entry(req, &ep->queue, queue) { if (&req->req == usbreq) { @@ -1951,7 +1951,7 @@ static int pch_udc_pcd_dequeue(struct usb_ep *usbep, break; } } - spin_unlock_irqrestore(&ep->dev->lock, flags); + spin_unlock_irqrestore(&dev->lock, flags); return ret; } @@ -1976,17 +1976,16 @@ static int pch_udc_pcd_set_halt(struct usb_ep *usbep, int halt) ep = container_of(usbep, struct pch_udc_ep, ep); if (!ep->ep.desc && !ep->num) return -EINVAL; - if (!ep->dev->driver || (ep->dev->gadget.speed == USB_SPEED_UNKNOWN)) + if (!dev->driver || (dev->gadget.speed == USB_SPEED_UNKNOWN)) return -ESHUTDOWN; spin_lock_irqsave(&udc_stall_spinlock, iflags); if (list_empty(&ep->queue)) { if (halt) { if (ep->num == PCH_UDC_EP0) - ep->dev->stall = 1; + dev->stall = 1; pch_udc_ep_set_stall(ep); - pch_udc_enable_ep_interrupts(ep->dev, - PCH_UDC_EPINT(ep->in, - ep->num)); + pch_udc_enable_ep_interrupts( + dev, PCH_UDC_EPINT(ep->in, ep->num)); } else { pch_udc_ep_clear_stall(ep); } @@ -2019,18 +2018,18 @@ static int pch_udc_pcd_set_wedge(struct usb_ep *usbep) ep = container_of(usbep, struct pch_udc_ep, ep); if (!ep->ep.desc && !ep->num) return -EINVAL; - if (!ep->dev->driver || (ep->dev->gadget.speed == USB_SPEED_UNKNOWN)) + if (!dev->driver || (dev->gadget.speed == USB_SPEED_UNKNOWN)) return -ESHUTDOWN; spin_lock_irqsave(&udc_stall_spinlock, iflags); if (!list_empty(&ep->queue)) { ret = -EAGAIN; } else { if (ep->num == PCH_UDC_EP0) - ep->dev->stall = 1; + dev->stall = 1; pch_udc_ep_set_stall(ep); - pch_udc_enable_ep_interrupts(ep->dev, + pch_udc_enable_ep_interrupts(dev, PCH_UDC_EPINT(ep->in, ep->num)); - ep->dev->prot_stall = 1; + dev->prot_stall = 1; ret = 0; } spin_unlock_irqrestore(&udc_stall_spinlock, iflags); @@ -2451,16 +2450,11 @@ static void pch_udc_svc_control_out(struct pch_udc_dev *dev) */ static void pch_udc_postsvc_epinters(struct pch_udc_dev *dev, int ep_num) { - struct pch_udc_ep *ep; - struct pch_udc_request *req; - - ep = &dev->ep[UDC_EPIN_IDX(ep_num)]; - if (!list_empty(&ep->queue)) { - req = list_entry(ep->queue.next, struct pch_udc_request, queue); - pch_udc_enable_ep_interrupts(ep->dev, - PCH_UDC_EPINT(ep->in, ep->num)); - pch_udc_ep_clear_nak(ep); - } + struct pch_udc_ep *ep = &dev->ep[UDC_EPIN_IDX(ep_num)]; + if (list_empty(&ep->queue)) + return; + pch_udc_enable_ep_interrupts(ep->dev, PCH_UDC_EPINT(ep->in, ep->num)); + pch_udc_ep_clear_nak(ep); } /** diff --git a/drivers/usb/gadget/udc/pxa27x_udc.c b/drivers/usb/gadget/udc/pxa27x_udc.c index 001a3b7..72aca2f 100644 --- a/drivers/usb/gadget/udc/pxa27x_udc.c +++ b/drivers/usb/gadget/udc/pxa27x_udc.c @@ -1829,9 +1829,6 @@ static void stop_activity(struct pxa_udc *udc, struct usb_gadget_driver *driver) { int i; - /* don't disconnect drivers more than once */ - if (udc->gadget.speed == USB_SPEED_UNKNOWN) - driver = NULL; udc->gadget.speed = USB_SPEED_UNKNOWN; for (i = 0; i < NR_USB_ENDPOINTS; i++) diff --git a/drivers/usb/gadget/udc/udc-xilinx.c b/drivers/usb/gadget/udc/udc-xilinx.c index 1cbb0ac..f8bf290 100644 --- a/drivers/usb/gadget/udc/udc-xilinx.c +++ b/drivers/usb/gadget/udc/udc-xilinx.c @@ -2055,7 +2055,6 @@ static int xudc_probe(struct platform_device *pdev) struct device_node *np = pdev->dev.of_node; struct resource *res; struct xusb_udc *udc; - struct xusb_ep *ep0; int irq; int ret; u32 ier; @@ -2119,8 +2118,6 @@ static int xudc_probe(struct platform_device *pdev) xudc_eps_init(udc); - ep0 = &udc->ep[0]; - /* Set device address to 0.*/ udc->write_fn(udc->addr, XUSB_ADDRESS_OFFSET, 0); -- 2.8.0.rc3.226.g39d4020 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCHv2 1/4] usb: gadget: fix unused-but-set-variale warnings 2016-05-31 12:17 ` [PATCHv2 1/4] usb: gadget: fix unused-but-set-variale warnings Michal Nazarewicz @ 2016-06-04 23:24 ` kbuild test robot 0 siblings, 0 replies; 12+ messages in thread From: kbuild test robot @ 2016-06-04 23:24 UTC (permalink / raw) To: Michal Nazarewicz Cc: kbuild-all, Felipe Balbi, linux-usb, linux-kernel, Michal Nazarewicz [-- Attachment #1: Type: text/plain, Size: 4107 bytes --] Hi, [auto build test ERROR on balbi-usb/next] [also build test ERROR on v4.7-rc1 next-20160603] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Michal-Nazarewicz/usb-gadget-fix-unused-but-set-variale-warnings/20160531-202120 base: https://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git next config: x86_64-randconfig-h0-06050347 (attached as .config) compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): In file included from include/linux/seqlock.h:35:0, from include/linux/time.h:5, from include/linux/stat.h:18, from include/linux/module.h:10, from drivers/usb/gadget/udc/pch_udc.c:10: drivers/usb/gadget/udc/pch_udc.c: In function 'pch_udc_pcd_ep_disable': >> drivers/usb/gadget/udc/pch_udc.c:1733:21: error: 'dev' undeclared (first use in this function) spin_lock_irqsave(&dev->lock, iflags); ^ include/linux/spinlock.h:208:34: note: in definition of macro 'raw_spin_lock_irqsave' flags = _raw_spin_lock_irqsave(lock); \ ^~~~ drivers/usb/gadget/udc/pch_udc.c:1733:2: note: in expansion of macro 'spin_lock_irqsave' spin_lock_irqsave(&dev->lock, iflags); ^~~~~~~~~~~~~~~~~ drivers/usb/gadget/udc/pch_udc.c:1733:21: note: each undeclared identifier is reported only once for each function it appears in spin_lock_irqsave(&dev->lock, iflags); ^ include/linux/spinlock.h:208:34: note: in definition of macro 'raw_spin_lock_irqsave' flags = _raw_spin_lock_irqsave(lock); \ ^~~~ drivers/usb/gadget/udc/pch_udc.c:1733:2: note: in expansion of macro 'spin_lock_irqsave' spin_lock_irqsave(&dev->lock, iflags); ^~~~~~~~~~~~~~~~~ drivers/usb/gadget/udc/pch_udc.c: In function 'pch_udc_alloc_request': drivers/usb/gadget/udc/pch_udc.c:1770:7: error: 'dev' undeclared (first use in this function) if (!dev->dma_addr) ^~~ In file included from include/linux/seqlock.h:35:0, from include/linux/time.h:5, from include/linux/stat.h:18, from include/linux/module.h:10, from drivers/usb/gadget/udc/pch_udc.c:10: drivers/usb/gadget/udc/pch_udc.c: In function 'pch_udc_pcd_dequeue': drivers/usb/gadget/udc/pch_udc.c:1943:21: error: 'dev' undeclared (first use in this function) spin_lock_irqsave(&dev->lock, flags); ^ include/linux/spinlock.h:208:34: note: in definition of macro 'raw_spin_lock_irqsave' flags = _raw_spin_lock_irqsave(lock); \ ^~~~ drivers/usb/gadget/udc/pch_udc.c:1943:2: note: in expansion of macro 'spin_lock_irqsave' spin_lock_irqsave(&dev->lock, flags); ^~~~~~~~~~~~~~~~~ drivers/usb/gadget/udc/pch_udc.c: In function 'pch_udc_pcd_set_halt': drivers/usb/gadget/udc/pch_udc.c:1979:7: error: 'dev' undeclared (first use in this function) if (!dev->driver || (dev->gadget.speed == USB_SPEED_UNKNOWN)) ^~~ drivers/usb/gadget/udc/pch_udc.c: In function 'pch_udc_pcd_set_wedge': drivers/usb/gadget/udc/pch_udc.c:2021:7: error: 'dev' undeclared (first use in this function) if (!dev->driver || (dev->gadget.speed == USB_SPEED_UNKNOWN)) ^~~ vim +/dev +1733 drivers/usb/gadget/udc/pch_udc.c 1727 return -EINVAL; 1728 1729 ep = container_of(usbep, struct pch_udc_ep, ep); 1730 if ((usbep->name == ep0_string) || !ep->ep.desc) 1731 return -EINVAL; 1732 > 1733 spin_lock_irqsave(&dev->lock, iflags); 1734 empty_req_queue(ep); 1735 ep->halted = 1; 1736 pch_udc_ep_disable(ep); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [-- Attachment #2: .config.gz --] [-- Type: application/octet-stream, Size: 26310 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCHv2 2/4] usb: gadget: m66592: fix unused-but-set-variable warnings 2016-05-31 12:17 ` Michal Nazarewicz 2016-05-31 12:17 ` [PATCHv2 1/4] usb: gadget: fix unused-but-set-variale warnings Michal Nazarewicz @ 2016-05-31 12:17 ` Michal Nazarewicz 2016-05-31 12:17 ` [PATCHv2 3/4] usb: gadget: r8a66597: " Michal Nazarewicz 2016-05-31 12:17 ` [PATCHv2 4/4] usb: gadget: mv_u3d: " Michal Nazarewicz 3 siblings, 0 replies; 12+ messages in thread From: Michal Nazarewicz @ 2016-05-31 12:17 UTC (permalink / raw) To: Felipe Balbi; +Cc: linux-usb, linux-kernel, Michal Nazarewicz This patch fixes the following (W=1) warnings: drivers/usb/gadget/udc/m66592-udc.c: In function ‘m66592_irq’: drivers/usb/gadget/udc/m66592-udc.c:1203:15: warning: variable ‘nrdyenb’ set but not used [-Wunused-but-set-variable] u16 brdyenb, nrdyenb, bempenb; ^ drivers/usb/gadget/udc/m66592-udc.c:1202:15: warning: variable ‘nrdysts’ set but not used [-Wunused-but-set-variable] u16 brdysts, nrdysts, bempsts; ^ In doing so, it removes calls to m66592_read function which does I/O with the device, but I hope the reads don’t have any side effects that are needed. Signed-off-by: Michal Nazarewicz <mina86@mina86.com> --- drivers/usb/gadget/udc/m66592-udc.c | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/drivers/usb/gadget/udc/m66592-udc.c b/drivers/usb/gadget/udc/m66592-udc.c index b1cfa96..6e977dc 100644 --- a/drivers/usb/gadget/udc/m66592-udc.c +++ b/drivers/usb/gadget/udc/m66592-udc.c @@ -1199,8 +1199,6 @@ static irqreturn_t m66592_irq(int irq, void *_m66592) struct m66592 *m66592 = _m66592; u16 intsts0; u16 intenb0; - u16 brdysts, nrdysts, bempsts; - u16 brdyenb, nrdyenb, bempenb; u16 savepipe; u16 mask0; @@ -1224,12 +1222,10 @@ static irqreturn_t m66592_irq(int irq, void *_m66592) mask0 = intsts0 & intenb0; if (mask0) { - brdysts = m66592_read(m66592, M66592_BRDYSTS); - nrdysts = m66592_read(m66592, M66592_NRDYSTS); - bempsts = m66592_read(m66592, M66592_BEMPSTS); - brdyenb = m66592_read(m66592, M66592_BRDYENB); - nrdyenb = m66592_read(m66592, M66592_NRDYENB); - bempenb = m66592_read(m66592, M66592_BEMPENB); + u16 brdysts = m66592_read(m66592, M66592_BRDYSTS); + u16 bempsts = m66592_read(m66592, M66592_BEMPSTS); + u16 brdyenb = m66592_read(m66592, M66592_BRDYENB); + u16 bempenb = m66592_read(m66592, M66592_BEMPENB); if (mask0 & M66592_VBINT) { m66592_write(m66592, 0xffff & ~M66592_VBINT, @@ -1408,28 +1404,20 @@ static int m66592_dequeue(struct usb_ep *_ep, struct usb_request *_req) static int m66592_set_halt(struct usb_ep *_ep, int value) { - struct m66592_ep *ep; - struct m66592_request *req; + struct m66592_ep *ep = container_of(_ep, struct m66592_ep, ep); unsigned long flags; int ret = 0; - ep = container_of(_ep, struct m66592_ep, ep); - req = list_entry(ep->queue.next, struct m66592_request, queue); - spin_lock_irqsave(&ep->m66592->lock, flags); if (!list_empty(&ep->queue)) { ret = -EAGAIN; - goto out; - } - if (value) { + } else if (value) { ep->busy = 1; pipe_stall(ep->m66592, ep->pipenum); } else { ep->busy = 0; pipe_stop(ep->m66592, ep->pipenum); } - -out: spin_unlock_irqrestore(&ep->m66592->lock, flags); return ret; } -- 2.8.0.rc3.226.g39d4020 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCHv2 3/4] usb: gadget: r8a66597: fix unused-but-set-variable warnings 2016-05-31 12:17 ` Michal Nazarewicz 2016-05-31 12:17 ` [PATCHv2 1/4] usb: gadget: fix unused-but-set-variale warnings Michal Nazarewicz 2016-05-31 12:17 ` [PATCHv2 2/4] usb: gadget: m66592: fix unused-but-set-variable warnings Michal Nazarewicz @ 2016-05-31 12:17 ` Michal Nazarewicz 2016-05-31 12:17 ` [PATCHv2 4/4] usb: gadget: mv_u3d: " Michal Nazarewicz 3 siblings, 0 replies; 12+ messages in thread From: Michal Nazarewicz @ 2016-05-31 12:17 UTC (permalink / raw) To: Felipe Balbi; +Cc: linux-usb, linux-kernel, Michal Nazarewicz This patch fixes the following (W=1) warnings: drivers/usb/gadget/udc/r8a66597-udc.c: In function ‘r8a66597_irq’: drivers/usb/gadget/udc/r8a66597-udc.c:1468:15: warning: variable ‘nrdyenb’ set but not used [-Wunused-but-set-variable] u16 brdyenb, nrdyenb, bempenb; ^ drivers/usb/gadget/udc/r8a66597-udc.c:1467:15: warning: variable ‘nrdysts’ set but not used [-Wunused-but-set-variable] u16 brdysts, nrdysts, bempsts; ^ In doing so, it removes calls to r8a66597_read function which does I/O with the device, but I hope the reads don’t have any side effects that are needed. Signed-off-by: Michal Nazarewicz <mina86@mina86.com> --- drivers/usb/gadget/udc/r8a66597-udc.c | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/drivers/usb/gadget/udc/r8a66597-udc.c b/drivers/usb/gadget/udc/r8a66597-udc.c index 8b300e6..f2c8862 100644 --- a/drivers/usb/gadget/udc/r8a66597-udc.c +++ b/drivers/usb/gadget/udc/r8a66597-udc.c @@ -1464,8 +1464,6 @@ static irqreturn_t r8a66597_irq(int irq, void *_r8a66597) struct r8a66597 *r8a66597 = _r8a66597; u16 intsts0; u16 intenb0; - u16 brdysts, nrdysts, bempsts; - u16 brdyenb, nrdyenb, bempenb; u16 savepipe; u16 mask0; @@ -1481,12 +1479,10 @@ static irqreturn_t r8a66597_irq(int irq, void *_r8a66597) mask0 = intsts0 & intenb0; if (mask0) { - brdysts = r8a66597_read(r8a66597, BRDYSTS); - nrdysts = r8a66597_read(r8a66597, NRDYSTS); - bempsts = r8a66597_read(r8a66597, BEMPSTS); - brdyenb = r8a66597_read(r8a66597, BRDYENB); - nrdyenb = r8a66597_read(r8a66597, NRDYENB); - bempenb = r8a66597_read(r8a66597, BEMPENB); + u16 brdysts = r8a66597_read(r8a66597, BRDYSTS); + u16 bempsts = r8a66597_read(r8a66597, BEMPSTS); + u16 brdyenb = r8a66597_read(r8a66597, BRDYENB); + u16 bempenb = r8a66597_read(r8a66597, BEMPENB); if (mask0 & VBINT) { r8a66597_write(r8a66597, 0xffff & ~VBINT, @@ -1658,20 +1654,14 @@ static int r8a66597_dequeue(struct usb_ep *_ep, struct usb_request *_req) static int r8a66597_set_halt(struct usb_ep *_ep, int value) { - struct r8a66597_ep *ep; - struct r8a66597_request *req; + struct r8a66597_ep *ep = container_of(_ep, struct r8a66597_ep, ep); unsigned long flags; int ret = 0; - ep = container_of(_ep, struct r8a66597_ep, ep); - req = get_request_from_ep(ep); - spin_lock_irqsave(&ep->r8a66597->lock, flags); if (!list_empty(&ep->queue)) { ret = -EAGAIN; - goto out; - } - if (value) { + } else if (value) { ep->busy = 1; pipe_stall(ep->r8a66597, ep->pipenum); } else { @@ -1679,8 +1669,6 @@ static int r8a66597_set_halt(struct usb_ep *_ep, int value) ep->wedge = 0; pipe_stop(ep->r8a66597, ep->pipenum); } - -out: spin_unlock_irqrestore(&ep->r8a66597->lock, flags); return ret; } -- 2.8.0.rc3.226.g39d4020 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCHv2 4/4] usb: gadget: mv_u3d: fix unused-but-set-variable warnings 2016-05-31 12:17 ` Michal Nazarewicz ` (2 preceding siblings ...) 2016-05-31 12:17 ` [PATCHv2 3/4] usb: gadget: r8a66597: " Michal Nazarewicz @ 2016-05-31 12:17 ` Michal Nazarewicz 3 siblings, 0 replies; 12+ messages in thread From: Michal Nazarewicz @ 2016-05-31 12:17 UTC (permalink / raw) To: Felipe Balbi; +Cc: linux-usb, linux-kernel, Michal Nazarewicz This patch fixes the following (W=1) warnings: drivers/usb/gadget/udc/mv_u3d_core.c: In function ‘mv_u3d_process_ep_req’: drivers/usb/gadget/udc/mv_u3d_core.c:124:6: warning: variable ‘trb_complete’ set but not used [-Wunused-but-set-variable] int trb_complete, actual, remaining_length = 0; ^ drivers/usb/gadget/udc/mv_u3d_core.c:123:28: warning: variable ‘curr_ep_context’ set but not used [-Wunused-but-set-variable] struct mv_u3d_ep_context *curr_ep_context; ^ drivers/usb/gadget/udc/mv_u3d_core.c:122:13: warning: variable ‘cur_deq_lo’ set but not used [-Wunused-but-set-variable] dma_addr_t cur_deq_lo; ^ drivers/usb/gadget/udc/mv_u3d_core.c: In function ‘mv_u3d_ep_enable’: drivers/usb/gadget/udc/mv_u3d_core.c:530:28: warning: variable ‘ep_context’ set but not used [-Wunused-but-set-variable] struct mv_u3d_ep_context *ep_context; ^ drivers/usb/gadget/udc/mv_u3d_core.c: In function ‘mv_u3d_ep_disable’: drivers/usb/gadget/udc/mv_u3d_core.c:636:28: warning: variable ‘ep_context’ set but not used [-Wunused-but-set-variable] struct mv_u3d_ep_context *ep_context; ^ In doing so, it removes calls to ioread32 function which does I/O with the device, but I hope the reads don’t have any side effects that are needed. Signed-off-by: Michal Nazarewicz <mina86@mina86.com> --- drivers/usb/gadget/udc/mv_u3d_core.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/drivers/usb/gadget/udc/mv_u3d_core.c b/drivers/usb/gadget/udc/mv_u3d_core.c index dafe74e..b9e19a5 100644 --- a/drivers/usb/gadget/udc/mv_u3d_core.c +++ b/drivers/usb/gadget/udc/mv_u3d_core.c @@ -119,18 +119,14 @@ static int mv_u3d_process_ep_req(struct mv_u3d *u3d, int index, struct mv_u3d_req *curr_req) { struct mv_u3d_trb *curr_trb; - dma_addr_t cur_deq_lo; - struct mv_u3d_ep_context *curr_ep_context; - int trb_complete, actual, remaining_length = 0; + int actual, remaining_length = 0; int direction, ep_num; int retval = 0; u32 tmp, status, length; - curr_ep_context = &u3d->ep_context[index]; direction = index % 2; ep_num = index / 2; - trb_complete = 0; actual = curr_req->req.length; while (!list_empty(&curr_req->trb_list)) { @@ -143,15 +139,10 @@ static int mv_u3d_process_ep_req(struct mv_u3d *u3d, int index, } curr_trb->trb_hw->ctrl.own = 0; - if (direction == MV_U3D_EP_DIR_OUT) { + if (direction == MV_U3D_EP_DIR_OUT) tmp = ioread32(&u3d->vuc_regs->rxst[ep_num].statuslo); - cur_deq_lo = - ioread32(&u3d->vuc_regs->rxst[ep_num].curdeqlo); - } else { + else tmp = ioread32(&u3d->vuc_regs->txst[ep_num].statuslo); - cur_deq_lo = - ioread32(&u3d->vuc_regs->txst[ep_num].curdeqlo); - } status = tmp >> MV_U3D_XFERSTATUS_COMPLETE_SHIFT; length = tmp & MV_U3D_XFERSTATUS_TRB_LENGTH_MASK; @@ -527,7 +518,6 @@ static int mv_u3d_ep_enable(struct usb_ep *_ep, { struct mv_u3d *u3d; struct mv_u3d_ep *ep; - struct mv_u3d_ep_context *ep_context; u16 max = 0; unsigned maxburst = 0; u32 epxcr, direction; @@ -548,9 +538,6 @@ static int mv_u3d_ep_enable(struct usb_ep *_ep, _ep->maxburst = 1; maxburst = _ep->maxburst; - /* Get the endpoint context address */ - ep_context = (struct mv_u3d_ep_context *)ep->ep_context; - /* Set the max burst size */ switch (desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) { case USB_ENDPOINT_XFER_BULK: @@ -633,7 +620,6 @@ static int mv_u3d_ep_disable(struct usb_ep *_ep) { struct mv_u3d *u3d; struct mv_u3d_ep *ep; - struct mv_u3d_ep_context *ep_context; u32 epxcr, direction; unsigned long flags; @@ -646,9 +632,6 @@ static int mv_u3d_ep_disable(struct usb_ep *_ep) u3d = ep->u3d; - /* Get the endpoint context address */ - ep_context = ep->ep_context; - direction = mv_u3d_ep_dir(ep); /* nuke all pending requests (does flush) */ -- 2.8.0.rc3.226.g39d4020 ^ permalink raw reply related [flat|nested] 12+ messages in thread
end of thread, other threads:[~2016-06-04 23:20 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-05-23 11:45 [PATCH 0/4] usb: gadget: fix most of W=1 warinngs Michal Nazarewicz 2016-05-23 11:45 ` [PATCH 1/4] usb: gadget: fix unused-but-set-variale warnings Michal Nazarewicz 2016-05-23 11:45 ` [PATCH 2/4] usb: gadget: m66592: fix unused-but-set-variable warnings Michal Nazarewicz 2016-05-23 11:45 ` [PATCH 3/4] usb: gadget: r8a66597: " Michal Nazarewicz 2016-05-23 11:45 ` [PATCH 4/4] usb: gadget: mv_u3d: " Michal Nazarewicz 2016-05-31 7:09 ` [PATCH 0/4] usb: gadget: fix most of W=1 warinngs Felipe Balbi 2016-05-31 12:17 ` Michal Nazarewicz 2016-05-31 12:17 ` [PATCHv2 1/4] usb: gadget: fix unused-but-set-variale warnings Michal Nazarewicz 2016-06-04 23:24 ` kbuild test robot 2016-05-31 12:17 ` [PATCHv2 2/4] usb: gadget: m66592: fix unused-but-set-variable warnings Michal Nazarewicz 2016-05-31 12:17 ` [PATCHv2 3/4] usb: gadget: r8a66597: " Michal Nazarewicz 2016-05-31 12:17 ` [PATCHv2 4/4] usb: gadget: mv_u3d: " Michal Nazarewicz
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox