aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/agp/backend.c3
-rw-r--r--drivers/char/raw.c3
-rw-r--r--drivers/char/rtc.c7
3 files changed, 5 insertions, 8 deletions
diff --git a/drivers/char/agp/backend.c b/drivers/char/agp/backend.c
index f27d0d0816d3..4b71647782d0 100644
--- a/drivers/char/agp/backend.c
+++ b/drivers/char/agp/backend.c
@@ -171,7 +171,7 @@ static int agp_backend_initialize(struct agp_bridge_data *bridge)
171 } 171 }
172 got_gatt = 1; 172 got_gatt = 1;
173 173
174 bridge->key_list = vmalloc(PAGE_SIZE * 4); 174 bridge->key_list = vzalloc(PAGE_SIZE * 4);
175 if (bridge->key_list == NULL) { 175 if (bridge->key_list == NULL) {
176 dev_err(&bridge->dev->dev, 176 dev_err(&bridge->dev->dev,
177 "can't allocate memory for key lists\n"); 177 "can't allocate memory for key lists\n");
@@ -181,7 +181,6 @@ static int agp_backend_initialize(struct agp_bridge_data *bridge)
181 got_keylist = 1; 181 got_keylist = 1;
182 182
183 /* FIXME vmalloc'd memory not guaranteed contiguous */ 183 /* FIXME vmalloc'd memory not guaranteed contiguous */
184 memset(bridge->key_list, 0, PAGE_SIZE * 4);
185 184
186 if (bridge->driver->configure()) { 185 if (bridge->driver->configure()) {
187 dev_err(&bridge->dev->dev, "error configuring host chipset\n"); 186 dev_err(&bridge->dev->dev, "error configuring host chipset\n");
diff --git a/drivers/char/raw.c b/drivers/char/raw.c
index b33e8ea314ed..b6de2c047145 100644
--- a/drivers/char/raw.c
+++ b/drivers/char/raw.c
@@ -324,13 +324,12 @@ static int __init raw_init(void)
324 max_raw_minors = MAX_RAW_MINORS; 324 max_raw_minors = MAX_RAW_MINORS;
325 } 325 }
326 326
327 raw_devices = vmalloc(sizeof(struct raw_device_data) * max_raw_minors); 327 raw_devices = vzalloc(sizeof(struct raw_device_data) * max_raw_minors);
328 if (!raw_devices) { 328 if (!raw_devices) {
329 printk(KERN_ERR "Not enough memory for raw device structures\n"); 329 printk(KERN_ERR "Not enough memory for raw device structures\n");
330 ret = -ENOMEM; 330 ret = -ENOMEM;
331 goto error; 331 goto error;
332 } 332 }
333 memset(raw_devices, 0, sizeof(struct raw_device_data) * max_raw_minors);
334 333
335 ret = register_chrdev_region(dev, max_raw_minors, "raw"); 334 ret = register_chrdev_region(dev, max_raw_minors, "raw");
336 if (ret) 335 if (ret)
diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c
index dfa8b3062fda..ccd124ab7ca7 100644
--- a/drivers/char/rtc.c
+++ b/drivers/char/rtc.c
@@ -80,6 +80,7 @@
80#include <linux/bcd.h> 80#include <linux/bcd.h>
81#include <linux/delay.h> 81#include <linux/delay.h>
82#include <linux/uaccess.h> 82#include <linux/uaccess.h>
83#include <linux/ratelimit.h>
83 84
84#include <asm/current.h> 85#include <asm/current.h>
85#include <asm/system.h> 86#include <asm/system.h>
@@ -1195,10 +1196,8 @@ static void rtc_dropped_irq(unsigned long data)
1195 1196
1196 spin_unlock_irq(&rtc_lock); 1197 spin_unlock_irq(&rtc_lock);
1197 1198
1198 if (printk_ratelimit()) { 1199 printk_ratelimited(KERN_WARNING "rtc: lost some interrupts at %ldHz.\n",
1199 printk(KERN_WARNING "rtc: lost some interrupts at %ldHz.\n", 1200 freq);
1200 freq);
1201 }
1202 1201
1203 /* Now we have new data */ 1202 /* Now we have new data */
1204 wake_up_interruptible(&rtc_wait); 1203 wake_up_interruptible(&rtc_wait);