[PATCH 6/6] MCI/Core: move an ugly ifdef to the header file

Sascha Hauer s.hauer at pengutronix.de
Fri Apr 26 18:04:03 EDT 2013


On Fri, Apr 26, 2013 at 11:31:52AM +0200, Juergen Beisert wrote:
> To avoid the compiler complains about an unused variable when no SPI host is
> enabled, use an inline function instead of a macro.
> 
> Signed-off-by: Juergen Beisert <jbe at pengutronix.de>
> ---
>  drivers/mci/mci-core.c |  3 +--
>  include/mci.h          | 15 +++++++++------
>  2 files changed, 10 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/mci/mci-core.c b/drivers/mci/mci-core.c
> index 42e3d4b..ba7ef55 100644
> --- a/drivers/mci/mci-core.c
> +++ b/drivers/mci/mci-core.c
> @@ -482,9 +482,8 @@ static int sd_change_freq(struct mci *mci)
>  {
>  	struct mci_cmd cmd;
>  	struct mci_data data;
> -#ifdef CONFIG_MCI_SPI
>  	struct mci_host *host = mci->host;
> -#endif
> +
>  	uint32_t *switch_status = sector_buf;
>  	uint32_t *scr = sector_buf;
>  	int timeout;
> diff --git a/include/mci.h b/include/mci.h
> index cf9582d..7f514be 100644
> --- a/include/mci.h
> +++ b/include/mci.h
> @@ -54,12 +54,6 @@
>  
>  #define IS_SD(x) (x->version & SD_VERSION_SD)
>  
> -#ifdef CONFIG_MCI_SPI
> -#define mmc_host_is_spi(host)	((host)->host_caps & MMC_CAP_SPI)
> -#else
> -#define mmc_host_is_spi(host)	0
> -#endif
> -
>  #define MMC_DATA_READ		1
>  #define MMC_DATA_WRITE		2
>  
> @@ -330,6 +324,15 @@ struct mci {
>  	char *ext_csd;
>  };
>  
> +static inline bool mmc_host_is_spi(const struct mci_host *host)
> +{
> +#ifdef CONFIG_MCI_SPI
> +	return !!host->host_caps & MMC_CAP_SPI;

negation comes before bitwise and. This always returns 0.

Also you could use IS_ENABLED().

Sascha

> +#else
> +	return false;
> +#endif
> +}
> +
>  int mci_register(struct mci_host*);
>  
>  #endif /* _MCI_H_ */
> -- 
> 1.8.2.rc2
> 
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list