From: Leif Lindholm <leif.lindholm@linaro.org>
To: Marcin Wojtas <mw@semihalf.com>
Cc: edk2-devel@lists.01.org, ard.biesheuvel@linaro.org,
nadavh@marvell.com, neta@marvell.com, kostap@marvell.com,
jinghua@marvell.com, jsd@semihalf.com
Subject: Re: [platforms: PATCH 5/5] Platform/Marvell/Armada: Remove ParsePcdLib
Date: Fri, 6 Oct 2017 17:02:50 +0100 [thread overview]
Message-ID: <20171006160250.heidy7kztmp32jgv@bivouac.eciton.net> (raw)
In-Reply-To: <1507276278-3608-6-git-send-email-mw@semihalf.com>
On Fri, Oct 06, 2017 at 09:51:18AM +0200, Marcin Wojtas wrote:
> Current PCD handling in libraries and drivers allow to get
> rid of this code.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Marcin Wojtas <mw@semihalf.com>
No objections here :)
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
> ---
> Platform/Marvell/Armada/Armada.dsc.inc | 1 -
> Platform/Marvell/Include/Library/ParsePcdLib.h | 46 ----
> Platform/Marvell/Library/ParsePcdLib/ParsePcdLib.c | 228 --------------------
> Platform/Marvell/Library/ParsePcdLib/ParsePcdLib.inf | 50 -----
> 4 files changed, 325 deletions(-)
>
> diff --git a/Platform/Marvell/Armada/Armada.dsc.inc b/Platform/Marvell/Armada/Armada.dsc.inc
> index 9549091..679ba59 100644
> --- a/Platform/Marvell/Armada/Armada.dsc.inc
> +++ b/Platform/Marvell/Armada/Armada.dsc.inc
> @@ -33,7 +33,6 @@
> ArmPlatformLib|Platform/Marvell/Armada/Library/Armada70x0Lib/Armada70x0Lib.inf
> ComPhyLib|Platform/Marvell/Library/ComPhyLib/ComPhyLib.inf
> MppLib|Platform/Marvell/Library/MppLib/MppLib.inf
> - ParsePcdLib|Platform/Marvell/Library/ParsePcdLib/ParsePcdLib.inf
> UtmiPhyLib|Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.inf
>
> DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
> diff --git a/Platform/Marvell/Include/Library/ParsePcdLib.h b/Platform/Marvell/Include/Library/ParsePcdLib.h
> deleted file mode 100644
> index a255685..0000000
> --- a/Platform/Marvell/Include/Library/ParsePcdLib.h
> +++ /dev/null
> @@ -1,46 +0,0 @@
> -/********************************************************************************
> -Copyright (C) 2016 Marvell International Ltd.
> -
> -Marvell BSD License Option
> -
> -If you received this File from Marvell, you may opt to use, redistribute and/or
> -modify this File under the following licensing terms.
> -Redistribution and use in source and binary forms, with or without modification,
> -are permitted provided that the following conditions are met:
> -
> -* Redistributions of source code must retain the above copyright notice,
> - this list of conditions and the following disclaimer.
> -
> -* Redistributions in binary form must reproduce the above copyright
> - notice, this list of conditions and the following disclaimer in the
> - documentation and/or other materials provided with the distribution.
> -
> -* Neither the name of Marvell nor the names of its contributors may be
> - used to endorse or promote products derived from this software without
> - specific prior written permission.
> -
> -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
> -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
> -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
> -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
> -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
> -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
> -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
> -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
> -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> -
> -*******************************************************************************/
> -
> -#ifndef __PARSEPCDLIB_H__
> -#define __PARSEPCDLIB_H__
> -
> -EFI_STATUS
> -ParsePcdString (
> - IN CHAR16 *PcdString,
> - IN UINT8 Count,
> - OUT UINTN *ValueTable,
> - OUT CHAR16 **StrTable
> - );
> -
> -#endif
> diff --git a/Platform/Marvell/Library/ParsePcdLib/ParsePcdLib.c b/Platform/Marvell/Library/ParsePcdLib/ParsePcdLib.c
> deleted file mode 100644
> index 9a4be8e..0000000
> --- a/Platform/Marvell/Library/ParsePcdLib/ParsePcdLib.c
> +++ /dev/null
> @@ -1,228 +0,0 @@
> -/********************************************************************************
> -Copyright (C) 2016 Marvell International Ltd.
> -
> -Marvell BSD License Option
> -
> -If you received this File from Marvell, you may opt to use, redistribute and/or
> -modify this File under the following licensing terms.
> -Redistribution and use in source and binary forms, with or without modification,
> -are permitted provided that the following conditions are met:
> -
> -* Redistributions of source code must Retain the above copyright notice,
> - this list of conditions and the following disclaimer.
> -
> -* Redistributions in binary form must reproduce the above copyright
> - notice, this list of conditions and the following disclaimer in the
> - documentation and/or other materials provided with the distribution.
> -
> -* Neither the name of Marvell nor the names of its contributors may be
> - used to endorse or promote products derived from this software without
> - specific prior written permission.
> -
> -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
> -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
> -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
> -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
> -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
> -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
> -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
> -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
> -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> -
> -*******************************************************************************/
> -#define CHAR_NULL 0x0000
> -
> -#include <Library/BaseLib.h>
> -#include <Uefi.h>
> -#include <Library/UefiLib.h>
> -#include <Library/DebugLib.h>
> -
> -STATIC
> -CHAR16
> -CharToUpper (
> - IN CHAR16 Char
> - )
> -{
> -
> - if (Char >= L'a' && Char <= L'z') {
> - return (CHAR16) (Char - (L'a' - L'A'));
> - }
> -
> - return Char;
> -}
> -
> -STATIC
> -BOOLEAN
> -IsDecimalDigitChar (
> - IN CHAR16 Char
> - )
> -{
> -
> - return (BOOLEAN) (Char >= L'0' && Char <= L'9');
> -}
> -
> -
> -STATIC
> -UINTN
> -HexCharToUintn (
> - IN CHAR16 Char
> - )
> -{
> - if (IsDecimalDigitChar (Char)) {
> - return Char - L'0';
> - }
> -
> - return (UINTN) (10 + CharToUpper (Char) - L'A');
> -}
> -
> -STATIC
> -BOOLEAN
> -IsHexDigitCharacter (
> - CHAR16 Char
> - )
> -{
> -
> - return (BOOLEAN) ((Char >= L'0' && Char <= L'9') || (Char >= L'A' &&
> - Char <= L'F') || (Char >= L'a' && Char <= L'f'));
> -}
> -
> -STATIC
> -UINTN
> -HexStrToUintn (
> - CHAR16 *String
> - )
> -{
> - UINTN Result = 0;
> -
> - if (String == NULL || StrSize(String) == 0) {
> - return (UINTN)(-1);
> - }
> -
> - // Ignore spaces and tabs
> - while ((*String == L' ') || (*String == L'\t')) {
> - String++;
> - }
> -
> - // Ignore leading zeros after spaces
> - while (*String == L'0') {
> - String++;
> - }
> -
> - if (CharToUpper (*String) != L'X') {
> - return (UINTN)(-1);
> - }
> -
> - // Skip 'x'
> - String++;
> -
> - while (IsHexDigitCharacter (*String)) {
> - Result <<= 4;
> - Result += HexCharToUintn (*String);
> - String++;
> - }
> -
> - return (UINTN) Result;
> -}
> -
> -STATIC
> -UINTN
> -DecimalStrToUintn (
> - CHAR16 *String
> - )
> -{
> - UINTN Result = 0;
> -
> - while (IsDecimalDigitChar (*String)) {
> - Result = 10 * Result + (*String - L'0');
> - String++;
> - }
> -
> - return Result;
> -}
> -
> -STATIC
> -UINTN
> -StrToUintn (
> - CHAR16 *String
> - )
> -{
> - CHAR16 *Walker;
> -
> - // Chop off leading spaces
> - for (Walker = String; Walker != NULL && *Walker != CHAR_NULL && *Walker == L' '; Walker++);
> -
> - if (StrnCmp(Walker, L"0x", 2) == 0 || StrnCmp(Walker, L"0X", 2) == 0) {
> - return HexStrToUintn (Walker);
> - } else {
> - return DecimalStrToUintn (Walker);
> - }
> -}
> -
> -EFI_STATUS
> -ParsePcdString (
> - IN CHAR16 *PcdString,
> - IN UINT8 Count,
> - OUT UINTN *ValueTable,
> - OUT CHAR16 **StrTable
> - )
> -{
> - BOOLEAN ValueFlag = FALSE;
> - CHAR16 *Walker;
> - UINTN i, Tmp = 0;
> -
> - if (ValueTable != NULL) {
> - ValueFlag = TRUE;
> - }
> -
> - // Set pointer at the end of PCD string
> - Walker = PcdString + StrLen (PcdString);
> - for (i = 0; i < Count; i++) {
> - while ((--Walker) >= PcdString) {
> - if (*Walker == L';') {
> - // Cut off parsed chunk from PCD string by replacing ';' with
> - // null-terminator
> - *Walker = '\0';
> - if (ValueFlag) {
> - Tmp = StrToUintn ((Walker + 1));
> - if ((UINTN)(-1) == Tmp) {
> - return EFI_INVALID_PARAMETER;
> - }
> - // Entry is parsed from the end to the beginning
> - // so fill table in the same manner
> - ValueTable[Count - (i + 1)] = Tmp;
> - } else {
> - StrTable[Count - (i + 1)] = Walker + 1;
> - }
> - Walker--;
> - break;
> - }
> - if (Walker == PcdString) {
> - if (ValueFlag) {
> - Tmp = StrToUintn ((Walker));
> - if (Tmp == (UINTN)(-1)) {
> - return EFI_INVALID_PARAMETER;
> - }
> - }
> - // Last device's entry should be added to the table here.
> - // If not, return error
> - if (i != (Count - 1)) {
> - DEBUG((DEBUG_ERROR, "ParsePcdLib: Please set PCD value for every "
> - "device\n"));
> - return EFI_INVALID_PARAMETER;
> - }
> - // We parse from the end to the beginning
> - // so fill table in the same manner
> - if (ValueFlag) {
> - ValueTable[Count - (i + 1)] = Tmp;
> - } else {
> - StrTable[Count - (i + 1)] = Walker;
> - }
> - // End both loops
> - return EFI_SUCCESS;
> - }
> - }
> - }
> -
> - return EFI_SUCCESS;
> -}
> diff --git a/Platform/Marvell/Library/ParsePcdLib/ParsePcdLib.inf b/Platform/Marvell/Library/ParsePcdLib/ParsePcdLib.inf
> deleted file mode 100644
> index b4db621..0000000
> --- a/Platform/Marvell/Library/ParsePcdLib/ParsePcdLib.inf
> +++ /dev/null
> @@ -1,50 +0,0 @@
> -# Copyright (C) 2016 Marvell International Ltd.
> -#
> -# Marvell BSD License Option
> -#
> -# If you received this File from Marvell, you may opt to use, redistribute and/or
> -# modify this File under the following licensing terms.
> -# Redistribution and use in source and binary forms, with or without modification,
> -# are permitted provided that the following conditions are met:
> -#
> -# * Redistributions of source code must retain the above copyright notice,
> -# this list of conditions and the following disclaimer.
> -#
> -# * Redistributions in binary form must reproduce the above copyright
> -# notice, this list of conditions and the following disclaimer in the
> -# documentation and/or other materials provided with the distribution.
> -#
> -# * Neither the name of Marvell nor the names of its contributors may be
> -# used to endorse or promote products derived from this software without
> -# specific prior written permission.
> -#
> -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
> -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
> -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
> -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
> -# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
> -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
> -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
> -# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
> -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> -#
> -
> -[Defines]
> - INF_VERSION = 0x00010005
> - BASE_NAME = ParsePcdLib
> - FILE_GUID = 698d85a0-a952-453e-b8a4-1d6ea338a38e
> - MODULE_TYPE = BASE
> - VERSION_STRING = 1.0
> - LIBRARY_CLASS = ParsePcdLib
> -
> -[Packages]
> - MdePkg/MdePkg.dec
> - MdeModulePkg/MdeModulePkg.dec
> -
> -[LibraryClasses]
> - ArmLib
> - DebugLib
> -
> -[Sources.common]
> - ParsePcdLib.c
> --
> 1.8.3.1
>
next prev parent reply other threads:[~2017-10-06 15:59 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-06 7:51 [platforms: PATCH 0/5] Armada 7k/8k - ParsePcdLib removal Marcin Wojtas
2017-10-06 7:51 ` [platforms: PATCH 1/5] Marvell/Library: ComPhyLib: Remove PCD string parsing Marcin Wojtas
2017-10-06 15:52 ` Leif Lindholm
2017-10-06 19:22 ` Marcin Wojtas
2017-10-06 19:51 ` Leif Lindholm
2017-10-06 20:08 ` Marcin Wojtas
2017-10-07 14:17 ` Marcin Wojtas
2017-10-07 14:57 ` Leif Lindholm
2017-10-06 7:51 ` [platforms: PATCH 2/5] Marvell/Drivers: MvI2cDxe: Move devices description to MvHwDescLib Marcin Wojtas
2017-10-06 15:56 ` Leif Lindholm
2017-10-06 19:24 ` Marcin Wojtas
2017-10-06 7:51 ` [platforms: PATCH 3/5] Marvell/Library: UtmiLib: " Marcin Wojtas
2017-10-06 15:57 ` Leif Lindholm
2017-10-06 19:26 ` Marcin Wojtas
2017-10-06 19:57 ` Leif Lindholm
2017-10-06 7:51 ` [platforms: PATCH 4/5] Marvell/Drivers: Pp2Dxe: Rework PHY handling Marcin Wojtas
2017-10-06 16:02 ` Leif Lindholm
2017-10-06 19:30 ` Marcin Wojtas
2017-10-06 7:51 ` [platforms: PATCH 5/5] Platform/Marvell/Armada: Remove ParsePcdLib Marcin Wojtas
2017-10-06 16:02 ` Leif Lindholm [this message]
2017-10-06 14:29 ` [platforms: PATCH 0/5] Armada 7k/8k - ParsePcdLib removal Ard Biesheuvel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171006160250.heidy7kztmp32jgv@bivouac.eciton.net \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox