diff options
| author | Zhao, Yu <yu.zhao@intel.com> | 2008-10-13 07:18:07 -0400 |
|---|---|---|
| committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2008-10-20 13:54:29 -0400 |
| commit | 557848c3c03ad1d1e66cb3b5b06698e3a9ebc33c (patch) | |
| tree | f244d69c332d3bbbef9f924fb1f0892abba7e1ff | |
| parent | 022edd86d7c864bc8fadc3c8ac4e6a464472ab05 (diff) | |
PCI: replace cfg space size (256/4096) by macros.
This is a cleanup that changes all PCI configuration space size
representations to the macros (PCI_CFG_SPACE_SIZE and
PCI_CFG_SPACE_EXP_SIZE). And the macros are also moved from
drivers/pci/probe.c to drivers/pci/pci.h.
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
| -rw-r--r-- | drivers/pci/pci-sysfs.c | 10 | ||||
| -rw-r--r-- | drivers/pci/pci.c | 11 | ||||
| -rw-r--r-- | drivers/pci/pci.h | 7 | ||||
| -rw-r--r-- | drivers/pci/probe.c | 5 |
4 files changed, 21 insertions, 12 deletions
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c index 77baff022f71..00a9947cb7cc 100644 --- a/drivers/pci/pci-sysfs.c +++ b/drivers/pci/pci-sysfs.c | |||
| @@ -715,7 +715,7 @@ static struct bin_attribute pci_config_attr = { | |||
| 715 | .name = "config", | 715 | .name = "config", |
| 716 | .mode = S_IRUGO | S_IWUSR, | 716 | .mode = S_IRUGO | S_IWUSR, |
| 717 | }, | 717 | }, |
| 718 | .size = 256, | 718 | .size = PCI_CFG_SPACE_SIZE, |
| 719 | .read = pci_read_config, | 719 | .read = pci_read_config, |
| 720 | .write = pci_write_config, | 720 | .write = pci_write_config, |
| 721 | }; | 721 | }; |
| @@ -725,7 +725,7 @@ static struct bin_attribute pcie_config_attr = { | |||
| 725 | .name = "config", | 725 | .name = "config", |
| 726 | .mode = S_IRUGO | S_IWUSR, | 726 | .mode = S_IRUGO | S_IWUSR, |
| 727 | }, | 727 | }, |
| 728 | .size = 4096, | 728 | .size = PCI_CFG_SPACE_EXP_SIZE, |
| 729 | .read = pci_read_config, | 729 | .read = pci_read_config, |
| 730 | .write = pci_write_config, | 730 | .write = pci_write_config, |
| 731 | }; | 731 | }; |
| @@ -743,7 +743,7 @@ int __must_check pci_create_sysfs_dev_files (struct pci_dev *pdev) | |||
| 743 | if (!sysfs_initialized) | 743 | if (!sysfs_initialized) |
| 744 | return -EACCES; | 744 | return -EACCES; |
| 745 | 745 | ||
| 746 | if (pdev->cfg_size < 4096) | 746 | if (pdev->cfg_size < PCI_CFG_SPACE_EXP_SIZE) |
| 747 | retval = sysfs_create_bin_file(&pdev->dev.kobj, &pci_config_attr); | 747 | retval = sysfs_create_bin_file(&pdev->dev.kobj, &pci_config_attr); |
| 748 | else | 748 | else |
| 749 | retval = sysfs_create_bin_file(&pdev->dev.kobj, &pcie_config_attr); | 749 | retval = sysfs_create_bin_file(&pdev->dev.kobj, &pcie_config_attr); |
| @@ -814,7 +814,7 @@ err_vpd: | |||
| 814 | kfree(pdev->vpd->attr); | 814 | kfree(pdev->vpd->attr); |
| 815 | } | 815 | } |
| 816 | err_config_file: | 816 | err_config_file: |
| 817 | if (pdev->cfg_size < 4096) | 817 | if (pdev->cfg_size < PCI_CFG_SPACE_EXP_SIZE) |
| 818 | sysfs_remove_bin_file(&pdev->dev.kobj, &pci_config_attr); | 818 | sysfs_remove_bin_file(&pdev->dev.kobj, &pci_config_attr); |
| 819 | else | 819 | else |
| 820 | sysfs_remove_bin_file(&pdev->dev.kobj, &pcie_config_attr); | 820 | sysfs_remove_bin_file(&pdev->dev.kobj, &pcie_config_attr); |
| @@ -839,7 +839,7 @@ void pci_remove_sysfs_dev_files(struct pci_dev *pdev) | |||
| 839 | sysfs_remove_bin_file(&pdev->dev.kobj, pdev->vpd->attr); | 839 | sysfs_remove_bin_file(&pdev->dev.kobj, pdev->vpd->attr); |
| 840 | kfree(pdev->vpd->attr); | 840 | kfree(pdev->vpd->attr); |
| 841 | } | 841 | } |
| 842 | if (pdev->cfg_size < 4096) | 842 | if (pdev->cfg_size < PCI_CFG_SPACE_EXP_SIZE) |
| 843 | sysfs_remove_bin_file(&pdev->dev.kobj, &pci_config_attr); | 843 | sysfs_remove_bin_file(&pdev->dev.kobj, &pci_config_attr); |
| 844 | else | 844 | else |
| 845 | sysfs_remove_bin_file(&pdev->dev.kobj, &pcie_config_attr); | 845 | sysfs_remove_bin_file(&pdev->dev.kobj, &pcie_config_attr); |
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 09dc893c81db..553ca6657955 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
| @@ -213,10 +213,13 @@ int pci_bus_find_capability(struct pci_bus *bus, unsigned int devfn, int cap) | |||
| 213 | int pci_find_ext_capability(struct pci_dev *dev, int cap) | 213 | int pci_find_ext_capability(struct pci_dev *dev, int cap) |
| 214 | { | 214 | { |
| 215 | u32 header; | 215 | u32 header; |
| 216 | int ttl = 480; /* 3840 bytes, minimum 8 bytes per capability */ | 216 | int ttl; |
| 217 | int pos = 0x100; | 217 | int pos = PCI_CFG_SPACE_SIZE; |
| 218 | 218 | ||
| 219 | if (dev->cfg_size <= 256) | 219 | /* minimum 8 bytes per capability */ |
| 220 | ttl = (PCI_CFG_SPACE_EXP_SIZE - PCI_CFG_SPACE_SIZE) / 8; | ||
| 221 | |||
| 222 | if (dev->cfg_size <= PCI_CFG_SPACE_SIZE) | ||
| 220 | return 0; | 223 | return 0; |
| 221 | 224 | ||
| 222 | if (pci_read_config_dword(dev, pos, &header) != PCIBIOS_SUCCESSFUL) | 225 | if (pci_read_config_dword(dev, pos, &header) != PCIBIOS_SUCCESSFUL) |
| @@ -234,7 +237,7 @@ int pci_find_ext_capability(struct pci_dev *dev, int cap) | |||
| 234 | return pos; | 237 | return pos; |
| 235 | 238 | ||
| 236 | pos = PCI_EXT_CAP_NEXT(header); | 239 | pos = PCI_EXT_CAP_NEXT(header); |
| 237 | if (pos < 0x100) | 240 | if (pos < PCI_CFG_SPACE_SIZE) |
| 238 | break; | 241 | break; |
| 239 | 242 | ||
| 240 | if (pci_read_config_dword(dev, pos, &header) != PCIBIOS_SUCCESSFUL) | 243 | if (pci_read_config_dword(dev, pos, &header) != PCIBIOS_SUCCESSFUL) |
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h index 4723b12fb39a..601abdc8dd9f 100644 --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | #ifndef DRIVERS_PCI_H | ||
| 2 | #define DRIVERS_PCI_H | ||
| 3 | |||
| 4 | #define PCI_CFG_SPACE_SIZE 256 | ||
| 5 | #define PCI_CFG_SPACE_EXP_SIZE 4096 | ||
| 6 | |||
| 1 | /* Functions internal to the PCI core code */ | 7 | /* Functions internal to the PCI core code */ |
| 2 | 8 | ||
| 3 | extern int pci_uevent(struct device *dev, struct kobj_uevent_env *env); | 9 | extern int pci_uevent(struct device *dev, struct kobj_uevent_env *env); |
| @@ -145,3 +151,4 @@ struct pci_slot_attribute { | |||
| 145 | }; | 151 | }; |
| 146 | #define to_pci_slot_attr(s) container_of(s, struct pci_slot_attribute, attr) | 152 | #define to_pci_slot_attr(s) container_of(s, struct pci_slot_attribute, attr) |
| 147 | 153 | ||
| 154 | #endif /* DRIVERS_PCI_H */ | ||
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 7aa71636dd3c..f6754e87f046 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c | |||
| @@ -14,8 +14,6 @@ | |||
| 14 | 14 | ||
| 15 | #define CARDBUS_LATENCY_TIMER 176 /* secondary latency timer */ | 15 | #define CARDBUS_LATENCY_TIMER 176 /* secondary latency timer */ |
| 16 | #define CARDBUS_RESERVE_BUSNR 3 | 16 | #define CARDBUS_RESERVE_BUSNR 3 |
| 17 | #define PCI_CFG_SPACE_SIZE 256 | ||
| 18 | #define PCI_CFG_SPACE_EXP_SIZE 4096 | ||
| 19 | 17 | ||
| 20 | /* Ugh. Need to stop exporting this to modules. */ | 18 | /* Ugh. Need to stop exporting this to modules. */ |
| 21 | LIST_HEAD(pci_root_buses); | 19 | LIST_HEAD(pci_root_buses); |
| @@ -887,8 +885,9 @@ static void set_pcie_port_type(struct pci_dev *pdev) | |||
| 887 | int pci_cfg_space_size_ext(struct pci_dev *dev) | 885 | int pci_cfg_space_size_ext(struct pci_dev *dev) |
| 888 | { | 886 | { |
| 889 | u32 status; | 887 | u32 status; |
| 888 | int pos = PCI_CFG_SPACE_SIZE; | ||
| 890 | 889 | ||
| 891 | if (pci_read_config_dword(dev, 256, &status) != PCIBIOS_SUCCESSFUL) | 890 | if (pci_read_config_dword(dev, pos, &status) != PCIBIOS_SUCCESSFUL) |
| 892 | goto fail; | 891 | goto fail; |
| 893 | if (status == 0xffffffff) | 892 | if (status == 0xffffffff) |
| 894 | goto fail; | 893 | goto fail; |
