From e543ae896626a54c0c05e3c434312d6d033d450c Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 29 Oct 2008 18:35:52 -0400 Subject: [PATCH] UIO: uio_pdrv_genirq: allow custom irq_flags I can't think of a reason why the driver prevents people from setting any custom bits in their platform device, but I can think of some reasons for allowing custom flags. Like setting the IRQF_TRIGGER_... bits. Signed-off-by: Mike Frysinger Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman --- drivers/uio/uio_pdrv_genirq.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/uio/uio_pdrv_genirq.c b/drivers/uio/uio_pdrv_genirq.c index 1f82c83a92ae..3f06818cf9fa 100644 --- a/drivers/uio/uio_pdrv_genirq.c +++ b/drivers/uio/uio_pdrv_genirq.c @@ -81,7 +81,8 @@ static int uio_pdrv_genirq_probe(struct platform_device *pdev) goto bad0; } - if (uioinfo->handler || uioinfo->irqcontrol || uioinfo->irq_flags) { + if (uioinfo->handler || uioinfo->irqcontrol || + uioinfo->irq_flags & IRQF_SHARED) { dev_err(&pdev->dev, "interrupt configuration error\n"); goto bad0; } @@ -132,7 +133,7 @@ static int uio_pdrv_genirq_probe(struct platform_device *pdev) * Interrupt sharing is not supported. */ - uioinfo->irq_flags = IRQF_DISABLED; + uioinfo->irq_flags |= IRQF_DISABLED; uioinfo->handler = uio_pdrv_genirq_handler; uioinfo->irqcontrol = uio_pdrv_genirq_irqcontrol; uioinfo->priv = priv;