EmbeddedPkg/MmcDxe: Add 'This' pointer attribute to protocol function
This attribute allows the EFI_MMC_HOST_PROTOCOL interface to manage multiple instances in one driver. EmbeddedPkg/MmcDxe: Add Revision attribute to the EFI_MMC_HOST_PROTOCOL Note: The ARM PL180 and Omap35xx MMC host drivers has been updated. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12255 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -78,36 +78,75 @@ typedef enum _MMC_STATE {
|
||||
MmcDisconnectState,
|
||||
} MMC_STATE;
|
||||
|
||||
typedef BOOLEAN (*MMC_ISCARDPRESENT)();
|
||||
///
|
||||
/// Forward declaration for EFI_MMC_HOST_PROTOCOL
|
||||
///
|
||||
typedef struct _EFI_MMC_HOST_PROTOCOL EFI_MMC_HOST_PROTOCOL;
|
||||
|
||||
typedef BOOLEAN (*MMC_ISREADONLY)();
|
||||
typedef BOOLEAN (EFIAPI *MMC_ISCARDPRESENT) (
|
||||
IN EFI_MMC_HOST_PROTOCOL *This
|
||||
);
|
||||
|
||||
typedef EFI_STATUS (*MMC_BUILDDEVICEPATH)(EFI_DEVICE_PATH_PROTOCOL **DevicePath);
|
||||
typedef BOOLEAN (EFIAPI *MMC_ISREADONLY) (
|
||||
IN EFI_MMC_HOST_PROTOCOL *This
|
||||
);
|
||||
|
||||
typedef EFI_STATUS (*MMC_NOTIFYSTATE)(MMC_STATE State);
|
||||
typedef EFI_STATUS (EFIAPI *MMC_BUILDDEVICEPATH) (
|
||||
IN EFI_MMC_HOST_PROTOCOL *This,
|
||||
OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath
|
||||
);
|
||||
|
||||
typedef EFI_STATUS (*MMC_SENDCOMMAND)(MMC_CMD Cmd, UINT32 Argument);
|
||||
typedef EFI_STATUS (EFIAPI *MMC_NOTIFYSTATE) (
|
||||
IN EFI_MMC_HOST_PROTOCOL *This,
|
||||
IN MMC_STATE State
|
||||
);
|
||||
|
||||
typedef EFI_STATUS (*MMC_RECEIVERESPONSE)(MMC_RESPONSE_TYPE Type, UINT32* Buffer);
|
||||
typedef EFI_STATUS (EFIAPI *MMC_SENDCOMMAND) (
|
||||
IN EFI_MMC_HOST_PROTOCOL *This,
|
||||
IN MMC_CMD Cmd,
|
||||
IN UINT32 Argument
|
||||
);
|
||||
|
||||
typedef EFI_STATUS (*MMC_READBLOCKDATA)(EFI_LBA Lba, UINTN Length, UINT32* Buffer);
|
||||
typedef EFI_STATUS (EFIAPI *MMC_RECEIVERESPONSE) (
|
||||
IN EFI_MMC_HOST_PROTOCOL *This,
|
||||
IN MMC_RESPONSE_TYPE Type,
|
||||
IN UINT32 *Buffer
|
||||
);
|
||||
|
||||
typedef EFI_STATUS (EFIAPI *MMC_READBLOCKDATA) (
|
||||
IN EFI_MMC_HOST_PROTOCOL *This,
|
||||
IN EFI_LBA Lba,
|
||||
IN UINTN Length,
|
||||
OUT UINT32 *Buffer
|
||||
);
|
||||
|
||||
typedef EFI_STATUS (EFIAPI *MMC_WRITEBLOCKDATA) (
|
||||
IN EFI_MMC_HOST_PROTOCOL *This,
|
||||
IN EFI_LBA Lba,
|
||||
IN UINTN Length,
|
||||
IN UINT32 *Buffer
|
||||
);
|
||||
|
||||
typedef EFI_STATUS (*MMC_WRITEBLOCKDATA)(EFI_LBA Lba, UINTN Length, UINT32* Buffer);
|
||||
|
||||
typedef struct _EFI_MMC_HOST_PROTOCOL {
|
||||
MMC_ISCARDPRESENT IsCardPresent;
|
||||
MMC_ISREADONLY IsReadOnly;
|
||||
MMC_BUILDDEVICEPATH BuildDevicePath;
|
||||
|
||||
MMC_NOTIFYSTATE NotifyState;
|
||||
UINT32 Revision;
|
||||
MMC_ISCARDPRESENT IsCardPresent;
|
||||
MMC_ISREADONLY IsReadOnly;
|
||||
MMC_BUILDDEVICEPATH BuildDevicePath;
|
||||
|
||||
MMC_SENDCOMMAND SendCommand;
|
||||
MMC_RECEIVERESPONSE ReceiveResponse;
|
||||
MMC_NOTIFYSTATE NotifyState;
|
||||
|
||||
MMC_SENDCOMMAND SendCommand;
|
||||
MMC_RECEIVERESPONSE ReceiveResponse;
|
||||
|
||||
MMC_READBLOCKDATA ReadBlockData;
|
||||
MMC_WRITEBLOCKDATA WriteBlockData;
|
||||
|
||||
MMC_READBLOCKDATA ReadBlockData;
|
||||
MMC_WRITEBLOCKDATA WriteBlockData;
|
||||
} EFI_MMC_HOST_PROTOCOL;
|
||||
|
||||
#define MMC_HOST_PROTOCOL_REVISION 0x00010001 // 1.1
|
||||
|
||||
extern EFI_GUID gEfiMmcHostProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user