summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Grenz <christophg+cb@grenz-bonn.de>2013-07-04 02:54:04 +0200
committerRonald G. Minnich <rminnich@gmail.com>2013-07-04 05:15:41 +0200
commit0bd5dff58cb43b307bcb02ac6baa436a525a5025 (patch)
treec3d36bc93866a8dc3b49a3121984e0724d8f8016
parent9e974232e4896ee971745c5127cbc37f1682171b (diff)
w83627hf/acpi: Fix type error in floppy drive enumeration code
The enumeration method tried to evaluate an one-byte OperationRegion instead of a field in this OperationRegion, which resulted in an AE_TYPE error at runtime. Indexing the OperationRegion with a single field fixes this error. Change-Id: I15dd7aa6ecafb3a215d165d2b721003446815025 Signed-off-by: Christoph Grenz <christophg+cb@grenz-bonn.de> Reviewed-on: http://review.coreboot.org/3603 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
-rw-r--r--src/superio/winbond/w83627hf/acpi/superio.asl12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/superio/winbond/w83627hf/acpi/superio.asl b/src/superio/winbond/w83627hf/acpi/superio.asl
index ff95dfcaba..2e0c01ed43 100644
--- a/src/superio/winbond/w83627hf/acpi/superio.asl
+++ b/src/superio/winbond/w83627hf/acpi/superio.asl
@@ -350,6 +350,10 @@ Device(SIO) {
DATA, 8,
}
OperationRegion (FIO2, SystemIO, 0x3F7, 0x01)
+ Field (FIO2, ByteAcc, NoLock, Preserve)
+ {
+ SIFR, 8
+ }
CreateByteField (_FDE, 3, FD1)
CreateByteField (_FDE, 7, FD2)
@@ -359,25 +363,25 @@ Device(SIO) {
Store(One, ACT1)
Store(0, SELE)
Sleep(0x64)
- If (FIO2) { Store (One, FD1) }
+ If (SIFR) { Store (One, FD1) }
Store(Zero, ACT1)
Store(One, ACT2)
Store(1, SELE)
Sleep(0x64)
- If (FIO2) { Store (One, FD2) }
+ If (SIFR) { Store (One, FD2) }
Store(Zero, ACT2)
Store(One, ACT3)
Store(2, SELE)
Sleep(0x64)
- If (FIO2) { Store (One, FD3) }
+ If (SIFR) { Store (One, FD3) }
Store(Zero, ACT3)
Store(One, ACT4)
Store(3, SELE)
Sleep(0x64)
- If (FIO2) { Store (One, FD4) }
+ If (SIFR) { Store (One, FD4) }
Store(Zero, ACT4)
Store(Zero, SELE)
#endif