lkml.org 
[lkml]   [2004]   [Oct]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH] Fix readw/writew warnings in drivers/net/wireless/hermes.h
    Date
    On Monday 11 October 2004 14:31, David Gibson wrote:
    Hi all,
    I'm having the same pointer casting warnings with my ymfpci soundchip...
    > On Mon, Oct 11, 2004 at 05:34:20PM +0530, Ricky lloyd wrote:
    > > > Isn't the correct fix to declare iobase as (void __iomem *) ?
    > >
    > > Earlier today i had posted a patch which mainly fixes this same
    > > problem with lotsa scsi
    > > drivers and tulip drivers. I wondered the same "shouldnt all the addrs
    > > be declared as
    > > void __iomem* ??".
    >
    > The trouble with that is that for some versions of the orinoco card,
    > the iobase refers to a legacy ISA IO address, not a memory-mapped IO
    > address (that's the inw()/outw() path in the macro). That needs an
    > integer, rather than a pointer.
    however,
    I don't think there should be any casting of IO addresses for the simple reason that the void __iomem *
    is a part of an interface which does the right thing in both MMIO/PIO cases. The lkml
    thread "Being more anal about iospace accesses.." contains the answer to
    that in a great detail. As a result, the right thing to do here is, I think, to declare all addrs void __iomem*.
    Which leaves a question: while compiling the following code fragment:

    <sound/pci/ymfpci/ymfpci_main.c>
    static inline u8 snd_ymfpci_readb(ymfpci_t *chip, u32 offset)
    {
    return readb(chip->reg_area_virt + offset);
    }

    gcc complains as so:

    sound/pci/ymfpci/ymfpci_main.c: In function `snd_ymfpci_readb':
    sound/pci/ymfpci/ymfpci_main.c:57: warning: passing arg 1 of `readb' makes pointer from integer without a cast

    Do we have to cast here or use the new interface?

    >
    > It's not clear to me which way around the cast is less ugly.


    Boris.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:06    [W:0.022 / U:32.352 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site