aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/hpt366.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2005-09-11 12:22:50 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-11 12:22:50 -0400
commit9ec4ff421f032f24416217f23b0c82dc9a5f38f6 (patch)
tree63035223c2b3ce0e4e2d1c54ff7768af46f16753 /drivers/ide/pci/hpt366.c
parentaa7c3a119a6202b758a669cde9e3829ced64a13f (diff)
hpt366: write the full 4 bytes of ROM address, not just low 1 byte
This is one heck of a confused driver. It uses a byte write to a dword register to enable a ROM resource that it doesn't even seem to be using. "Lost and wandering in the desert of confusion" Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/ide/pci/hpt366.c')
-rw-r--r--drivers/ide/pci/hpt366.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/ide/pci/hpt366.c b/drivers/ide/pci/hpt366.c
index 7b64db10d1b0..127619a109ed 100644
--- a/drivers/ide/pci/hpt366.c
+++ b/drivers/ide/pci/hpt366.c
@@ -1334,9 +1334,13 @@ static int __devinit init_hpt366(struct pci_dev *dev)
1334static unsigned int __devinit init_chipset_hpt366(struct pci_dev *dev, const char *name) 1334static unsigned int __devinit init_chipset_hpt366(struct pci_dev *dev, const char *name)
1335{ 1335{
1336 int ret = 0; 1336 int ret = 0;
1337 /* FIXME: Not portable */ 1337
1338 /*
1339 * FIXME: Not portable. Also, why do we enable the ROM in the first place?
1340 * We don't seem to be using it.
1341 */
1338 if (dev->resource[PCI_ROM_RESOURCE].start) 1342 if (dev->resource[PCI_ROM_RESOURCE].start)
1339 pci_write_config_byte(dev, PCI_ROM_ADDRESS, 1343 pci_write_config_dword(dev, PCI_ROM_ADDRESS,
1340 dev->resource[PCI_ROM_RESOURCE].start | PCI_ROM_ADDRESS_ENABLE); 1344 dev->resource[PCI_ROM_RESOURCE].start | PCI_ROM_ADDRESS_ENABLE);
1341 1345
1342 pci_write_config_byte(dev, PCI_CACHE_LINE_SIZE, (L1_CACHE_BYTES / 4)); 1346 pci_write_config_byte(dev, PCI_CACHE_LINE_SIZE, (L1_CACHE_BYTES / 4));