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>
This commit is contained in:
Christoph Grenz 2013-07-04 02:54:04 +02:00 committed by Ronald G. Minnich
parent 9e974232e4
commit 0bd5dff58c
1 changed files with 8 additions and 4 deletions

View File

@ -350,6 +350,10 @@ Device(SIO) {
DATA, 8, DATA, 8,
} }
OperationRegion (FIO2, SystemIO, 0x3F7, 0x01) OperationRegion (FIO2, SystemIO, 0x3F7, 0x01)
Field (FIO2, ByteAcc, NoLock, Preserve)
{
SIFR, 8
}
CreateByteField (_FDE, 3, FD1) CreateByteField (_FDE, 3, FD1)
CreateByteField (_FDE, 7, FD2) CreateByteField (_FDE, 7, FD2)
@ -359,25 +363,25 @@ Device(SIO) {
Store(One, ACT1) Store(One, ACT1)
Store(0, SELE) Store(0, SELE)
Sleep(0x64) Sleep(0x64)
If (FIO2) { Store (One, FD1) } If (SIFR) { Store (One, FD1) }
Store(Zero, ACT1) Store(Zero, ACT1)
Store(One, ACT2) Store(One, ACT2)
Store(1, SELE) Store(1, SELE)
Sleep(0x64) Sleep(0x64)
If (FIO2) { Store (One, FD2) } If (SIFR) { Store (One, FD2) }
Store(Zero, ACT2) Store(Zero, ACT2)
Store(One, ACT3) Store(One, ACT3)
Store(2, SELE) Store(2, SELE)
Sleep(0x64) Sleep(0x64)
If (FIO2) { Store (One, FD3) } If (SIFR) { Store (One, FD3) }
Store(Zero, ACT3) Store(Zero, ACT3)
Store(One, ACT4) Store(One, ACT4)
Store(3, SELE) Store(3, SELE)
Sleep(0x64) Sleep(0x64)
If (FIO2) { Store (One, FD4) } If (SIFR) { Store (One, FD4) }
Store(Zero, ACT4) Store(Zero, ACT4)
Store(Zero, SELE) Store(Zero, SELE)
#endif #endif