Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 83143
b: refs/heads/master
c: 9676237
h: refs/heads/master
i:
  83141: 70c7c86
  83139: 26db10a
  83135: 546cc6d
v: v3
  • Loading branch information
Roel Kluin authored and Linus Torvalds committed Feb 5, 2008
1 parent 0015bbc commit 4f4ac13
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 29 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0a8320b04c0762a1c65b5800b84023b454c2da54
refs/heads/master: 96762379915f0c46bfac566038e66dee3dd0e7b5
54 changes: 26 additions & 28 deletions trunk/arch/m68k/atari/hades-pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -376,52 +376,34 @@ struct pci_bus_info * __init init_hades_pci(void)
*/

bus = kzalloc(sizeof(struct pci_bus_info), GFP_KERNEL);
if (!bus)
return NULL;
if (unlikely(!bus))
goto iounmap_base_virt;

/*
* Claim resources. The m68k has no separate I/O space, both
* PCI memory space and PCI I/O space are in memory space. Therefore
* the I/O resources are requested in memory space as well.
*/

if (request_resource(&iomem_resource, &config_space) != 0)
{
kfree(bus);
return NULL;
}
if (unlikely(request_resource(&iomem_resource, &config_space) != 0))
goto free_bus;

if (request_resource(&iomem_resource, &io_space) != 0)
{
release_resource(&config_space);
kfree(bus);
return NULL;
}
if (unlikely(request_resource(&iomem_resource, &io_space) != 0))
goto release_config_space;

bus->mem_space.start = HADES_MEM_BASE;
bus->mem_space.end = HADES_MEM_BASE + HADES_MEM_SIZE - 1;
bus->mem_space.name = pci_mem_name;
#if 1
if (request_resource(&iomem_resource, &bus->mem_space) != 0)
{
release_resource(&io_space);
release_resource(&config_space);
kfree(bus);
return NULL;
}
if (unlikely(request_resource(&iomem_resource, &bus->mem_space) != 0))
goto release_io_space;
#endif
bus->io_space.start = pci_io_base_virt;
bus->io_space.end = pci_io_base_virt + HADES_VIRT_IO_SIZE - 1;
bus->io_space.name = pci_io_name;
#if 1
if (request_resource(&ioport_resource, &bus->io_space) != 0)
{
release_resource(&bus->mem_space);
release_resource(&io_space);
release_resource(&config_space);
kfree(bus);
return NULL;
}
if (unlikely(request_resource(&ioport_resource, &bus->io_space) != 0))
goto release_bus_mem_space;
#endif
/*
* Set hardware dependent functions.
Expand All @@ -438,5 +420,21 @@ struct pci_bus_info * __init init_hades_pci(void)
tt_mfp.active_edge &= ~0x27;

return bus;

release_bus_mem_space:
release_resource(&bus->mem_space);
release_io_space:
release_resource(&io_space);
release_config_space:
release_resource(&config_space);
free_bus:
kfree(bus);
iounmap_base_virt:
iounmap((void *)pci_io_base_virt);

for (i = 0; i < N_SLOTS; i++)
iounmap((void *)pci_conf_base_virt[i]);

return NULL;
}
#endif

0 comments on commit 4f4ac13

Please sign in to comment.