diff options
author | Christoph Grenz <christophg+cb@grenz-bonn.de> | 2013-07-04 02:54:04 +0200 |
---|---|---|
committer | Ronald G. Minnich <rminnich@gmail.com> | 2013-07-04 05:15:41 +0200 |
commit | 0bd5dff58cb43b307bcb02ac6baa436a525a5025 (patch) | |
tree | c3d36bc93866a8dc3b49a3121984e0724d8f8016 | |
parent | 9e974232e4896ee971745c5127cbc37f1682171b (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.asl | 12 |
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 |