usb: gadget: fsl-udc: Replace custom log wrappers by dev_{err,warn,dbg,vdbg}
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 4 Mar 2024 16:54:02 +0000 (17:54 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 5 Mar 2024 13:29:03 +0000 (13:29 +0000)
The custom log wrappers ERR, WARNING, DBG and VDBG don't add anything
useful that cannot easily be done with dev_err() and friends. Replace
the custom stuff by the well known functions from printk.h.

Also drop some dead code in a #if 0 block.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20240304165404.807787-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/udc/fsl_udc_core.c
drivers/usb/gadget/udc/fsl_usb2_udc.h

index e8042c158f6dcd4d65858238ff36c8acd9a1c68d..840d024fb75bf092f385a1f5d21d1b115656d704 100644 (file)
@@ -13,7 +13,7 @@
  * code from Dave Liu and Shlomi Gridish.
  */
 
-#undef VERBOSE
+#define pr_fmt(x) "udc: " x
 
 #include <linux/module.h>
 #include <linux/kernel.h>
@@ -183,9 +183,9 @@ __acquires(ep->udc->lock)
        usb_gadget_unmap_request(&ep->udc->gadget, &req->req, ep_is_in(ep));
 
        if (status && (status != -ESHUTDOWN))
-               VDBG("complete %s req %p stat %d len %u/%u",
-                       ep->ep.name, &req->req, status,
-                       req->req.actual, req->req.length);
+               dev_vdbg(&udc->gadget.dev, "complete %s req %p stat %d len %u/%u\n",
+                        ep->ep.name, &req->req, status,
+                        req->req.actual, req->req.length);
 
        ep->stopped = 1;
 
@@ -285,7 +285,7 @@ static int dr_controller_setup(struct fsl_udc *udc)
        timeout = jiffies + FSL_UDC_RESET_TIMEOUT;
        while (fsl_readl(&dr_regs->usbcmd) & USB_CMD_CTRL_RESET) {
                if (time_after(jiffies, timeout)) {
-                       ERR("udc reset timeout!\n");
+                       dev_err(&udc->gadget.dev, "udc reset timeout!\n");
                        return -ETIMEDOUT;
                }
                cpu_relax();
@@ -308,9 +308,10 @@ static int dr_controller_setup(struct fsl_udc *udc)
        tmp &= USB_EP_LIST_ADDRESS_MASK;
        fsl_writel(tmp, &dr_regs->endpointlistaddr);
 
-       VDBG("vir[qh_base] is %p phy[qh_base] is 0x%8x reg is 0x%8x",
-               udc->ep_qh, (int)tmp,
-               fsl_readl(&dr_regs->endpointlistaddr));
+       dev_vdbg(&udc->gadget.dev,
+                "vir[qh_base] is %p phy[qh_base] is 0x%8x reg is 0x%8x\n",
+                udc->ep_qh, (int)tmp,
+                fsl_readl(&dr_regs->endpointlistaddr));
 
        max_no_of_ep = (0x0000001F & fsl_readl(&dr_regs->dccparams));
        for (ep_num = 1; ep_num < max_no_of_ep; ep_num++) {
@@ -498,7 +499,7 @@ static void struct_ep_qh_setup(struct fsl_udc *udc, unsigned char ep_num,
                tmp = max_pkt_len << EP_QUEUE_HEAD_MAX_PKT_LEN_POS;
                break;
        default:
-               VDBG("error ep type is %d", ep_type);
+               dev_vdbg(&udc->gadget.dev, "error ep type is %d\n", ep_type);
                return;
        }
        if (zlt)
@@ -611,10 +612,10 @@ static int fsl_ep_enable(struct usb_ep *_ep,
        spin_unlock_irqrestore(&udc->lock, flags);
        retval = 0;
 
-       VDBG("enabled %s (ep%d%s) maxpacket %d",ep->ep.name,
-                       ep->ep.desc->bEndpointAddress & 0x0f,
-                       (desc->bEndpointAddress & USB_DIR_IN)
-                               ? "in" : "out", max);
+       dev_vdbg(&udc->gadget.dev, "enabled %s (ep%d%s) maxpacket %d\n",
+                ep->ep.name, ep->ep.desc->bEndpointAddress & 0x0f,
+                (desc->bEndpointAddress & USB_DIR_IN) ? "in" : "out",
+                max);
 en_done:
        return retval;
 }
@@ -633,7 +634,10 @@ static int fsl_ep_disable(struct usb_ep *_ep)
 
        ep = container_of(_ep, struct fsl_ep, ep);
        if (!_ep || !ep->ep.desc) {
-               VDBG("%s not enabled", _ep ? ep->ep.name : NULL);
+               /*
+                * dev_vdbg(&udc->gadget.dev, "%s not enabled\n",
+                *       _ep ? ep->ep.name : NULL);
+                */
                return -EINVAL;
        }
 
@@ -659,7 +663,7 @@ static int fsl_ep_disable(struct usb_ep *_ep)
        ep->stopped = 1;
        spin_unlock_irqrestore(&udc->lock, flags);
 
-       VDBG("disabled %s OK", _ep->name);
+       dev_vdbg(&udc->gadget.dev, "disabled %s OK\n", _ep->name);
        return 0;
 }
 
@@ -719,8 +723,8 @@ static void fsl_queue_td(struct fsl_ep *ep, struct fsl_req *req)
 {
        u32 temp, bitmask, tmp_stat;
 
-       /* VDBG("QH addr Register 0x%8x", dr_regs->endpointlistaddr);
-       VDBG("ep_qh[%d] addr is 0x%8x", i, (u32)&(ep->udc->ep_qh[i])); */
+       /* dev_vdbg(&udc->gadget.dev, "QH addr Register 0x%8x\n", dr_regs->endpointlistaddr);
+       dev_vdbg(&udc->gadget.dev, "ep_qh[%d] addr is 0x%8x\n", i, (u32)&(ep->udc->ep_qh[i])); */
 
        bitmask = ep_is_in(ep)
                ? (1 << (ep_index(ep) + 16))
@@ -808,7 +812,7 @@ static struct ep_td_struct *fsl_build_dtd(struct fsl_req *req, unsigned *length,
                *is_last = 0;
 
        if ((*is_last) == 0)
-               VDBG("multi-dtd request!");
+               dev_vdbg(&udc_controller->gadget.dev, "multi-dtd request!\n");
        /* Fill in the transfer size; set active bit */
        swap_temp = ((*length << DTD_LENGTH_BIT_POS) | DTD_STATUS_ACTIVE);
 
@@ -820,7 +824,7 @@ static struct ep_td_struct *fsl_build_dtd(struct fsl_req *req, unsigned *length,
 
        mb();
 
-       VDBG("length = %d address= 0x%x", *length, (int)*dma);
+       dev_vdbg(&udc_controller->gadget.dev, "length = %d address= 0x%x\n", *length, (int)*dma);
 
        return dtd;
 }
@@ -871,11 +875,11 @@ fsl_ep_queue(struct usb_ep *_ep, struct usb_request *_req, gfp_t gfp_flags)
        /* catch various bogus parameters */
        if (!_req || !req->req.complete || !req->req.buf
                        || !list_empty(&req->queue)) {
-               VDBG("%s, bad params", __func__);
+               dev_vdbg(&udc->gadget.dev, "%s, bad params\n", __func__);
                return -EINVAL;
        }
        if (unlikely(!_ep || !ep->ep.desc)) {
-               VDBG("%s, bad ep", __func__);
+               dev_vdbg(&udc->gadget.dev, "%s, bad ep\n", __func__);
                return -EINVAL;
        }
        if (usb_endpoint_xfer_isoc(ep->ep.desc)) {
@@ -1036,8 +1040,8 @@ static int fsl_ep_set_halt(struct usb_ep *_ep, int value)
                udc->ep0_dir = 0;
        }
 out:
-       VDBG(" %s %s halt stat %d", ep->ep.name,
-                       value ?  "set" : "clear", status);
+       dev_vdbg(&udc->gadget.dev, "%s %s halt stat %d\n", ep->ep.name,
+                value ?  "set" : "clear", status);
 
        return status;
 }
@@ -1105,7 +1109,8 @@ static void fsl_ep_fifo_flush(struct usb_ep *_ep)
                /* Wait until flush complete */
                while (fsl_readl(&dr_regs->endptflush)) {
                        if (time_after(jiffies, timeout)) {
-                               ERR("ep flush timeout\n");
+                               dev_err(&udc_controller->gadget.dev,
+                                       "ep flush timeout\n");
                                return;
                        }
                        cpu_relax();
@@ -1177,7 +1182,7 @@ static int fsl_vbus_session(struct usb_gadget *gadget, int is_active)
 
        udc = container_of(gadget, struct fsl_udc, gadget);
        spin_lock_irqsave(&udc->lock, flags);
-       VDBG("VBUS %s", is_active ? "on" : "off");
+       dev_vdbg(&gadget->dev, "VBUS %s\n", is_active ? "on" : "off");
        udc->vbus_active = (is_active != 0);
        if (can_pullup(udc))
                fsl_writel((fsl_readl(&dr_regs->usbcmd) | USB_CMD_RUN_STOP),
@@ -1543,7 +1548,7 @@ static void ep0_req_complete(struct fsl_udc *udc, struct fsl_ep *ep0,
                udc->ep0_state = WAIT_FOR_SETUP;
                break;
        case WAIT_FOR_SETUP:
-               ERR("Unexpected ep0 packets\n");
+               dev_err(&udc->gadget.dev, "Unexpected ep0 packets\n");
                break;
        default:
                ep0stall(udc);
@@ -1612,7 +1617,7 @@ static int process_ep_req(struct fsl_udc *udc, int pipe,
                errors = hc32_to_cpu(curr_td->size_ioc_sts);
                if (errors & DTD_ERROR_MASK) {
                        if (errors & DTD_STATUS_HALTED) {
-                               ERR("dTD error %08x QH=%d\n", errors, pipe);
+                               dev_err(&udc->gadget.dev, "dTD error %08x QH=%d\n", errors, pipe);
                                /* Clear the errors and Halt condition */
                                tmp = hc32_to_cpu(curr_qh->size_ioc_int_sts);
                                tmp &= ~errors;
@@ -1623,32 +1628,35 @@ static int process_ep_req(struct fsl_udc *udc, int pipe,
                                break;
                        }
                        if (errors & DTD_STATUS_DATA_BUFF_ERR) {
-                               VDBG("Transfer overflow");
+                               dev_vdbg(&udc->gadget.dev, "Transfer overflow\n");
                                status = -EPROTO;
                                break;
                        } else if (errors & DTD_STATUS_TRANSACTION_ERR) {
-                               VDBG("ISO error");
+                               dev_vdbg(&udc->gadget.dev, "ISO error\n");
                                status = -EILSEQ;
                                break;
                        } else
-                               ERR("Unknown error has occurred (0x%x)!\n",
+                               dev_err(&udc->gadget.dev,
+                                       "Unknown error has occurred (0x%x)!\n",
                                        errors);
 
                } else if (hc32_to_cpu(curr_td->size_ioc_sts)
                                & DTD_STATUS_ACTIVE) {
-                       VDBG("Request not complete");
+                       dev_vdbg(&udc->gadget.dev, "Request not complete\n");
                        status = REQ_UNCOMPLETE;
                        return status;
                } else if (remaining_length) {
                        if (direction) {
-                               VDBG("Transmit dTD remaining length not zero");
+                               dev_vdbg(&udc->gadget.dev,
+                                        "Transmit dTD remaining length not zero\n");
                                status = -EPROTO;
                                break;
                        } else {
                                break;
                        }
                } else {
-                       VDBG("dTD transmitted successful");
+                       dev_vdbg(&udc->gadget.dev,
+                                "dTD transmitted successful\n");
                }
 
                if (j != curr_req->dtd_count - 1)
@@ -1691,7 +1699,7 @@ static void dtd_complete_irq(struct fsl_udc *udc)
 
                /* If the ep is configured */
                if (!curr_ep->ep.name) {
-                       WARNING("Invalid EP?");
+                       dev_warn(&udc->gadget.dev, "Invalid EP?\n");
                        continue;
                }
 
@@ -1700,8 +1708,9 @@ static void dtd_complete_irq(struct fsl_udc *udc)
                                queue) {
                        status = process_ep_req(udc, i, curr_req);
 
-                       VDBG("status of process_ep_req= %d, ep = %d",
-                                       status, ep_num);
+                       dev_vdbg(&udc->gadget.dev,
+                                "status of process_ep_req= %d, ep = %d\n",
+                                status, ep_num);
                        if (status == REQ_UNCOMPLETE)
                                break;
                        /* write back status to req */
@@ -1820,7 +1829,7 @@ static void reset_irq(struct fsl_udc *udc)
        while (fsl_readl(&dr_regs->endpointprime)) {
                /* Wait until all endptprime bits cleared */
                if (time_after(jiffies, timeout)) {
-                       ERR("Timeout for reset\n");
+                       dev_err(&udc->gadget.dev, "Timeout for reset\n");
                        break;
                }
                cpu_relax();
@@ -1830,7 +1839,7 @@ static void reset_irq(struct fsl_udc *udc)
        fsl_writel(0xffffffff, &dr_regs->endptflush);
 
        if (fsl_readl(&dr_regs->portsc1) & PORTSCX_PORT_RESET) {
-               VDBG("Bus reset");
+               dev_vdbg(&udc->gadget.dev, "Bus reset\n");
                /* Bus is reseting */
                udc->bus_reset = 1;
                /* Reset all the queues, include XD, dTD, EP queue
@@ -1838,7 +1847,7 @@ static void reset_irq(struct fsl_udc *udc)
                reset_queues(udc, true);
                udc->usb_state = USB_STATE_DEFAULT;
        } else {
-               VDBG("Controller reset");
+               dev_vdbg(&udc->gadget.dev, "Controller reset\n");
                /* initialize usb hw reg except for regs for EP, not
                 * touch usbintr reg */
                dr_controller_setup(udc);
@@ -1872,7 +1881,7 @@ static irqreturn_t fsl_udc_irq(int irq, void *_udc)
        /* Clear notification bits */
        fsl_writel(irq_src, &dr_regs->usbsts);
 
-       /* VDBG("irq_src [0x%8x]", irq_src); */
+       /* dev_vdbg(&udc->gadget.dev, "irq_src [0x%8x]", irq_src); */
 
        /* Need to resume? */
        if (udc->usb_state == USB_STATE_SUSPENDED)
@@ -1881,7 +1890,7 @@ static irqreturn_t fsl_udc_irq(int irq, void *_udc)
 
        /* USB Interrupt */
        if (irq_src & USB_STS_INT) {
-               VDBG("Packet int");
+               dev_vdbg(&udc->gadget.dev, "Packet int\n");
                /* Setup package, we only support ep0 as control ep */
                if (fsl_readl(&dr_regs->endptsetupstat) & EP_SETUP_STATUS_EP0) {
                        tripwire_handler(udc, 0,
@@ -1910,7 +1919,7 @@ static irqreturn_t fsl_udc_irq(int irq, void *_udc)
 
        /* Reset Received */
        if (irq_src & USB_STS_RESET) {
-               VDBG("reset int");
+               dev_vdbg(&udc->gadget.dev, "reset int\n");
                reset_irq(udc);
                status = IRQ_HANDLED;
        }
@@ -1922,7 +1931,7 @@ static irqreturn_t fsl_udc_irq(int irq, void *_udc)
        }
 
        if (irq_src & (USB_STS_ERR | USB_STS_SYS_ERR)) {
-               VDBG("Error IRQ %x", irq_src);
+               dev_vdbg(&udc->gadget.dev, "Error IRQ %x\n", irq_src);
        }
 
        spin_unlock_irqrestore(&udc->lock, flags);
@@ -1958,7 +1967,7 @@ static int fsl_udc_start(struct usb_gadget *g,
                                        udc_controller->transceiver->otg,
                                                    &udc_controller->gadget);
                        if (retval < 0) {
-                               ERR("can't bind to transceiver\n");
+                               dev_err(&udc_controller->gadget.dev, "can't bind to transceiver\n");
                                udc_controller->driver = NULL;
                                return retval;
                        }
@@ -2243,7 +2252,7 @@ static int struct_udc_setup(struct fsl_udc *udc,
 
        udc->eps = kcalloc(udc->max_ep, sizeof(struct fsl_ep), GFP_KERNEL);
        if (!udc->eps) {
-               ERR("kmalloc udc endpoint status failed\n");
+               dev_err(&udc->gadget.dev, "kmalloc udc endpoint status failed\n");
                goto eps_alloc_failed;
        }
 
@@ -2258,7 +2267,7 @@ static int struct_udc_setup(struct fsl_udc *udc,
        udc->ep_qh = dma_alloc_coherent(&pdev->dev, size,
                                        &udc->ep_qh_dma, GFP_KERNEL);
        if (!udc->ep_qh) {
-               ERR("malloc QHs for udc failed\n");
+               dev_err(&udc->gadget.dev, "malloc QHs for udc failed\n");
                goto ep_queue_alloc_failed;
        }
 
@@ -2269,14 +2278,14 @@ static int struct_udc_setup(struct fsl_udc *udc,
        udc->status_req = container_of(fsl_alloc_request(NULL, GFP_KERNEL),
                        struct fsl_req, req);
        if (!udc->status_req) {
-               ERR("kzalloc for udc status request failed\n");
+               dev_err(&udc->gadget.dev, "kzalloc for udc status request failed\n");
                goto udc_status_alloc_failed;
        }
 
        /* allocate a small amount of memory to get valid address */
        udc->status_req->req.buf = kmalloc(8, GFP_KERNEL);
        if (!udc->status_req->req.buf) {
-               ERR("kzalloc for udc request buffer failed\n");
+               dev_err(&udc->gadget.dev, "kzalloc for udc request buffer failed\n");
                goto udc_req_buf_alloc_failed;
        }
 
@@ -2373,7 +2382,7 @@ static int fsl_udc_probe(struct platform_device *pdev)
        if (pdata->operating_mode == FSL_USB2_DR_OTG) {
                udc_controller->transceiver = usb_get_phy(USB_PHY_TYPE_USB2);
                if (IS_ERR_OR_NULL(udc_controller->transceiver)) {
-                       ERR("Can't find OTG driver!\n");
+                       dev_err(&udc_controller->gadget.dev, "Can't find OTG driver!\n");
                        ret = -ENODEV;
                        goto err_kfree;
                }
@@ -2389,7 +2398,7 @@ static int fsl_udc_probe(struct platform_device *pdev)
        if (pdata->operating_mode == FSL_USB2_DR_DEVICE) {
                if (!request_mem_region(res->start, resource_size(res),
                                        driver_name)) {
-                       ERR("request mem region for %s failed\n", pdev->name);
+                       dev_err(&udc_controller->gadget.dev, "request mem region for %s failed\n", pdev->name);
                        ret = -EBUSY;
                        goto err_kfree;
                }
@@ -2420,7 +2429,7 @@ static int fsl_udc_probe(struct platform_device *pdev)
        /* Read Device Controller Capability Parameters register */
        dccparams = fsl_readl(&dr_regs->dccparams);
        if (!(dccparams & DCCPARAMS_DC)) {
-               ERR("This SOC doesn't support device role\n");
+               dev_err(&udc_controller->gadget.dev, "This SOC doesn't support device role\n");
                ret = -ENODEV;
                goto err_exit;
        }
@@ -2438,14 +2447,14 @@ static int fsl_udc_probe(struct platform_device *pdev)
        ret = request_irq(udc_controller->irq, fsl_udc_irq, IRQF_SHARED,
                        driver_name, udc_controller);
        if (ret != 0) {
-               ERR("cannot request irq %d err %d\n",
+               dev_err(&udc_controller->gadget.dev, "cannot request irq %d err %d\n",
                                udc_controller->irq, ret);
                goto err_exit;
        }
 
        /* Initialize the udc structure including QH member and other member */
        if (struct_udc_setup(udc_controller, pdev)) {
-               ERR("Can't initialize udc data structure\n");
+               dev_err(&udc_controller->gadget.dev, "Can't initialize udc data structure\n");
                ret = -ENOMEM;
                goto err_free_irq;
        }
index 2efc5a930b48e32d2dbc60c6424b0451991f077a..cc1756f3e89d1399df91d63fe7b58e0e6d8a27e6 100644 (file)
@@ -508,53 +508,6 @@ struct fsl_udc {
 
 /*-------------------------------------------------------------------------*/
 
-#ifdef DEBUG
-#define DBG(fmt, args...)      printk(KERN_DEBUG "[%s]  " fmt "\n", \
-                               __func__, ## args)
-#else
-#define DBG(fmt, args...)      do{}while(0)
-#endif
-
-#if 0
-static void dump_msg(const char *label, const u8 * buf, unsigned int length)
-{
-       unsigned int start, num, i;
-       char line[52], *p;
-
-       if (length >= 512)
-               return;
-       DBG("%s, length %u:\n", label, length);
-       start = 0;
-       while (length > 0) {
-               num = min(length, 16u);
-               p = line;
-               for (i = 0; i < num; ++i) {
-                       if (i == 8)
-                               *p++ = ' ';
-                       sprintf(p, " %02x", buf[i]);
-                       p += 3;
-               }
-               *p = 0;
-               printk(KERN_DEBUG "%6x: %s\n", start, line);
-               buf += num;
-               start += num;
-               length -= num;
-       }
-}
-#endif
-
-#ifdef VERBOSE
-#define VDBG           DBG
-#else
-#define VDBG(stuff...) do{}while(0)
-#endif
-
-#define ERR(stuff...)          pr_err("udc: " stuff)
-#define WARNING(stuff...)      pr_warn("udc: " stuff)
-#define INFO(stuff...)         pr_info("udc: " stuff)
-
-/*-------------------------------------------------------------------------*/
-
 /* ### Add board specific defines here
  */