char bus_id[BUS_ID_SIZE];
sprintf(bus_id, "%04x:%02x:%02x.%d",dn->phb->global_number,
char bus_id[BUS_ID_SIZE];
sprintf(bus_id, "%04x:%02x:%02x.%d",dn->phb->global_number,
struct resource *res = &dev->resource[resource];
struct resource *root = pci_find_parent_resource(dev, res);
char *dtype = resource < PCI_BRIDGE_RESOURCES ? "device" : "bridge";
struct resource *res = &dev->resource[resource];
struct resource *root = pci_find_parent_resource(dev, res);
char *dtype = resource < PCI_BRIDGE_RESOURCES ? "device" : "bridge";
if (r->parent || !r->start || !r->flags)
continue;
rpaphp_claim_resource(dev, i);
if (r->parent || !r->start || !r->flags)
continue;
rpaphp_claim_resource(dev, i);
rpaphp_pci_config_dn() will recursively configure all devices under the
given slot->dn and return the dn's pci_dev.
*****************************************************************************/
rpaphp_pci_config_dn() will recursively configure all devices under the
given slot->dn and return the dn's pci_dev.
*****************************************************************************/
if (slot->hotplug_slot->info->adapter_status == NOT_VALID) {
dbg("%s: NOT_VALID: skip dn->full_name=%s\n",
__FUNCTION__, slot->dn->full_name);
if (slot->hotplug_slot->info->adapter_status == NOT_VALID) {
dbg("%s: NOT_VALID: skip dn->full_name=%s\n",
__FUNCTION__, slot->dn->full_name);
/* find slot's pci_dev if it's not empty */
if (slot->hotplug_slot->info->adapter_status == EMPTY) {
slot->state = EMPTY; /* slot is empty */
/* find slot's pci_dev if it's not empty */
if (slot->hotplug_slot->info->adapter_status == EMPTY) {
slot->state = EMPTY; /* slot is empty */
if (slot->state != NOT_VALID)
rpaphp_set_attention_status(slot, LED_ON);
else
if (slot->state != NOT_VALID)
rpaphp_set_attention_status(slot, LED_ON);
else