Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf0af511fcc856649a2a39c627828695b580d124
Commit:     bf0af511fcc856649a2a39c627828695b580d124
Parent:     427310ff02e80cc80826407c0121cec3694c9e7d
Author:     Linas Vepstas <[EMAIL PROTECTED]>
AuthorDate: Fri Apr 13 15:34:14 2007 -0700
Committer:  Greg Kroah-Hartman <[EMAIL PROTECTED]>
CommitDate: Wed May 2 19:02:39 2007 -0700

    PCI: rpaphp: Remove another wrappered function
    
    Remove another stove-pipe; this funcion was called from
    two different places, with a compile-time const that is
    then run-time checked to perform two different things.
    
    Signed-off-by: Linas Vepstas <[EMAIL PROTECTED]>
    Cc: John Rose <[EMAIL PROTECTED]>
    Signed-off-by: Kristen Carlson Accardi <[EMAIL PROTECTED]>
    Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
---
 drivers/pci/hotplug/rpaphp.h      |    1 -
 drivers/pci/hotplug/rpaphp_core.c |   16 ++++++++--
 drivers/pci/hotplug/rpaphp_pci.c  |   59 ++++++++++---------------------------
 3 files changed, 29 insertions(+), 47 deletions(-)

diff --git a/drivers/pci/hotplug/rpaphp.h b/drivers/pci/hotplug/rpaphp.h
index fdd99b2..a2b2257 100644
--- a/drivers/pci/hotplug/rpaphp.h
+++ b/drivers/pci/hotplug/rpaphp.h
@@ -89,7 +89,6 @@ extern struct list_head rpaphp_slot_head;
 /* rpaphp_pci.c */
 extern int rpaphp_enable_pci_slot(struct slot *slot);
 extern int rpaphp_register_pci_slot(struct slot *slot);
-extern int rpaphp_get_pci_adapter_status(struct slot *slot, int is_init, u8 * 
value);
 extern int rpaphp_get_sensor_state(struct slot *slot, int *state);
 
 /* rpaphp_core.c */
diff --git a/drivers/pci/hotplug/rpaphp_core.c 
b/drivers/pci/hotplug/rpaphp_core.c
index 2d919fb..cab7cee 100644
--- a/drivers/pci/hotplug/rpaphp_core.c
+++ b/drivers/pci/hotplug/rpaphp_core.c
@@ -130,12 +130,22 @@ static int get_attention_status(struct hotplug_slot 
*hotplug_slot, u8 * value)
 static int get_adapter_status(struct hotplug_slot *hotplug_slot, u8 * value)
 {
        struct slot *slot = (struct slot *)hotplug_slot->private;
-       int retval = 0;
+       int rc, state;
 
        down(&rpaphp_sem);
-       retval = rpaphp_get_pci_adapter_status(slot, 0, value);
+       rc = rpaphp_get_sensor_state(slot, &state);
        up(&rpaphp_sem);
-       return retval;
+
+       *value = NOT_VALID;
+       if (rc)
+               return rc;
+
+       if (state == EMPTY)
+               *value = EMPTY;
+       else if (state == PRESENT)
+               *value = slot->state;
+
+       return 0;
 }
 
 static int get_max_bus_speed(struct hotplug_slot *hotplug_slot, enum 
pci_bus_speed *value)
diff --git a/drivers/pci/hotplug/rpaphp_pci.c b/drivers/pci/hotplug/rpaphp_pci.c
index ba8c837..b6a991a 100644
--- a/drivers/pci/hotplug/rpaphp_pci.c
+++ b/drivers/pci/hotplug/rpaphp_pci.c
@@ -64,43 +64,6 @@ int rpaphp_get_sensor_state(struct slot *slot, int *state)
        return rc;
 }
 
-/**
- * get_pci_adapter_status - get the status of a slot
- * 
- * 0-- slot is empty
- * 1-- adapter is configured
- * 2-- adapter is not configured
- * 3-- not valid
- */
-int rpaphp_get_pci_adapter_status(struct slot *slot, int is_init, u8 * value)
-{
-       struct pci_bus *bus;
-       int state, rc;
-
-       *value = NOT_VALID;
-       rc = rpaphp_get_sensor_state(slot, &state);
-       if (rc)
-               goto exit;
-
-       if (state == EMPTY)
-               *value = EMPTY;
-       else if (state == PRESENT) {
-               if (!is_init) {
-                       /* at run-time slot->state can be changed by */
-                       /* config/unconfig adapter */
-                       *value = slot->state;
-               } else {
-                       bus = pcibios_find_pci_bus(slot->dn);
-                       if (bus && !list_empty(&bus->devices))
-                               *value = CONFIGURED;
-                       else
-                               *value = NOT_CONFIGURED;
-               }
-       }
-exit:
-       return rc;
-}
-
 static void print_slot_pci_funcs(struct pci_bus *bus)
 {
        struct device_node *dn;
@@ -183,20 +146,30 @@ exit_rc:
 
 int rpaphp_register_pci_slot(struct slot *slot)
 {
-       int rc, level;
+       int rc, level, state;
+       struct pci_bus *bus;
        struct hotplug_slot_info *info = slot->hotplug_slot->info;
 
+       /* Find out if the power is turned on for the slot */
        rc = rtas_get_power_level(slot->power_domain, &level);
        if (rc)
                return rc;
        info->power_status = level;
 
-       rpaphp_get_pci_adapter_status(slot, 1, &info->adapter_status);
+       /* Figure out if there is an adapter in the slot */
+       info->adapter_status = NOT_VALID;
+       rc = rpaphp_get_sensor_state(slot, &state);
+       if (rc)
+               return rc;
 
-       if (info->adapter_status == NOT_VALID) {
-               err("%s: NOT_VALID: skip dn->full_name=%s\n",
-                   __FUNCTION__, slot->dn->full_name);
-               return -EINVAL;
+       if (state == EMPTY)
+               info->adapter_status = EMPTY;
+       else if (state == PRESENT) {
+               bus = pcibios_find_pci_bus(slot->dn);
+               if (bus && !list_empty(&bus->devices))
+                       info->adapter_status = CONFIGURED;
+               else
+                       info->adapter_status = NOT_CONFIGURED;
        }
 
        if (setup_pci_slot(slot))
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to