Messages in this thread | | | Date | Wed, 20 Feb 2002 15:57:03 -0600 | From | David Stroupe <> | Subject | Q: PCI Driver ioremap |
| |
I am creating a PCI driver for a custom card and want to write 0xffff to a location offset from the base by 0x48 and have the following code:
<snip> unsigned int io_addr; unsigned int io_size; void* base; pci_enable_device (pdev) io_addr = pci_resource_start(pdev, 0); io_size = pci_resource_len(pdev, 0); if ((pci_resource_flags(pdev, 0) & IORESOURCE_MEM)){ if(check_mem_region(io_addr, io_size)) DBG("Already In Use");//this is never reached request_mem_region(io_addr, io_size , "Card Driver"); base=ioremap(io_addr, io_size); if(base==0) DBG("memory mapped wrong\n");//this is never reached writew(0xffff, base + 0x48); <snip>
The card is found, io_addr = 0xe9011000 and io_size = 0x200.
The write is unsuccessful or at least the data never reaches the card. What am I doing incorrectly?
Thanks and best regards, David
- 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/
| |