diff options
Diffstat (limited to 'arch/mn10300')
-rw-r--r-- | arch/mn10300/unit-asb2305/pci-asb2305.c | 16 | ||||
-rw-r--r-- | arch/mn10300/unit-asb2305/pci.c | 6 |
2 files changed, 9 insertions, 13 deletions
diff --git a/arch/mn10300/unit-asb2305/pci-asb2305.c b/arch/mn10300/unit-asb2305/pci-asb2305.c index 78cd134ddf7d..d6119b879a98 100644 --- a/arch/mn10300/unit-asb2305/pci-asb2305.c +++ b/arch/mn10300/unit-asb2305/pci-asb2305.c | |||
@@ -31,9 +31,11 @@ | |||
31 | * but we want to try to avoid allocating at 0x2900-0x2bff | 31 | * but we want to try to avoid allocating at 0x2900-0x2bff |
32 | * which might have be mirrored at 0x0100-0x03ff.. | 32 | * which might have be mirrored at 0x0100-0x03ff.. |
33 | */ | 33 | */ |
34 | void pcibios_align_resource(void *data, struct resource *res, | 34 | resource_size_t pcibios_align_resource(void *data, const struct resource *res, |
35 | resource_size_t size, resource_size_t align) | 35 | resource_size_t size, resource_size_t align) |
36 | { | 36 | { |
37 | resource_size_t start = res->start; | ||
38 | |||
37 | #if 0 | 39 | #if 0 |
38 | struct pci_dev *dev = data; | 40 | struct pci_dev *dev = data; |
39 | 41 | ||
@@ -47,14 +49,10 @@ void pcibios_align_resource(void *data, struct resource *res, | |||
47 | ); | 49 | ); |
48 | #endif | 50 | #endif |
49 | 51 | ||
50 | if (res->flags & IORESOURCE_IO) { | 52 | if ((res->flags & IORESOURCE_IO) && (start & 0x300)) |
51 | unsigned long start = res->start; | 53 | start = (start + 0x3ff) & ~0x3ff; |
52 | 54 | ||
53 | if (start & 0x300) { | 55 | return start; |
54 | start = (start + 0x3ff) & ~0x3ff; | ||
55 | res->start = start; | ||
56 | } | ||
57 | } | ||
58 | } | 56 | } |
59 | 57 | ||
60 | 58 | ||
diff --git a/arch/mn10300/unit-asb2305/pci.c b/arch/mn10300/unit-asb2305/pci.c index 2cb7e75ba1c0..6d8720a0a599 100644 --- a/arch/mn10300/unit-asb2305/pci.c +++ b/arch/mn10300/unit-asb2305/pci.c | |||
@@ -331,12 +331,10 @@ static int __init pci_check_direct(void) | |||
331 | static int __devinit is_valid_resource(struct pci_dev *dev, int idx) | 331 | static int __devinit is_valid_resource(struct pci_dev *dev, int idx) |
332 | { | 332 | { |
333 | unsigned int i, type_mask = IORESOURCE_IO | IORESOURCE_MEM; | 333 | unsigned int i, type_mask = IORESOURCE_IO | IORESOURCE_MEM; |
334 | struct resource *devr = &dev->resource[idx]; | 334 | struct resource *devr = &dev->resource[idx], *busr; |
335 | 335 | ||
336 | if (dev->bus) { | 336 | if (dev->bus) { |
337 | for (i = 0; i < PCI_BUS_NUM_RESOURCES; i++) { | 337 | pci_bus_for_each_resource(dev->bus, busr, i) { |
338 | struct resource *busr = dev->bus->resource[i]; | ||
339 | |||
340 | if (!busr || (busr->flags ^ devr->flags) & type_mask) | 338 | if (!busr || (busr->flags ^ devr->flags) & type_mask) |
341 | continue; | 339 | continue; |
342 | 340 | ||