ChangeSet 1.1557.49.29, 2004/02/19 15:34:39-08:00, [EMAIL PROTECTED]

[PATCH] USB: Use driver-model logging in the UHCI driver

The main item in this patch is the conversion of the UHCI driver from
using the old usb.h logging macros to the new driver-model dev_xxx
macros.

There are a few other minor changes too: updated version number, author,
copyright, and maintainer information, removed some unneeded error
messages, added some line breaks, added a convenience macro for the device
pointer.


 drivers/usb/host/uhci-hcd.c |  117 +++++++++++++++++++++++---------------------
 drivers/usb/host/uhci-hcd.h |    2 
 drivers/usb/host/uhci-hub.c |    9 +--
 3 files changed, 67 insertions(+), 61 deletions(-)


diff -Nru a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c
--- a/drivers/usb/host/uhci-hcd.c       Thu Feb 19 17:20:42 2004
+++ b/drivers/usb/host/uhci-hcd.c       Thu Feb 19 17:20:42 2004
@@ -13,6 +13,7 @@
  * (C) Copyright 2000 Yggdrasil Computing, Inc. (port of new PCI interface
  *               support from usb-ohci.c by Adam Richter, [EMAIL PROTECTED]).
  * (C) Copyright 1999 Gregory P. Smith (from usb-ohci.c)
+ * (C) Copyright 2004 Alan Stern, [EMAIL PROTECTED]
  *
  * Intel documents this fairly well, and as far as I know there
  * are no royalties or anything like that, but even so there are
@@ -46,6 +47,7 @@
 #include <linux/interrupt.h>
 #include <linux/spinlock.h>
 #include <linux/proc_fs.h>
+#include <linux/pm.h>
 #include <linux/dmapool.h>
 #include <linux/dma-mapping.h>
 #include <linux/usb.h>
@@ -59,13 +61,13 @@
 #include "../core/hcd.h"
 #include "uhci-hcd.h"
 
-#include <linux/pm.h>
-
 /*
  * Version Information
  */
-#define DRIVER_VERSION "v2.1"
-#define DRIVER_AUTHOR "Linus 'Frodo Rabbit' Torvalds, Johannes Erdfelt, Randy Dunlap, 
Georg Acher, Deti Fliegl, Thomas Sailer, Roman Weissgaerber"
+#define DRIVER_VERSION "v2.2"
+#define DRIVER_AUTHOR "Linus 'Frodo Rabbit' Torvalds, Johannes Erdfelt, \
+Randy Dunlap, Georg Acher, Deti Fliegl, Thomas Sailer, Roman Weissgaerber, \
+Alan Stern"
 #define DRIVER_DESC "USB Universal Host Controller Interface driver"
 
 /*
@@ -285,11 +287,11 @@
 static void uhci_free_td(struct uhci_hcd *uhci, struct uhci_td *td)
 {
        if (!list_empty(&td->list))
-               dbg("td %p is still in list!", td);
+               dev_warn(uhci_dev(uhci), "td %p still in list!\n", td);
        if (!list_empty(&td->remove_list))
-               dbg("td %p still in remove_list!", td);
+               dev_warn(uhci_dev(uhci), "td %p still in remove_list!\n", td);
        if (!list_empty(&td->fl_list))
-               dbg("td %p is still in fl_list!", td);
+               dev_warn(uhci_dev(uhci), "td %p still in fl_list!\n", td);
 
        if (td->dev)
                usb_put_dev(td->dev);
@@ -325,9 +327,9 @@
 static void uhci_free_qh(struct uhci_hcd *uhci, struct uhci_qh *qh)
 {
        if (!list_empty(&qh->list))
-               dbg("qh %p list not empty!", qh);
+               dev_warn(uhci_dev(uhci), "qh %p list not empty!\n", qh);
        if (!list_empty(&qh->remove_list))
-               dbg("qh %p still in remove_list!", qh);
+               dev_warn(uhci_dev(uhci), "qh %p still in remove_list!\n", qh);
 
        if (qh->dev)
                usb_put_dev(qh->dev);
@@ -657,10 +659,8 @@
        struct urb_priv *urbp;
 
        urbp = kmem_cache_alloc(uhci_up_cachep, SLAB_ATOMIC);
-       if (!urbp) {
-               err("uhci_alloc_urb_priv: couldn't allocate memory for urb_priv\n");
+       if (!urbp)
                return NULL;
-       }
 
        memset((void *)urbp, 0, sizeof(*urbp));
 
@@ -718,7 +718,8 @@
                return;
 
        if (!list_empty(&urbp->urb_list))
-               warn("uhci_destroy_urb_priv: urb %p still on uhci->urb_list or 
uhci->remove_list", urb);
+               dev_warn(uhci_dev(uhci), "urb %p still on uhci->urb_list "
+                               "or uhci->remove_list!\n", urb);
 
        spin_lock_irqsave(&uhci->td_remove_list_lock, flags);
 
@@ -956,10 +957,8 @@
        }
 
        urbp->qh = uhci_alloc_qh(uhci, urb->dev);
-       if (!urbp->qh) {
-               err("unable to allocate new QH for control retrigger");
+       if (!urbp->qh)
                return -ENOMEM;
-       }
 
        urbp->qh->urbp = urbp;
 
@@ -1068,7 +1067,8 @@
 err:
        if ((debug == 1 && ret != -EPIPE) || debug > 1) {
                /* Some debugging code */
