]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/PvScsiDxe/PvScsi.c
OvmfPkg/PvScsiDxe: Install DriverBinding protocol
[mirror_edk2.git] / OvmfPkg / PvScsiDxe / PvScsi.c
CommitLineData
478c07d4
LA
1/** @file\r
2\r
3 This driver produces Extended SCSI Pass Thru Protocol instances for\r
4 pvscsi devices.\r
5\r
6 Copyright (C) 2020, Oracle and/or its affiliates.\r
7\r
8 SPDX-License-Identifier: BSD-2-Clause-Patent\r
9\r
10**/\r
11\r
ed08c571 12#include <Library/UefiLib.h>\r
478c07d4
LA
13#include <Uefi/UefiSpec.h>\r
14\r
ed08c571
LA
15//\r
16// Higher versions will be used before lower, 0x10-0xffffffef is the version\r
17// range for IHV (Indie Hardware Vendors)\r
18//\r
19#define PVSCSI_BINDING_VERSION 0x10\r
20\r
21//\r
22// Driver Binding\r
23//\r
24\r
25STATIC\r
26EFI_STATUS\r
27EFIAPI\r
28PvScsiDriverBindingSupported (\r
29 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
30 IN EFI_HANDLE ControllerHandle,\r
31 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL\r
32 )\r
33{\r
34 return EFI_UNSUPPORTED;\r
35}\r
36\r
37STATIC\r
38EFI_STATUS\r
39EFIAPI\r
40PvScsiDriverBindingStart (\r
41 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
42 IN EFI_HANDLE ControllerHandle,\r
43 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL\r
44 )\r
45{\r
46 return EFI_UNSUPPORTED;\r
47}\r
48\r
49STATIC\r
50EFI_STATUS\r
51EFIAPI\r
52PvScsiDriverBindingStop (\r
53 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
54 IN EFI_HANDLE ControllerHandle,\r
55 IN UINTN NumberOfChildren,\r
56 IN EFI_HANDLE *ChildHandleBuffer\r
57 )\r
58{\r
59 return EFI_UNSUPPORTED;\r
60}\r
61\r
62STATIC EFI_DRIVER_BINDING_PROTOCOL mPvScsiDriverBinding = {\r
63 &PvScsiDriverBindingSupported,\r
64 &PvScsiDriverBindingStart,\r
65 &PvScsiDriverBindingStop,\r
66 PVSCSI_BINDING_VERSION,\r
67 NULL, // ImageHandle, filled by EfiLibInstallDriverBindingComponentName2()\r
68 NULL // DriverBindingHandle, filled as well\r
69};\r
70\r
478c07d4
LA
71//\r
72// Entry Point\r
73//\r
74\r
75EFI_STATUS\r
76EFIAPI\r
77PvScsiEntryPoint (\r
78 IN EFI_HANDLE ImageHandle,\r
79 IN EFI_SYSTEM_TABLE *SystemTable\r
80 )\r
81{\r
ed08c571
LA
82 return EfiLibInstallDriverBindingComponentName2 (\r
83 ImageHandle,\r
84 SystemTable,\r
85 &mPvScsiDriverBinding,\r
86 ImageHandle,\r
87 NULL, // TODO Component name\r
88 NULL // TODO Component name\r
89 );\r
478c07d4 90}\r