Re: [RFC] BZ 2298 MdePkg/DevicePathLib merger or not

Ni, Ray

What's your recommendation regarding this?

Back to your 2nd question, drivers/applications consuming UefiDevicePathLibOptionalDevicePathProtocol
can firstly use the firmware built-in from-text and to-text conversion, then use its own conversion logic if
the firmware doesn't contain built-in from-text or to-text conversion.
Considering a case that an application is released in year 2015, it can recognize the new device path node
introduced after 2015 in a new system.


From: Gao, Zhichao <zhichao.gao@...>
Sent: Friday, January 10, 2020 11:04 AM
To:; '' <>
Cc: Gao, Liming <liming.gao@...>; Kinney, Michael D <michael.d.kinney@...>; vit9696@...; Ni, Ray <>
Subject: [RFC] BZ 2298 MdePkg/DevicePathLib merger or not

HI all,

In the MdePkg, there are two folder for the DevicePathLib:

1. MdePkg\Library\UefiDevicePathLib
2. MdePkg\Library\UefiDevicePathLibDevicePathProtocol

UefiDevicePathLibDevicePathProtocol is created to use the protocol to reduce the driver size which consume the DevicePathLib.
But it has duplicate code with #1. So I want to merge these two folder into one. But many platform implementations consume #2.
If we merge #2 into #1, there might be a lot of platform changes for both close source and open source.
Can anyone give me some suggestions about this? Do we have a progress to retire some implementation in the edk2 repor?

There is another question about MdePkg\Library\UefiDevicePathLib\UefiDevicePathLibOptionalDevicePathProtocol.inf.
This one implements the interface to choose the protocol first, then change to local implementation if no protocol is available.
It requires a fix and it is already sent to the community. But what's the purpose?
Local implementation, i.e. MdePkg\Library\UefiDevicePathLib\ UefiDevicePathLib.inf, can make sure its usable. And it can't reduce the driver size. If it is useless, can we directly remove it?


Join to automatically receive all group messages.