All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Florian Fainelli <florian@openwrt.org>
Cc: linux-kernel@vger.kernel.org, Ralf Baechle <ralf@linux-mips.org>,
	Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH 2/9] add support for the TI VLYNQ bus
Date: Thu, 4 Jun 2009 04:20:32 -0700	[thread overview]
Message-ID: <20090604042032.51ece7a9.akpm@linux-foundation.org> (raw)
In-Reply-To: <200906041252.19613.florian@openwrt.org>

On Thu, 4 Jun 2009 12:52:18 +0200 Florian Fainelli <florian@openwrt.org> wrote:

> Le Tuesday 02 June 2009 07:08:54 Andrew Morton, vous avez __crit__:
> > On Mon, 1 Jun 2009 13:58:27 +0200 Florian Fainelli <florian@openwrt.org> 
> wrote:
> > > This patch adds support for the TI VLYNQ high-speed,
> > > serial and packetized bus. This bus allows external
> > > devices to be connected to the System-on-Chip and
> > > appear in the main system memory just like any memory
> > > mapped peripheral. It is widely used in TI's networking
> > > and mutlimedia SoC, including the AR7 SoC.
> > >
> > >
> > > ...
> > >
> > > +struct vlynq_regs {
> > > +	u32 revision;
> > > +	u32 control;
> > > +	u32 status;
> > > +	u32 int_prio;
> > > +	u32 int_status;
> > > +	u32 int_pending;
> > > +	u32 int_ptr;
> > > +	u32 tx_offset;
> > > +	struct vlynq_mapping rx_mapping[4];
> > > +	u32 chip;
> > > +	u32 autonego;
> > > +	u32 unused[6];
> > > +	u32 int_device[8];
> > > +};
> > > +
> > > +#define vlynq_reg_read(reg) readl(&(reg))
> > > +#define vlynq_reg_write(reg, val)  writel(val, &(reg))
> >
> > grumble.  These just make the code harder to follow.  it'd be better to
> > open-code readl() and writel() at the callsites.
> 
> I do not understand how to fix this. Would an inlined accessors be a better 
> solution for you?

Just remove the accessors altogether.  Each place where there is a call
to vlynq_reg_read(), replace that with a call to readl().

Unless there's a reason not to do this.  For example, some hardware
might require a udelay(1) before each writel(), or some platforms might
want to use outl()/inl().  In cases like these, sure, standalone
functions are needed to handle them.

But if vlynq_reg_read() and vlynq_reg_write() will never do anything
apart from a bare readl()/writel() then let's just remove them
altogether, as they add nothing.


  reply	other threads:[~2009-06-04 11:21 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-01 11:58 [PATCH 2/9] add support for the TI VLYNQ bus Florian Fainelli
2009-06-02  5:08 ` Andrew Morton
2009-06-02  8:30   ` Florian Fainelli
2009-06-04 10:52   ` Florian Fainelli
2009-06-04 11:20     ` Andrew Morton [this message]
2009-06-02 11:11 ` Ralf Baechle
2009-06-08 11:28 ` Suraj Iyer
2009-06-08 11:40   ` Florian Fainelli

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=20090604042032.51ece7a9.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=florian@openwrt.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=ralf@linux-mips.org \
    /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.