summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2015-01-21 01:55:58 +0300
committerFelipe Balbi <balbi@ti.com>2015-01-27 18:39:22 +0300
commit667c45c2f159d3c4e1d592df42ffbc7d4d73e07b (patch)
treeb0b8ac9f1b572aff952feb230e8dcd4874d8bf6e
parent4b1a577d41c99f2aa548e8de3effe1033d9ca40b (diff)
downloadlinux-667c45c2f159d3c4e1d592df42ffbc7d4d73e07b.tar.xz
usb: isp1760: Set IRQF_SHARED flag in core code
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@ideasonboard.com> Reviewed-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
-rw-r--r--drivers/usb/host/isp1760-core.c4
-rw-r--r--drivers/usb/host/isp1760-if.c9
2 files changed, 6 insertions, 7 deletions
diff --git a/drivers/usb/host/isp1760-core.c b/drivers/usb/host/isp1760-core.c
index d38efa0e340a..35278a8356b3 100644
--- a/drivers/usb/host/isp1760-core.c
+++ b/drivers/usb/host/isp1760-core.c
@@ -43,8 +43,8 @@ int isp1760_register(struct resource *mem, int irq, unsigned long irqflags,
if (IS_ERR(isp->regs))
return PTR_ERR(isp->regs);
- 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)
return ret;
diff --git a/drivers/usb/host/isp1760-if.c b/drivers/usb/host/isp1760-if.c
index f2a399051244..c2a94c966350 100644
--- a/drivers/usb/host/isp1760-if.c
+++ b/drivers/usb/host/isp1760-if.c
@@ -142,8 +142,8 @@ static int isp1761_pci_probe(struct pci_dev *dev,
pci_set_master(dev);
dev->dev.dma_mask = NULL;
- ret = isp1760_register(&dev->resource[3], dev->irq, IRQF_SHARED,
- &dev->dev, devflags);
+ ret = isp1760_register(&dev->resource[3], dev->irq, 0, &dev->dev,
+ devflags);
if (ret < 0)
goto error;
@@ -190,7 +190,7 @@ static struct pci_driver isp1761_pci_driver = {
static int isp1760_plat_probe(struct platform_device *pdev)
{
- unsigned long irqflags = IRQF_SHARED;
+ unsigned long irqflags;
unsigned int devflags = 0;
struct resource *mem_res;
struct resource *irq_res;
@@ -203,8 +203,7 @@ static int isp1760_plat_probe(struct platform_device *pdev)
pr_warning("isp1760: IRQ resource not available\n");
return -ENODEV;
}
-
- irqflags |= irq_res->flags & IRQF_TRIGGER_MASK;
+ irqflags = irq_res->flags & IRQF_TRIGGER_MASK;
if (IS_ENABLED(CONFIG_OF) && pdev->dev.of_node) {
struct device_node *dp = pdev->dev.of_node;