From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web09.5972.1576822801155780146 for ; Thu, 19 Dec 2019 22:20:01 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: ray.ni@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Dec 2019 22:20:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,334,1571727600"; d="scan'208";a="210720289" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga008.jf.intel.com with ESMTP; 19 Dec 2019 22:20:00 -0800 Received: from fmsmsx118.amr.corp.intel.com (10.18.116.18) 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:20:00 -0800 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx118.amr.corp.intel.com (10.18.116.18) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 19 Dec 2019 22:19:59 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.90]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.19]) with mapi id 14.03.0439.000; Fri, 20 Dec 2019 14:19:58 +0800 From: "Ni, Ray" 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: Separate the lib instances Thread-Topic: [edk2-devel] [PATCH V3 0/2] *MdePkg/UefiDevicePathLib: Separate the lib instances Thread-Index: AQHVtUhaZqQss9EcQUyyXiVe/Bzo16fCh0NQ//9+ZYCAAImIgA== Date: Fri, 20 Dec 2019 06:19:58 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C3A3FCD@SHSMSX104.ccr.corp.intel.com> References: <20191218021036.23072-1-zhichao.gao@intel.com> <734D49CCEBEEF84792F5B80ED585239D5C3A3F54@SHSMSX104.ccr.corp.intel.com> <3CE959C139B4C44DBEA1810E3AA6F9000B8A4289@SHSMSX101.ccr.corp.intel.com> In-Reply-To: <3CE959C139B4C44DBEA1810E3AA6F9000B8A4289@SHSMSX101.ccr.corp.intel.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: ray.ni@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Removing code duplication is great. But your patch introduces more code duplication: the mandatory one in Uefi= DevicePathLib directory and the other one in UefiDevicePathLibDevicePathProtocol directo= ry. Do you have a plan to remove the one in UefiDevicePathLibDevicePathProtoco= l directory? Have you evaluated the impact to consumers of removing that one? Thanks, Ray > -----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 >=20 > Ray, >=20 > 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. >=20 > Thanks, > Zhichao >=20 > > -----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 t= he > > > 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