-               dbg("uhci_result_control() failed with status %x", status);
+               dev_dbg(uhci_dev(uhci), "%s: failed with status %x\n",
+                               __FUNCTION__, status);
 
                if (errbuf) {
                        /* Print the chain for debugging purposes */
@@ -1233,7 +1233,8 @@
 #if 0
        if ((debug == 1 && ret != -EPIPE) || debug > 1) {
                /* Some debugging code */
-               dbg("uhci_result_common() failed with status %x", status);
+               dev_dbg(uhci_dev(uhci), "%s: failed with status %x\n",
+                               __FUNCTION__, status);
 
                if (errbuf) {
                        /* Print the chain for debugging purposes */
@@ -1580,8 +1581,9 @@
                uhci_unlink_generic(uhci, urb);
                break;
        default:
-               info("uhci_transfer_result: unknown pipe type %d for urb %p\n",
-                       usb_pipetype(urb->pipe), urb);
+               dev_info(uhci_dev(uhci), "%s: unknown pipe type %d "
+                               "for urb %p\n",
+                               __FUNCTION__, usb_pipetype(urb->pipe), urb);
        }
 
        /* Move it from uhci->urb_list to uhci->complete_list */
@@ -1892,11 +1894,14 @@
 
        if (status & ~(USBSTS_USBINT | USBSTS_ERROR | USBSTS_RD)) {
                if (status & USBSTS_HSE)
-                       err("%x: host system error, PCI problems?", io_addr);
+                       dev_err(uhci_dev(uhci), "host system error, "
+                                       "PCI problems?\n");
                if (status & USBSTS_HCPE)
-                       err("%x: host controller process error. something bad 
happened", io_addr);
+                       dev_err(uhci_dev(uhci), "host controller process "
+                                       "error, something bad happened!\n");
                if ((status & USBSTS_HCH) && uhci->state > 0) {
-                       err("%x: host controller halted. very bad", io_addr);
+                       dev_err(uhci_dev(uhci), "host controller halted, "
+                                       "very bad!\n");
                        /* FIXME: Reset the controller, fix the offending TD */
                }
        }
@@ -1952,7 +1957,7 @@
 {
        unsigned int io_addr = uhci->io_addr;
 
-       dbg("%x: suspend_hc", io_addr);
+       dev_dbg(uhci_dev(uhci), "%s\n", __FUNCTION__);
        uhci->state = UHCI_SUSPENDED;
        uhci->resume_detect = 0;
        outw(USBCMD_EGSM, io_addr + USBCMD);
@@ -1964,7 +1969,7 @@
 
        switch (uhci->state) {
                case UHCI_SUSPENDED:            /* Start the resume */
-                       dbg("%x: wakeup_hc", io_addr);
+                       dev_dbg(uhci_dev(uhci), "%s\n", __FUNCTION__);
 
                        /* Global resume for >= 20ms */
                        outw(USBCMD_FGR | USBCMD_EGSM, io_addr + USBCMD);
@@ -2015,8 +2020,7 @@
        unsigned int io_addr = uhci->io_addr;
        int i;
 
-       if (!uhci->hcd.self.controller || 
-               to_pci_dev(uhci->hcd.self.controller)->vendor != PCI_VENDOR_ID_INTEL)
+       if (to_pci_dev(uhci_dev(uhci))->vendor != PCI_VENDOR_ID_INTEL)
                return 1;
 
        /* Some of Intel's USB controllers have a bug that causes false
@@ -2090,7 +2094,7 @@
        outw(USBCMD_HCRESET, io_addr + USBCMD);
        while (inw(io_addr + USBCMD) & USBCMD_HCRESET) {
                if (!--timeout) {
-                       printk(KERN_ERR "uhci: USBCMD_HCRESET timed out!\n");
+                       dev_err(uhci_dev(uhci), "USBCMD_HCRESET timed out!\n");
                        break;
                }
        }
@@ -2140,7 +2144,8 @@
        }
 
        if (uhci->fl) {
-               dma_free_coherent(uhci->hcd.self.controller, sizeof(*uhci->fl), 
uhci->fl, uhci->fl->dma_handle);
+               dma_free_coherent(uhci_dev(uhci), sizeof(*uhci->fl),
+                               uhci->fl, uhci->fl->dma_handle);
                uhci->fl = NULL;
        }
 
@@ -2165,7 +2170,8 @@
         * interrupts from any previous setup.
         */
        reset_hc(uhci);
-       pci_write_config_word(to_pci_dev(hcd->self.controller), USBLEGSUP, 
USBLEGSUP_DEFAULT);
+       pci_write_config_word(to_pci_dev(uhci_dev(uhci)), USBLEGSUP,
+                       USBLEGSUP_DEFAULT);
        return 0;
 }
 
@@ -2197,12 +2203,12 @@
        struct proc_dir_entry *ent;
 #endif
 
-       io_size = pci_resource_len(to_pci_dev(hcd->self.controller), hcd->region);
+       io_size = pci_resource_len(to_pci_dev(uhci_dev(uhci)), hcd->region);
 
 #ifdef CONFIG_PROC_FS
        ent = create_proc_entry(hcd->self.bus_name, S_IFREG|S_IRUGO|S_IWUSR, 
uhci_proc_root);
        if (!ent) {
-               err("couldn't create uhci proc entry");
+               dev_err(uhci_dev(uhci), "couldn't create uhci proc entry\n");
                retval = -ENOMEM;
                goto err_create_proc_entry;
        }
@@ -2233,10 +2239,11 @@
 
        spin_lock_init(&uhci->frame_list_lock);
 
-       uhci->fl = dma_alloc_coherent(hcd->self.controller, 
-                       sizeof(*uhci->fl), &dma_handle, 0);
+       uhci->fl = dma_alloc_coherent(uhci_dev(uhci), sizeof(*uhci->fl),
+                       &dma_handle, 0);
        if (!uhci->fl) {
-               err("unable to allocate consistent memory for frame list");
+               dev_err(uhci_dev(uhci), "unable to allocate "
+                               "consistent memory for frame list\n");
                goto err_alloc_fl;
        }
 
@@ -2244,17 +2251,17 @@
 
        uhci->fl->dma_handle = dma_handle;
 
-       uhci->td_pool = dma_pool_create("uhci_td", hcd->self.controller,
-               sizeof(struct uhci_td), 16, 0);
+       uhci->td_pool = dma_pool_create("uhci_td", uhci_dev(uhci),
+                       sizeof(struct uhci_td), 16, 0);
        if (!uhci->td_pool) {
-               err("unable to create td dma_pool");
+               dev_err(uhci_dev(uhci), "unable to create td dma_pool\n");
                goto err_create_td_pool;
        }
 
-       uhci->qh_pool = dma_pool_create("uhci_qh", hcd->self.controller,
-               sizeof(struct uhci_qh), 16, 0);
+       uhci->qh_pool = dma_pool_create("uhci_qh", uhci_dev(uhci),
+                       sizeof(struct uhci_qh), 16, 0);
        if (!uhci->qh_pool) {
-               err("unable to create qh dma_pool");
+               dev_err(uhci_dev(uhci), "unable to create qh dma_pool\n");
                goto err_create_qh_pool;
        }
 
@@ -2272,12 +2279,13 @@
                        break;
        }
        if (debug)
-               info("detected %d ports", port);
+               dev_info(uhci_dev(uhci), "detected %d ports\n", port);
 
        /* This is experimental so anything less than 2 or greater than 8 is */
        /*  something weird and we'll ignore it */
        if (port < 2 || port > UHCI_RH_MAXCHILD) {
-               info("port count misdetected? forcing to 2 ports");
+               dev_info(uhci_dev(uhci), "port count misdetected? "
+                               "forcing to 2 ports\n");
                port = 2;
        }
 
@@ -2285,20 +2293,20 @@
 
        hcd->self.root_hub = udev = usb_alloc_dev(NULL, &hcd->self, 0);
        if (!udev) {
-               err("unable to allocate root hub");
+               dev_err(uhci_dev(uhci), "unable to allocate root hub\n");
                goto err_alloc_root_hub;
        }
 
        uhci->term_td = uhci_alloc_td(uhci, udev);
        if (!uhci->term_td) {
-               err("unable to allocate terminating TD");
+               dev_err(uhci_dev(uhci), "unable to allocate terminating TD\n");
                goto err_alloc_term_td;
        }
 
        for (i = 0; i < UHCI_NUM_SKELQH; i++) {
                uhci->skelqh[i] = uhci_alloc_qh(uhci, udev);
                if (!uhci->skelqh[i]) {
-                       err("unable to allocate QH %d", i);
+                       dev_err(uhci_dev(uhci), "unable to allocate QH\n");
                        goto err_alloc_skelqh;
                }
        }
@@ -2365,8 +2373,8 @@
 
        udev->speed = USB_SPEED_FULL;
 
-       if (usb_register_root_hub(udev, hcd->self.controller) != 0) {
-               err("unable to start root hub");
+       if (usb_register_root_hub(udev, uhci_dev(uhci)) != 0) {
+               dev_err(uhci_dev(uhci), "unable to start root hub\n");
                retval = -ENOMEM;
                goto err_start_root_hub;
        }
@@ -2404,8 +2412,8 @@
        uhci->td_pool = NULL;
 
 err_create_td_pool:
-       dma_free_coherent(hcd->self.controller, 
-                       sizeof(*uhci->fl), uhci->fl, uhci->fl->dma_handle);
+       dma_free_coherent(uhci_dev(uhci), sizeof(*uhci->fl),
+                       uhci->fl, uhci->fl->dma_handle);
        uhci->fl = NULL;
 
 err_alloc_fl:
@@ -2461,7 +2469,7 @@
 {
        struct uhci_hcd *uhci = hcd_to_uhci(hcd);
 
-       pci_set_master(to_pci_dev(uhci->hcd.self.controller));
+       pci_set_master(to_pci_dev(uhci_dev(uhci)));
 
        if (uhci->state == UHCI_SUSPENDED)
                uhci->resume_detect = 1;
@@ -2553,7 +2561,7 @@
 {
        int retval = -ENOMEM;
 
-       info(DRIVER_DESC " " DRIVER_VERSION);
+       printk(KERN_INFO DRIVER_DESC " " DRIVER_VERSION "\n");
 
        if (usb_disabled())
                return -ENODEV;
@@ -2583,7 +2591,7 @@
 
 init_failed:
        if (kmem_cache_destroy(uhci_up_cachep))
-               printk(KERN_INFO "uhci: not all urb_priv's were freed\n");
+               printk(KERN_WARN "uhci: not all urb_priv's were freed!\n");
 
 up_failed:
 
@@ -2605,7 +2613,7 @@
        pci_unregister_driver(&uhci_pci_driver);
        
        if (kmem_cache_destroy(uhci_up_cachep))
-               printk(KERN_INFO "uhci: not all urb_priv's were freed\n");
+               printk(KERN_WARN "uhci: not all urb_priv's were freed!\n");
 
 #ifdef CONFIG_PROC_FS
        remove_proc_entry("driver/uhci", 0);
@@ -2621,4 +2629,3 @@
 MODULE_AUTHOR(DRIVER_AUTHOR);
 MODULE_DESCRIPTION(DRIVER_DESC);
 MODULE_LICENSE("GPL");
-
diff -Nru a/drivers/usb/host/uhci-hcd.h b/drivers/usb/host/uhci-hcd.h
--- a/drivers/usb/host/uhci-hcd.h       Thu Feb 19 17:20:42 2004
+++ b/drivers/usb/host/uhci-hcd.h       Thu Feb 19 17:20:42 2004
@@ -315,6 +315,7 @@
 };
 
 #define hcd_to_uhci(hcd_ptr) container_of(hcd_ptr, struct uhci_hcd, hcd)
+#define uhci_dev(u)    ((u)->hcd.self.controller)
 
 /*
  * This describes the full uhci information.
@@ -422,4 +423,3 @@
  */
 
 #endif
-
diff -Nru a/drivers/usb/host/uhci-hub.c b/drivers/usb/host/uhci-hub.c
--- a/drivers/usb/host/uhci-hub.c       Thu Feb 19 17:20:42 2004
+++ b/drivers/usb/host/uhci-hub.c       Thu Feb 19 17:20:42 2004
@@ -1,7 +1,7 @@
 /*
  * Universal Host Controller Interface driver for USB.
  *
- * Maintainer: Johannes Erdfelt <[EMAIL PROTECTED]>
+ * Maintainer: Alan Stern <[EMAIL PROTECTED]>
  *
  * (C) Copyright 1999 Linus Torvalds
  * (C) Copyright 1999-2002 Johannes Erdfelt, [EMAIL PROTECTED]
@@ -9,6 +9,7 @@
  * (C) Copyright 1999 Georg Acher, [EMAIL PROTECTED]
  * (C) Copyright 1999 Deti Fliegl, [EMAIL PROTECTED]
  * (C) Copyright 1999 Thomas Sailer, [EMAIL PROTECTED]
+ * (C) Copyright 2004 Alan Stern, [EMAIL PROTECTED]
  */
 
 static __u8 root_hub_hub_des[] =
@@ -122,9 +123,8 @@
                        wPortStatus |= 1 << USB_PORT_FEAT_LOWSPEED;
 
                if (wPortChange)
-                       dev_dbg (uhci->hcd.self.controller,
-                               "port %d portsc %04x\n",
-                               wIndex, status);
+                       dev_dbg(uhci_dev(uhci), "port %d portsc %04x\n",
+                                       wIndex, status);
 
                *(__u16 *)buf = cpu_to_le16(wPortStatus);
                *(__u16 *)(buf + 2) = cpu_to_le16(wPortChange);
@@ -209,4 +209,3 @@
 
        return retval;
 }
-



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id56&alloc_id438&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to