From 158625d50de920729eb7b662b0c33c53b745dc57 Mon Sep 17 00:00:00 2001 From: "Eric W. Biederman" Date: Tue, 14 Sep 2010 11:37:36 -0700 Subject: [PATCH] --- yaml --- r: 213462 b: refs/heads/master c: 6427a7655afd7f07dfa83736defd1d94656c83e5 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/uio/uio.c | 14 +++++++------- trunk/include/linux/uio_driver.h | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 212acff0728e..e38e3b4c3756 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 70a9156bad9d9d1476df35dde582b9f411bf5914 +refs/heads/master: 6427a7655afd7f07dfa83736defd1d94656c83e5 diff --git a/trunk/drivers/uio/uio.c b/trunk/drivers/uio/uio.c index 8132288920b2..0fd2cda74244 100644 --- a/trunk/drivers/uio/uio.c +++ b/trunk/drivers/uio/uio.c @@ -512,7 +512,7 @@ static unsigned int uio_poll(struct file *filep, poll_table *wait) struct uio_listener *listener = filep->private_data; struct uio_device *idev = listener->dev; - if (idev->info->irq == UIO_IRQ_NONE) + if (!idev->info->irq) return -EIO; poll_wait(filep, &idev->wait, wait); @@ -530,7 +530,7 @@ static ssize_t uio_read(struct file *filep, char __user *buf, ssize_t retval; s32 event_count; - if (idev->info->irq == UIO_IRQ_NONE) + if (!idev->info->irq) return -EIO; if (count != sizeof(s32)) @@ -578,7 +578,7 @@ static ssize_t uio_write(struct file *filep, const char __user *buf, ssize_t retval; s32 irq_on; - if (idev->info->irq == UIO_IRQ_NONE) + if (!idev->info->irq) return -EIO; if (count != sizeof(s32)) @@ -825,9 +825,9 @@ int __uio_register_device(struct module *owner, info->uio_dev = idev; - if (idev->info->irq >= 0) { - ret = request_irq(idev->info->irq, uio_interrupt, - idev->info->irq_flags, idev->info->name, idev); + if (info->irq && (info->irq != UIO_IRQ_CUSTOM)) { + ret = request_irq(info->irq, uio_interrupt, + info->irq_flags, info->name, idev); if (ret) goto err_request_irq; } @@ -863,7 +863,7 @@ void uio_unregister_device(struct uio_info *info) uio_free_minor(idev); - if (info->irq >= 0) + if (info->irq && (info->irq != UIO_IRQ_CUSTOM)) free_irq(info->irq, idev); uio_dev_del_attributes(idev); diff --git a/trunk/include/linux/uio_driver.h b/trunk/include/linux/uio_driver.h index 5dcc9ff72f69..d6188e5a52df 100644 --- a/trunk/include/linux/uio_driver.h +++ b/trunk/include/linux/uio_driver.h @@ -108,7 +108,7 @@ extern void uio_event_notify(struct uio_info *info); /* defines for uio_info->irq */ #define UIO_IRQ_CUSTOM -1 -#define UIO_IRQ_NONE -2 +#define UIO_IRQ_NONE 0 /* defines for uio_mem->memtype */ #define UIO_MEM_NONE 0