#include <Protocol/PciIo.h>\r
#include <Protocol/XenIo.h>\r
\r
-#define PCI_VENDOR_ID_XEN 0x5853\r
-#define PCI_DEVICE_ID_XEN_PLATFORM 0x0001\r
+#define PCI_VENDOR_ID_XEN 0x5853\r
+#define PCI_DEVICE_ID_XEN_PLATFORM 0x0001\r
\r
/**\r
\r
EFI_STATUS\r
EFIAPI\r
XenIoPciDeviceBindingSupported (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE DeviceHandle,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE DeviceHandle,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_PCI_IO_PROTOCOL *PciIo;\r
- PCI_TYPE00 Pci;\r
+ EFI_STATUS Status;\r
+ EFI_PCI_IO_PROTOCOL *PciIo;\r
+ PCI_TYPE00 Pci;\r
\r
//\r
// Attempt to open the device with the PciIo set of interfaces. On success,\r
\r
if (Status == EFI_SUCCESS) {\r
if ((Pci.Hdr.VendorId == PCI_VENDOR_ID_XEN) &&\r
- (Pci.Hdr.DeviceId == PCI_DEVICE_ID_XEN_PLATFORM)) {\r
+ (Pci.Hdr.DeviceId == PCI_DEVICE_ID_XEN_PLATFORM))\r
+ {\r
Status = EFI_SUCCESS;\r
} else {\r
Status = EFI_UNSUPPORTED;\r
// We needed PCI IO access only transitorily, to see whether we support the\r
// device or not.\r
//\r
- gBS->CloseProtocol (DeviceHandle, &gEfiPciIoProtocolGuid,\r
- This->DriverBindingHandle, DeviceHandle);\r
+ gBS->CloseProtocol (\r
+ DeviceHandle,\r
+ &gEfiPciIoProtocolGuid,\r
+ This->DriverBindingHandle,\r
+ DeviceHandle\r
+ );\r
\r
return Status;\r
}\r
EFI_STATUS\r
EFIAPI\r
XenIoPciDeviceBindingStart (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE DeviceHandle,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE DeviceHandle,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
)\r
{\r
- EFI_STATUS Status;\r
- XENIO_PROTOCOL *XenIo;\r
- EFI_PCI_IO_PROTOCOL *PciIo;\r
- EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *BarDesc;\r
+ EFI_STATUS Status;\r
+ XENIO_PROTOCOL *XenIo;\r
+ EFI_PCI_IO_PROTOCOL *PciIo;\r
+ EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *BarDesc;\r
\r
- XenIo = (XENIO_PROTOCOL *) AllocateZeroPool (sizeof *XenIo);\r
+ XenIo = (XENIO_PROTOCOL *)AllocateZeroPool (sizeof *XenIo);\r
if (XenIo == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- Status = gBS->OpenProtocol (DeviceHandle, &gEfiPciIoProtocolGuid,\r
- (VOID **)&PciIo, This->DriverBindingHandle,\r
- DeviceHandle, EFI_OPEN_PROTOCOL_BY_DRIVER);\r
+ Status = gBS->OpenProtocol (\r
+ DeviceHandle,\r
+ &gEfiPciIoProtocolGuid,\r
+ (VOID **)&PciIo,\r
+ This->DriverBindingHandle,\r
+ DeviceHandle,\r
+ EFI_OPEN_PROTOCOL_BY_DRIVER\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto FreeXenIo;\r
}\r
// look like MMIO. The address space of the BAR1 will be used to map the\r
// Grant Table.\r
//\r
- Status = PciIo->GetBarAttributes (PciIo, PCI_BAR_IDX1, NULL, (VOID**) &BarDesc);\r
+ Status = PciIo->GetBarAttributes (PciIo, PCI_BAR_IDX1, NULL, (VOID **)&BarDesc);\r
ASSERT_EFI_ERROR (Status);\r
ASSERT (BarDesc->ResType == ACPI_ADDRESS_SPACE_TYPE_MEM);\r
\r
XenIo->GrantTableAddress = BarDesc->AddrRangeMin;\r
FreePool (BarDesc);\r
\r
- Status = gBS->InstallProtocolInterface (&DeviceHandle,\r
- &gXenIoProtocolGuid, EFI_NATIVE_INTERFACE, XenIo);\r
+ Status = gBS->InstallProtocolInterface (\r
+ &DeviceHandle,\r
+ &gXenIoProtocolGuid,\r
+ EFI_NATIVE_INTERFACE,\r
+ XenIo\r
+ );\r
\r
if (!EFI_ERROR (Status)) {\r
return EFI_SUCCESS;\r
}\r
\r
- gBS->CloseProtocol (DeviceHandle, &gEfiPciIoProtocolGuid,\r
- This->DriverBindingHandle, DeviceHandle);\r
+ gBS->CloseProtocol (\r
+ DeviceHandle,\r
+ &gEfiPciIoProtocolGuid,\r
+ This->DriverBindingHandle,\r
+ DeviceHandle\r
+ );\r
\r
FreeXenIo:\r
FreePool (XenIo);\r
EFI_STATUS\r
EFIAPI\r
XenIoPciDeviceBindingStop (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE DeviceHandle,\r
- IN UINTN NumberOfChildren,\r
- IN EFI_HANDLE *ChildHandleBuffer\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE DeviceHandle,\r
+ IN UINTN NumberOfChildren,\r
+ IN EFI_HANDLE *ChildHandleBuffer\r
)\r
{\r
- EFI_STATUS Status;\r
- XENIO_PROTOCOL *XenIo;\r
+ EFI_STATUS Status;\r
+ XENIO_PROTOCOL *XenIo;\r
\r
Status = gBS->OpenProtocol (\r
DeviceHandle, // candidate device\r
//\r
// Handle Stop() requests for in-use driver instances gracefully.\r
//\r
- Status = gBS->UninstallProtocolInterface (DeviceHandle,\r
- &gXenIoProtocolGuid, XenIo);\r
+ Status = gBS->UninstallProtocolInterface (\r
+ DeviceHandle,\r
+ &gXenIoProtocolGuid,\r
+ XenIo\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
- Status = gBS->CloseProtocol (DeviceHandle, &gEfiPciIoProtocolGuid,\r
- This->DriverBindingHandle, DeviceHandle);\r
+ Status = gBS->CloseProtocol (\r
+ DeviceHandle,\r
+ &gEfiPciIoProtocolGuid,\r
+ This->DriverBindingHandle,\r
+ DeviceHandle\r
+ );\r
\r
FreePool (XenIo);\r
\r
return Status;\r
}\r
\r
-\r
//\r
// The static object that groups the Supported() (ie. probe), Start() and\r
// Stop() functions of the driver together. Refer to UEFI Spec 2.3.1 + Errata\r
// C, 10.1 EFI Driver Binding Protocol.\r
//\r
-STATIC EFI_DRIVER_BINDING_PROTOCOL gDriverBinding = {\r
+STATIC EFI_DRIVER_BINDING_PROTOCOL gDriverBinding = {\r
&XenIoPciDeviceBindingSupported,\r
&XenIoPciDeviceBindingStart,\r
&XenIoPciDeviceBindingStop,\r
NULL // DriverBindingHandle, ditto\r
};\r
\r
-\r
//\r
// The purpose of the following scaffolding (EFI_COMPONENT_NAME_PROTOCOL and\r
// EFI_COMPONENT_NAME2_PROTOCOL implementation) is to format the driver's name\r
// Guide for UEFI 2.3.1 v1.01, 11 UEFI Driver and Controller Names.\r
//\r
STATIC\r
-EFI_UNICODE_STRING_TABLE mDriverNameTable[] = {\r
+EFI_UNICODE_STRING_TABLE mDriverNameTable[] = {\r
{ "eng;en", L"XenIo PCI Driver" },\r
{ NULL, NULL }\r
};\r
\r
STATIC\r
-EFI_COMPONENT_NAME_PROTOCOL gComponentName;\r
+EFI_COMPONENT_NAME_PROTOCOL gComponentName;\r
\r
EFI_STATUS\r
EFIAPI\r
XenIoPciGetDriverName (\r
- IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **DriverName\r
+ IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **DriverName\r
)\r
{\r
return LookupUnicodeString2 (\r
EFI_STATUS\r
EFIAPI\r
XenIoPciGetDeviceName (\r
- IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
- IN EFI_HANDLE DeviceHandle,\r
- IN EFI_HANDLE ChildHandle,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **ControllerName\r
+ IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
+ IN EFI_HANDLE DeviceHandle,\r
+ IN EFI_HANDLE ChildHandle,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **ControllerName\r
)\r
{\r
return EFI_UNSUPPORTED;\r
}\r
\r
STATIC\r
-EFI_COMPONENT_NAME_PROTOCOL gComponentName = {\r
+EFI_COMPONENT_NAME_PROTOCOL gComponentName = {\r
&XenIoPciGetDriverName,\r
&XenIoPciGetDeviceName,\r
"eng" // SupportedLanguages, ISO 639-2 language codes\r
};\r
\r
STATIC\r
-EFI_COMPONENT_NAME2_PROTOCOL gComponentName2 = {\r
- (EFI_COMPONENT_NAME2_GET_DRIVER_NAME) &XenIoPciGetDriverName,\r
- (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) &XenIoPciGetDeviceName,\r
+EFI_COMPONENT_NAME2_PROTOCOL gComponentName2 = {\r
+ (EFI_COMPONENT_NAME2_GET_DRIVER_NAME)&XenIoPciGetDriverName,\r
+ (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME)&XenIoPciGetDeviceName,\r
"en" // SupportedLanguages, RFC 4646 language codes\r
};\r
\r
-\r
//\r
// Entry point of this driver.\r
//\r
EFI_STATUS\r
EFIAPI\r
XenIoPciDeviceEntryPoint (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
return EfiLibInstallDriverBindingComponentName2 (\r