|
@@ -240,7 +240,20 @@ void ioport_unmap(void __iomem *addr)
|
|
EXPORT_SYMBOL(ioport_map);
|
|
EXPORT_SYMBOL(ioport_map);
|
|
EXPORT_SYMBOL(ioport_unmap);
|
|
EXPORT_SYMBOL(ioport_unmap);
|
|
|
|
|
|
-/* Create a virtual mapping cookie for a PCI BAR (memory or IO) */
|
|
|
|
|
|
+/**
|
|
|
|
+ * pci_iomap - create a virtual mapping cookie for a PCI BAR
|
|
|
|
+ * @dev: PCI device that owns the BAR
|
|
|
|
+ * @bar: BAR number
|
|
|
|
+ * @maxlen: length of the memory to map
|
|
|
|
+ *
|
|
|
|
+ * Using this function you will get a __iomem address to your device BAR.
|
|
|
|
+ * You can access it using ioread*() and iowrite*(). These functions hide
|
|
|
|
+ * the details if this is a MMIO or PIO address space and will just do what
|
|
|
|
+ * you expect from them in the correct way.
|
|
|
|
+ *
|
|
|
|
+ * @maxlen specifies the maximum length to map. If you want to get access to
|
|
|
|
+ * the complete BAR without checking for its length first, pass %0 here.
|
|
|
|
+ * */
|
|
void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
|
|
void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
|
|
{
|
|
{
|
|
unsigned long start = pci_resource_start(dev, bar);
|
|
unsigned long start = pci_resource_start(dev, bar);
|