lkml.org 
[lkml]   [2008]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] USB/ISP1760: Add support for the generic platfrom device centralized driver model (v2)
Date
Bryan Wu <cooloney@kernel.org>
writes:

> - isp1760 interrupt is default setup TRIGGER_LOW
> ...
> + irq = platform_get_irq(pdev, 0);
> ...
> + hcd = isp1760_register(addr->start, resource_size(addr), irq,
> + IRQF_DISABLED | IRQF_SHARED | IRQF_TRIGGER_LOW,
> + &pdev->dev, dev_name(&pdev->dev),
> + devflags);

TRIGGER_LOW default is bad on e.g. XScale platforms which have
edge triggered interrupts. It would be better to use the resource
flags for interrupt configuration. E.g.

----
struct resource *irq_res;
unsigned long flags;

irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);

flags = ((irq_res->flags & IRQF_TRIGGER_MASK) |
((irq_res->flags & IORESOURCE_IRQ_SHAREABLE) ?
IRQF_SHARED : 0));

if ((irq_res->flags & (IORESOURCE_IRQ_HIGHEDGE|IORESOURCE_IRQ_LOWEDGE)))
dev_flags |= ISP1760_FLAG_INTR_EDGE_TRIG;

hcd = isp1760_register(addr->start, resource_size(addr), irq,
IRQF_DISABLED | flags,
&pdev->dev, dev_name(&pdev->dev),
devflags);
----



Enrico



\
 
 \ /
  Last update: 2008-11-24 17:13    [W:2.030 / U:0.788 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site