* [PATCH] mmc: cqhci: Ensure macro parameters are wrapped in parentheses
@ 2017-12-08 7:31 Adrian Hunter
2017-12-11 12:29 ` Ulf Hansson
0 siblings, 1 reply; 2+ messages in thread
From: Adrian Hunter @ 2017-12-08 7:31 UTC (permalink / raw)
To: Ulf Hansson
Cc: linux-mmc, Dan Carpenter, Harjani Ritesh, Shawn Lin, Bough Chen
Absence of parentheses is not affecting current code, but ensure macro
parameters are wrapped in parentheses.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Fixes: adcb39141800 ("mmc: cqhci: support for command queue enabled host")
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
---
drivers/mmc/host/cqhci.h | 42 +++++++++++++++++++++---------------------
1 file changed, 21 insertions(+), 21 deletions(-)
diff --git a/drivers/mmc/host/cqhci.h b/drivers/mmc/host/cqhci.h
index 2d39d361b322..9e68286a07b4 100644
--- a/drivers/mmc/host/cqhci.h
+++ b/drivers/mmc/host/cqhci.h
@@ -61,9 +61,9 @@
#define CQHCI_IC_ENABLE BIT(31)
#define CQHCI_IC_RESET BIT(16)
#define CQHCI_IC_ICCTHWEN BIT(15)
-#define CQHCI_IC_ICCTH(x) ((x & 0x1F) << 8)
+#define CQHCI_IC_ICCTH(x) (((x) & 0x1F) << 8)
#define CQHCI_IC_ICTOVALWEN BIT(7)
-#define CQHCI_IC_ICTOVAL(x) (x & 0x7F)
+#define CQHCI_IC_ICTOVAL(x) ((x) & 0x7F)
/* task list base address */
#define CQHCI_TDLBA 0x20
@@ -119,31 +119,31 @@
#define CQHCI_IC_DEFAULT_ICTOVAL 1
/* attribute fields */
-#define CQHCI_VALID(x) ((x & 1) << 0)
-#define CQHCI_END(x) ((x & 1) << 1)
-#define CQHCI_INT(x) ((x & 1) << 2)
-#define CQHCI_ACT(x) ((x & 0x7) << 3)
+#define CQHCI_VALID(x) (((x) & 1) << 0)
+#define CQHCI_END(x) (((x) & 1) << 1)
+#define CQHCI_INT(x) (((x) & 1) << 2)
+#define CQHCI_ACT(x) (((x) & 0x7) << 3)
/* data command task descriptor fields */
-#define CQHCI_FORCED_PROG(x) ((x & 1) << 6)
-#define CQHCI_CONTEXT(x) ((x & 0xF) << 7)
-#define CQHCI_DATA_TAG(x) ((x & 1) << 11)
-#define CQHCI_DATA_DIR(x) ((x & 1) << 12)
-#define CQHCI_PRIORITY(x) ((x & 1) << 13)
-#define CQHCI_QBAR(x) ((x & 1) << 14)
-#define CQHCI_REL_WRITE(x) ((x & 1) << 15)
-#define CQHCI_BLK_COUNT(x) ((x & 0xFFFF) << 16)
-#define CQHCI_BLK_ADDR(x) ((x & 0xFFFFFFFF) << 32)
+#define CQHCI_FORCED_PROG(x) (((x) & 1) << 6)
+#define CQHCI_CONTEXT(x) (((x) & 0xF) << 7)
+#define CQHCI_DATA_TAG(x) (((x) & 1) << 11)
+#define CQHCI_DATA_DIR(x) (((x) & 1) << 12)
+#define CQHCI_PRIORITY(x) (((x) & 1) << 13)
+#define CQHCI_QBAR(x) (((x) & 1) << 14)
+#define CQHCI_REL_WRITE(x) (((x) & 1) << 15)
+#define CQHCI_BLK_COUNT(x) (((x) & 0xFFFF) << 16)
+#define CQHCI_BLK_ADDR(x) (((x) & 0xFFFFFFFF) << 32)
/* direct command task descriptor fields */
-#define CQHCI_CMD_INDEX(x) ((x & 0x3F) << 16)
-#define CQHCI_CMD_TIMING(x) ((x & 1) << 22)
-#define CQHCI_RESP_TYPE(x) ((x & 0x3) << 23)
+#define CQHCI_CMD_INDEX(x) (((x) & 0x3F) << 16)
+#define CQHCI_CMD_TIMING(x) (((x) & 1) << 22)
+#define CQHCI_RESP_TYPE(x) (((x) & 0x3) << 23)
/* transfer descriptor fields */
-#define CQHCI_DAT_LENGTH(x) ((x & 0xFFFF) << 16)
-#define CQHCI_DAT_ADDR_LO(x) ((x & 0xFFFFFFFF) << 32)
-#define CQHCI_DAT_ADDR_HI(x) ((x & 0xFFFFFFFF) << 0)
+#define CQHCI_DAT_LENGTH(x) (((x) & 0xFFFF) << 16)
+#define CQHCI_DAT_ADDR_LO(x) (((x) & 0xFFFFFFFF) << 32)
+#define CQHCI_DAT_ADDR_HI(x) (((x) & 0xFFFFFFFF) << 0)
struct cqhci_host_ops;
struct mmc_host;
--
1.9.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] mmc: cqhci: Ensure macro parameters are wrapped in parentheses
2017-12-08 7:31 [PATCH] mmc: cqhci: Ensure macro parameters are wrapped in parentheses Adrian Hunter
@ 2017-12-11 12:29 ` Ulf Hansson
0 siblings, 0 replies; 2+ messages in thread
From: Ulf Hansson @ 2017-12-11 12:29 UTC (permalink / raw)
To: Adrian Hunter
Cc: linux-mmc, Dan Carpenter, Harjani Ritesh, Shawn Lin, Bough Chen
On 8 December 2017 at 08:31, Adrian Hunter <adrian.hunter@intel.com> wrote:
> Absence of parentheses is not affecting current code, but ensure macro
> parameters are wrapped in parentheses.
>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Fixes: adcb39141800 ("mmc: cqhci: support for command queue enabled host")
> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Thanks, applied for next!
Kind regards
Uffe
> ---
> drivers/mmc/host/cqhci.h | 42 +++++++++++++++++++++---------------------
> 1 file changed, 21 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/mmc/host/cqhci.h b/drivers/mmc/host/cqhci.h
> index 2d39d361b322..9e68286a07b4 100644
> --- a/drivers/mmc/host/cqhci.h
> +++ b/drivers/mmc/host/cqhci.h
> @@ -61,9 +61,9 @@
> #define CQHCI_IC_ENABLE BIT(31)
> #define CQHCI_IC_RESET BIT(16)
> #define CQHCI_IC_ICCTHWEN BIT(15)
> -#define CQHCI_IC_ICCTH(x) ((x & 0x1F) << 8)
> +#define CQHCI_IC_ICCTH(x) (((x) & 0x1F) << 8)
> #define CQHCI_IC_ICTOVALWEN BIT(7)
> -#define CQHCI_IC_ICTOVAL(x) (x & 0x7F)
> +#define CQHCI_IC_ICTOVAL(x) ((x) & 0x7F)
>
> /* task list base address */
> #define CQHCI_TDLBA 0x20
> @@ -119,31 +119,31 @@
> #define CQHCI_IC_DEFAULT_ICTOVAL 1
>
> /* attribute fields */
> -#define CQHCI_VALID(x) ((x & 1) << 0)
> -#define CQHCI_END(x) ((x & 1) << 1)
> -#define CQHCI_INT(x) ((x & 1) << 2)
> -#define CQHCI_ACT(x) ((x & 0x7) << 3)
> +#define CQHCI_VALID(x) (((x) & 1) << 0)
> +#define CQHCI_END(x) (((x) & 1) << 1)
> +#define CQHCI_INT(x) (((x) & 1) << 2)
> +#define CQHCI_ACT(x) (((x) & 0x7) << 3)
>
> /* data command task descriptor fields */
> -#define CQHCI_FORCED_PROG(x) ((x & 1) << 6)
> -#define CQHCI_CONTEXT(x) ((x & 0xF) << 7)
> -#define CQHCI_DATA_TAG(x) ((x & 1) << 11)
> -#define CQHCI_DATA_DIR(x) ((x & 1) << 12)
> -#define CQHCI_PRIORITY(x) ((x & 1) << 13)
> -#define CQHCI_QBAR(x) ((x & 1) << 14)
> -#define CQHCI_REL_WRITE(x) ((x & 1) << 15)
> -#define CQHCI_BLK_COUNT(x) ((x & 0xFFFF) << 16)
> -#define CQHCI_BLK_ADDR(x) ((x & 0xFFFFFFFF) << 32)
> +#define CQHCI_FORCED_PROG(x) (((x) & 1) << 6)
> +#define CQHCI_CONTEXT(x) (((x) & 0xF) << 7)
> +#define CQHCI_DATA_TAG(x) (((x) & 1) << 11)
> +#define CQHCI_DATA_DIR(x) (((x) & 1) << 12)
> +#define CQHCI_PRIORITY(x) (((x) & 1) << 13)
> +#define CQHCI_QBAR(x) (((x) & 1) << 14)
> +#define CQHCI_REL_WRITE(x) (((x) & 1) << 15)
> +#define CQHCI_BLK_COUNT(x) (((x) & 0xFFFF) << 16)
> +#define CQHCI_BLK_ADDR(x) (((x) & 0xFFFFFFFF) << 32)
>
> /* direct command task descriptor fields */
> -#define CQHCI_CMD_INDEX(x) ((x & 0x3F) << 16)
> -#define CQHCI_CMD_TIMING(x) ((x & 1) << 22)
> -#define CQHCI_RESP_TYPE(x) ((x & 0x3) << 23)
> +#define CQHCI_CMD_INDEX(x) (((x) & 0x3F) << 16)
> +#define CQHCI_CMD_TIMING(x) (((x) & 1) << 22)
> +#define CQHCI_RESP_TYPE(x) (((x) & 0x3) << 23)
>
> /* transfer descriptor fields */
> -#define CQHCI_DAT_LENGTH(x) ((x & 0xFFFF) << 16)
> -#define CQHCI_DAT_ADDR_LO(x) ((x & 0xFFFFFFFF) << 32)
> -#define CQHCI_DAT_ADDR_HI(x) ((x & 0xFFFFFFFF) << 0)
> +#define CQHCI_DAT_LENGTH(x) (((x) & 0xFFFF) << 16)
> +#define CQHCI_DAT_ADDR_LO(x) (((x) & 0xFFFFFFFF) << 32)
> +#define CQHCI_DAT_ADDR_HI(x) (((x) & 0xFFFFFFFF) << 0)
>
> struct cqhci_host_ops;
> struct mmc_host;
> --
> 1.9.1
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-12-11 12:29 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-08 7:31 [PATCH] mmc: cqhci: Ensure macro parameters are wrapped in parentheses Adrian Hunter
2017-12-11 12:29 ` Ulf Hansson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.