Re: [PATCH] staging: mt7621-mmc: Remove do {} while (0) loop for single statement macro

From: Joe Perches
Date: Mon Sep 17 2018 - 12:20:49 EST


On Sat, 2018-09-15 at 18:47 +0530, Nishad Kamdar wrote:
> This patch removes do {} while (0) loop for single statement macros.
> Issue found by checkpatch.

Some or all of this code is not used and should be deleted instead.

> Signed-off-by: Nishad Kamdar <nishadkamdar@xxxxxxxxx>
> ---
> drivers/staging/mt7621-mmc/sd.c | 28 +++++++---------------------
> 1 file changed, 7 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/staging/mt7621-mmc/sd.c b/drivers/staging/mt7621-mmc/sd.c
> index 7474f9ed7b5b..ec12a3a5a926 100644
> --- a/drivers/staging/mt7621-mmc/sd.c
> +++ b/drivers/staging/mt7621-mmc/sd.c
> @@ -104,14 +104,10 @@ static int cd_active_low = 1;
> /* gate means clock power down */
> static int g_clk_gate = 0;
> #define msdc_gate_clock(id) \
> - do { \
> - g_clk_gate &= ~(1 << ((id) + PERI_MSDC0_PDN)); \
> - } while (0)
> + (g_clk_gate &= ~(1 << ((id) + PERI_MSDC0_PDN)))
> /* not like power down register. 1 means clock on. */
> #define msdc_ungate_clock(id) \
> - do { \
> - g_clk_gate |= 1 << ((id) + PERI_MSDC0_PDN); \
> - } while (0)
> + (g_clk_gate |= 1 << ((id) + PERI_MSDC0_PDN))
>
> // do we need sync object or not
> void msdc_clk_status(int *status)
> @@ -170,9 +166,7 @@ static void msdc_clr_fifo(struct msdc_host *host)
> } while (0)
>
> #define msdc_irq_restore(val) \
> - do { \
> - sdr_set_bits(host->base + MSDC_INTEN, val); \
> - } while (0)
> + (sdr_set_bits(host->base + MSDC_INTEN, val))
>
> /* clock source for host: global */
> #if defined(CONFIG_SOC_MT7620)
> @@ -186,26 +180,18 @@ static u32 hclks[] = {50000000}; /* +/- by chhung */
> // always keep the VMC on.
> //============================================
> #define msdc_vcore_on(host) \
> - do { \
> - (void)hwPowerOn(MT65XX_POWER_LDO_VMC, VOL_3300, "SD"); \
> - } while (0)
> + ((void)hwPowerOn(MT65XX_POWER_LDO_VMC, VOL_3300, "SD"))
> #define msdc_vcore_off(host) \
> - do { \
> - (void)hwPowerDown(MT65XX_POWER_LDO_VMC, "SD"); \
> - } while (0)
> + ((void)hwPowerDown(MT65XX_POWER_LDO_VMC, "SD"))
>
> //====================================
> // the vdd output for card: global
> // always keep the VMCH on.
> //====================================
> #define msdc_vdd_on(host) \
> - do { \
> - (void)hwPowerOn(MT65XX_POWER_LDO_VMCH, VOL_3300, "SD"); \
> - } while (0)
> + ((void)hwPowerOn(MT65XX_POWER_LDO_VMCH, VOL_3300, "SD"))
> #define msdc_vdd_off(host) \
> - do { \
> - (void)hwPowerDown(MT65XX_POWER_LDO_VMCH, "SD"); \
> - } while (0)
> + ((void)hwPowerDown(MT65XX_POWER_LDO_VMCH, "SD"))
>
> #define sdc_is_busy() (readl(host->base + SDC_STS) & SDC_STS_SDCBUSY)
> #define sdc_is_cmd_busy() (readl(host->base + SDC_STS) & SDC_STS_CMDBUSY)