From: Vivek Goyal Changes required in drivers/pcmcia/* to support 64 bit resources. Signed-off-by: Maneesh Soni Signed-off-by: Vivek Goyal Signed-off-by: Andrew Morton --- drivers/pcmcia/i82365.c | 5 +++-- drivers/pcmcia/pd6729.c | 3 ++- drivers/pcmcia/rsrc_nonstatic.c | 25 +++++++++++++------------ drivers/pcmcia/tcic.c | 5 +++-- 4 files changed, 21 insertions(+), 17 deletions(-) diff -puN drivers/pcmcia/i82365.c~64-bit-resources-drivers-pcmcia-changes drivers/pcmcia/i82365.c --- devel/drivers/pcmcia/i82365.c~64-bit-resources-drivers-pcmcia-changes 2006-03-24 01:20:39.000000000 -0800 +++ devel-akpm/drivers/pcmcia/i82365.c 2006-03-24 01:20:39.000000000 -0800 @@ -1084,9 +1084,10 @@ static int i365_set_mem_map(u_short sock u_short base, i; u_char map; - debug(1, "SetMemMap(%d, %d, %#2.2x, %d ns, %#lx-%#lx, " + debug(1, "SetMemMap(%d, %d, %#2.2x, %d ns, %#llx-%#llx, " "%#x)\n", sock, mem->map, mem->flags, mem->speed, - mem->res->start, mem->res->end, mem->card_start); + (unsigned long long)mem->res->start, + (unsigned long long)mem->res->end, mem->card_start); map = mem->map; if ((map > 4) || (mem->card_start > 0x3ffffff) || diff -puN drivers/pcmcia/pd6729.c~64-bit-resources-drivers-pcmcia-changes drivers/pcmcia/pd6729.c --- devel/drivers/pcmcia/pd6729.c~64-bit-resources-drivers-pcmcia-changes 2006-03-24 01:20:39.000000000 -0800 +++ devel-akpm/drivers/pcmcia/pd6729.c 2006-03-24 01:20:39.000000000 -0800 @@ -643,7 +643,8 @@ static int __devinit pd6729_pci_probe(st goto err_out_free_mem; printk(KERN_INFO "pd6729: Cirrus PD6729 PCI to PCMCIA Bridge " - "at 0x%lx on irq %d\n", pci_resource_start(dev, 0), dev->irq); + "at 0x%llx on irq %d\n", + (unsigned long long)pci_resource_start(dev, 0), dev->irq); /* * Since we have no memory BARs some firmware may not * have had PCI_COMMAND_MEMORY enabled, yet the device needs it. diff -puN drivers/pcmcia/rsrc_nonstatic.c~64-bit-resources-drivers-pcmcia-changes drivers/pcmcia/rsrc_nonstatic.c --- devel/drivers/pcmcia/rsrc_nonstatic.c~64-bit-resources-drivers-pcmcia-changes 2006-03-24 01:20:39.000000000 -0800 +++ devel-akpm/drivers/pcmcia/rsrc_nonstatic.c 2006-03-24 01:20:39.000000000 -0800 @@ -73,7 +73,7 @@ static DECLARE_MUTEX(rsrc_sem); ======================================================================*/ static struct resource * -make_resource(unsigned long b, unsigned long n, int flags, char *name) +make_resource(u64 b, u64 n, int flags, char *name) { struct resource *res = kzalloc(sizeof(*res), GFP_KERNEL); @@ -87,8 +87,7 @@ make_resource(unsigned long b, unsigned } static struct resource * -claim_region(struct pcmcia_socket *s, unsigned long base, unsigned long size, - int type, char *name) +claim_region(struct pcmcia_socket *s, u64 base, u64 size, int type, char *name) { struct resource *res, *parent; @@ -519,11 +518,10 @@ struct pcmcia_align_data { }; static void -pcmcia_common_align(void *align_data, struct resource *res, - unsigned long size, unsigned long align) +pcmcia_common_align(void *align_data, struct resource *res, u64 size, u64 align) { struct pcmcia_align_data *data = align_data; - unsigned long start; + u64 start; /* * Ensure that we have the correct start address */ @@ -534,8 +532,7 @@ pcmcia_common_align(void *align_data, st } static void -pcmcia_align(void *align_data, struct resource *res, - unsigned long size, unsigned long align) +pcmcia_align(void *align_data, struct resource *res, u64 size, u64 align) { struct pcmcia_align_data *data = align_data; struct resource_map *m; @@ -809,8 +806,10 @@ static int nonstatic_autoadd_resources(s if (res->flags & IORESOURCE_IO) { if (res == &ioport_resource) continue; - printk(KERN_INFO "pcmcia: parent PCI bridge I/O window: 0x%lx - 0x%lx\n", - res->start, res->end); + printk(KERN_INFO "pcmcia: parent PCI bridge I/O " + "window: 0x%llx - 0x%llx\n", + (unsigned long long)res->start, + (unsigned long long)res->end); if (!adjust_io(s, ADD_MANAGED_RESOURCE, res->start, res->end)) done |= IORESOURCE_IO; @@ -819,8 +818,10 @@ static int nonstatic_autoadd_resources(s if (res->flags & IORESOURCE_MEM) { if (res == &iomem_resource) continue; - printk(KERN_INFO "pcmcia: parent PCI bridge Memory window: 0x%lx - 0x%lx\n", - res->start, res->end); + printk(KERN_INFO "pcmcia: parent PCI bridge Memory " + "window: 0x%llx - 0x%llx\n", + (unsigned long long)res->start, + (unsigned long long)res->end); if (!adjust_memory(s, ADD_MANAGED_RESOURCE, res->start, res->end)) done |= IORESOURCE_MEM; } diff -puN drivers/pcmcia/tcic.c~64-bit-resources-drivers-pcmcia-changes drivers/pcmcia/tcic.c --- devel/drivers/pcmcia/tcic.c~64-bit-resources-drivers-pcmcia-changes 2006-03-24 01:20:39.000000000 -0800 +++ devel-akpm/drivers/pcmcia/tcic.c 2006-03-24 01:20:39.000000000 -0800 @@ -756,8 +756,9 @@ static int tcic_set_mem_map(struct pcmci u_long base, len, mmap; debug(1, "SetMemMap(%d, %d, %#2.2x, %d ns, " - "%#lx-%#lx, %#x)\n", psock, mem->map, mem->flags, - mem->speed, mem->res->start, mem->res->end, mem->card_start); + "%#llx-%#llx, %#x)\n", psock, mem->map, mem->flags, + mem->speed, (unsigned long long)mem->res->start, + (unsigned long long)mem->res->end, mem->card_start); if ((mem->map > 3) || (mem->card_start > 0x3ffffff) || (mem->res->start > 0xffffff) || (mem->res->end > 0xffffff) || (mem->res->start > mem->res->end) || (mem->speed > 1000)) _