aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/bmp085.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/bmp085.c')
-rw-r--r--drivers/misc/bmp085.c19
1 files changed, 4 insertions, 15 deletions
diff --git a/drivers/misc/bmp085.c b/drivers/misc/bmp085.c
index b29a2be24591..76c3064629f1 100644
--- a/drivers/misc/bmp085.c
+++ b/drivers/misc/bmp085.c
@@ -87,7 +87,7 @@ struct bmp085_data {
87 u32 raw_temperature; 87 u32 raw_temperature;
88 u32 raw_pressure; 88 u32 raw_pressure;
89 unsigned char oversampling_setting; 89 unsigned char oversampling_setting;
90 u32 last_temp_measurement; 90 unsigned long last_temp_measurement;
91 s32 b6; /* calculated temperature correction coefficient */ 91 s32 b6; /* calculated temperature correction coefficient */
92}; 92};
93 93
@@ -234,7 +234,8 @@ static s32 bmp085_get_pressure(struct bmp085_data *data, int *pressure)
234 int status; 234 int status;
235 235
236 /* alt least every second force an update of the ambient temperature */ 236 /* alt least every second force an update of the ambient temperature */
237 if (data->last_temp_measurement + 1*HZ < jiffies) { 237 if (data->last_temp_measurement == 0 ||
238 time_is_before_jiffies(data->last_temp_measurement + 1*HZ)) {
238 status = bmp085_get_temperature(data, NULL); 239 status = bmp085_get_temperature(data, NULL);
239 if (status != 0) 240 if (status != 0)
240 goto exit; 241 goto exit;
@@ -464,20 +465,8 @@ static struct i2c_driver bmp085_driver = {
464 .address_list = normal_i2c 465 .address_list = normal_i2c
465}; 466};
466 467
467static int __init bmp085_init(void) 468module_i2c_driver(bmp085_driver);
468{
469 return i2c_add_driver(&bmp085_driver);
470}
471
472static void __exit bmp085_exit(void)
473{
474 i2c_del_driver(&bmp085_driver);
475}
476
477 469
478MODULE_AUTHOR("Christoph Mair <christoph.mair@gmail.com"); 470MODULE_AUTHOR("Christoph Mair <christoph.mair@gmail.com");
479MODULE_DESCRIPTION("BMP085 driver"); 471MODULE_DESCRIPTION("BMP085 driver");
480MODULE_LICENSE("GPL"); 472MODULE_LICENSE("GPL");
481
482module_init(bmp085_init);
483module_exit(bmp085_exit);