public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
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
> 


  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