[efi] Add efi_strerror()

EFI_STATUS is defined as an INTN, which maps to UINT32 (i.e. unsigned
int) on i386 and UINT64 (i.e. unsigned long) on x86_64.  This would
require a cast each time the error status is printed.

Add efi_strerror() to avoid this ickiness and simultaneously enable
prettier reporting of EFI status codes.
This commit is contained in:
Michael Brown
2008-11-18 19:45:44 -08:00
parent d9b3d09910
commit 3f85626fa9
9 changed files with 81 additions and 31 deletions

View File

@@ -46,9 +46,9 @@ int efipci_read ( struct pci_device *pci, unsigned long location,
efipci_address ( pci, location ), 1,
value ) ) != 0 ) {
DBG ( "EFIPCI config read from %02x:%02x.%x offset %02lx "
"failed: %x\n", pci->bus, PCI_SLOT ( pci->devfn ),
"failed: %s\n", pci->bus, PCI_SLOT ( pci->devfn ),
PCI_FUNC ( pci->devfn ), EFIPCI_OFFSET ( location ),
efirc );
efi_strerror ( efirc ) );
return -EIO;
}
@@ -63,9 +63,9 @@ int efipci_write ( struct pci_device *pci, unsigned long location,
efipci_address ( pci, location ), 1,
&value ) ) != 0 ) {
DBG ( "EFIPCI config write to %02x:%02x.%x offset %02lx "
"failed: %x\n", pci->bus, PCI_SLOT ( pci->devfn ),
"failed: %s\n", pci->bus, PCI_SLOT ( pci->devfn ),
PCI_FUNC ( pci->devfn ), EFIPCI_OFFSET ( location ),
efirc );
efi_strerror ( efirc ) );
return -EIO;
}