Hello.
Mike Frysinger wrote:
From: Lothar Wassmann <LW@xxxxxxxxxxxxxxxxxxx>
There was some left over #ifdef ARM logic that is outdated but no one
really noticed. So instead of relying on this tricky logic, properly
load and utilize the platform irq_flags resources.
Reported-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
Signed-off-by: Lothar Wassmann <LW@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx>
---
drivers/usb/host/isp1362-hcd.c | 25 ++++++++++++++++++-------
1 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/drivers/usb/host/isp1362-hcd.c b/drivers/usb/host/isp1362-hcd.c
index 8d31044..b28fcfb 100644
--- a/drivers/usb/host/isp1362-hcd.c
+++ b/drivers/usb/host/isp1362-hcd.c
@@ -2697,6 +2697,8 @@ static int __init isp1362_probe(struct platform_device *pdev)
void __iomem *data_reg;
int irq;
int retval = 0;
+ struct resource *irq_res;
+ unsigned int irq_flags = 0;
/* basic sanity checks first. board-specific init logic should
* have initialized this the three resources and probably board
@@ -2710,11 +2712,12 @@ static int __init isp1362_probe(struct platform_device *pdev)
data = platform_get_resource(pdev, IORESOURCE_MEM, 0);
addr = platform_get_resource(pdev, IORESOURCE_MEM, 1);
- irq = platform_get_irq(pdev, 0);
- if (!addr || !data || irq < 0) {
+ irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
+ if (!addr || !data || !irq_res) {
retval = -ENODEV;
goto err1;
}
+ irq = irq_res->start;
#ifdef CONFIG_USB_HCD_DMA
if (pdev->dev.dma_mask) {
@@ -2781,12 +2784,20 @@ static int __init isp1362_probe(struct platform_device *pdev)
}
#endif
-#ifdef CONFIG_ARM
- if (isp1362_hcd->board)
- set_irq_type(irq, isp1362_hcd->board->int_act_high ? IRQT_RISING : IRQT_FALLING);
-#endif
+ if (irq_res->flags & IORESOURCE_IRQ_HIGHEDGE) {
+ irq_flags |= IRQF_TRIGGER_RISING;
+ }
+ if (irq_res->flags & IORESOURCE_IRQ_LOWEDGE) {
+ irq_flags |= IRQF_TRIGGER_FALLING;
+ }
+ if (irq_res->flags & IORESOURCE_IRQ_HIGHLEVEL) {
+ irq_flags |= IRQF_TRIGGER_HIGH;
+ }
+ if (irq_res->flags & IORESOURCE_IRQ_LOWLEVEL) {
+ irq_flags |= IRQF_TRIGGER_LOW;
+ }
Curly braces not needed here -- checkpatch.pl would have warned about
that if you'd ran it. ;-)
WBR, Sergei
--
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