Re: [PATCH v1 17/24] ns16550: match when to define bdf with uart code

Simon Glass
2023-02-23T02:48:47Z

Hi Troy,

On Wed, 22 Feb 2023 at 14:33, Troy Kisky <troykiskyboundary@gmail.com> wrote:
>
> Hi Simon
>
> So how is this ?
> diff --git a/arch/x86/cpu/apollolake/uart.c b/arch/x86/cpu/apollolake/uart.c
> index a9362436000..878aa48ed76 100644
> --- a/arch/x86/cpu/apollolake/uart.c
> +++ b/arch/x86/cpu/apollolake/uart.c
> @@ -79,10 +79,12 @@ void apl_uart_init(pci_dev_t bdf, ulong base)
>
> static int apl_ns16550_probe(struct udevice *dev)
> {
> +#if IS_ENABLED_NOCHECK(CONFIG_PCI) && defined(CONFIG_SPL_BUILD)
> struct apl_ns16550_plat *plat = dev_get_plat(dev);
>
> if (!CONFIG_IS_ENABLED(PCI))
> apl_uart_init(plat->ns16550.bdf, plat->ns16550.base);
> +#endif
>
> return ns16550_serial_probe(dev);
> }
> @@ -110,7 +112,9 @@ static int apl_ns16550_of_to_plat(struct udevice *dev)
> ns.reg_offset = 0;
> ns.clock = dtplat->clock_frequency;
> ns.fcr = UART_FCR_DEFVAL;
> +#if IS_ENABLED_NOCHECK(CONFIG_PCI) && defined(CONFIG_SPL_BUILD)
> ns.bdf = pci_ofplat_get_devfn(dtplat->reg[0]);
> +#endif
> memcpy(plat, &ns, sizeof(ns));
> #else
> int ret;
> diff --git a/include/linux/kconfig.h b/include/linux/kconfig.h
> index 2bc704e1104..cbf9c4e6a65 100644
> --- a/include/linux/kconfig.h
> +++ b/include/linux/kconfig.h
> @@ -27,6 +27,11 @@
> * 0 otherwise.
> */
> #define IS_ENABLED(option) config_enabled(option, 0)
> +/*
> + * Using IS_ENABLED_NOCHECK stead of IS_ENABLED prevents
> + * test/usage_of_is_enabled_check.sh from complaining
> + */
> +#define IS_ENABLED_NOCHECK(option) config_enabled(option, 0)
>
> /*
> * U-Boot add-on: Helper macros to reference to different macros (prefixed by
> diff --git a/include/ns16550.h b/include/ns16550.h
> index e7e68663d03..41b977b5b26 100644
> --- a/include/ns16550.h
> +++ b/include/ns16550.h
> @@ -74,7 +74,7 @@ struct ns16550_plat {
> int clock;
> u32 fcr;
> int flags;
> -#if defined(CONFIG_PCI) && defined(CONFIG_SPL)
> +#if IS_ENABLED_NOCHECK(CONFIG_PCI) && defined(CONFIG_SPL_BUILD)
> int bdf;
> #endif
> };
>
> BR
> Troy
>

That looks OK to me.

Regards,
Simon