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

2013-04-26 Thread Sascha Hauer
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 
> ---
>  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_READ1
>  #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@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- |

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


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

2013-04-26 Thread Juergen Beisert
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 
---
 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;
+#else
+   return false;
+#endif
+}
+
 int mci_register(struct mci_host*);
 
 #endif /* _MCI_H_ */
-- 
1.8.2.rc2


___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox