aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ide.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/ide.h')
-rw-r--r--include/linux/ide.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h
index 77e66d055f5..99620451d95 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -552,7 +552,6 @@ typedef struct ide_drive_s {
552 struct hd_driveid *id; /* drive model identification info */ 552 struct hd_driveid *id; /* drive model identification info */
553 struct proc_dir_entry *proc; /* /proc/ide/ directory entry */ 553 struct proc_dir_entry *proc; /* /proc/ide/ directory entry */
554 struct ide_settings_s *settings;/* /proc/ide/ drive settings */ 554 struct ide_settings_s *settings;/* /proc/ide/ drive settings */
555 char devfs_name[64]; /* devfs crap */
556 555
557 struct hwif_s *hwif; /* actually (ide_hwif_t *) */ 556 struct hwif_s *hwif; /* actually (ide_hwif_t *) */
558 557
@@ -572,6 +571,7 @@ typedef struct ide_drive_s {
572 u8 waiting_for_dma; /* dma currently in progress */ 571 u8 waiting_for_dma; /* dma currently in progress */
573 u8 unmask; /* okay to unmask other irqs */ 572 u8 unmask; /* okay to unmask other irqs */
574 u8 bswap; /* byte swap data */ 573 u8 bswap; /* byte swap data */
574 u8 noflush; /* don't attempt flushes */
575 u8 dsc_overlap; /* DSC overlap */ 575 u8 dsc_overlap; /* DSC overlap */
576 u8 nice1; /* give potential excess bandwidth */ 576 u8 nice1; /* give potential excess bandwidth */
577 577
@@ -630,6 +630,7 @@ typedef struct ide_drive_s {
630 unsigned int usage; /* current "open()" count for drive */ 630 unsigned int usage; /* current "open()" count for drive */
631 unsigned int failures; /* current failure count */ 631 unsigned int failures; /* current failure count */
632 unsigned int max_failures; /* maximum allowed failure count */ 632 unsigned int max_failures; /* maximum allowed failure count */
633 u64 probed_capacity;/* initial reported media capacity (ide-cd only currently) */
633 634
634 u64 capacity64; /* total number of sectors */ 635 u64 capacity64; /* total number of sectors */
635 636
@@ -792,6 +793,7 @@ typedef struct hwif_s {
792 unsigned auto_poll : 1; /* supports nop auto-poll */ 793 unsigned auto_poll : 1; /* supports nop auto-poll */
793 unsigned sg_mapped : 1; /* sg_table and sg_nents are ready */ 794 unsigned sg_mapped : 1; /* sg_table and sg_nents are ready */
794 unsigned no_io_32bit : 1; /* 1 = can not do 32-bit IO ops */ 795 unsigned no_io_32bit : 1; /* 1 = can not do 32-bit IO ops */
796 unsigned err_stops_fifo : 1; /* 1=data FIFO is cleared by an error */
795 797
796 struct device gendev; 798 struct device gendev;
797 struct completion gendev_rel_comp; /* To deal with device release() */ 799 struct completion gendev_rel_comp; /* To deal with device release() */
@@ -1005,6 +1007,8 @@ extern ide_hwif_t ide_hwifs[]; /* master data repository */
1005extern int noautodma; 1007extern int noautodma;
1006 1008
1007extern int ide_end_request (ide_drive_t *drive, int uptodate, int nrsecs); 1009extern int ide_end_request (ide_drive_t *drive, int uptodate, int nrsecs);
1010int ide_end_dequeued_request(ide_drive_t *drive, struct request *rq,
1011 int uptodate, int nr_sectors);
1008 1012
1009/* 1013/*
1010 * This is used on exit from the driver to designate the next irq handler 1014 * This is used on exit from the driver to designate the next irq handler
@@ -1356,7 +1360,7 @@ extern struct semaphore ide_cfg_sem;
1356 * ide_drive_t->hwif: constant, no locking 1360 * ide_drive_t->hwif: constant, no locking
1357 */ 1361 */
1358 1362
1359#define local_irq_set(flags) do { local_save_flags((flags)); local_irq_enable(); } while (0) 1363#define local_irq_set(flags) do { local_save_flags((flags)); local_irq_enable_in_hardirq(); } while (0)
1360 1364
1361extern struct bus_type ide_bus_type; 1365extern struct bus_type ide_bus_type;
1362 1366