public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 07/10] net: fix returning void-valued expression warnings
@ 2008-04-30 22:03 Harvey Harrison
  2008-04-30 22:08 ` David Miller
  2008-04-30 23:31 ` Alan Cox
  0 siblings, 2 replies; 6+ messages in thread
From: Harvey Harrison @ 2008-04-30 22:03 UTC (permalink / raw)
  To: Andrew Morton; +Cc: David Miller, Jeff Garzik, LKML

drivers/net/8390.c:37:2: warning: returning void-valued expression
drivers/net/bnx2.c:1635:3: warning: returning void-valued expression
drivers/net/xen-netfront.c:1806:2: warning: returning void-valued expression
net/ipv4/tcp_hybla.c:105:3: warning: returning void-valued expression
net/ipv4/tcp_vegas.c:171:3: warning: returning void-valued expression
net/ipv4/tcp_veno.c:123:3: warning: returning void-valued expression
net/sysctl_net.c:85:2: warning: returning void-valued expression

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
---
 drivers/net/8390.c         |    2 +-
 drivers/net/bnx2.c         |    6 ++++--
 drivers/net/xen-netfront.c |    2 +-
 net/ipv4/tcp_hybla.c       |    6 ++++--
 net/ipv4/tcp_vegas.c       |    6 ++++--
 net/ipv4/tcp_veno.c        |    6 ++++--
 net/sysctl_net.c           |    2 +-
 7 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/drivers/net/8390.c b/drivers/net/8390.c
index a499e86..dc5d258 100644
--- a/drivers/net/8390.c
+++ b/drivers/net/8390.c
@@ -34,7 +34,7 @@ struct net_device *__alloc_ei_netdev(int size)
 
 void NS8390_init(struct net_device *dev, int startp)
 {
-	return __NS8390_init(dev, startp);
+	__NS8390_init(dev, startp);
 }
 
 EXPORT_SYMBOL(ei_open);
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 15853be..8613879 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -1631,8 +1631,10 @@ bnx2_set_default_remote_link(struct bnx2 *bp)
 static void
 bnx2_set_default_link(struct bnx2 *bp)
 {
-	if (bp->phy_flags & BNX2_PHY_FLAG_REMOTE_PHY_CAP)
-		return bnx2_set_default_remote_link(bp);
+	if (bp->phy_flags & BNX2_PHY_FLAG_REMOTE_PHY_CAP) {
+		bnx2_set_default_remote_link(bp);
+		return;
+	}
 
 	bp->autoneg = AUTONEG_SPEED | AUTONEG_FLOW_CTRL;
 	bp->req_line_speed = 0;
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index e62018a..8bddff1 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1803,7 +1803,7 @@ static void __exit netif_exit(void)
 	if (is_initial_xendomain())
 		return;
 
-	return xenbus_unregister_driver(&netfront);
+	xenbus_unregister_driver(&netfront);
 }
 module_exit(netif_exit);
 
diff --git a/net/ipv4/tcp_hybla.c b/net/ipv4/tcp_hybla.c
index 44618b6..bfcbd14 100644
--- a/net/ipv4/tcp_hybla.c
+++ b/net/ipv4/tcp_hybla.c
@@ -101,8 +101,10 @@ static void hybla_cong_avoid(struct sock *sk, u32 ack, u32 in_flight)
 	if (!tcp_is_cwnd_limited(sk, in_flight))
 		return;
 
-	if (!ca->hybla_en)
-		return tcp_reno_cong_avoid(sk, ack, in_flight);
+	if (!ca->hybla_en) {
+		tcp_reno_cong_avoid(sk, ack, in_flight);
+		return;
+	}
 
 	if (ca->rho == 0)
 		hybla_recalc_param(sk);
diff --git a/net/ipv4/tcp_vegas.c b/net/ipv4/tcp_vegas.c
index 0e1a8c9..14504da 100644
--- a/net/ipv4/tcp_vegas.c
+++ b/net/ipv4/tcp_vegas.c
@@ -167,8 +167,10 @@ static void tcp_vegas_cong_avoid(struct sock *sk, u32 ack, u32 in_flight)
 	struct tcp_sock *tp = tcp_sk(sk);
 	struct vegas *vegas = inet_csk_ca(sk);
 
