Re: [PATCH] spi: rspi: fix build error when CONFIG_OF is not set

From: Geert Uytterhoeven
Date: Mon Feb 03 2014 - 03:47:39 EST


Hi Shimoda-san,

On Mon, 3 Feb 2014, Shimoda, Yoshihiro wrote:
> This patch fixes an issue that the following build error happens when
> the CONFIG_OF is not set:
>
> drivers/spi/spi-rspi.c: In function 'rspi_probe':
> drivers/spi/spi-rspi.c:1203:26: error: 'rspi_of_match' undeclared (first use in this function)
>
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
> ---
> This patch is based on the latest origin/topic/rspi branch in the spi.git.
>
> drivers/spi/spi-rspi.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/spi/spi-rspi.c b/drivers/spi/spi-rspi.c
> index 34ad4bc..e5cfc3d 100644
> --- a/drivers/spi/spi-rspi.c
> +++ b/drivers/spi/spi-rspi.c
> @@ -1164,6 +1164,7 @@ static int rspi_parse_dt(struct device *dev, struct spi_master *master)
> return 0;
> }
> #else
> +#define rspi_of_match NULL
> static inline int rspi_parse_dt(struct device *dev, struct spi_master *master)
> {
> return -EINVAL;
> --
> 1.7.1

Thanks, obviously I missed that of_match_device() still uses the ID table
parameter if CONFIG_OF=n :-(

Below I have two alternative solutions:
1. Uses rspi_of_match() to nullify the ID table pointer, like is done in
the platform_driver structure,
2. Fixes it at the OF subsystem level, by nullifying the ID table pointer
inside of_match_device().

If 2 is accepted, drivers don't have to care about this anymore.

What do you think?