Re: [PATCH] PCI: add PCI Express Port Bus Driver subsystem

From: Greg KH
Date: Mon Jan 17 2005 - 18:56:48 EST


On Mon, Jan 17, 2005 at 02:01:52PM -0800, Greg KH wrote:
> +int pcie_port_device_register(struct pci_dev *dev)
> +{
> + struct pcie_device *parent;
> + int status, type, capabilities, irq_mode, i;
> + int vectors[PCIE_PORT_DEVICE_MAXSERVICES];
> + u16 reg16;
> +
> + /* Get port type */
> + pci_read_config_word(dev,
> + pci_find_capability(dev, PCI_CAP_ID_EXP) +
> + PCIE_CAPABILITIES_REG, &reg16);
> + type = (reg16 >> 4) & PORT_TYPE_MASK;
> +
> + /* Now get port services */
> + capabilities = get_port_device_capability(dev);
> + irq_mode = assign_interrupt_mode(dev, vectors, capabilities);
> +
> + /* Allocate parent */
> + parent = alloc_pcie_device(NULL, dev, type, 0, dev->irq, irq_mode);
> + if (!parent)
> + return -ENOMEM;
> +
> + status = device_register(&parent->device);
> + if (status) {
> + kfree(parent);
> + return status;
> + }


This puts all of the pcie "port" structures in /sys/devices/ Shouldn't
you make the parent of the device you create point to the pci_dev
structure that's passed into this function? That would make the sysfs
tree a lot saner I think.

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/