Re: [edk2] [PATCH 00/26] MdeModulePkg Remove redundant functions

2018-08-08 Thread Zeng, Star
I agree with Laszlo.

Back to this patch series, the changes are made in drivers, but not in library.
The internal useless functions removed in core drivers should be not consumed 
by platform code.
It is consumer's bug if there is real case. :)


Thanks,
Star
-Original Message-
From: Laszlo Ersek [mailto:ler...@redhat.com] 
Sent: Thursday, August 9, 2018 1:21 AM
To: Carsey, Jaben ; Leif Lindholm 
; Zhang, Shenglei 
Cc: edk2-devel@lists.01.org; Dong, Eric ; Zeng, Star 

Subject: Re: [edk2] [PATCH 00/26] MdeModulePkg Remove redundant functions

On 08/08/18 18:05, Carsey, Jaben wrote:
> I have a question:
> How do we know that no platforms use these functions

We don't.

> given that not all of everyone's platforms are stored in the same place?

The general idea in open source development is that, when a contributor 
modifies central / infrastructure code, they do their best to grep the tree for 
possible client sites, and to update those sites as well, in a well-structured 
patch set. Then they CC the maintainers of those client sites too. (It's not 
necessary that they be able to *test* all that client code too, but the initial 
effort should be put in, and the maintainers should be notified, for both 
review's and testing's sake.)

With out-of-tree client sites, the contributor can't do much, beyond posting 
the patches publicly. Out-of-tree consumers (downstreams) are welcome to:

(a) upstream their platforms to the main tree, so contributors can see and 
modify them at once,
(b) monitor the mailing list diligently for possibly intrusive changes, and 
request changes / delays.

I realize (a) doesn't really work here, because we have a separate 
edk2-platforms tree (maybe yet another edk2-platforms-osi too?) I'm not 
qualified to comment on whether that's a good idea or not; suffice it to say 
that, if someone wanted to evict OvmfPkg or ArmVirtPkg from the core
edk2 tree, I'd push back very hard. :)

OTOH, in the specific case, we can consider the following a replacement for (a):

(c) participate in the standardization process (the working groups) and 
influence the reference implementation through those.

> I agree with Leif on timing; I really like cleanup.

I too agree that this should go in after the quiet period.

Thanks
Laszlo

> 
> -Jaben
> 
>> -Original Message-
>> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf 
>> Of Leif Lindholm
>> Sent: Wednesday, August 08, 2018 7:55 AM
>> To: Zhang, Shenglei 
>> Cc: edk2-devel@lists.01.org; Dong, Eric ; Zeng, 
>> Star 
>> Subject: Re: [edk2] [PATCH 00/26] MdeModulePkg Remove redundant 
>> functions
>>
>> Eric, Star,
>>
>> On Wed, Aug 08, 2018 at 04:46:46PM +0800, shenglei wrote:
>>> A lot of redundant functions which are never calld have been 
>>> removed.I
>> manually
>>> search these fuctions in source files to make sure that they are not 
>>> used
>> elsewhere.
>>> Also the MdeModulePkg was built to ensure that.
>>
>> I have no objection to this set, but it is quite invasive.
>> So can we please ensure it does not get pushed until after the 201808 
>> stable tag has been made? (Mike has just announced the quiet period.)
>>
>> Best Regards,
>>  
>>   
>> Leif
>>
>>
>>> shenglei (26):
>>>   MdeModulePkg CapsuleApp: Remove a redundant function
>>>   MdeModulePkg UiApp: Remove redundant functions
>>>   MdeModulePkg AtaAtapiPassThru: Remove redundant functions
>>>   MdeModulePkg EhciDxe: Remove redundant functions
>>>   MdeModulePkg NvmExpressDxe: Remove redundant functions
>>>   MdeModulePkg PciBusDxe: Remove redundant functions
>>>   MdeModulePkg SdMmcPciHcDxe: Remove redundant functions
>>>   MdeModulePkg UhciPei: Remove redundant functions
>>>   MdeModulePkg XhciDxe: Remove redundant functions
>>>   MdeModulePkg XhciPei: Remove redundant functions
>>>   MdeModulePkg UfsBlockIoPei: Remove redundant functions
>>>   MdeModulePkg UfsPassThruDxe: Remove redundant functions
>>>   MdeModulePkg UsbBotPei: Remove redundant functions
>>>   MdeModulePkg UsbBusDxe: Remove redundant functions
>>>   MdeModulePkg UsbBusPei: Remove redundant functions
>>>   MdeModulePkg Core/Dxe: Remove redundant functions
>>>   MdeModulePkg PiSmmCore: Remove redundant functions
>>>   MdeModulePkg Ps2KeyboardDxe: Remove a redundant function
>>>   MdeModulePkg EmmcBlockIoPei: Remove a redundant function
>>>   MdeModulePkg SdBlockIoPei: Remove a redundant function
>>>   MdeModulePkg TerminalDxe: Remove a redun

