From e9a03990d90ac5006f37f3ff7a6b87966d208697 Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Thu, 18 Oct 2007 00:04:00 -0700 Subject: [PARISC] Clean up a resource_size_t warning in sba_iommu Signed-off-by: Kyle McMartin --- drivers/parisc/sba_iommu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'drivers') diff --git a/drivers/parisc/sba_iommu.c b/drivers/parisc/sba_iommu.c index d044c48323e..e5c323936ea 100644 --- a/drivers/parisc/sba_iommu.c +++ b/drivers/parisc/sba_iommu.c @@ -1909,8 +1909,8 @@ sba_driver_callback(struct parisc_device *dev) global_ioc_cnt *= 2; } - printk(KERN_INFO "%s found %s at 0x%lx\n", - MODULE_NAME, version, dev->hpa.start); + printk(KERN_INFO "%s found %s at 0x%llx\n", + MODULE_NAME, version, (unsigned long long)dev->hpa.start); sba_dev = kzalloc(sizeof(struct sba_device), GFP_KERNEL); if (!sba_dev) { -- cgit v1.2.3 From 19c4d5664aaf9419dfe6b24990a93305fded6403 Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Thu, 18 Oct 2007 00:04:03 -0700 Subject: [PARISC] Squelch pci_enable_device __must_check warning in superio If we have a SuckyIO, and pci_enable_device fails, we'll be in a world of hurt anyways, so we might as well BUG_ON. Signed-off-by: Kyle McMartin --- drivers/parisc/superio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'drivers') diff --git a/drivers/parisc/superio.c b/drivers/parisc/superio.c index 38cdf9fa36a..1e8d2d17f04 100644 --- a/drivers/parisc/superio.c +++ b/drivers/parisc/superio.c @@ -155,6 +155,7 @@ superio_init(struct pci_dev *pcidev) struct superio_device *sio = &sio_dev; struct pci_dev *pdev = sio->lio_pdev; u16 word; + int ret; if (sio->suckyio_irq_enabled) return; @@ -200,7 +201,8 @@ superio_init(struct pci_dev *pcidev) pci_write_config_word (pdev, PCI_COMMAND, word); pci_set_master (pdev); - pci_enable_device(pdev); + ret = pci_enable_device(pdev); + BUG_ON(ret < 0); /* not too much we can do about this... */ /* * Next project is programming the onboard interrupt controllers. -- cgit v1.2.3 From 26f0324922e50e0ef7677aaf96287b862c2fec61 Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Thu, 18 Oct 2007 00:04:06 -0700 Subject: [PARISC] Quiet sysfs_create_link __must_check warnings in pdc_stable Failing to create the links doesn't seem like a fatal error in these paths. WARN_ON seems better than nothing though. Signed-off-by: Kyle McMartin --- drivers/parisc/pdc_stable.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'drivers') diff --git a/drivers/parisc/pdc_stable.c b/drivers/parisc/pdc_stable.c index fc4bde259dc..ebb09e98d21 100644 --- a/drivers/parisc/pdc_stable.c +++ b/drivers/parisc/pdc_stable.c @@ -282,6 +282,7 @@ pdcspath_hwpath_write(struct pdcspath_entry *entry, const char *buf, size_t coun unsigned short i; char in[count+1], *temp; struct device *dev; + int ret; if (!entry || !buf || !count) return -EINVAL; @@ -333,7 +334,9 @@ pdcspath_hwpath_write(struct pdcspath_entry *entry, const char *buf, size_t coun /* Update the symlink to the real device */ sysfs_remove_link(&entry->kobj, "device"); - sysfs_create_link(&entry->kobj, &entry->dev->kobj, "device"); + ret = sysfs_create_link(&entry->kobj, &entry->dev->kobj, "device"); + WARN_ON(ret); + write_unlock(&entry->rw_lock); printk(KERN_INFO PDCS_PREFIX ": changed \"%s\" path to \"%s\"\n", @@ -1003,8 +1006,10 @@ pdcs_register_pathentries(void) entry->ready = 2; /* Add a nice symlink to the real device */ - if (entry->dev) - sysfs_create_link(&entry->kobj, &entry->dev->kobj, "device"); + if (entry->dev) { + err = sysfs_create_link(&entry->kobj, &entry->dev->kobj, "device"); + WARN_ON(err); + } write_unlock(&entry->rw_lock); } -- cgit v1.2.3 From 9611f61eb5baf22b6b6ed46c2c196c10e1fade6a Mon Sep 17 00:00:00 2001 From: Matthew Wilcox Date: Sun, 14 Oct 2007 10:13:31 -0400 Subject: [PARISC] Fix infinite loop in /proc/iomem pcibios_link_hba_resources() could corrupt the resource tree by inserting resources in the wrong place. Fix this by calling pci_claim_resource() for PCI-PCI bridges. Delete pcibios_link_hba_resources as we shouldn't need it any more. Also get rid of lba_claim_dev_resources() and just call pci_claim_resource() directly. Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin --- drivers/parisc/lba_pci.c | 51 +++++++----------------------------------------- 1 file changed, 7 insertions(+), 44 deletions(-) (limited to 'drivers') diff --git a/drivers/parisc/lba_pci.c b/drivers/parisc/lba_pci.c index 5b86ee5c1ee..5eace9e66e1 100644 --- a/drivers/parisc/lba_pci.c +++ b/drivers/parisc/lba_pci.c @@ -556,44 +556,6 @@ lba_bios_init(void) #ifdef CONFIG_64BIT -/* -** Determine if a device is already configured. -** If so, reserve it resources. -** -** Read PCI cfg command register and see if I/O or MMIO is enabled. -** PAT has to enable the devices it's using. -** -** Note: resources are fixed up before we try to claim them. -*/ -static void -lba_claim_dev_resources(struct pci_dev *dev) -{ - u16 cmd; - int i, srch_flags; - - (void) pci_read_config_word(dev, PCI_COMMAND, &cmd); - - srch_flags = (cmd & PCI_COMMAND_IO) ? IORESOURCE_IO : 0; - if (cmd & PCI_COMMAND_MEMORY) - srch_flags |= IORESOURCE_MEM; - - if (!srch_flags) - return; - - for (i = 0; i <= PCI_ROM_RESOURCE; i++) { - if (dev->resource[i].flags & srch_flags) { - pci_claim_resource(dev, i); - DBG(" claimed %s %d [%lx,%lx]/%lx\n", - pci_name(dev), i, - dev->resource[i].start, - dev->resource[i].end, - dev->resource[i].flags - ); - } - } -} - - /* * truncate_pat_collision: Deal with overlaps or outright collisions * between PAT PDC reported ranges. @@ -653,7 +615,6 @@ truncate_pat_collision(struct resource *root, struct resource *new) } #else -#define lba_claim_dev_resources(dev) do { } while (0) #define truncate_pat_collision(r,n) (0) #endif @@ -684,8 +645,12 @@ lba_fixup_bus(struct pci_bus *bus) ** pci_alloc_primary_bus() mangles this. */ if (bus->self) { + int i; /* PCI-PCI Bridge */ pci_read_bridge_bases(bus); + for (i = PCI_BRIDGE_RESOURCES; i < PCI_NUM_RESOURCES; i++) { + pci_claim_resource(bus->self, i); + } } else { /* Host-PCI Bridge */ int err, i; @@ -803,6 +768,9 @@ lba_fixup_bus(struct pci_bus *bus) DBG("lba_fixup_bus() WTF? 0x%lx [%lx/%lx] XXX", res->flags, res->start, res->end); } + if ((i != PCI_ROM_RESOURCE) || + (res->flags & IORESOURCE_ROM_ENABLE)) + pci_claim_resource(dev, i); } #ifdef FBB_SUPPORT @@ -814,11 +782,6 @@ lba_fixup_bus(struct pci_bus *bus) bus->bridge_ctl &= ~(status & PCI_STATUS_FAST_BACK); #endif - if (is_pdc_pat()) { - /* Claim resources for PDC's devices */ - lba_claim_dev_resources(dev); - } - /* ** P2PB's have no IRQs. ignore them. */ -- cgit v1.2.3