summaryrefslogtreecommitdiff
path: root/drivers/pci
diff options
context:
space:
mode:
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>2009-11-25 15:02:13 +0300
committerJesse Barnes <jbarnes@virtuousgeek.org>2009-12-05 02:55:26 +0300
commit2dd60e96b4d52bccd2dd585e776a3449d7b34b8f (patch)
tree917f339b7542be53ec3b64c12a221d5e6700eec1 /drivers/pci
parent52a0f24beabe9e89223e367c65a0156dff17265c (diff)
downloadlinux-2dd60e96b4d52bccd2dd585e776a3449d7b34b8f.tar.xz
PCI: portdrv: remove redundant pcie type calculation
PCIe port type is already stored in 'pcie_type' field of struct pci_dev. So we don't need to get it from pci configuration space. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/pcie/portdrv_core.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c
index 7ea37c075d7e..42b21eec15f0 100644
--- a/drivers/pci/pcie/portdrv_core.c
+++ b/drivers/pci/pcie/portdrv_core.c
@@ -291,19 +291,15 @@ static int pcie_device_init(struct pci_dev *pdev, int service, int irq)
int pcie_port_device_register(struct pci_dev *dev)
{
struct pcie_port_data *port_data;
- int status, capabilities, irq_mode, i, nr_serv, pos;
+ int status, capabilities, irq_mode, i, nr_serv;
int vectors[PCIE_PORT_DEVICE_MAXSERVICES];
- u16 reg16;
port_data = kzalloc(sizeof(*port_data), GFP_KERNEL);
if (!port_data)
return -ENOMEM;
pci_set_drvdata(dev, port_data);
- /* Get port type */
- pos = pci_pcie_cap(dev);
- pci_read_config_word(dev, pos + PCIE_CAPABILITIES_REG, &reg16);
- port_data->port_type = (reg16 >> 4) & PORT_TYPE_MASK;
+ port_data->port_type = dev->pcie_type;
capabilities = get_port_device_capability(dev);
/* Root ports are capable of generating PME too */