diff mbox

arm: omap: hwmod: drop unnecessary list initialization

Message ID 1405455492-1087-1-git-send-email-balbi@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Felipe Balbi July 15, 2014, 8:18 p.m. UTC
ml->node and sl->node are currently initialized
by means of INIT_LIST_HEAD(). That initialiation
is followed by a list_add() call.

Looking at what both these functions do we will have:

	ml->node.next = &ml->node;
	ml->node.prev = &ml->node;
	oi->master->master_ports.next.prev = &ml->node;
	ml->node.next = &oi->master->master_ports.next;
	ml->node.prev = &oi->master->master_ports;
	oi->master->master_ports.next = &ml->node;

from this, it's clear that both INIT_LIST_HEAD() calls
are unnecessary and can be safely removed.

Signed-off-by: Felipe Balbi <balbi@ti.com>
---

found by code inspection, boot tested on am437x SK on today's
linux-next + pending patches.

 arch/arm/mach-omap2/omap_hwmod.c | 2 --
 1 file changed, 2 deletions(-)

Comments

Paul Walmsley July 28, 2014, 5:24 a.m. UTC | #1
On Tue, 15 Jul 2014, Felipe Balbi wrote:

> ml->node and sl->node are currently initialized
> by means of INIT_LIST_HEAD(). That initialiation
> is followed by a list_add() call.
> 
> Looking at what both these functions do we will have:
> 
> 	ml->node.next = &ml->node;
> 	ml->node.prev = &ml->node;
> 	oi->master->master_ports.next.prev = &ml->node;
> 	ml->node.next = &oi->master->master_ports.next;
> 	ml->node.prev = &oi->master->master_ports;
> 	oi->master->master_ports.next = &ml->node;
> 
> from this, it's clear that both INIT_LIST_HEAD() calls
> are unnecessary and can be safely removed.
> 
> Signed-off-by: Felipe Balbi <balbi@ti.com>
> ---
> 
> found by code inspection, boot tested on am437x SK on today's
> linux-next + pending patches.

Thanks, queued for v3.18.

- Paul
Felipe Balbi Nov. 4, 2014, 5:39 a.m. UTC | #2
Hi,

On Mon, Jul 28, 2014 at 05:24:34AM +0000, Paul Walmsley wrote:
> On Tue, 15 Jul 2014, Felipe Balbi wrote:
> 
> > ml->node and sl->node are currently initialized
> > by means of INIT_LIST_HEAD(). That initialiation
> > is followed by a list_add() call.
> > 
> > Looking at what both these functions do we will have:
> > 
> > 	ml->node.next = &ml->node;
> > 	ml->node.prev = &ml->node;
> > 	oi->master->master_ports.next.prev = &ml->node;
> > 	ml->node.next = &oi->master->master_ports.next;
> > 	ml->node.prev = &oi->master->master_ports;
> > 	oi->master->master_ports.next = &ml->node;
> > 
> > from this, it's clear that both INIT_LIST_HEAD() calls
> > are unnecessary and can be safely removed.
> > 
> > Signed-off-by: Felipe Balbi <balbi@ti.com>
> > ---
> > 
> > found by code inspection, boot tested on am437x SK on today's
> > linux-next + pending patches.
> 
> Thanks, queued for v3.18.

This is not on v3.18, what happened ?

$ git log --author=balbi@ti.com linus/master ^v3.17 -- arch/arm/mach-omap2/omap_hwmod.c
$
Felipe Balbi Nov. 6, 2014, 4:19 p.m. UTC | #3
On Mon, Nov 03, 2014 at 11:39:52PM -0600, Felipe Balbi wrote:
> Hi,
> 
> On Mon, Jul 28, 2014 at 05:24:34AM +0000, Paul Walmsley wrote:
> > On Tue, 15 Jul 2014, Felipe Balbi wrote:
> > 
> > > ml->node and sl->node are currently initialized
> > > by means of INIT_LIST_HEAD(). That initialiation
> > > is followed by a list_add() call.
> > > 
> > > Looking at what both these functions do we will have:
> > > 
> > > 	ml->node.next = &ml->node;
> > > 	ml->node.prev = &ml->node;
> > > 	oi->master->master_ports.next.prev = &ml->node;
> > > 	ml->node.next = &oi->master->master_ports.next;
> > > 	ml->node.prev = &oi->master->master_ports;
> > > 	oi->master->master_ports.next = &ml->node;
> > > 
> > > from this, it's clear that both INIT_LIST_HEAD() calls
> > > are unnecessary and can be safely removed.
> > > 
> > > Signed-off-by: Felipe Balbi <balbi@ti.com>
> > > ---
> > > 
> > > found by code inspection, boot tested on am437x SK on today's
> > > linux-next + pending patches.
> > 
> > Thanks, queued for v3.18.
> 
> This is not on v3.18, what happened ?
> 
> $ git log --author=balbi@ti.com linus/master ^v3.17 -- arch/arm/mach-omap2/omap_hwmod.c
> $

ping
Paul Walmsley Nov. 7, 2014, 2:09 p.m. UTC | #4
Hi

On Thu, 6 Nov 2014, Felipe Balbi wrote:

> On Mon, Nov 03, 2014 at 11:39:52PM -0600, Felipe Balbi wrote:
> > Hi,
> > 
> > On Mon, Jul 28, 2014 at 05:24:34AM +0000, Paul Walmsley wrote:
> > > On Tue, 15 Jul 2014, Felipe Balbi wrote:
> > > 
> > > > ml->node and sl->node are currently initialized
> > > > by means of INIT_LIST_HEAD(). That initialiation
> > > > is followed by a list_add() call.
> > > > 
> > > > Looking at what both these functions do we will have:
> > > > 
> > > > 	ml->node.next = &ml->node;
> > > > 	ml->node.prev = &ml->node;
> > > > 	oi->master->master_ports.next.prev = &ml->node;
> > > > 	ml->node.next = &oi->master->master_ports.next;
> > > > 	ml->node.prev = &oi->master->master_ports;
> > > > 	oi->master->master_ports.next = &ml->node;
> > > > 
> > > > from this, it's clear that both INIT_LIST_HEAD() calls
> > > > are unnecessary and can be safely removed.
> > > > 
> > > > Signed-off-by: Felipe Balbi <balbi@ti.com>
> > > > ---
> > > > 
> > > > found by code inspection, boot tested on am437x SK on today's
> > > > linux-next + pending patches.
> > > 
> > > Thanks, queued for v3.18.
> > 
> > This is not on v3.18, what happened ?
> > 
> > $ git log --author=balbi@ti.com linus/master ^v3.17 -- arch/arm/mach-omap2/omap_hwmod.c
> > $
> 
> ping

I wound up not sending any OMAP patches upstream for the v3.18 merge 
window - instead just acking them.   This one has been requeued for v3.19.


- Paul
diff mbox

Patch

diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index 6c074f3..8194990 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -2828,12 +2828,10 @@  static int __init _add_link(struct omap_hwmod_ocp_if *oi)
 	_alloc_links(&ml, &sl);
 
 	ml->ocp_if = oi;
-	INIT_LIST_HEAD(&ml->node);
 	list_add(&ml->node, &oi->master->master_ports);
 	oi->master->masters_cnt++;
 
 	sl->ocp_if = oi;
-	INIT_LIST_HEAD(&sl->node);
 	list_add(&sl->node, &oi->slave->slave_ports);
 	oi->slave->slaves_cnt++;