-	if (!vegas->doing_vegas_now)
-		return tcp_reno_cong_avoid(sk, ack, in_flight);
+	if (!vegas->doing_vegas_now) {
+		tcp_reno_cong_avoid(sk, ack, in_flight);
+		return;
+	}
 
 	/* The key players are v_beg_snd_una and v_beg_snd_nxt.
 	 *
diff --git a/net/ipv4/tcp_veno.c b/net/ipv4/tcp_veno.c
index 2bf618a..d08b2e8 100644
--- a/net/ipv4/tcp_veno.c
+++ b/net/ipv4/tcp_veno.c
@@ -119,8 +119,10 @@ static void tcp_veno_cong_avoid(struct sock *sk, u32 ack, u32 in_flight)
 	struct tcp_sock *tp = tcp_sk(sk);
 	struct veno *veno = inet_csk_ca(sk);
 
-	if (!veno->doing_veno_now)
-		return tcp_reno_cong_avoid(sk, ack, in_flight);
+	if (!veno->doing_veno_now) {
+		tcp_reno_cong_avoid(sk, ack, in_flight);
+		return;
+	}
 
 	/* limited by applications */
 	if (!tcp_is_cwnd_limited(sk, in_flight))
diff --git a/net/sysctl_net.c b/net/sysctl_net.c
index 665e856..b4f0525 100644
--- a/net/sysctl_net.c
+++ b/net/sysctl_net.c
@@ -82,6 +82,6 @@ EXPORT_SYMBOL_GPL(register_net_sysctl_table);
 
 void unregister_net_sysctl_table(struct ctl_table_header *header)
 {
-	return unregister_sysctl_table(header);
+	unregister_sysctl_table(header);
 }
 EXPORT_SYMBOL_GPL(unregister_net_sysctl_table);
-- 
1.5.5.1.305.g7c84



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 07/10] net: fix returning void-valued expression warnings
  2008-04-30 22:03 [PATCH 07/10] net: fix returning void-valued expression warnings Harvey Harrison
@ 2008-04-30 22:08 ` David Miller
  2008-04-30 22:20   ` Harvey Harrison
  2008-04-30 23:31 ` Alan Cox
  1 sibling, 1 reply; 6+ messages in thread
From: David Miller @ 2008-04-30 22:08 UTC (permalink / raw)
  To: harvey.harrison; +Cc: akpm, jeff, linux-kernel

From: Harvey Harrison <harvey.harrison@gmail.com>
Date: Wed, 30 Apr 2008 15:03:43 -0700

> drivers/net/8390.c:37:2: warning: returning void-valued expression
> drivers/net/bnx2.c:1635:3: warning: returning void-valued expression
> drivers/net/xen-netfront.c:1806:2: warning: returning void-valued expression
> net/ipv4/tcp_hybla.c:105:3: warning: returning void-valued expression
> net/ipv4/tcp_vegas.c:171:3: warning: returning void-valued expression
> net/ipv4/tcp_veno.c:123:3: warning: returning void-valued expression
> net/sysctl_net.c:85:2: warning: returning void-valued expression
> 
> Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

I wish this weren't marked with a warning, what spits this out,
sparse?

I know the kernel is written in C and not C++, but even Stroustrup
mentions this case explicitly in his book:

	 A void function cannot return a value.  However, a call of a
	 void function doesn't yield a value, so a void function can
	 use a call of a void function as the expression in a return
	 statement.

And I see no reason why there's anything wrong with this construct.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 07/10] net: fix returning void-valued expression warnings
  2008-04-30 22:08 ` David Miller
@ 2008-04-30 22:20   ` Harvey Harrison
  2008-04-30 22:21     ` David Miller
  2008-05-01  3:19     ` Linus Torvalds
  0 siblings, 2 replies; 6+ messages in thread
From: Harvey Harrison @ 2008-04-30 22:20 UTC (permalink / raw)
  To: David Miller, Linus Torvalds; +Cc: akpm, jeff, linux-kernel

On Wed, 2008-04-30 at 15:08 -0700, David Miller wrote:
> From: Harvey Harrison <harvey.harrison@gmail.com>
> Date: Wed, 30 Apr 2008 15:03:43 -0700
> 
> > drivers/net/8390.c:37:2: warning: returning void-valued expression
> > drivers/net/bnx2.c:1635:3: warning: returning void-valued expression
> > drivers/net/xen-netfront.c:1806:2: warning: returning void-valued expression
> > net/ipv4/tcp_hybla.c:105:3: warning: returning void-valued expression
> > net/ipv4/tcp_vegas.c:171:3: warning: returning void-valued expression
> > net/ipv4/tcp_veno.c:123:3: warning: returning void-valued expression
> > net/sysctl_net.c:85:2: warning: returning void-valued expression
> > 
> > Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
> 
> I wish this weren't marked with a warning, what spits this out,
> sparse?

Yes, sparse warning.

> 
> I know the kernel is written in C and not C++, but even Stroustrup
> mentions this case explicitly in his book:
> 
> 	 A void function cannot return a value.  However, a call of a
> 	 void function doesn't yield a value, so a void function can
> 	 use a call of a void function as the expression in a return
> 	 statement.
> 
> And I see no reason why there's anything wrong with this construct.

Well, in an X86_32 allyesconfig, this only trips 32 times...so it's not
exactly common.  I agree that there is nothing _wrong_ with this, I'll
just add Linus and see if we can just call it codingstyle ;)

This is just a _trivial_ way to make the sparse output easier for people
to use day-to-day for the kernel. There's lots more to do, but this set
removes all remaining integer as NUll/ returning void-value/ single bit
signed bitfield warnings.

Cheers,

Harvey


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 07/10] net: fix returning void-valued expression warnings
  2008-04-30 22:20   ` Harvey Harrison
