lkml.org 
[lkml]   [2010]   [Aug]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 1/2] lis3: Add device owner
Date
Add device owner and change /dev/freefall file operations owner
according to the used driver

Signed-off-by: Yuri Kululin <ext-yuri.kululin@nokia.com>
---
drivers/hwmon/lis3lv02d.c | 8 ++++++--
drivers/hwmon/lis3lv02d.h | 2 ++
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/hwmon/lis3lv02d.c b/drivers/hwmon/lis3lv02d.c
index e278f0e..0f1bd36 100644
--- a/drivers/hwmon/lis3lv02d.c
+++ b/drivers/hwmon/lis3lv02d.c
@@ -591,8 +591,7 @@ static int lis3lv02d_misc_fasync(int fd, struct file *file, int on)
return fasync_helper(fd, file, on, &lis3_dev.async_queue);
}

-static const struct file_operations lis3lv02d_misc_fops = {
- .owner = THIS_MODULE,
+static struct file_operations lis3lv02d_misc_fops = {
.llseek = no_llseek,
.read = lis3lv02d_misc_read,
.open = lis3lv02d_misc_open,
@@ -1007,6 +1006,11 @@ int lis3lv02d_init_device(struct lis3lv02d *dev)
goto out;
}

+ if (dev->owner)
+ lis3lv02d_misc_fops.owner = dev->owner;
+ else
+ lis3lv02d_misc_fops.owner = THIS_MODULE;
+
if (misc_register(&lis3lv02d_misc_device))
printk(KERN_ERR DRIVER_NAME ": misc_register failed\n");
out:
diff --git a/drivers/hwmon/lis3lv02d.h b/drivers/hwmon/lis3lv02d.h
index 1f0a66f..e63dd3d 100644
--- a/drivers/hwmon/lis3lv02d.h
+++ b/drivers/hwmon/lis3lv02d.h
@@ -258,6 +258,8 @@ struct lis3lv02d {
unsigned char irq_cfg;
struct lis3lv02d_platform_data *pdata; /* for passing board config */
struct mutex mutex; /* Serialize poll and selftest */
+
+ struct module *owner; /* Device owner */
};

int lis3lv02d_init_device(struct lis3lv02d *lis3);
--
1.7.1.1


\
 
 \ /
  Last update: 2010-08-27 17:39    [from the cache]
©2003-2011 Jasper Spaans