]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] uhci.c cleanup
authorJohannes Erdfelt <johannes@erdfelt.com>
Mon, 8 Apr 2002 02:04:48 +0000 (19:04 -0700)
committerGreg Kroah-Hartman <greg@kroah.com>
Mon, 8 Apr 2002 02:04:48 +0000 (19:04 -0700)
This patch merely cleans up the code a little and doesn't fix any bugs.
It makes a couple of code paths a bit easier to understand, removes an
unused variable (uhci_list) and some procfs variables when not using
procfs.

drivers/usb/host/uhci.c
drivers/usb/host/uhci.h

index 843d2ad60705b9aa1ec32dfe7934bba0338f0009..6cca718bc8ab4aaec7d4f8d5308537ece9ccd716 100644 (file)
@@ -1631,8 +1631,7 @@ static void uhci_transfer_result(struct uhci *uhci, struct urb *urb)
 
        if (urb->status != -EINPROGRESS) {
                info("uhci_transfer_result: called for URB %p not in flight?", urb);
-               spin_unlock_irqrestore(&urb->lock, flags);
-               return;
+               goto out;
        }
 
        switch (usb_pipetype(urb->pipe)) {
@@ -1652,10 +1651,8 @@ static void uhci_transfer_result(struct uhci *uhci, struct urb *urb)
 
        urbp->status = ret;
 
-       if (ret == -EINPROGRESS) {
-               spin_unlock_irqrestore(&urb->lock, flags);
-               return;
-       }
+       if (ret == -EINPROGRESS)
+               goto out;
 
        switch (usb_pipetype(urb->pipe)) {
        case PIPE_CONTROL:
@@ -1669,11 +1666,8 @@ static void uhci_transfer_result(struct uhci *uhci, struct urb *urb)
                break;
        case PIPE_INTERRUPT:
                /* Interrupts are an exception */
-               if (urb->interval) {
-                       uhci_add_complete(urb);
-                       spin_unlock_irqrestore(&urb->lock, flags);
-                       return;         /* <-- note return */
-               }
+               if (urb->interval)
+                       goto out_complete;
 
                /* Release bandwidth for Interrupt or Isoc. transfers */
                /* Spinlock needed ? */
@@ -1689,8 +1683,10 @@ static void uhci_transfer_result(struct uhci *uhci, struct urb *urb)
        /* Remove it from uhci->urb_list */
        list_del_init(&urb->urb_list);
 
+out_complete:
        uhci_add_complete(urb);
 
+out:
        spin_unlock_irqrestore(&urb->lock, flags);
 }
 
@@ -2724,6 +2720,7 @@ static int alloc_uhci(struct pci_dev *dev, unsigned int io_addr, unsigned int io
        }
 
        uhci->dev = dev;
+       uhci->irq = dev->irq;
        uhci->io_addr = io_addr;
        uhci->io_size = io_size;
        pci_set_drvdata(dev, uhci);
@@ -2932,8 +2929,6 @@ static int alloc_uhci(struct pci_dev *dev, unsigned int io_addr, unsigned int io
        if (request_irq(dev->irq, uhci_interrupt, SA_SHIRQ, "usb-uhci", uhci))
                goto err_request_irq;
 
-       uhci->irq = dev->irq;
-
        /* disable legacy emulation */
        pci_write_config_word(uhci->dev, USBLEGSUP, USBLEGSUP_DEFAULT);
 
index 2ef61f569015fb2f6bf5e40aa40995a73511ce48..c3e07398d659986764bec4adc6259c39ede2971e 100644 (file)
@@ -287,17 +287,17 @@ struct virt_root_hub {
 struct uhci {
        struct pci_dev *dev;
 
+#ifdef CONFIG_PROC_FS
        /* procfs */
        int num;
        struct proc_dir_entry *proc_entry;
+#endif
 
        /* Grabbed from PCI */
        int irq;
        unsigned int io_addr;
        unsigned int io_size;
 
-       struct list_head uhci_list;
-
        struct pci_pool *qh_pool;
        struct pci_pool *td_pool;