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.pinchart@xxxxxxxxxxxxxxxx> --- 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html