lkml.org 
[lkml]   [2014]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v11 10/10] PCI: Introduce pci_remap_iospace() for remapping PCI I/O bus resources into CPU space
On 20.09.14 04:20:31, Arnd Bergmann wrote:
> On Friday 19 September 2014, Bjorn Helgaas wrote:
> > On Thu, Sep 18, 2014 at 02:30:25AM +0100, Liviu Dudau wrote:
>
> > PCI_IOBASE is a virtual address. So PCI_IOBASE + res->start is also a
> > virtual address (only for IORESOURCE_IO).
> >
> > Since res->start is normally a *physical* address, I think it would be less
> > confusing to do something like this:
> >
> > vaddr = PCI_IOBASE + res->start;
> > ioremap_page_range(vaddr, vaddr + resource_size(res), ...);
> >
> > so we have a hint that the first two ioremap_page_range() parameters are
> > virtual addresses. It's also confusing that it uses "unsigned long" for
> > the virtual addresses, when we usually use "void *". But that's out of
> > scope for this patch.
>
> Good idea. I think it will have to be (unsigned long)PCI_IOBASE above then,
> since ioremap_page_range takes a 'unsigned long' virtual address and PCI_IOBASE
> should really remain an __iomem pointer.

Right, I see this warning here:

drivers/pci/pci.c: In function ‘pci_remap_iospace’:
drivers/pci/pci.c:2728:8: warning: assignment makes integer from pointer without a cast [enabled by default]

-Robert
--
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: 2014-09-22 18:01    [W:0.120 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site