All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ryan Mallon <rmallon@gmail.com>
To: Rafal Prylowski <prylowski@metasoft.pl>
Cc: Arnd Bergmann <arnd@arndb.de>,
	linux-arm-kernel@lists.infradead.org, linux-ide@vger.kernel.org,
	bzolnier@gmail.com, hsweeten@visionengravers.com,
	Sergei Shtylyov <sshtylyov@mvista.com>,
	joao.ramos@inov.pt
Subject: Re: [PATCH 1/3] PATA host controller driver for ep93xx
Date: Tue, 03 Apr 2012 11:50:57 +1000	[thread overview]
Message-ID: <4F7A5781.3000507@gmail.com> (raw)
In-Reply-To: <4F795AD1.4070101@metasoft.pl>

On 02/04/12 17:52, Rafal Prylowski wrote:

> On 2012-03-30 22:18, Arnd Bergmann wrote:
>>> +static u16 ep93xx_pata_read(struct ep93xx_pata_data *drv_data,
>>> +			    void *addr_io,
>>> +			    const struct ata_timing *t)
>>> +{
>>> +	unsigned long addr = (unsigned long) addr_io & 0x1f;
>>> +	void __iomem *base = drv_data->ide_base;
>>> +	u16 ret;
>>> +
>>> +	writel(IDECtrl_DIOWn | IDECtrl_DIORn | addr, base + IDECtrl);
>>> +	ndelay(t->setup);
>>> +	writel(IDECtrl_DIOWn | addr, base + IDECtrl);
>>
>> The pointer arithmetic that you do here on addr_io looks really evil.
>> Basically your registers are indirect and cannot be accessed through
>> pointer dereference. Maybe you should not be trying to do that then
>> and not use the ata_port->ioaddr structure.
> 
> Yes, I already prepared a version of the driver in which IDE register
> addresses are coded as enums instead of using ata_port->ioaddr structure. 
> I will post updated version, when I get feedback from Ryan if enums
> or defines are preferred.

I would prefer defines, simply because it looks odd having an enum which
has multiple names defined to the same value, and most drivers tend to
use defines rather than enums for registers. It's not a big deal though,
and certainly not a show stopper.

~Ryan

WARNING: multiple messages have this Message-ID (diff)
From: rmallon@gmail.com (Ryan Mallon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] PATA host controller driver for ep93xx
Date: Tue, 03 Apr 2012 11:50:57 +1000	[thread overview]
Message-ID: <4F7A5781.3000507@gmail.com> (raw)
In-Reply-To: <4F795AD1.4070101@metasoft.pl>

On 02/04/12 17:52, Rafal Prylowski wrote:

> On 2012-03-30 22:18, Arnd Bergmann wrote:
>>> +static u16 ep93xx_pata_read(struct ep93xx_pata_data *drv_data,
>>> +			    void *addr_io,
>>> +			    const struct ata_timing *t)
>>> +{
>>> +	unsigned long addr = (unsigned long) addr_io & 0x1f;
>>> +	void __iomem *base = drv_data->ide_base;
>>> +	u16 ret;
>>> +
>>> +	writel(IDECtrl_DIOWn | IDECtrl_DIORn | addr, base + IDECtrl);
>>> +	ndelay(t->setup);
>>> +	writel(IDECtrl_DIOWn | addr, base + IDECtrl);
>>
>> The pointer arithmetic that you do here on addr_io looks really evil.
>> Basically your registers are indirect and cannot be accessed through
>> pointer dereference. Maybe you should not be trying to do that then
>> and not use the ata_port->ioaddr structure.
> 
> Yes, I already prepared a version of the driver in which IDE register
> addresses are coded as enums instead of using ata_port->ioaddr structure. 
> I will post updated version, when I get feedback from Ryan if enums
> or defines are preferred.

I would prefer defines, simply because it looks odd having an enum which
has multiple names defined to the same value, and most drivers tend to
use defines rather than enums for registers. It's not a big deal though,
and certainly not a show stopper.

~Ryan

  parent reply	other threads:[~2012-04-03  1:51 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-29  8:10 [PATCH 0/3] Add PATA host controller support for Cirrus Logic EP93xx CPU Rafal Prylowski
2012-03-29  8:10 ` Rafal Prylowski
2012-03-29  8:17 ` [PATCH 1/3] PATA host controller driver for ep93xx Rafal Prylowski
2012-03-29  8:17   ` Rafal Prylowski
2012-03-29 17:25   ` H Hartley Sweeten
2012-03-29 17:25     ` H Hartley Sweeten
2012-03-30  8:13     ` Rafal Prylowski
2012-03-30  8:13       ` Rafal Prylowski
2012-03-29 22:21   ` Ryan Mallon
2012-03-29 22:21     ` Ryan Mallon
2012-03-30 10:13     ` Rafal Prylowski
2012-03-30 10:13       ` Rafal Prylowski
2012-03-29 22:24   ` Ryan Mallon
2012-03-29 22:24     ` Ryan Mallon
2012-03-30  8:19     ` Rafal Prylowski
2012-03-30  8:19       ` Rafal Prylowski
2012-03-30 20:18   ` Arnd Bergmann
2012-03-30 20:18     ` Arnd Bergmann
2012-04-02  7:52     ` Rafal Prylowski
2012-04-02  7:52       ` Rafal Prylowski
2012-04-02  8:08       ` Arnd Bergmann
2012-04-02  8:08         ` Arnd Bergmann
2012-04-02  9:28         ` Rafal Prylowski
2012-04-02  9:28           ` Rafal Prylowski
2012-04-02 10:24           ` Arnd Bergmann
2012-04-02 10:24             ` Arnd Bergmann
2012-04-03  1:50       ` Ryan Mallon [this message]
2012-04-03  1:50         ` Ryan Mallon
2012-04-03  7:41         ` Arnd Bergmann
2012-04-03  7:41           ` Arnd Bergmann
2012-03-29  8:19 ` [PATCH 2/3] ep93xx: IDE driver platform support code Rafal Prylowski
2012-03-29  8:19   ` Rafal Prylowski
2012-03-29 16:26   ` H Hartley Sweeten
2012-03-29 16:26     ` H Hartley Sweeten
2012-03-30  8:29     ` Rafal Prylowski
2012-03-30  8:29       ` Rafal Prylowski
2012-03-29  8:20 ` [PATCH 3/3] ep93xx: Add IDE support to edb93xx boards Rafal Prylowski
2012-03-29  8:20   ` Rafal Prylowski
2012-03-29 16:32   ` H Hartley Sweeten
2012-03-29 16:32     ` H Hartley Sweeten
2012-03-30  8:32     ` Rafal Prylowski
2012-03-30  8:32       ` Rafal Prylowski

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=4F7A5781.3000507@gmail.com \
    --to=rmallon@gmail.com \
    --cc=arnd@arndb.de \
    --cc=bzolnier@gmail.com \
    --cc=hsweeten@visionengravers.com \
    --cc=joao.ramos@inov.pt \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=prylowski@metasoft.pl \
    --cc=sshtylyov@mvista.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.