This file may be distributed separately from the Linux kernel, or\r
incorporated into other software packages, subject to the following license:\r
\r
- Permission is hereby granted, free of charge, to any person obtaining a copy\r
- of this source file (the "Software"), to deal in the Software without\r
- restriction, including without limitation the rights to use, copy, modify,\r
- merge, publish, distribute, sublicense, and/or sell copies of the Software,\r
- and to permit persons to whom the Software is furnished to do so, subject to\r
- the following conditions:\r
-\r
- The above copyright notice and this permission notice shall be included in\r
- all copies or substantial portions of the Software.\r
-\r
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\r
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\r
- IN THE SOFTWARE.\r
+ SPDX-License-Identifier: MIT\r
**/\r
\r
#include <Library/PrintLib.h>\r
STATIC XENBUS_PRIVATE_DATA gXenBusPrivateData;\r
\r
STATIC XENBUS_DEVICE_PATH gXenBusDevicePathTemplate = {\r
- .Vendor.Header.Type = HARDWARE_DEVICE_PATH,\r
- .Vendor.Header.SubType = HW_VENDOR_DP,\r
- .Vendor.Header.Length[0] = (UINT8) sizeof (XENBUS_DEVICE_PATH),\r
- .Vendor.Header.Length[1] = (UINT8) (sizeof (XENBUS_DEVICE_PATH) >> 8),\r
- .Vendor.Guid = XENBUS_PROTOCOL_GUID,\r
- .Type = 0,\r
- .DeviceId = 0\r
+ { // Vendor\r
+ { // Vendor.Header\r
+ HARDWARE_DEVICE_PATH, // Vendor.Header.Type\r
+ HW_VENDOR_DP, // Vendor.Header.SubType\r
+ {\r
+ (UINT8) (sizeof (XENBUS_DEVICE_PATH)), // Vendor.Header.Length[0]\r
+ (UINT8) (sizeof (XENBUS_DEVICE_PATH) >> 8), // Vendor.Header.Length[1]\r
+ }\r
+ },\r
+ XENBUS_PROTOCOL_GUID, // Vendor.Guid\r
+ },\r
+ 0, // Type\r
+ 0 // DeviceId\r
};\r
\r
\r
XENBUS_PRIVATE_DATA *Private;\r
EFI_STATUS Status;\r
XENBUS_DEVICE_PATH *TempXenBusPath;\r
- VOID *ChildPciIo;\r
+ VOID *ChildXenIo;\r
\r
AsciiSPrint (DevicePath, sizeof (DevicePath),\r
"device/%a/%a", Type, Id);\r
Private->XenBusIo.Type = AsciiStrDup (Type);\r
Private->XenBusIo.Node = AsciiStrDup (DevicePath);\r
Private->XenBusIo.Backend = BackendPath;\r
- Private->XenBusIo.DeviceId = AsciiStrDecimalToUintn (Id);\r
+ Private->XenBusIo.DeviceId = (UINT16)AsciiStrDecimalToUintn (Id);\r
Private->Dev = Dev;\r
\r
TempXenBusPath = AllocateCopyPool (sizeof (XENBUS_DEVICE_PATH),\r
}\r
\r
Status = gBS->OpenProtocol (Dev->ControllerHandle,\r
- &gEfiPciIoProtocolGuid,\r
- &ChildPciIo, Dev->This->DriverBindingHandle,\r
+ &gXenIoProtocolGuid,\r
+ &ChildXenIo, Dev->This->DriverBindingHandle,\r
Private->Handle,\r
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER);\r
if (EFI_ERROR (Status)) {\r
XenBusAddDevice (Dev, Type, Directory[Index]);\r
}\r
\r
- FreePool (Directory);\r
+ FreePool ((VOID*)Directory);\r
}\r
\r
\r
XenBusEnumerateDeviceType (Dev, Types[Index]);\r
}\r
\r
- FreePool (Types);\r
+ FreePool ((VOID*)Types);\r
\r
return XENSTORE_STATUS_SUCCESS;\r
}\r