[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160415235558.GC32136@lunn.ch>
Date: Sat, 16 Apr 2016 01:55:58 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Vivien Didelot <vivien.didelot@...oirfairelinux.com>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
kernel@...oirfairelinux.com,
"David S. Miller" <davem@...emloft.net>,
Florian Fainelli <f.fainelli@...il.com>
Subject: Re: [PATCH net-next v2 3/7] net: dsa: mv88e6xxx: add switch info
> + for (i = 0, info = &table[i]; i < num; info = &table[++i])
> + if (info->prod_num == (id & 0xfff0) >> 4)
> + goto found;
>
> return NULL;
> -}
>
> -char *mv88e6xxx_drv_probe(struct device *dsa_dev, struct device *host_dev,
> - int sw_addr, void **priv,
> - const struct mv88e6xxx_switch_id *table,
> - unsigned int num)
> -{
> - struct mv88e6xxx_priv_state *ps;
> - struct mii_bus *bus = dsa_host_dev_to_mii_bus(host_dev);
> - char *name;
> -
> - if (!bus)
> +found:
> + ps = devm_kzalloc(dsa_dev, sizeof(*ps), GFP_KERNEL);
> + if (!ps)
This looks like a goto to jump around a return NULL. Ugly. I would
keep this lookup in a separate function. You can then avoid ugly stuff
like this.
CodingStyle says:
Chapter 6: Functions
Functions should be short and sweet, and do just one thing. They should
fit on one or two screenfuls of text (the ISO/ANSI screen size is 80x24,
as we all know), and do one thing and do that well.
Andrew
Powered by blists - more mailing lists