The IRQF_SHARED flag needs to be set regardless of the bus type. Don't
require glue code to set it manually.

Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
---
 drivers/usb/host/isp1760-core.c |  4 ++--
 drivers/usb/host/isp1760-if.c   | 10 ++++------
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/usb/host/isp1760-core.c b/drivers/usb/host/isp1760-core.c
index bd538dd..718fd6c 100644
--- a/drivers/usb/host/isp1760-core.c
+++ b/drivers/usb/host/isp1760-core.c
@@ -63,8 +63,8 @@ int isp1760_register(struct resource *mem, int irq, unsigned 
long irqflags,
        }
 
        isp->hcd.rst_gpio = rst_gpio;
-       ret = isp1760_hcd_register(&isp->hcd, isp->regs, mem, irq, irqflags,
-                                  dev, devflags);
+       ret = isp1760_hcd_register(&isp->hcd, isp->regs, mem, irq,
+                                  irqflags | IRQF_SHARED, dev, devflags);
        if (ret < 0)
                goto error;
 
diff --git a/drivers/usb/host/isp1760-if.c b/drivers/usb/host/isp1760-if.c
index ad7de39..ee19b02 100644
--- a/drivers/usb/host/isp1760-if.c
+++ b/drivers/usb/host/isp1760-if.c
@@ -86,8 +86,7 @@ static int of_isp1760_probe(struct platform_device *dev)
        if (gpio_is_valid(rst_gpio) && !(gpio_flags & OF_GPIO_ACTIVE_LOW))
                devflags |= ISP1760_FLAG_RESET_ACTIVE_HIGH;
 
-       ret = isp1760_register(&memory, virq, IRQF_SHARED,
-                              rst_gpio, &dev->dev, devflags);
+       ret = isp1760_register(&memory, virq, 0, rst_gpio, &dev->dev, devflags);
        if (ret < 0)
                goto release_reg;
 
@@ -236,7 +235,7 @@ static int isp1761_pci_probe(struct pci_dev *dev,
        writel(reg_data, iobase + PLX_INT_CSR_REG);
 
        dev->dev.dma_mask = NULL;
-       ret_status = isp1760_register(&dev->resource[3], dev->irq, IRQF_SHARED,
+       ret_status = isp1760_register(&dev->resource[3], dev->irq, 0,
                                      -ENOENT, &dev->dev, devflags);
        if (ret_status < 0)
                goto cleanup3;
@@ -298,7 +297,7 @@ static int isp1760_plat_probe(struct platform_device *pdev)
        resource_size_t mem_size;
        struct isp1760_platform_data *priv = dev_get_platdata(&pdev->dev);
        unsigned int devflags = 0;
-       unsigned long irqflags = IRQF_SHARED;
+       unsigned long irqflags;
 
        mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!mem_res) {
@@ -319,8 +318,7 @@ static int isp1760_plat_probe(struct platform_device *pdev)
                ret = -ENODEV;
                goto cleanup;
        }
-
-       irqflags |= irq_res->flags & IRQF_TRIGGER_MASK;
+       irqflags = irq_res->flags & IRQF_TRIGGER_MASK;
 
        if (priv) {
                if (priv->is_isp1761)
-- 
2.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to