diff options
Diffstat (limited to 'drivers/acpi/event.c')
-rw-r--r-- | drivers/acpi/event.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/drivers/acpi/event.c b/drivers/acpi/event.c index 2dbb1b0f11d5..959a893c8d1f 100644 --- a/drivers/acpi/event.c +++ b/drivers/acpi/event.c | |||
@@ -48,18 +48,17 @@ acpi_system_read_event(struct file *file, char __user * buffer, size_t count, | |||
48 | static int chars_remaining = 0; | 48 | static int chars_remaining = 0; |
49 | static char *ptr; | 49 | static char *ptr; |
50 | 50 | ||
51 | ACPI_FUNCTION_TRACE("acpi_system_read_event"); | ||
52 | 51 | ||
53 | if (!chars_remaining) { | 52 | if (!chars_remaining) { |
54 | memset(&event, 0, sizeof(struct acpi_bus_event)); | 53 | memset(&event, 0, sizeof(struct acpi_bus_event)); |
55 | 54 | ||
56 | if ((file->f_flags & O_NONBLOCK) | 55 | if ((file->f_flags & O_NONBLOCK) |
57 | && (list_empty(&acpi_bus_event_list))) | 56 | && (list_empty(&acpi_bus_event_list))) |
58 | return_VALUE(-EAGAIN); | 57 | return -EAGAIN; |
59 | 58 | ||
60 | result = acpi_bus_receive_event(&event); | 59 | result = acpi_bus_receive_event(&event); |
61 | if (result) | 60 | if (result) |
62 | return_VALUE(result); | 61 | return result; |
63 | 62 | ||
64 | chars_remaining = sprintf(str, "%s %s %08x %08x\n", | 63 | chars_remaining = sprintf(str, "%s %s %08x %08x\n", |
65 | event.device_class ? event. | 64 | event.device_class ? event. |
@@ -75,13 +74,13 @@ acpi_system_read_event(struct file *file, char __user * buffer, size_t count, | |||
75 | } | 74 | } |
76 | 75 | ||
77 | if (copy_to_user(buffer, ptr, count)) | 76 | if (copy_to_user(buffer, ptr, count)) |
78 | return_VALUE(-EFAULT); | 77 | return -EFAULT; |
79 | 78 | ||
80 | *ppos += count; | 79 | *ppos += count; |
81 | chars_remaining -= count; | 80 | chars_remaining -= count; |
82 | ptr += count; | 81 | ptr += count; |
83 | 82 | ||
84 | return_VALUE(count); | 83 | return count; |
85 | } | 84 | } |
86 | 85 | ||
87 | static int acpi_system_close_event(struct inode *inode, struct file *file) | 86 | static int acpi_system_close_event(struct inode *inode, struct file *file) |
@@ -100,7 +99,7 @@ static unsigned int acpi_system_poll_event(struct file *file, poll_table * wait) | |||
100 | return 0; | 99 | return 0; |
101 | } | 100 | } |
102 | 101 | ||
103 | static struct file_operations acpi_system_event_ops = { | 102 | static const struct file_operations acpi_system_event_ops = { |
104 | .open = acpi_system_open_event, | 103 | .open = acpi_system_open_event, |
105 | .read = acpi_system_read_event, | 104 | .read = acpi_system_read_event, |
106 | .release = acpi_system_close_event, | 105 | .release = acpi_system_close_event, |
@@ -112,22 +111,18 @@ static int __init acpi_event_init(void) | |||
112 | struct proc_dir_entry *entry; | 111 | struct proc_dir_entry *entry; |
113 | int error = 0; | 112 | int error = 0; |
114 | 113 | ||
115 | ACPI_FUNCTION_TRACE("acpi_event_init"); | ||
116 | 114 | ||
117 | if (acpi_disabled) | 115 | if (acpi_disabled) |
118 | return_VALUE(0); | 116 | return 0; |
119 | 117 | ||
120 | /* 'event' [R] */ | 118 | /* 'event' [R] */ |
121 | entry = create_proc_entry("event", S_IRUSR, acpi_root_dir); | 119 | entry = create_proc_entry("event", S_IRUSR, acpi_root_dir); |
122 | if (entry) | 120 | if (entry) |
123 | entry->proc_fops = &acpi_system_event_ops; | 121 | entry->proc_fops = &acpi_system_event_ops; |
124 | else { | 122 | else { |
125 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, | 123 | error = -ENODEV; |
126 | "Unable to create '%s' proc fs entry\n", | ||
127 | "event")); | ||
128 | error = -EFAULT; | ||
129 | } | 124 | } |
130 | return_VALUE(error); | 125 | return error; |
131 | } | 126 | } |
132 | 127 | ||
133 | subsys_initcall(acpi_event_init); | 128 | subsys_initcall(acpi_event_init); |