Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1198326 > unrolled thread

[PATCH] Avoid compiler warning by storing the result of rq_data_dir() in an int variable

Started byTomer Barletz <barletz@gmail.com>
First post2015-08-02 12:40 +0200
Last post2015-08-05 06:10 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] Avoid compiler warning by storing the result of rq_data_dir() in an int variable Tomer Barletz <barletz@gmail.com> - 2015-08-02 12:40 +0200
    Re: [PATCH] Avoid compiler warning by storing the result of  rq_data_dir() in an int variable Hagen Paul Pfeifer <hagen@jauu.net> - 2015-08-02 16:00 +0200
      [PATCH] Avoid compiler warning by storing the result of rq_data_dir() in an int variable Tomer Barletz <barletz@gmail.com> - 2015-08-03 08:00 +0200
      [PATCH] mtd: Fix switch-bool compilation warning Tomer Barletz <barletz@gmail.com> - 2015-08-05 06:10 +0200

#1198326 — [PATCH] Avoid compiler warning by storing the result of rq_data_dir() in an int variable

FromTomer Barletz <barletz@gmail.com>
Date2015-08-02 12:40 +0200
Subject[PATCH] Avoid compiler warning by storing the result of rq_data_dir() in an int variable
Message-ID<pSYQq-1h9-3@gated-at.bofh.it>
With gcc 5.1 I get:
warning: switch condition has boolean value [-Wswitch-bool]

Signed-off-by: Tomer Barletz <barletz@gmail.com>
---
 drivers/mtd/mtd_blkdevs.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
index 41acc50..8c3715c 100644
--- a/drivers/mtd/mtd_blkdevs.c
+++ b/drivers/mtd/mtd_blkdevs.c
@@ -79,6 +79,7 @@ static int do_blktrans_request(struct mtd_blktrans_ops *tr,
 {
 	unsigned long block, nsect;
 	char *buf;
+	int rq;
 
 	block = blk_rq_pos(req) << 9 >> tr->blkshift;
 	nsect = blk_rq_cur_bytes(req) >> tr->blkshift;
@@ -97,7 +98,8 @@ static int do_blktrans_request(struct mtd_blktrans_ops *tr,
 	if (req->cmd_flags & REQ_DISCARD)
 		return tr->discard(dev, block, nsect);
 
-	switch(rq_data_dir(req)) {
+	rq = rq_data_dir(req);
+	switch(rq) {
 	case READ:
 		for (; nsect > 0; nsect--, block++, buf += tr->blksize)
 			if (tr->readsect(dev, block, buf))
-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1198349 — Re: [PATCH] Avoid compiler warning by storing the result of rq_data_dir() in an int variable

FromHagen Paul Pfeifer <hagen@jauu.net>
Date2015-08-02 16:00 +0200
SubjectRe: [PATCH] Avoid compiler warning by storing the result of rq_data_dir() in an int variable
Message-ID<pT1XY-5NL-13@gated-at.bofh.it>
In reply to#1198326
* Tomer Barletz | 2015-08-02 03:36:52 [-0700]:

>With gcc 5.1 I get:
>warning: switch condition has boolean value [-Wswitch-bool]
>
>Signed-off-by: Tomer Barletz <barletz@gmail.com>
>---
> drivers/mtd/mtd_blkdevs.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
>index 41acc50..8c3715c 100644
>--- a/drivers/mtd/mtd_blkdevs.c
>+++ b/drivers/mtd/mtd_blkdevs.c
>@@ -79,6 +79,7 @@ static int do_blktrans_request(struct mtd_blktrans_ops *tr,
> {
> 	unsigned long block, nsect;
> 	char *buf;
>+	int rq;
> 
> 	block = blk_rq_pos(req) << 9 >> tr->blkshift;
> 	nsect = blk_rq_cur_bytes(req) >> tr->blkshift;
>@@ -97,7 +98,8 @@ static int do_blktrans_request(struct mtd_blktrans_ops *tr,
> 	if (req->cmd_flags & REQ_DISCARD)
> 		return tr->discard(dev, block, nsect);
> 
>-	switch(rq_data_dir(req)) {
>+	rq = rq_data_dir(req);
>+	switch(rq) {

Gcc warning seems over the top here, but when then the coding guideline should
be meet:

switch (rw) {
[..]

On the other hand, rq_data_dir() *could* be simplified to:

#define rq_data_dir(rq)         (((rq)->cmd_flags & 1)

Or just re-code the construct into a if else construct.

if (rw == READ) {
[...]
} else {
[...]
}

The default branch is superfluous anyway here.

Hagen
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1198562

FromTomer Barletz <barletz@gmail.com>
Date2015-08-03 08:00 +0200
Message-ID<pTgX0-2bC-11@gated-at.bofh.it>
In reply to#1198349
With gcc 5.1 I get:
warning: switch condition has boolean value [-Wswitch-bool]

Signed-off-by: Tomer Barletz <barletz@gmail.com>
---
 drivers/mtd/mtd_blkdevs.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
index 41acc50..8830475 100644
--- a/drivers/mtd/mtd_blkdevs.c
+++ b/drivers/mtd/mtd_blkdevs.c
@@ -97,14 +97,13 @@ static int do_blktrans_request(struct mtd_blktrans_ops *tr,
 	if (req->cmd_flags & REQ_DISCARD)
 		return tr->discard(dev, block, nsect);
 
-	switch(rq_data_dir(req)) {
-	case READ:
+	if (rq_data_dir(req) == READ) {
 		for (; nsect > 0; nsect--, block++, buf += tr->blksize)
 			if (tr->readsect(dev, block, buf))
 				return -EIO;
 		rq_flush_dcache_pages(req);
 		return 0;
-	case WRITE:
+	} else {
 		if (!tr->writesect)
 			return -EIO;
 
@@ -113,9 +112,6 @@ static int do_blktrans_request(struct mtd_blktrans_ops *tr,
 			if (tr->writesect(dev, block, buf))
 				return -EIO;
 		return 0;
-	default:
-		printk(KERN_NOTICE "Unknown request %u\n", rq_data_dir(req));
-		return -EIO;
 	}
 }
 
-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1200382 — [PATCH] mtd: Fix switch-bool compilation warning

FromTomer Barletz <barletz@gmail.com>
Date2015-08-05 06:10 +0200
Subject[PATCH] mtd: Fix switch-bool compilation warning
Message-ID<pTYbE-6Oi-5@gated-at.bofh.it>
In reply to#1198349
With gcc 5.1 I get:
warning: switch condition has boolean value [-Wswitch-bool]

Signed-off-by: Tomer Barletz <barletz@gmail.com>
---
 drivers/mtd/mtd_blkdevs.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
index 41acc50..8830475 100644
--- a/drivers/mtd/mtd_blkdevs.c
+++ b/drivers/mtd/mtd_blkdevs.c
@@ -97,14 +97,13 @@ static int do_blktrans_request(struct mtd_blktrans_ops *tr,
 	if (req->cmd_flags & REQ_DISCARD)
 		return tr->discard(dev, block, nsect);
 
-	switch(rq_data_dir(req)) {
-	case READ:
+	if (rq_data_dir(req) == READ) {
 		for (; nsect > 0; nsect--, block++, buf += tr->blksize)
 			if (tr->readsect(dev, block, buf))
 				return -EIO;
 		rq_flush_dcache_pages(req);
 		return 0;
-	case WRITE:
+	} else {
 		if (!tr->writesect)
 			return -EIO;
 
@@ -113,9 +112,6 @@ static int do_blktrans_request(struct mtd_blktrans_ops *tr,
 			if (tr->writesect(dev, block, buf))
 				return -EIO;
 		return 0;
-	default:
-		printk(KERN_NOTICE "Unknown request %u\n", rq_data_dir(req));
-		return -EIO;
 	}
 }
 
-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web