diff options
Diffstat (limited to 'drivers/misc/bmp085.c')
-rw-r--r-- | drivers/misc/bmp085.c | 19 |
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 | ||
467 | static int __init bmp085_init(void) | 468 | module_i2c_driver(bmp085_driver); |
468 | { | ||
469 | return i2c_add_driver(&bmp085_driver); | ||
470 | } | ||
471 | |||
472 | static void __exit bmp085_exit(void) | ||
473 | { | ||
474 | i2c_del_driver(&bmp085_driver); | ||
475 | } | ||
476 | |||
477 | 469 | ||
478 | MODULE_AUTHOR("Christoph Mair <christoph.mair@gmail.com"); | 470 | MODULE_AUTHOR("Christoph Mair <christoph.mair@gmail.com"); |
479 | MODULE_DESCRIPTION("BMP085 driver"); | 471 | MODULE_DESCRIPTION("BMP085 driver"); |
480 | MODULE_LICENSE("GPL"); | 472 | MODULE_LICENSE("GPL"); |
481 | |||
482 | module_init(bmp085_init); | ||
483 | module_exit(bmp085_exit); | ||