All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: Mike Frysinger <vapier.adi@gmail.com>
Cc: Sonic Zhang <sonic.adi@gmail.com>,
	Linux IDE <linux-ide@vger.kernel.org>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	Bryan Wu <bryan.wu@analog.com>
Subject: Re: [PATCH take #5] [libata] libata driver for bf548 on chip ATAPI controller.
Date: Thu, 16 Aug 2007 14:56:22 -0400	[thread overview]
Message-ID: <46C49DD6.9050508@garzik.org> (raw)
In-Reply-To: <8bd0f97a0708161146l70eeea69jd5fdedbaa8486590@mail.gmail.com>

Mike Frysinger wrote:
> On 8/16/07, Jeff Garzik <jeff@garzik.org> wrote:
>> Mike Frysinger wrote:
>>> On 8/16/07, Jeff Garzik <jeff@garzik.org> wrote:
>>>> Sonic Zhang wrote:
>>>>> +static void bfin_set_piomode(struct ata_port *ap, struct ata_device *adev)
>>>>> +{
>>>>> +     int mode = adev->pio_mode - XFER_PIO_0;
>>>>> +     unsigned long base = (unsigned long)ap->ioaddr.ctl_addr;
>>>> (added Bryan Wu to CC)
>>>>
>>>> Someone needs to need fix the bfin architecture:  the addresses on the
>>>> bfin_read/bfin_write functions should be 'void __iomem *' not unsigned long.
>>> there are no address pointers anymore, so there is nothing to cast ...
>>> the bfin_read/bfin_write macros are done in sexy asm:
>>> #define bfin_write8(addr,val) __asm__ __volatile__("b[%0] = %1;" ::
>>> "a"(addr), "d"(val))
>>> or i'm misunderstanding what you mean ...
>>>
>>> where do you see (unsigned long) ?
>> Look up (into the message you quoted).
> 
> yes, you quoted the driver, not the Blackfin core parts
> 
>> Regardless of the implementation, the C type system should be employed
>> to ensure that 'addr' is known to the compiler as 'void __iomem *'
>> rather than unsigned long.
> 
> i agree the specific pata driver should be declared the way you
> described, however i dont see how that has bearing on the
> bfin_read/bfin_write macros as you seemed to indicate

Macros completely ignore the C type system.  Look at other architectures 
if you cannot figure out how to implement a static inline with stronger 
typing.

	Jeff




  reply	other threads:[~2007-08-16 18:56 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-15  9:14 [PATCH take #5] [libata] libata driver for bf548 on chip ATAPI controller Sonic Zhang
2007-08-15 10:06 ` Alan Cox
2007-08-16  7:04 ` Jeff Garzik
2007-08-16 16:27   ` Mike Frysinger
2007-08-16 18:40     ` Jeff Garzik
2007-08-16 18:46       ` Mike Frysinger
2007-08-16 18:56         ` Jeff Garzik [this message]
2007-08-17  2:18           ` Bryan Wu

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=46C49DD6.9050508@garzik.org \
    --to=jeff@garzik.org \
    --cc=bryan.wu@analog.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sonic.adi@gmail.com \
    --cc=vapier.adi@gmail.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.