@ 2008-04-30 22:21     ` David Miller
  2008-05-01  3:19     ` Linus Torvalds
  1 sibling, 0 replies; 6+ messages in thread
From: David Miller @ 2008-04-30 22:21 UTC (permalink / raw)
  To: harvey.harrison; +Cc: torvalds, akpm, jeff, linux-kernel

From: Harvey Harrison <harvey.harrison@gmail.com>
Date: Wed, 30 Apr 2008 15:20:05 -0700

> This is just a _trivial_ way to make the sparse output easier for people
> to use day-to-day for the kernel. There's lots more to do, but this set
> removes all remaining integer as NUll/ returning void-value/ single bit
> signed bitfield warnings.

Absolutely, I have no problem with that.

So I'll likely apply your patch, thanks.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 07/10] net: fix returning void-valued expression warnings
  2008-04-30 22:03 [PATCH 07/10] net: fix returning void-valued expression warnings Harvey Harrison
  2008-04-30 22:08 ` David Miller
@ 2008-04-30 23:31 ` Alan Cox
  1 sibling, 0 replies; 6+ messages in thread
From: Alan Cox @ 2008-04-30 23:31 UTC (permalink / raw)
  To: Harvey Harrison; +Cc: Andrew Morton, David Miller, Jeff Garzik, LKML

> --- a/drivers/net/8390.c
> +++ b/drivers/net/8390.c
> @@ -34,7 +34,7 @@ struct net_device *__alloc_ei_netdev(int size)
>  
>  void NS8390_init(struct net_device *dev, int startp)
>  {
> -	return __NS8390_init(dev, startp);
> +	__NS8390_init(dev, startp);
>  }
>  
>  EXPORT_SYMBOL(ei_open);

Acked-by: Alan Cox <alan@redhat.com>

A

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 07/10] net: fix returning void-valued expression warnings
  2008-04-30 22:20   ` Harvey Harrison
  2008-04-30 22:21     ` David Miller
@ 2008-05-01  3:19     ` Linus Torvalds
  1 sibling, 0 replies; 6+ messages in thread
From: Linus Torvalds @ 2008-05-01  3:19 UTC (permalink / raw)
  To: Harvey Harrison; +Cc: David Miller, akpm, jeff, linux-kernel



On Wed, 30 Apr 2008, Harvey Harrison wrote:
> 
> Well, in an X86_32 allyesconfig, this only trips 32 times...so it's not
> exactly common.  I agree that there is nothing _wrong_ with this, I'll
> just add Linus and see if we can just call it codingstyle ;)

I actually had a patch to sparse to _not_ complain about it, because I 
think it's one of the sane C++ extensions. I must have lost the patch and 
not sent it upstream.

So in general, I don't mind the "return void_function()" in a void 
function, I think it makes sense from a type standpoint, and sometimes 
results in cleaner code. That said, I'm also not sure it's worth breaking 
the C standard over, so I don't really mind it being fixed in the kernel 
either (but would certainly also not complain if sparse were to be changed 
to not complain)

			Linus

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-05-01  3:19 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-30 22:03 [PATCH 07/10] net: fix returning void-valued expression warnings Harvey Harrison
2008-04-30 22:08 ` David Miller
2008-04-30 22:20   ` Harvey Harrison
2008-04-30 22:21     ` David Miller
2008-05-01  3:19     ` Linus Torvalds
2008-04-30 23:31 ` Alan Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox