summaryrefslogtreecommitdiff
path: root/include/linux/ide.h
diff options
context:
space:
mode:
authorMartin Dalecki <dalecki@evision-ventures.com>2002-03-10 21:40:36 -0800
committerLinus Torvalds <torvalds@penguin.transmeta.com>2002-03-10 21:40:36 -0800
commit9fbca83457a2b9926d1353d9b50d745a4733b8e3 (patch)
tree6d7eec6777ddd9f0decba3292a1b41143a856523 /include/linux/ide.h
parent4dabe948e0eba707a9f2c432698c7dce60b15b10 (diff)
[PATCH] 2.5.6 IDE 19
- Fix oversight in replacement of sti() cli() pairs for data structure access protection. This finally resolvs my problems with the 2.5.6 kernel series. Now I'm in fact quite puzzled how it was even possible for the system to get into the init stage without this fix.. - Fix usage of CONFIG_BLK_DEV_IDE_MODULES instead of CONFIG_BLK_DEV_IDE_MODULE. - Make idescsi_init global for usage in systems without module support enabled. - Apply Pavels Macheks patch for suspend support. Whatever some persons argue that it's not fully implemented, I think that we are in development series right now. I don't buy the mock-up examples for problems with either outdated or broken hardware. Micro Drives are for example expected to be drop in replacements for CF cards in digital cameras and I would rather expect them to be very tolerant about the driver in front of them. And then the WB caches of IDE devices are not caches in the sense of a MESI cache, they are more like buffer caches and should therefore flush them self after s short period of inactivity without the application of any special flush command. The upcoming explicit flushing commands in the ATA standard are about data integrity guarantees in high reliability systems, like DB servers for example, and not about simple cache validity. - Apply Vojtech Pavliks fix to the VIA host chip initialization code. - Add missing if-defs around PIO timing tables. - Fix max() min() related compile warnings in IDE-scsi.
Diffstat (limited to 'include/linux/ide.h')
-rw-r--r--include/linux/ide.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h
index d0b5304f0d6b..6fe678abd65f 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -240,10 +240,6 @@ typedef struct hw_regs_s {
} hw_regs_t;
/*
- * Register new hardware with ide
- */
-extern int ide_register_hw(hw_regs_t *hw, struct hwif_s **hwifp);
-/*
* Set up hw_regs_t structure before calling ide_register_hw (optional)
*/
void ide_setup_ports(hw_regs_t *hw,
@@ -336,6 +332,7 @@ typedef struct ide_drive_s {
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 blocked : 1; /* 1=powermanagment told us not to do anything, so sleep nicely */
unsigned addressing; /* : 2; 0=28-bit, 1=48-bit, 2=64-bit */
byte scsi; /* 0=default, 1=skip current ide-subdriver for ide-scsi emulation */
select_t select; /* basic drive/head select reg value */
@@ -505,6 +502,10 @@ typedef struct hwif_s {
struct device device; /* global device tree handle */
} ide_hwif_t;
+/*
+ * Register new hardware with ide
+ */
+extern int ide_register_hw(hw_regs_t *hw, struct hwif_s **hwifp);
extern void ide_unregister(ide_hwif_t *hwif);
/*