[PATCH 1/3] pci: pcie_dw_rockchip: Fixed the below compilation error

Patrick Wildt patrick at blueri.se
Mon Apr 26 22:10:55 CEST 2021


Am Mon, Apr 26, 2021 at 01:26:30PM +0000 schrieb Anand Moon:
> Use the Error values that may be returned by PCI functions
> Added the error macro from linux/include/linux/pci.h
> 
> drivers/pci/pcie_dw_rockchip.c: In function 'rk_pcie_read':
> drivers/pci/pcie_dw_rockchip.c:70:10: error: 'PCIBIOS_UNSUPPORTED'
> 			undeclared (first use in this function)
>    70 |   return PCIBIOS_UNSUPPORTED;
>       |          ^~~~~~~~~~~~~~~~~~~
> drivers/pci/pcie_dw_rockchip.c: In function 'rk_pcie_write':
> drivers/pci/pcie_dw_rockchip.c:90:10: error: 'PCIBIOS_UNSUPPORTED'
> 			undeclared (first use in this function)
>    90 |   return PCIBIOS_UNSUPPORTED;
>       |          ^~~~~~~~~~~~~~~~~~~
> 
> Cc: Neil Armstrong <narmstrong at baylibre.com>
> Cc: Kever Yang <kever.yang at rock-chips.com>
> Signed-off-by: Anand Moon <linux.amoon at gmail.com>
> ---
>  drivers/pci/pcie_dw_common.h   | 9 +++++++++
>  drivers/pci/pcie_dw_rockchip.c | 4 ++--
>  2 files changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/pci/pcie_dw_common.h b/drivers/pci/pcie_dw_common.h
> index 6b701645af..ba5feb5b51 100644
> --- a/drivers/pci/pcie_dw_common.h
> +++ b/drivers/pci/pcie_dw_common.h
> @@ -90,6 +90,15 @@
>  #define PCIE_MISC_CONTROL_1_OFF		0x8bc
>  #define PCIE_DBI_RO_WR_EN		BIT(0)
>  
> +/* Error values that may be returned by PCI functions */
> +#define PCIBIOS_SUCCESSFUL              0x00
> +#define PCIBIOS_FUNC_NOT_SUPPORTED      0x81
> +#define PCIBIOS_BAD_VENDOR_ID           0x83
> +#define PCIBIOS_DEVICE_NOT_FOUND        0x86
> +#define PCIBIOS_BAD_REGISTER_NUMBER     0x87
> +#define PCIBIOS_SET_FAILED              0x88
> +#define PCIBIOS_BUFFER_TOO_SMALL        0x89
> +
>  /* Parameters for the waiting for iATU enabled routine */
>  #define LINK_WAIT_MAX_IATU_RETRIES	5
>  #define LINK_WAIT_IATU			10000
> diff --git a/drivers/pci/pcie_dw_rockchip.c b/drivers/pci/pcie_dw_rockchip.c
> index bc22af4230..9702b40019 100644
> --- a/drivers/pci/pcie_dw_rockchip.c
> +++ b/drivers/pci/pcie_dw_rockchip.c
> @@ -67,7 +67,7 @@ static int rk_pcie_read(void __iomem *addr, int size, u32 *val)
>  {
>  	if ((uintptr_t)addr & (size - 1)) {
>  		*val = 0;
> -		return PCIBIOS_UNSUPPORTED;
> +		return PCIBIOS_BAD_REGISTER_NUMBER;

Since this function seems to return normal error code, why not use
-EINVAL?  Or even better -EOPNOTSUP?  The callers only check for != 0
anyway.

>  	}
>  
>  	if (size == 4) {
> @@ -87,7 +87,7 @@ static int rk_pcie_read(void __iomem *addr, int size, u32 *val)
>  static int rk_pcie_write(void __iomem *addr, int size, u32 val)
>  {
>  	if ((uintptr_t)addr & (size - 1))
> -		return PCIBIOS_UNSUPPORTED;
> +		return PCIBIOS_BAD_REGISTER_NUMBER;
>  
>  	if (size == 4)
>  		writel(val, addr);
> -- 
> 2.31.1
> 


More information about the U-Boot mailing list