PCI: portdrv: remove redundant pcie_port_device_probe
We don't need pcie_port_device_probe() because we can get pci device/port type using pci_is_pcie() and 'pcie_type' fields in struct pci_dev. Remove pcie_port_device_probe(). Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
parent
59353ea30e
commit
898294c975
@ -35,7 +35,6 @@
|
|||||||
#define get_descriptor_id(type, service) (((type - 4) << 4) | service)
|
#define get_descriptor_id(type, service) (((type - 4) << 4) | service)
|
||||||
|
|
||||||
extern struct bus_type pcie_port_bus_type;
|
extern struct bus_type pcie_port_bus_type;
|
||||||
extern int pcie_port_device_probe(struct pci_dev *dev);
|
|
||||||
extern int pcie_port_device_register(struct pci_dev *dev);
|
extern int pcie_port_device_register(struct pci_dev *dev);
|
||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
extern int pcie_port_device_suspend(struct device *dev);
|
extern int pcie_port_device_suspend(struct device *dev);
|
||||||
|
@ -296,28 +296,6 @@ static struct pcie_device* alloc_pcie_device(struct pci_dev *parent,
|
|||||||
return device;
|
return device;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* pcie_port_device_probe - check if device is a PCI Express port
|
|
||||||
* @dev: Device to check
|
|
||||||
*/
|
|
||||||
int pcie_port_device_probe(struct pci_dev *dev)
|
|
||||||
{
|
|
||||||
int pos, type;
|
|
||||||
u16 reg;
|
|
||||||
|
|
||||||
pos = pci_pcie_cap(dev);
|
|
||||||
if (!pos)
|
|
||||||
return -ENODEV;
|
|
||||||
|
|
||||||
pci_read_config_word(dev, pos + PCIE_CAPABILITIES_REG, ®);
|
|
||||||
type = (reg >> 4) & PORT_TYPE_MASK;
|
|
||||||
if ( type == PCIE_RC_PORT || type == PCIE_SW_UPSTREAM_PORT ||
|
|
||||||
type == PCIE_SW_DOWNSTREAM_PORT )
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
return -ENODEV;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pcie_port_device_register - register PCI Express port
|
* pcie_port_device_register - register PCI Express port
|
||||||
* @dev: PCI Express port to register
|
* @dev: PCI Express port to register
|
||||||
|
@ -67,14 +67,16 @@ static struct dev_pm_ops pcie_portdrv_pm_ops = {
|
|||||||
* this port device.
|
* this port device.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static int __devinit pcie_portdrv_probe (struct pci_dev *dev,
|
static int __devinit pcie_portdrv_probe(struct pci_dev *dev,
|
||||||
const struct pci_device_id *id )
|
const struct pci_device_id *id)
|
||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
status = pcie_port_device_probe(dev);
|
if (!pci_is_pcie(dev) ||
|
||||||
if (status)
|
((dev->pcie_type != PCI_EXP_TYPE_ROOT_PORT) &&
|
||||||
return status;
|
(dev->pcie_type != PCI_EXP_TYPE_UPSTREAM) &&
|
||||||
|
(dev->pcie_type != PCI_EXP_TYPE_DOWNSTREAM)))
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
if (!dev->irq && dev->pin) {
|
if (!dev->irq && dev->pin) {
|
||||||
dev_warn(&dev->dev, "device [%04x:%04x] has invalid IRQ; "
|
dev_warn(&dev->dev, "device [%04x:%04x] has invalid IRQ; "
|
||||||
|
Loading…
Reference in New Issue
Block a user