sfc: Move shared NIC code from falcon.c to new source file nic.c
[safe/jmp/linux-2.6] / drivers / pci / hotplug / rpaphp_pci.c
index 6417b70..513e1e2 100644 (file)
@@ -42,7 +42,7 @@ int rpaphp_get_sensor_state(struct slot *slot, int *state)
        if (rc < 0) {
                if (rc == -EFAULT || rc == -EEXIST) {
                        dbg("%s: slot must be power up to get sensor-state\n",
-                           __FUNCTION__);
+                           __func__);
 
                        /* some slots have to be powered up 
                         * before get-sensor will succeed.
@@ -51,48 +51,29 @@ int rpaphp_get_sensor_state(struct slot *slot, int *state)
                                                  &setlevel);
                        if (rc < 0) {
                                dbg("%s: power on slot[%s] failed rc=%d.\n",
-                                   __FUNCTION__, slot->name, rc);
+                                   __func__, slot->name, rc);
                        } else {
                                rc = rtas_get_sensor(DR_ENTITY_SENSE,
                                                     slot->index, state);
                        }
                } else if (rc == -ENODEV)
-                       info("%s: slot is unusable\n", __FUNCTION__);
+                       info("%s: slot is unusable\n", __func__);
                else
-                       err("%s failed to get sensor state\n", __FUNCTION__);
+                       err("%s failed to get sensor state\n", __func__);
        }
        return rc;
 }
 
-static void print_slot_pci_funcs(struct pci_bus *bus)
-{
-       struct device_node *dn;
-       struct pci_dev *dev;
-
-       dn = pci_bus_to_OF_node(bus);
-       if (!dn)
-               return;
-
-       dbg("%s: pci_devs of slot[%s]\n", __FUNCTION__, dn->full_name);
-       list_for_each_entry (dev, &bus->devices, bus_list)
-               dbg("\t%s\n", pci_name(dev));
-       return;
-}
-
-static void set_slot_name(struct slot *slot)
-{
-       struct pci_bus *bus = slot->bus;
-       struct pci_dev *bridge;
-
-       bridge = bus->self;
-       if (bridge)
-               strcpy(slot->name, pci_name(bridge));
-       else
-               sprintf(slot->name, "%04x:%02x:00.0", pci_domain_nr(bus),
-                       bus->number);
-}
-
-int rpaphp_register_pci_slot(struct slot *slot)
+/**
+ * rpaphp_enable_slot - record slot state, config pci device
+ * @slot: target &slot
+ *
+ * Initialize values in the slot, and the hotplug_slot info
+ * structures to indicate if there is a pci card plugged into
+ * the slot. If the slot is not empty, run the pcibios routine
+ * to get pcibios stuff correctly set up.
+ */
+int rpaphp_enable_slot(struct slot *slot)
 {
        int rc, level, state;
        struct pci_bus *bus;
@@ -114,14 +95,13 @@ int rpaphp_register_pci_slot(struct slot *slot)
 
        bus = pcibios_find_pci_bus(slot->dn);
        if (!bus) {
-               err("%s: no pci_bus for dn %s\n", __FUNCTION__, slot->dn->full_name);
+               err("%s: no pci_bus for dn %s\n", __func__, slot->dn->full_name);
                return -EINVAL;
        }
 
        info->adapter_status = EMPTY;
        slot->bus = bus;
        slot->pci_devs = &bus->devices;
-       set_slot_name(slot);
 
        /* if there's an adapter in the slot, go add the pci devices */
        if (state == PRESENT) {
@@ -131,20 +111,26 @@ int rpaphp_register_pci_slot(struct slot *slot)
                /* non-empty slot has to have child */
                if (!slot->dn->child) {
                        err("%s: slot[%s]'s device_node doesn't have child for adapter\n",
-                           __FUNCTION__, slot->name);
+                           __func__, slot->name);
                        return -EINVAL;
                }
 
                if (list_empty(&bus->devices))
                        pcibios_add_pci_devices(bus);
 
-               print_slot_pci_funcs(bus);
                if (!list_empty(&bus->devices)) {
                        info->adapter_status = CONFIGURED;
                        slot->state = CONFIGURED;
                }
+
+               if (rpaphp_debug) {
+                       struct pci_dev *dev;
+                       dbg("%s: pci_devs of slot[%s]\n", __func__, slot->dn->full_name);
+                       list_for_each_entry (dev, &bus->devices, bus_list)
+                               dbg("\t%s\n", pci_name(dev));
+               }
        }
 
-       return rpaphp_register_slot(slot);
+       return 0;
 }