3 This driver produces Extended SCSI Pass Thru Protocol instances for
4 LSI Fusion MPT SCSI devices.
6 Copyright (C) 2020, Oracle and/or its affiliates.
8 SPDX-License-Identifier: BSD-2-Clause-Patent
12 #include <Library/UefiLib.h>
13 #include <Uefi/UefiSpec.h>
16 // Higher versions will be used before lower, 0x10-0xffffffef is the version
17 // range for IVH (Indie Hardware Vendors)
19 #define MPT_SCSI_BINDING_VERSION 0x10
28 MptScsiControllerSupported (
29 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
30 IN EFI_HANDLE ControllerHandle
,
31 IN EFI_DEVICE_PATH_PROTOCOL
*RemainingDevicePath OPTIONAL
34 return EFI_UNSUPPORTED
;
40 MptScsiControllerStart (
41 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
42 IN EFI_HANDLE ControllerHandle
,
43 IN EFI_DEVICE_PATH_PROTOCOL
*RemainingDevicePath OPTIONAL
46 return EFI_UNSUPPORTED
;
52 MptScsiControllerStop (
53 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
54 IN EFI_HANDLE ControllerHandle
,
55 IN UINTN NumberOfChildren
,
56 IN EFI_HANDLE
*ChildHandleBuffer
59 return EFI_UNSUPPORTED
;
63 EFI_DRIVER_BINDING_PROTOCOL mMptScsiDriverBinding
= {
64 &MptScsiControllerSupported
,
65 &MptScsiControllerStart
,
66 &MptScsiControllerStop
,
67 MPT_SCSI_BINDING_VERSION
,
68 NULL
, // ImageHandle, filled by EfiLibInstallDriverBindingComponentName2
69 NULL
, // DriverBindingHandle, filled as well
79 IN EFI_HANDLE ImageHandle
,
80 IN EFI_SYSTEM_TABLE
*SystemTable
83 return EfiLibInstallDriverBindingComponentName2 (
86 &mMptScsiDriverBinding
,
87 ImageHandle
, // The handle to install onto
88 NULL
, // TODO Component name
89 NULL
// TODO Component name