]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/block/rsxx/dev.c
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
[karo-tx-linux.git] / drivers / block / rsxx / dev.c
index 40ee7705df63a061863539a03b8df5555f799c93..ac8c62cb48751bd06e6cb27e44e8fc9c379c7182 100644 (file)
@@ -112,37 +112,16 @@ static const struct block_device_operations rsxx_fops = {
 
 static void disk_stats_start(struct rsxx_cardinfo *card, struct bio *bio)
 {
-       struct hd_struct *part0 = &card->gendisk->part0;
-       int rw = bio_data_dir(bio);
-       int cpu;
-
-       cpu = part_stat_lock();
-
-       part_round_stats(cpu, part0);
-       part_inc_in_flight(part0, rw);
-
-       part_stat_unlock();
+       generic_start_io_acct(bio_data_dir(bio), bio_sectors(bio),
+                            &card->gendisk->part0);
 }
 
 static void disk_stats_complete(struct rsxx_cardinfo *card,
                                struct bio *bio,
                                unsigned long start_time)
 {
-       struct hd_struct *part0 = &card->gendisk->part0;
-       unsigned long duration = jiffies - start_time;
-       int rw = bio_data_dir(bio);
-       int cpu;
-
-       cpu = part_stat_lock();
-
-       part_stat_add(cpu, part0, sectors[rw], bio_sectors(bio));
-       part_stat_inc(cpu, part0, ios[rw]);
-       part_stat_add(cpu, part0, ticks[rw], duration);
-
-       part_round_stats(cpu, part0);
-       part_dec_in_flight(part0, rw);
-
-       part_stat_unlock();
+       generic_end_io_acct(bio_data_dir(bio), &card->gendisk->part0,
+                          start_time);
 }
 
 static void bio_dma_done_cb(struct rsxx_cardinfo *card,