diff options
| author | Christoph Hellwig <hch@lst.de> | 2003-05-03 22:13:40 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-05-03 22:13:40 -0700 |
| commit | 9cfeede46b1966b67c2e0a5ec65059cdb886e5dc (patch) | |
| tree | 619c20fd5ddccbe670ece7027138f0ed490e3aed | |
| parent | 48ff4dace6bfcc64fedbd8e03597c5e5dc7823ec (diff) | |
[PATCH] make <linux/blk.h> obsolete
This file was _the_ header for block-device related stuff in earlier
Linux versions, but nowdays there's just a few prototypes left that
really belong into blkdev.h or genhd.h (and in one case elevator.h).
This patch moves them over and removes everything but including
blkdev.h from blk.h Note that blkdev.h gets all the headers that
were included in blk.h inmplicitly too. Now we can start removing
all references to it an maybe kill it off before 2.6. *sniff*
| -rw-r--r-- | include/linux/blk.h | 41 | ||||
| -rw-r--r-- | include/linux/blkdev.h | 24 | ||||
| -rw-r--r-- | include/linux/elevator.h | 1 | ||||
| -rw-r--r-- | include/linux/genhd.h | 8 |
4 files changed, 34 insertions, 40 deletions
diff --git a/include/linux/blk.h b/include/linux/blk.h index 9e65d6827d30..69afaa429f3b 100644 --- a/include/linux/blk.h +++ b/include/linux/blk.h @@ -1,41 +1,2 @@ -#ifndef _BLK_H -#define _BLK_H - +/* this file is obsolete, please use <linux/blkdev.h> instead */ #include <linux/blkdev.h> -#include <linux/elevator.h> -#include <linux/config.h> -#include <linux/spinlock.h> -#include <linux/compiler.h> - -extern void set_device_ro(struct block_device *bdev, int flag); -extern void set_disk_ro(struct gendisk *disk, int flag); -extern void add_disk_randomness(struct gendisk *disk); -extern void rand_initialize_disk(struct gendisk *disk); - -/* - * end_request() and friends. Must be called with the request queue spinlock - * acquired. All functions called within end_request() _must_be_ atomic. - * - * Several drivers define their own end_request and call - * end_that_request_first() and end_that_request_last() - * for parts of the original function. This prevents - * code duplication in drivers. - */ - -extern int end_that_request_first(struct request *, int, int); -extern int end_that_request_chunk(struct request *, int, int); -extern void end_that_request_last(struct request *); -extern void end_request(struct request *req, int uptodate); -struct request *elv_next_request(request_queue_t *q); - -static inline void blkdev_dequeue_request(struct request *req) -{ - BUG_ON(list_empty(&req->queuelist)); - - list_del_init(&req->queuelist); - - if (req->q) - elv_remove_request(req->q, req); -} - -#endif /* _BLK_H */ diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 3899acc8a4f1..32a8cddd2ca3 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -349,6 +349,30 @@ static inline request_queue_t *bdev_get_queue(struct block_device *bdev) } /* + * end_request() and friends. Must be called with the request queue spinlock + * acquired. All functions called within end_request() _must_be_ atomic. + * + * Several drivers define their own end_request and call + * end_that_request_first() and end_that_request_last() + * for parts of the original function. This prevents + * code duplication in drivers. + */ +extern int end_that_request_first(struct request *, int, int); +extern int end_that_request_chunk(struct request *, int, int); +extern void end_that_request_last(struct request *); +extern void end_request(struct request *req, int uptodate); + +static inline void blkdev_dequeue_request(struct request *req) +{ + BUG_ON(list_empty(&req->queuelist)); + + list_del_init(&req->queuelist); + + if (req->q) + elv_remove_request(req->q, req); +} + +/* * get ready for proper ref counting */ #define blk_put_queue(q) do { } while (0) diff --git a/include/linux/elevator.h b/include/linux/elevator.h index 8a9c22d3b16b..69648f495dc1 100644 --- a/include/linux/elevator.h +++ b/include/linux/elevator.h @@ -54,6 +54,7 @@ extern void elv_merge_requests(request_queue_t *, struct request *, extern void elv_merged_request(request_queue_t *, struct request *); extern void elv_remove_request(request_queue_t *, struct request *); extern int elv_queue_empty(request_queue_t *); +extern struct request *elv_next_request(struct request_queue *q); extern struct request *elv_former_request(request_queue_t *, struct request *); extern struct request *elv_latter_request(request_queue_t *, struct request *); extern int elv_register_queue(struct gendisk *); diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 35e93e35455d..7103121f4c9a 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h @@ -190,6 +190,14 @@ extern void add_disk(struct gendisk *disk); extern void del_gendisk(struct gendisk *gp); extern void unlink_gendisk(struct gendisk *gp); extern struct gendisk *get_gendisk(dev_t dev, int *part); + +extern void set_device_ro(struct block_device *bdev, int flag); +extern void set_disk_ro(struct gendisk *disk, int flag); + +/* drivers/char/random.c */ +extern void add_disk_randomness(struct gendisk *disk); +extern void rand_initialize_disk(struct gendisk *disk); + static inline sector_t get_start_sect(struct block_device *bdev) { return bdev->bd_offset; |
