]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/pci/pci-sysfs.c
Merge branch 'cpus4096-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-omap-h63xx.git] / drivers / pci / pci-sysfs.c
index ea54cedcdfc60cb81a168719c3cfae5d16783af0..db7ec14fa7191828d91f58eb903bfc94cd60ef8c 100644 (file)
@@ -71,11 +71,11 @@ static ssize_t broken_parity_status_store(struct device *dev,
 static ssize_t local_cpus_show(struct device *dev,
                        struct device_attribute *attr, char *buf)
 {              
-       cpumask_t mask;
+       const struct cpumask *mask;
        int len;
 
-       mask = pcibus_to_cpumask(to_pci_dev(dev)->bus);
-       len = cpumask_scnprintf(buf, PAGE_SIZE-2, &mask);
+       mask = cpumask_of_pcibus(to_pci_dev(dev)->bus);
+       len = cpumask_scnprintf(buf, PAGE_SIZE-2, mask);
        buf[len++] = '\n';
        buf[len] = '\0';
        return len;
@@ -85,11 +85,11 @@ static ssize_t local_cpus_show(struct device *dev,
 static ssize_t local_cpulist_show(struct device *dev,
                        struct device_attribute *attr, char *buf)
 {
-       cpumask_t mask;
+       const struct cpumask *mask;
        int len;
 
-       mask = pcibus_to_cpumask(to_pci_dev(dev)->bus);
-       len = cpulist_scnprintf(buf, PAGE_SIZE-2, &mask);
+       mask = cpumask_of_pcibus(to_pci_dev(dev)->bus);
+       len = cpulist_scnprintf(buf, PAGE_SIZE-2, mask);
        buf[len++] = '\n';
        buf[len] = '\0';
        return len;
@@ -371,55 +371,33 @@ pci_write_config(struct kobject *kobj, struct bin_attribute *bin_attr,
 }
 
 static ssize_t
-pci_read_vpd(struct kobject *kobj, struct bin_attribute *bin_attr,
-            char *buf, loff_t off, size_t count)
+read_vpd_attr(struct kobject *kobj, struct bin_attribute *bin_attr,
+             char *buf, loff_t off, size_t count)
 {
        struct pci_dev *dev =
                to_pci_dev(container_of(kobj, struct device, kobj));
-       int end;
-       int ret;
 
        if (off > bin_attr->size)
                count = 0;
        else if (count > bin_attr->size - off)
                count = bin_attr->size - off;
-       end = off + count;
-
-       while (off < end) {
-               ret = dev->vpd->ops->read(dev, off, end - off, buf);
-               if (ret < 0)
-                       return ret;
-               buf += ret;
-               off += ret;
-       }
 
-       return count;
+       return pci_read_vpd(dev, off, count, buf);
 }
 
 static ssize_t
-pci_write_vpd(struct kobject *kobj, struct bin_attribute *bin_attr,
-             char *buf, loff_t off, size_t count)
+write_vpd_attr(struct kobject *kobj, struct bin_attribute *bin_attr,
+              char *buf, loff_t off, size_t count)
 {
        struct pci_dev *dev =
                to_pci_dev(container_of(kobj, struct device, kobj));
-       int end;
-       int ret;
 
        if (off > bin_attr->size)
                count = 0;
        else if (count > bin_attr->size - off)
                count = bin_attr->size - off;
-       end = off + count;
-
-       while (off < end) {
-               ret = dev->vpd->ops->write(dev, off, end - off, buf);
-               if (ret < 0)
-                       return ret;
-               buf += ret;
-               off += ret;
-       }
 
-       return count;
+       return pci_write_vpd(dev, off, count, buf);
 }
 
 #ifdef HAVE_PCI_LEGACY
@@ -845,8 +823,8 @@ static int pci_create_capabilities_sysfs(struct pci_dev *dev)
                attr->size = dev->vpd->len;
                attr->attr.name = "vpd";
                attr->attr.mode = S_IRUSR | S_IWUSR;
-               attr->read = pci_read_vpd;
-               attr->write = pci_write_vpd;
+               attr->read = read_vpd_attr;
+               attr->write = write_vpd_attr;
                retval = sysfs_create_bin_file(&dev->dev.kobj, attr);
                if (retval) {
                        kfree(dev->vpd->attr);