Re: [edk2] [PATCH 00/26] MdeModulePkg Remove redundant functions

2018-08-08 Thread Zeng, Star
Leif,

Do not worry, it is still in review progress.
Yes, we will make sure the patches do not get pushed until after the 201808 
stable tag has been made.


Thanks,
Star
-Original Message-
From: Leif Lindholm [mailto:leif.lindh...@linaro.org] 
Sent: Wednesday, August 8, 2018 10:55 PM
To: Zhang, Shenglei 
Cc: edk2-devel@lists.01.org; Dong, Eric ; Zeng, Star 

Subject: Re: [edk2] [PATCH 00/26] MdeModulePkg Remove redundant functions

Eric, Star,

On Wed, Aug 08, 2018 at 04:46:46PM +0800, shenglei wrote:
> A lot of redundant functions which are never calld have been removed.I 
> manually search these fuctions in source files to make sure that they are not 
> used elsewhere.
> Also the MdeModulePkg was built to ensure that.

I have no objection to this set, but it is quite invasive.
So can we please ensure it does not get pushed until after the 201808 stable 
tag has been made? (Mike has just announced the quiet period.)

Best Regards,

   Leif


> shenglei (26):
>   MdeModulePkg CapsuleApp: Remove a redundant function
>   MdeModulePkg UiApp: Remove redundant functions
>   MdeModulePkg AtaAtapiPassThru: Remove redundant functions
>   MdeModulePkg EhciDxe: Remove redundant functions
>   MdeModulePkg NvmExpressDxe: Remove redundant functions
>   MdeModulePkg PciBusDxe: Remove redundant functions
>   MdeModulePkg SdMmcPciHcDxe: Remove redundant functions
>   MdeModulePkg UhciPei: Remove redundant functions
>   MdeModulePkg XhciDxe: Remove redundant functions
>   MdeModulePkg XhciPei: Remove redundant functions
>   MdeModulePkg UfsBlockIoPei: Remove redundant functions
>   MdeModulePkg UfsPassThruDxe: Remove redundant functions
>   MdeModulePkg UsbBotPei: Remove redundant functions
>   MdeModulePkg UsbBusDxe: Remove redundant functions
>   MdeModulePkg UsbBusPei: Remove redundant functions
>   MdeModulePkg Core/Dxe: Remove redundant functions
>   MdeModulePkg PiSmmCore: Remove redundant functions
>   MdeModulePkg Ps2KeyboardDxe: Remove a redundant function
>   MdeModulePkg EmmcBlockIoPei: Remove a redundant function
>   MdeModulePkg SdBlockIoPei: Remove a redundant function
>   MdeModulePkg TerminalDxe: Remove a redundant function
>   MdeModulePkg HiiDatabaseDxe: Remove a redundant function
>   MdeModulePkg Ip4Dxe: Remove a redundant function
>   MdeModulePkg IScsiDxe: Remove a redundant function
>   MdeModulePkg Tcp4Dxe: Remove redundant functions
>   MdeModulePkg SetupBrowserDxe: Remove a redundant function
> 
>  .../Application/CapsuleApp/CapsuleDump.c  |  31 ---
>  MdeModulePkg/Application/UiApp/FrontPage.c|  40 ---
>  MdeModulePkg/Application/UiApp/Ui.h   |  30 --
>  .../Bus/Ata/AtaAtapiPassThru/AhciMode.c   | 104 ---
>  .../Bus/Ata/AtaAtapiPassThru/IdeMode.c| 257 --
>  .../Bus/Isa/Ps2KeyboardDxe/Ps2KbdCtrller.c|  26 --
>  .../Bus/Isa/Ps2KeyboardDxe/Ps2Keyboard.h  |  12 -
>  MdeModulePkg/Bus/Pci/EhciDxe/EhciDebug.c  |  27 --
>  MdeModulePkg/Bus/Pci/EhciDxe/EhciDebug.h  |  11 -
>  MdeModulePkg/Bus/Pci/EhciDxe/EhciReg.c|  44 ---
>  .../Bus/Pci/NvmExpressDxe/NvmExpressHci.c | 110 
>  .../Bus/Pci/PciBusDxe/PciDeviceSupport.c  |  80 --
>  .../Bus/Pci/PciBusDxe/PciDeviceSupport.h  |  17 --
>  MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c|  41 ---
>  MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.h|  21 --
>  MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c | 107 
>  MdeModulePkg/Bus/Pci/UhciPei/DmaMem.c |  22 --
>  MdeModulePkg/Bus/Pci/UhciPei/UhcPeim.c| 125 -
>  MdeModulePkg/Bus/Pci/UhciPei/UhcPeim.h|  78 --
>  MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c|  66 -
>  MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h|  28 --
>  MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c   |  24 --
>  MdeModulePkg/Bus/Pci/XhciPei/XhcPeim.c|  22 --
>  MdeModulePkg/Bus/Pci/XhciPei/XhciReg.h|  14 -
>  .../Bus/Sd/EmmcBlockIoPei/EmmcHcMem.c |  24 --
>  MdeModulePkg/Bus/Sd/SdBlockIoPei/SdHcMem.c|  24 --
>  .../Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.c | 101 ---
>  MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c |  24 --
>  MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.c   | 180 
>  .../Bus/Ufs/UfsPassThruDxe/UfsPassThruHci.c   |  49 
>  MdeModulePkg/Bus/Usb/UsbBotPei/PeiUsbLib.c| 190 -
>  MdeModulePkg/Bus/Usb/UsbBotPei/PeiUsbLib.h|  98 ---
>  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbHub.c   |  68 -
>  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c   | 146 --
>  

