diff options
| author | Linus Torvalds <torvalds@penguin.transmeta.com> | 2002-07-31 21:58:01 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@penguin.transmeta.com> | 2002-07-31 21:58:01 -0700 |
| commit | 50ebdf7960d5e162d2e985e6e3de7ac9c36eff17 (patch) | |
| tree | 9707b2a93217a7795491f5f0306069ca27fd2a17 /include/linux | |
| parent | a9ae3e34951d8f719190ce50c991b3ec815c7d0d (diff) | |
| parent | 495f02bab67c1967c5b2935c5651ca014964bc90 (diff) | |
Merge bk://ldm.bkbits.net/linux-2.5-driverfs
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/devfs_fs_kernel.h | 25 | ||||
| -rw-r--r-- | include/linux/elevator.h | 16 | ||||
| -rw-r--r-- | include/linux/ide.h | 6 | ||||
| -rw-r--r-- | include/linux/pci.h | 2 |
4 files changed, 16 insertions, 33 deletions
diff --git a/include/linux/devfs_fs_kernel.h b/include/linux/devfs_fs_kernel.h index 3448d862d976..d93fce08bc3e 100644 --- a/include/linux/devfs_fs_kernel.h +++ b/include/linux/devfs_fs_kernel.h @@ -94,12 +94,7 @@ extern devfs_handle_t devfs_get_next_sibling (devfs_handle_t de); extern void devfs_auto_unregister (devfs_handle_t master,devfs_handle_t slave); extern devfs_handle_t devfs_get_unregister_slave (devfs_handle_t master); extern const char *devfs_get_name (devfs_handle_t de, unsigned int *namelen); -extern int devfs_register_chrdev (unsigned int major, const char *name, - struct file_operations *fops); -extern int devfs_register_blkdev (unsigned int major, const char *name, - struct block_device_operations *bdops); -extern int devfs_unregister_chrdev (unsigned int major, const char *name); -extern int devfs_unregister_blkdev (unsigned int major, const char *name); +extern int devfs_only (void); extern void devfs_register_tape (devfs_handle_t de); extern void devfs_register_series (devfs_handle_t dir, const char *format, @@ -239,23 +234,9 @@ static inline const char *devfs_get_name (devfs_handle_t de, { return NULL; } -static inline int devfs_register_chrdev (unsigned int major, const char *name, - struct file_operations *fops) +static inline int devfs_only (void) { - return register_chrdev (major, name, fops); -} -static inline int devfs_register_blkdev (unsigned int major, const char *name, - struct block_device_operations *bdops) -{ - return register_blkdev (major, name, bdops); -} -static inline int devfs_unregister_chrdev (unsigned int major,const char *name) -{ - return unregister_chrdev (major, name); -} -static inline int devfs_unregister_blkdev (unsigned int major,const char *name) -{ - return unregister_blkdev (major, name); + return 0; } static inline void devfs_register_tape (devfs_handle_t de) diff --git a/include/linux/elevator.h b/include/linux/elevator.h index 3bd08ecdaf0b..5730a5bd5a78 100644 --- a/include/linux/elevator.h +++ b/include/linux/elevator.h @@ -6,13 +6,14 @@ typedef int (elevator_merge_fn) (request_queue_t *, struct request **, typedef void (elevator_merge_cleanup_fn) (request_queue_t *, struct request *, int); -typedef void (elevator_merge_req_fn) (struct request *, struct request *); +typedef void (elevator_merge_req_fn) (request_queue_t *, struct request *, struct request *); typedef struct request *(elevator_next_req_fn) (request_queue_t *); typedef void (elevator_add_req_fn) (request_queue_t *, struct request *, struct list_head *); typedef int (elevator_queue_empty_fn) (request_queue_t *); typedef void (elevator_remove_req_fn) (request_queue_t *, struct request *); +typedef struct list_head *(elevator_get_sort_head_fn) (request_queue_t *, struct request *); typedef int (elevator_init_fn) (request_queue_t *, elevator_t *); typedef void (elevator_exit_fn) (request_queue_t *, elevator_t *); @@ -28,6 +29,7 @@ struct elevator_s elevator_remove_req_fn *elevator_remove_req_fn; elevator_queue_empty_fn *elevator_queue_empty_fn; + elevator_get_sort_head_fn *elevator_get_sort_head_fn; elevator_init_fn *elevator_init_fn; elevator_exit_fn *elevator_exit_fn; @@ -45,6 +47,8 @@ extern int elv_merge(request_queue_t *, struct request **, struct bio *); extern void elv_merge_requests(request_queue_t *, struct request *, struct request *); extern void elv_remove_request(request_queue_t *, struct request *); +extern int elv_queue_empty(request_queue_t *); +extern inline struct list_head *elv_get_sort_head(request_queue_t *, struct request *); /* * noop I/O scheduler. always merges, always inserts new request at tail @@ -72,6 +76,10 @@ typedef struct blkelv_ioctl_arg_s { extern int elevator_init(request_queue_t *, elevator_t *, elevator_t); extern void elevator_exit(request_queue_t *, elevator_t *); +extern inline int bio_rq_in_between(struct bio *, struct request *, struct list_head *); +extern inline int elv_rq_merge_ok(struct request *, struct bio *); +extern inline int elv_try_merge(struct request *, struct bio *); +extern inline int elv_try_last_merge(request_queue_t *, struct request **, struct bio *); /* * Return values from elevator merger @@ -80,10 +88,4 @@ extern void elevator_exit(request_queue_t *, elevator_t *); #define ELEVATOR_FRONT_MERGE 1 #define ELEVATOR_BACK_MERGE 2 -/* - * will change once we move to a more complex data structure than a simple - * list for pending requests - */ -#define elv_queue_empty(q) list_empty(&(q)->queue_head) - #endif diff --git a/include/linux/ide.h b/include/linux/ide.h index 4dd795f055e6..f65e5649c0e0 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h @@ -764,8 +764,6 @@ struct ata_device { request_queue_t queue; /* per device request queue */ struct request *rq; /* current request */ - unsigned long sleep; /* sleep until this time */ - u8 retry_pio; /* retrying dma capable host in pio */ u8 state; /* retry state */ @@ -785,7 +783,6 @@ struct ata_device { unsigned atapi_overlap : 1; /* flag: ATAPI overlap (not supported) */ unsigned doorlocking : 1; /* flag: for removable only: door lock/unlock works */ unsigned autotune : 2; /* 1=autotune, 2=noautotune, 0=default */ - unsigned remap_0_to_1 : 2; /* 0=remap if ezdrive, 1=remap, 2=noremap */ unsigned ata_flash : 1; /* 1=present, 0=default */ unsigned addressing; /* : 2; 0=28-bit, 1=48-bit, 2=64-bit */ u8 scsi; /* 0=default, 1=skip current ide-subdriver for ide-scsi emulation */ @@ -797,7 +794,6 @@ struct ata_device { u8 mult_count; /* current multiple sector setting */ u8 bad_wstat; /* used for ignoring WRERR_STAT */ u8 nowerr; /* used for ignoring WRERR_STAT */ - u8 sect0; /* offset of first sector for DM6:DDO */ u8 head; /* "real" number of heads */ u8 sect; /* "real" sectors per track */ u8 bios_head; /* BIOS/fdisk/LILO number of heads */ @@ -947,6 +943,8 @@ struct ata_channel { void (*udma_timeout) (struct ata_device *); void (*udma_irq_lost) (struct ata_device *); + unsigned long seg_boundary_mask; + unsigned int max_segment_size; unsigned int *dmatable_cpu; /* dma physical region descriptor table (cpu view) */ dma_addr_t dmatable_dma; /* dma physical region descriptor table (dma view) */ struct scatterlist *sg_table; /* Scatter-gather list used to build the above */ diff --git a/include/linux/pci.h b/include/linux/pci.h index c5f593251536..def54af56e32 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -569,6 +569,8 @@ int pci_write_config_dword(struct pci_dev *dev, int where, u32 val); extern spinlock_t pci_lock; +extern spinlock_t pci_lock; + int pci_enable_device(struct pci_dev *dev); void pci_disable_device(struct pci_dev *dev); void pci_set_master(struct pci_dev *dev); |
