X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EmbeddedPkg%2FUniversal%2FMmcDxe%2FMmc.c;h=3b9dc187276ce190e8200c751b89aa3893a41871;hp=48d32513d40915882819a6133879f9cbd73c989c;hb=76c09700edc67686b29662e81a3ca7d947594ce5;hpb=40842a5e7c5b66e711d709f16ae6fc1a7134e3e0 diff --git a/EmbeddedPkg/Universal/MmcDxe/Mmc.c b/EmbeddedPkg/Universal/MmcDxe/Mmc.c index 48d32513d4..3b9dc18727 100644 --- a/EmbeddedPkg/Universal/MmcDxe/Mmc.c +++ b/EmbeddedPkg/Universal/MmcDxe/Mmc.c @@ -1,27 +1,25 @@ /** @file Main file of the MMC Dxe driver. The driver entrypoint is defined into this file. - Copyright (c) 2011, ARM Limited. All rights reserved. - - This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php + Copyright (c) 2011-2013, ARM Limited. All rights reserved. - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ #include -#include #include #include #include #include #include -#include #include "Mmc.h" @@ -116,7 +114,7 @@ MMC_HOST_INSTANCE* CreateMmcHostInstance ( MmcHostInstance->MmcHost = MmcHost; // Create DevicePath for the new MMC Host - Status = MmcHost->BuildDevicePath(&NewDevicePathNode); + Status = MmcHost->BuildDevicePath (MmcHost, &NewDevicePathNode); if (EFI_ERROR (Status)) { goto FREE_MEDIA; } @@ -173,6 +171,9 @@ EFI_STATUS DestroyMmcHostInstance ( if (MmcHostInstance->BlockIo.Media) { FreePool(MmcHostInstance->BlockIo.Media); } + if (MmcHostInstance->CardInfo.ECSDData) { + FreePages (MmcHostInstance->CardInfo.ECSDData, EFI_SIZE_TO_PAGES (sizeof (ECSD))); + } FreePool (MmcHostInstance); return Status; @@ -248,7 +249,7 @@ MmcDriverBindingSupported ( } /** - + **/ EFI_STATUS EFIAPI @@ -308,7 +309,7 @@ MmcDriverBindingStart ( } /** - + **/ EFI_STATUS EFIAPI @@ -364,13 +365,13 @@ CheckCardsCallback ( MmcHostInstance = MMC_HOST_INSTANCE_FROM_LINK(CurrentLink); ASSERT(MmcHostInstance != NULL); - if (MmcHostInstance->MmcHost->IsCardPresent() == !MmcHostInstance->Initialized) { + if (MmcHostInstance->MmcHost->IsCardPresent (MmcHostInstance->MmcHost) == !MmcHostInstance->Initialized) { MmcHostInstance->State = MmcHwInitializationState; MmcHostInstance->BlockIo.Media->MediaPresent = !MmcHostInstance->Initialized; MmcHostInstance->Initialized = !MmcHostInstance->Initialized; - if(MmcHostInstance->BlockIo.Media->MediaPresent) { - InitializeMmcDevice(MmcHostInstance); + if (MmcHostInstance->BlockIo.Media->MediaPresent) { + InitializeMmcDevice (MmcHostInstance); } Status = gBS->ReinstallProtocolInterface ( @@ -400,7 +401,7 @@ EFI_DRIVER_BINDING_PROTOCOL gMmcDriverBinding = { }; /** - + **/ EFI_STATUS EFIAPI @@ -444,8 +445,8 @@ MmcDxeInitialize ( CheckCardsCallback, NULL, &gCheckCardsEvent); - ASSERT_EFI_ERROR (Status); - + ASSERT_EFI_ERROR (Status); + Status = gBS->SetTimer( gCheckCardsEvent, TimerPeriodic,