Re: [edk2] [PATCH 00/26] MdeModulePkg Remove redundant functions

2018-08-08 Thread Laszlo Ersek
On 08/08/18 18:05, Carsey, Jaben wrote:
> I have a question:
> How do we know that no platforms use these functions

We don't.

> given that not all of everyone's platforms are stored in the same place?

The general idea in open source development is that, when a contributor
modifies central / infrastructure code, they do their best to grep the
tree for possible client sites, and to update those sites as well, in a
well-structured patch set. Then they CC the maintainers of those client
sites too. (It's not necessary that they be able to *test* all that
client code too, but the initial effort should be put in, and the
maintainers should be notified, for both review's and testing's sake.)

With out-of-tree client sites, the contributor can't do much, beyond
posting the patches publicly. Out-of-tree consumers (downstreams) are
welcome to:

(a) upstream their platforms to the main tree, so contributors can see
and modify them at once,
(b) monitor the mailing list diligently for possibly intrusive changes,
and request changes / delays.

I realize (a) doesn't really work here, because we have a separate
edk2-platforms tree (maybe yet another edk2-platforms-osi too?) I'm not
qualified to comment on whether that's a good idea or not; suffice it to
say that, if someone wanted to evict OvmfPkg or ArmVirtPkg from the core
edk2 tree, I'd push back very hard. :)

OTOH, in the specific case, we can consider the following a replacement
for (a):

(c) participate in the standardization process (the working groups) and
influence the reference implementation through those.

> I agree with Leif on timing; I really like cleanup.

I too agree that this should go in after the quiet period.

Thanks
Laszlo

