From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web12.5953.1576824063935770190 for ; Thu, 19 Dec 2019 22:41:04 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: zhichao.gao@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Dec 2019 22:41:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,334,1571727600"; d="scan'208";a="206457832" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga007.jf.intel.com with ESMTP; 19 Dec 2019 22:41:03 -0800 Received: from fmsmsx115.amr.corp.intel.com (10.18.116.19) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 19 Dec 2019 22:40:50 -0800 Received: from shsmsx154.ccr.corp.intel.com (10.239.6.54) by fmsmsx115.amr.corp.intel.com (10.18.116.19) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 19 Dec 2019 22:40:50 -0800 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.19]) by SHSMSX154.ccr.corp.intel.com ([169.254.7.71]) with mapi id 14.03.0439.000; Fri, 20 Dec 2019 14:40:48 +0800 From: "Gao, Zhichao" To: "Ni, Ray" , "devel@edk2.groups.io" CC: "Kinney, Michael D" , "Gao, Liming" , Vitaly Cheptsov Subject: Re: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePathLib: Separate the lib instances Thread-Topic: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePathLib: Separate the lib instances Thread-Index: AQHVtUhaCeatACBUGUC6/Bj2EdtJQafCh0NQgAABP+D//4HSAIAAiqag Date: Fri, 20 Dec 2019 06:40:48 +0000 Message-ID: <3CE959C139B4C44DBEA1810E3AA6F9000B8A4323@SHSMSX101.ccr.corp.intel.com> References: <20191218021036.23072-1-zhichao.gao@intel.com> <734D49CCEBEEF84792F5B80ED585239D5C3A3F54@SHSMSX104.ccr.corp.intel.com> <3CE959C139B4C44DBEA1810E3AA6F9000B8A4289@SHSMSX101.ccr.corp.intel.com> <734D49CCEBEEF84792F5B80ED585239D5C3A3FCD@SHSMSX104.ccr.corp.intel.com> In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5C3A3FCD@SHSMSX104.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: zhichao.gao@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable For open source, it would impact fsp2 package, ovmf package and some open p= latform packages. Not sure for others. I didn't plan the removal of UefiDevicePathLibDevicePathProtocol yet. Thanks, Zhichao > -----Original Message----- > From: Ni, Ray > Sent: Friday, December 20, 2019 2:20 PM > To: Gao, Zhichao ; devel@edk2.groups.io > Cc: Kinney, Michael D ; Gao, Liming > ; Vitaly Cheptsov > Subject: RE: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePathLib: Sepa= rate > the lib instances >=20 > Removing code duplication is great. >=20 > But your patch introduces more code duplication: the mandatory one in > UefiDevicePathLib directory and the other one in > UefiDevicePathLibDevicePathProtocol directory. >=20 > Do you have a plan to remove the one in UefiDevicePathLibDevicePathProto= col > directory? > Have you evaluated the impact to consumers of removing that one? >=20 > Thanks, > Ray >=20 > > -----Original Message----- > > From: Gao, Zhichao > > Sent: Friday, December 20, 2019 2:03 PM > > To: Ni, Ray ; devel@edk2.groups.io > > Cc: Kinney, Michael D ; Gao, Liming > > ; Vitaly Cheptsov > > Subject: RE: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePathLib: > > Separate the lib instances > > > > Ray, > > > > I knew there is one in MdePkg. But it has duplicate code with > > UefiDevicePathLib. That is why I add the Mandatory one. > > And it is recommended to use the one in UefiDevicePathLib path. > > > > Thanks, > > Zhichao > > > > > -----Original Message----- > > > From: Ni, Ray > > > Sent: Friday, December 20, 2019 1:50 PM > > > To: devel@edk2.groups.io; Gao, Zhichao > > > Cc: Kinney, Michael D ; Gao, Liming > > > ; Vitaly Cheptsov > > > Subject: RE: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePathLib: > > Separate > > > the lib instances > > > > > > Zhichao, > > > \MdePkg\Library\UefiDevicePathLibDevicePathProtocol\ contains the > > version > > > that hard-depends on the protocol. > > > I don't think you need to add another version. > > > > > > Thanks, > > > Ray > > > > > > > -----Original Message----- > > > > From: devel@edk2.groups.io On Behalf Of > > > > Gao, Zhichao > > > > Sent: Wednesday, December 18, 2019 10:11 AM > > > > To: devel@edk2.groups.io > > > > Cc: Kinney, Michael D ; Gao, Liming > > > > ; Vitaly Cheptsov > > > > Subject: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePathLib: > > > > Separate the lib instances > > > > > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2298 > > > > > > > > The UefiDevicePathLibOptionalDevicePathProtocolConstructor's > > > > implementation > > > > isn't match with its instance name. > > > > Remove the ASSERT and depex of the > > gEfiDevicePathUtilitiesProtocolGuid > > > > because of "Optional". > > > > > > > > Add a mandatory instance to force using the DevicePathUtilities, > > > > DevicePathToText and DevicePathFromText protocol with the ASSERT > > and > > > > depex. > > > > > > > > V2: > > > > The optional lib instance's construction should return success all > > > > the time. > > > > Change the desciption of the optional lib uni file. > > > > Change the copyright date of the mandatory one's uni file. > > > > > > > > V3: > > > > Remove the Status variable in > > > > UefiDevicePathLibOptionalDevicePathProtocolConstructor. > > > > The Status would cause GCC build fail because the variable is > > > > initialized but not used. > > > > Since it is useless for the constructor, directly remove it. > > > > > > > > Cc: Michael D Kinney > > > > Cc: Liming Gao > > > > Cc: Vitaly Cheptsov > > > > Signed-off-by: Zhichao Gao > > > > > > > > Zhichao Gao (2): > > > > MdePkg/UefiDevicePathLib: Separate the device path lib > > > > MdePkg/dsc: Add UefiDevicePathLibMandatoryDevicePathProtocol for > > > > build > > > > > > > > ...DevicePathLibMandatoryDevicePathProtocol.c | 469 > > > > ++++++++++++++++++ > > > > ...vicePathLibMandatoryDevicePathProtocol.inf | 86 ++++ > > > > ...vicePathLibMandatoryDevicePathProtocol.uni | 18 + > > > > ...iDevicePathLibOptionalDevicePathProtocol.c | 21 +- > > > > ...evicePathLibOptionalDevicePathProtocol.inf | 5 +- > > > > ...evicePathLibOptionalDevicePathProtocol.uni | 6 +- > > > > MdePkg/MdePkg.dsc | 3 +- > > > > 7 files changed, 587 insertions(+), 21 deletions(-) create mode > > > > 100644 > > > > > > MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibMandatoryDevicePat > > > > hProtocol.c > > > > create mode 100644 > > > > > > MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibMandatoryDevicePat > > > > hProtocol.inf > > > > create mode 100644 > > > > > > MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibMandatoryDevicePat > > > > hProtocol.uni > > > > > > > > -- > > > > 2.21.0.windows.1 > > > > > > > > > > > >=20