linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / usb / gadget / goku_udc.c
index 7cf2999..b0f3cd6 100644 (file)
@@ -24,6 +24,7 @@
 // #define     VERBOSE         /* extra debug messages (success too) */
 // #define     USB_TRACE       /* packet-level success messages */
 
+#include <linux/config.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/pci.h>
@@ -274,10 +275,11 @@ goku_alloc_request(struct usb_ep *_ep, gfp_t gfp_flags)
 
        if (!_ep)
                return NULL;
-       req = kzalloc(sizeof *req, gfp_flags);
+       req = kmalloc(sizeof *req, gfp_flags);
        if (!req)
                return NULL;
 
+       memset(req, 0, sizeof *req);
        req->req.dma = DMA_ADDR_INVALID;
        INIT_LIST_HEAD(&req->queue);
        return &req->req;
@@ -1849,6 +1851,7 @@ static int goku_probe(struct pci_dev *pdev, const struct pci_device_id *id)
        unsigned long           resource, len;
        void __iomem            *base = NULL;
        int                     retval;
+       char                    buf [8], *bufp;
 
        /* if you want to support more than one controller in a system,
         * usb_gadget_driver_{register,unregister}() must change.
@@ -1911,14 +1914,20 @@ static int goku_probe(struct pci_dev *pdev, const struct pci_device_id *id)
        pci_set_drvdata(pdev, dev);
        INFO(dev, "%s\n", driver_desc);
        INFO(dev, "version: " DRIVER_VERSION " %s\n", dmastr());
-       INFO(dev, "irq %d, pci mem %p\n", pdev->irq, base);
+#ifndef __sparc__
+       scnprintf(buf, sizeof buf, "%d", pdev->irq);
+       bufp = buf;
+#else
+       bufp = __irq_itoa(pdev->irq);
+#endif
+       INFO(dev, "irq %s, pci mem %p\n", bufp, base);
 
        /* init to known state, then setup irqs */
        udc_reset(dev);
        udc_reinit (dev);
-       if (request_irq(pdev->irq, goku_irq, IRQF_SHARED/*|IRQF_SAMPLE_RANDOM*/,
+       if (request_irq(pdev->irq, goku_irq, SA_SHIRQ/*|SA_SAMPLE_RANDOM*/,
                        driver_name, dev) != 0) {
-               DBG(dev, "request interrupt %d failed\n", pdev->irq);
+               DBG(dev, "request interrupt %s failed\n", bufp);
                retval = -EBUSY;
                goto done;
        }