> 
> -Jaben
> 
>> -Original Message-
>> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
>> Leif Lindholm
>> Sent: Wednesday, August 08, 2018 7:55 AM
>> To: Zhang, Shenglei 
>> Cc: edk2-devel@lists.01.org; Dong, Eric ; Zeng, Star
>> 
>> Subject: Re: [edk2] [PATCH 00/26] MdeModulePkg Remove redundant
>> functions
>>
>> Eric, Star,
>>
>> On Wed, Aug 08, 2018 at 04:46:46PM +0800, shenglei wrote:
>>> A lot of redundant functions which are never calld have been removed.I
>> manually
>>> search these fuctions in source files to make sure that they are not used
>> elsewhere.
>>> Also the MdeModulePkg was built to ensure that.
>>
>> I have no objection to this set, but it is quite invasive.
>> So can we please ensure it does not get pushed until after the 201808
>> stable tag has been made? (Mike has just announced the quiet period.)
>>
>> Best Regards,
>>  
>>   Leif
>>
>>
>>> shenglei (26):
>>>   MdeModulePkg CapsuleApp: Remove a redundant function
>>>   MdeModulePkg UiApp: Remove redundant functions
>>>   MdeModulePkg AtaAtapiPassThru: Remove redundant functions
>>>   MdeModulePkg EhciDxe: Remove redundant functions
>>>   MdeModulePkg NvmExpressDxe: Remove redundant functions
>>>   MdeModulePkg PciBusDxe: Remove redundant functions
>>>   MdeModulePkg SdMmcPciHcDxe: Remove redundant functions
>>>   MdeModulePkg UhciPei: Remove redundant functions
>>>   MdeModulePkg XhciDxe: Remove redundant functions
>>>   MdeModulePkg XhciPei: Remove redundant functions
>>>   MdeModulePkg UfsBlockIoPei: Remove redundant functions
>>>   MdeModulePkg UfsPassThruDxe: Remove redundant functions
>>>   MdeModulePkg UsbBotPei: Remove redundant functions
>>>   MdeModulePkg UsbBusDxe: Remove redundant functions
>>>   MdeModulePkg UsbBusPei: Remove redundant functions
>>>   MdeModulePkg Core/Dxe: Remove redundant functions
>>>   MdeModulePkg PiSmmCore: Remove redundant functions
>>>   MdeModulePkg Ps2KeyboardDxe: Remove a redundant function
>>>   MdeModulePkg EmmcBlockIoPei: Remove a redundant function
>>>   MdeModulePkg SdBlockIoPei: Remove a redundant function
>>>   MdeModulePkg TerminalDxe: Remove a redundant function
>>>   MdeModulePkg HiiDatabaseDxe: Remove a redundant function
>>>   MdeModulePkg Ip4Dxe: Remove a redundant function
>>>   MdeModulePkg IScsiDxe: Remove a redundant function
>>>   MdeModulePkg Tcp4Dxe: Remove redundant functions
>>>   MdeModulePkg SetupBrowserDxe: Remove a redundant function
>>>
>>>  .../Application/CapsuleApp/CapsuleDump.c  |  31 ---
>>>  MdeModulePkg/Application/UiApp/FrontPage.c|  40 ---
>>>  MdeModulePkg/Application/UiApp/Ui.h   |  30 --
>>>  .../Bus/Ata/AtaAtapiPassThr

Re: [edk2] [PATCH 00/26] MdeModulePkg Remove redundant functions

2018-08-08 Thread Carsey, Jaben
I have a question:
How do we know that no platforms use these functions given that not all of 
everyone's platforms are stored in the same place?

I agree with Leif on timing; I really like cleanup.

-Jaben

> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Leif Lindholm
> Sent: Wednesday, August 08, 2018 7:55 AM
> To: Zhang, Shenglei 
> Cc: edk2-devel@lists.01.org; Dong, Eric ; Zeng, Star
> 
> Subject: Re: [edk2] [PATCH 00/26] MdeModulePkg Remove redundant
> functions
> 
> Eric, Star,
> 
> On Wed, Aug 08, 2018 at 04:46:46PM +0800, shenglei wrote:
> > A lot of redundant functions which are never calld have been removed.I
> manually
> > search these fuctions in source files to make sure that they are not used
> elsewhere.
> > Also the MdeModulePkg was built to ensure that.
> 
> I have no objection to this set, but it is quite invasive.
> So can we please ensure it does not get pushed until after the 201808
> stable tag has been made? (Mike has just announced the quiet period.)
> 
> Best Regards,
>   
>  Leif
> 
> 
> > shenglei (26):
> >   MdeModulePkg CapsuleApp: Remove a redundant function
> >   MdeModulePkg UiApp: Remove redundant functions
> >   MdeModulePkg AtaAtapiPassThru: Remove redundant functions
> >   MdeModulePkg EhciDxe: Remove redundant functions
> >   MdeModulePkg NvmExpressDxe: Remove redundant functions
> >   MdeModulePkg PciBusDxe: Remove redundant functions
> >   MdeModulePkg SdMmcPciHcDxe: Remove redundant functions
> >   MdeModulePkg UhciPei: Remove redundant functions
> >   MdeModulePkg XhciDxe: Remove redundant functions
> >   MdeModulePkg XhciPei: Remove redundant functions
> >   MdeModulePkg UfsBlockIoPei: Remove redundant functions
> >   MdeModulePkg UfsPassThruDxe: Remove redundant functions
> >   MdeModulePkg UsbBotPei: Remove redundant functions
> >   MdeModulePkg UsbBusDxe: Remove redundant functions
> >   MdeModulePkg UsbBusPei: Remove redundant functions
> >   MdeModulePkg Core/Dxe: Remove redundant functions
> >   MdeModulePkg PiSmmCore: Remove redundant functions
> >   MdeModulePkg Ps2KeyboardDxe: Remove a redundant function
> >   MdeModulePkg EmmcBlockIoPei: Remove a redundant function
> >   MdeModulePkg SdBlockIoPei: Remove a redundant function
> >   MdeModulePkg TerminalDxe: Remove a redundant function
> >   MdeModulePkg HiiDatabaseDxe: Remove a redundant function
> >   MdeModulePkg Ip4Dxe: Remove a redundant function
> >   MdeModulePkg IScsiDxe: Remove a redundant function
> >   MdeModulePkg Tcp4Dxe: Remove redundant functions
> >   MdeModulePkg SetupBrowserDxe: Remove a redundant function
> >
> >  .../Application/CapsuleApp/CapsuleDump.c  |  31 ---
> >  MdeModulePkg/Application/UiApp/FrontPage.c|  40 ---
> >  MdeModulePkg/Application/UiApp/Ui.h   |  30 --
> >  .../Bus/Ata/AtaAtapiPassThru/AhciMode.c   | 104 ---
> >  .../Bus/Ata/AtaAtapiPassThru/IdeMode.c| 257 --
> >  .../Bus/Isa/Ps2KeyboardDxe/Ps2KbdCtrller.c|  26 --
> >  .../Bus/Isa/Ps2KeyboardDxe/Ps2Keyboard.h  |  12 -
> >  MdeModulePkg/Bus/Pci/EhciDxe/EhciDebug.c  |  27 --
> >  MdeModulePkg/Bus/Pci/EhciDxe/EhciDebug.h  |  11 -
> >  MdeModulePkg/Bus/Pci/EhciDxe/EhciReg.c|  44 ---
> >  .../Bus/Pci/NvmExpressDxe/NvmExpressHci.c | 110 
> >  .../Bus/Pci/PciBusDxe/PciDeviceSupport.c  |  80 --
> >  .../Bus/Pci/PciBusDxe/PciDeviceSupport.h  |  17 --
> >  MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c|  41 ---
> >  MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.h|  21 --
> >  MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c | 107 
> >  MdeModulePkg/Bus/Pci/UhciPei/DmaMem.c |  22 --
> >  MdeModulePkg/Bus/Pci/UhciPei/UhcPeim.c| 125 -
> >  MdeModulePkg/Bus/Pci/UhciPei/UhcPeim.h|  78 --
> >  MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c|  66 -
> >  MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h|  28 --
> >  MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c   |  24 --
> >  MdeModulePkg/Bus/Pci/XhciPei/XhcPeim.c|  22 --
> >  MdeModulePkg/Bus/Pci/XhciPei/XhciReg.h|  14 -
> >  .../Bus/Sd/EmmcBlockIoPei/EmmcHcMem.c |  24 --
> >  MdeModulePkg/Bus/Sd/SdBlockIoPei/SdHcMem.c|  24 --
> >  .../Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.c | 101 ---
> >  MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c |  24 --
> >  MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.c   | 180 

Re: [edk2] [PATCH 00/26] MdeModulePkg Remove redundant functions

2018-08-08 Thread Leif Lindholm
Eric, Star,

On Wed, Aug 08, 2018 at 04:46:46PM +0800, shenglei wrote:
> A lot of redundant functions which are never calld have been removed.I 
> manually 
> search these fuctions in source files to make sure that they are not used 
> elsewhere.
> Also the MdeModulePkg was built to ensure that.

I have no objection to this set, but it is quite invasive.
So can we please ensure it does not get pushed until after the 201808
stable tag has been made? (Mike has just announced the quiet period.)

Best Regards,

   Leif


> shenglei (26):
>   MdeModulePkg CapsuleApp: Remove a redundant function
>   MdeModulePkg UiApp: Remove redundant functions
>   MdeModulePkg AtaAtapiPassThru: Remove redundant functions
>   MdeModulePkg EhciDxe: Remove redundant functions
>   MdeModulePkg NvmExpressDxe: Remove redundant functions
>   MdeModulePkg PciBusDxe: Remove redundant functions
>   MdeModulePkg SdMmcPciHcDxe: Remove redundant functions
>   MdeModulePkg UhciPei: Remove redundant functions
>   MdeModulePkg XhciDxe: Remove redundant functions
>   MdeModulePkg XhciPei: Remove redundant functions
>   MdeModulePkg UfsBlockIoPei: Remove redundant functions
>   MdeModulePkg UfsPassThruDxe: Remove redundant functions
>   MdeModulePkg UsbBotPei: Remove redundant functions
>   MdeModulePkg UsbBusDxe: Remove redundant functions
>   MdeModulePkg UsbBusPei: Remove redundant functions
>   MdeModulePkg Core/Dxe: Remove redundant functions
>   MdeModulePkg PiSmmCore: Remove redundant functions
>   MdeModulePkg Ps2KeyboardDxe: Remove a redundant function
>   MdeModulePkg EmmcBlockIoPei: Remove a redundant function
>   MdeModulePkg SdBlockIoPei: Remove a redundant function
>   MdeModulePkg TerminalDxe: Remove a redundant function
>   MdeModulePkg HiiDatabaseDxe: Remove a redundant function
>   MdeModulePkg Ip4Dxe: Remove a redundant function
>   MdeModulePkg IScsiDxe: Remove a redundant function
>   MdeModulePkg Tcp4Dxe: Remove redundant functions
>   MdeModulePkg SetupBrowserDxe: Remove a redundant function
> 
>  .../Application/CapsuleApp/CapsuleDump.c  |  31 ---
>  MdeModulePkg/Application/UiApp/FrontPage.c|  40 ---
>  MdeModulePkg/Application/UiApp/Ui.h   |  30 --
>  .../Bus/Ata/AtaAtapiPassThru/AhciMode.c   | 104 ---
>  .../Bus/Ata/AtaAtapiPassThru/IdeMode.c| 257 --
>  .../Bus/Isa/Ps2KeyboardDxe/Ps2KbdCtrller.c|  26 --
>  .../Bus/Isa/Ps2KeyboardDxe/Ps2Keyboard.h  |  12 -
>  MdeModulePkg/Bus/Pci/EhciDxe/EhciDebug.c  |  27 --
>  MdeModulePkg/Bus/Pci/EhciDxe/EhciDebug.h  |  11 -
>  MdeModulePkg/Bus/Pci/EhciDxe/EhciReg.c|  44 ---
>  .../Bus/Pci/NvmExpressDxe/NvmExpressHci.c | 110 
>  .../Bus/Pci/PciBusDxe/PciDeviceSupport.c  |  80 --
>  .../Bus/Pci/PciBusDxe/PciDeviceSupport.h  |  17 --
>  MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c|  41 ---
>  MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.h|  21 --
>  MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdDevice.c | 107 
>  MdeModulePkg/Bus/Pci/UhciPei/DmaMem.c |  22 --
>  MdeModulePkg/Bus/Pci/UhciPei/UhcPeim.c| 125 -
>  MdeModulePkg/Bus/Pci/UhciPei/UhcPeim.h|  78 --
>  MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c|  66 -
>  MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.h|  28 --
>  MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c   |  24 --
>  MdeModulePkg/Bus/Pci/XhciPei/XhcPeim.c|  22 --
>  MdeModulePkg/Bus/Pci/XhciPei/XhciReg.h|  14 -
>  .../Bus/Sd/EmmcBlockIoPei/EmmcHcMem.c |  24 --
>  MdeModulePkg/Bus/Sd/SdBlockIoPei/SdHcMem.c|  24 --
>  .../Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.c | 101 ---
>  MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c |  24 --
>  MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.c   | 180 
>  .../Bus/Ufs/UfsPassThruDxe/UfsPassThruHci.c   |  49 
>  MdeModulePkg/Bus/Usb/UsbBotPei/PeiUsbLib.c| 190 -
>  MdeModulePkg/Bus/Usb/UsbBotPei/PeiUsbLib.h|  98 ---
>  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbHub.c   |  68 -
>  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c   | 146 --
>  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h   | 114 
>  MdeModulePkg/Bus/Usb/UsbBusPei/HubPeim.c  |  39 ---
>  MdeModulePkg/Bus/Usb/UsbBusPei/HubPeim.h  |  18 --
>  MdeModulePkg/Bus/Usb/UsbBusPei/PeiUsbLib.c|  77 --
>  MdeModulePkg/Bus/Usb/UsbBusPei/PeiUsbLib.h|  35 ---
>  MdeModulePkg/Core/Dxe/DxeMain.h   |  13 -
>  MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c   |  22 --
>  MdeModulePkg/Core/Dxe/Mem/HeapGuard.c |  78 --
>  MdeModulePkg/Core/PiSmmCore/HeapGuard.c   | 166 ---
>  .../Core/PiSmmCore/MemoryAttributesTable.c| 131 -
>  MdeModulePkg/Core/PiSmmCore/Page.c