All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joe Perches <joe@perches.com>
To: Masayuki Ohtake <masa-korg@dsn.okisemi.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
	ML netdev <netdev@vger.kernel.org>,
	Greg Rose <gregory.v.rose@intel.com>,
	Maxime Bizon <mbizon@freebox.fr>,
	Kristoffer Glembo <kristoffer@gaisler.com>,
	Ralf Baechle <ralf@linux-mips.org>,
	John Linn <john.linn@xilinx.com>,
	Randy Dunlap <randy.dunlap@oracle.com>,
	"David S. Miller" <davem@davemloft.net>,
	MeeGo <meego-dev@meego.com>, "Wang, Qi" <qi.wang@intel.com>,
	"Wang, Yong Y" <yong.y.wang@intel.com>,
	Andrew <andrew.chih.howe.khor@intel.com>,
	Intel OTC <joel.clark@intel.com>,
	"Foster, Margie" <margie.foster@intel.com>,
	Toshiharu Okada <okada533@dsn.okisemi.com>,
	Tomoya Morinaga <morinaga526@dsn.okisemi.com>,
	Takahiro Shimizu <shimizu394@dsn.okisemi.com>
Subject: Re: [PATCH] Gigabit Ethernet driver of Topcliff PCH
Date: Thu, 26 Aug 2010 07:44:30 -0700	[thread overview]
Message-ID: <1282833870.1875.52.camel@Joe-Laptop> (raw)
In-Reply-To: <4C763A67.5040107@dsn.okisemi.com>

On Thu, 2010-08-26 at 18:56 +0900, Masayuki Ohtake wrote:
> Gigabit Ethernet driver of Topcliff PCH
> +++ b/drivers/net/pch_gbe/pch_gbe.h

Just a few style comments

> +#undef FALSE
> +#define FALSE	0
> +#undef TRUE
> +#define TRUE	1

Perhaps better to use the kernel true/false.

> +#ifdef DEBUG
> +#define PCH_GBE_DEBUG(fmt, args...)\
> +	printk(KERN_DEBUG KBUILD_MODNAME ": " fmt, ##args)
> +#else
> +#define PCH_GBE_DEBUG(fmt, args...)	do { } while (0)
> +#endif

Better to use

#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt

and

	pr_debug(fmt, ...);

[]

> +struct pch_gbe_functions {
> +	void (*get_bus_info) (struct pch_gbe_hw *);
> +	s32(*init_hw) (struct pch_gbe_hw *);
> +	s32(*read_phy_reg) (struct pch_gbe_hw *, u32, u16 *);

Trivial: Inconsistent spacing (a few times)
Perhaps:
	s32 (*read_phy_reg) etc...

> +	s32(*write_phy_reg) (struct pch_gbe_hw *, u32, u16);
> +	void (*reset_phy) (struct pch_gbe_hw *);
[]
> +	s32(*read_mac_addr) (struct pch_gbe_hw *);

> +++ b/drivers/net/pch_gbe/pch_gbe_api.c
> @@ -0,0 +1,247 @@
[]

Convert all the
	printk(KERN_<level> KBUILD_MODNAME ": " etc
to
	pr_<level>(etc

> +#include "pch_gbe.h"
> +#include "pch_gbe_phy.h"
[]
> +static s32 pch_gbe_plat_init_hw(struct pch_gbe_hw *hw)
> +{
> +	s32 ret_val;
> +
> +	ret_val = pch_gbe_phy_get_id(hw);
> +	if (ret_val) {
> +		printk(KERN_ERR KBUILD_MODNAME ": "
> +			"pch_gbe_phy_get_id error\n");

		pr_err("pch_gbe_phy_get_id error\n");

> +inline s32 pch_gbe_hal_setup_init_funcs(struct pch_gbe_hw *hw)
> +{
> +	if (hw->reg) {
> +		pch_gbe_plat_init_function_pointers(hw);
> +		return 0;
> +	}
> +	printk(KERN_ERR KBUILD_MODNAME ": " "ERROR: Registers not mapped\n");

	pr_err("ERROR: Registers not mapped\n");
	etc...

> +	return -ENOSYS;
> +}

These are more commonly written as:

	if (!fn_ptr) {
		[ report_error_condition ]
		return -ERRNO;
	}

	rtn = fn_ptr(foo);
	if (rtn is err) {
		[ report_error_condition ]
		return -ERRNO2;
	}

	return 0;

For more complicated styles where some unwinding
is necessary

	if (!fn_ptr) {
		[ report_error_condition ]
		err = -ERRNO;
		goto out;
	}

	windup

	rtn = fn_ptr(foo);
	if (rtn is err) {
		[ report_error_condition ]
		err = ERRNO2
		goto out2;
	}

	return 0;

outn:
	..
out2:
	unwind;
out:
	return err;

> +
> +/**
> + * pch_gbe_hal_get_bus_info - Obtain bus information for adapter
> + * @hw:	Pointer to the HW structure
> + */
> +inline void pch_gbe_hal_get_bus_info(struct pch_gbe_hw *hw)
> +{
> +	if (hw->func.get_bus_info)
> +		hw->func.get_bus_info(hw);
> +	else
> +		printk(KERN_ERR KBUILD_MODNAME ": " "Error: configuration\n");

		pr_err("ERROR: configuration\n");
		etc...

> +++ b/drivers/net/pch_gbe/pch_gbe_ethtool.c

[]

Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
before any include

> +#include <linux/pci.h>
> +#include <linux/ethtool.h>
[]
> +static int pch_gbe_get_settings(struct net_device *netdev,
> +				 struct ethtool_cmd *ecmd)
> +{
> +	struct pch_gbe_adapter *adapter = netdev_priv(netdev);
> +	int ret;
> +
> +	PCH_GBE_DEBUG("ethtool: %s\n", __func__);

If you really want to track entering functions,
it might be better to use something like:

#define FUNC_ENTER() pr_devel("ethtool: %s enter\n", __func__)
#define FUNC_EXIT() pr_devel("ethtool: %s exit\n",  __func__)

Unlike pr_debug, pr_devel does not remain active in
code when DEBUG is not #defined.  Look up dynamic_debug.

> +	PCH_GBE_DEBUG("hw->mac.addr : 0x%02x %02x %02x %02x %02x %02x\n",
> +		hw->mac.addr[0], hw->mac.addr[1], hw->mac.addr[2],
> +		hw->mac.addr[3], hw->mac.addr[4], hw->mac.addr[5]);

There's a vsprintf pointer extension "%pM" used for mac addresses

	pr_debug("hw->mac.addr: %pM\n, hw->mac.addr);

etc.


  parent reply	other threads:[~2010-08-26 14:44 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-26  9:56 [PATCH] Gigabit Ethernet driver of Topcliff PCH Masayuki Ohtake
2010-08-26  9:56 ` Masayuki Ohtake
2010-08-26 10:28 ` Sam Ravnborg
2010-08-26 12:47   ` Masayuki Ohtake
2010-08-26 14:44 ` Joe Perches [this message]
2010-08-26 15:34 ` Stephen Hemminger
2010-08-26 15:40 ` Stephen Hemminger
2010-08-26 15:41 ` Stephen Hemminger
2010-08-26 15:42 ` Stephen Hemminger
2010-08-26 15:43 ` Stephen Hemminger
2010-08-26 15:45 ` Stephen Hemminger
2010-08-26 15:47 ` Stephen Hemminger
2010-08-26 15:57 ` Stephen Hemminger
2010-08-26 16:05 ` Stephen Hemminger
2010-08-26 16:16   ` Joe Perches
2010-08-26 16:29     ` Stephen Hemminger
2010-08-26 17:02       ` Joe Perches
2010-08-31 14:15 ` Masayuki Ohtake
2010-08-31 14:15   ` Masayuki Ohtake
2010-08-31 14:51   ` Eric Dumazet
2010-09-02 12:39     ` Masayuki Ohtake
2010-09-02 13:40       ` Eric Dumazet
2010-09-02 15:10         ` Stephen Hemminger
2010-09-03 13:32           ` Masayuki Ohtake
2010-09-03 13:43             ` Eric Dumazet
2010-09-03 14:11               ` Masayuki Ohtake
2010-08-31 15:08   ` Randy Dunlap
2010-08-31 16:10   ` Joe Perches
2010-08-31 17:25     ` [PATCH] drivers/net/pch_gbe: Use bool not unsigned char Joe Perches
2010-08-31 18:38       ` [PATCH] drivers/net/pch_gbe: Cleanup stats use Joe Perches
2010-09-01  1:33         ` Stephen Hemminger
2010-09-01  1:38           ` Joe Perches
2010-09-03  2:23   ` [PATCH] Gigabit Ethernet driver of Topcliff PCH FUJITA Tomonori
2010-09-07  1:13     ` Masayuki Ohtake
2010-09-07  3:21       ` FUJITA Tomonori
2010-09-07  4:06         ` Masayuki Ohtake
  -- strict thread matches above, loose matches on Subject: below --
2010-09-03 14:09 Masayuki Ohtake
2010-09-03 14:09 ` Masayuki Ohtake
2010-09-03 16:35 ` Jiri Slaby
2010-09-07  1:13   ` Masayuki Ohtake
2010-09-08 13:52   ` Masayuki Ohtake
2010-09-08 14:16     ` Jiri Slaby
2010-09-08 14:54       ` Stephen Hemminger
2010-09-08 14:55       ` Stephen Hemminger
2010-09-09 13:37         ` Masayuki Ohtake
2010-09-09 13:38       ` Masayuki Ohtake
2010-09-03 20:00 ` Joe Perches
2010-09-07  2:42 ` Masayuki Ohtake
2010-09-07  2:42   ` Masayuki Ohtake
2010-09-08 20:36   ` David Miller
2010-09-15 12:19     ` Masayuki Ohtake

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1282833870.1875.52.camel@Joe-Laptop \
    --to=joe@perches.com \
    --cc=andrew.chih.howe.khor@intel.com \
    --cc=davem@davemloft.net \
    --cc=gregory.v.rose@intel.com \
    --cc=joel.clark@intel.com \
    --cc=john.linn@xilinx.com \
    --cc=kristoffer@gaisler.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=margie.foster@intel.com \
    --cc=masa-korg@dsn.okisemi.com \
    --cc=mbizon@freebox.fr \
    --cc=meego-dev@meego.com \
    --cc=morinaga526@dsn.okisemi.com \
    --cc=netdev@vger.kernel.org \
    --cc=okada533@dsn.okisemi.com \
    --cc=qi.wang@intel.com \
    --cc=ralf@linux-mips.org \
    --cc=randy.dunlap@oracle.com \
    --cc=shimizu394@dsn.okisemi.com \
    --cc=yong.y.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.