| From kristen.c.accardi@intel.com Fri Apr 13 15:34:21 2007 |
| From: Linas Vepstas <linas@austin.ibm.com> |
| Date: Fri, 13 Apr 2007 15:34:25 -0700 |
| Subject: [patch 19/21] PCI: rpaphp: Remove semaphores |
| To: gregkh@suse.de |
| Message-ID: <20070413223420.939480388@intel.com> |
| Content-Disposition: inline; filename=pci-rpaphp-remove-semaphores |
| |
| |
| From: Linas Vepstas <linas@austin.ibm.com> |
| |
| Remove the semaphores from the get routine. These do not |
| appear to be protecting anything that I can make out, |
| and they also do not seem to be required by the hotplug |
| driver. |
| |
| Signed-off-by: Linas Vepstas <linas@austin.ibm.com> |
| Cc: John Rose <johnrose@austin.ibm.com> |
| Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/pci/hotplug/rpaphp_core.c | 38 +++----------------------------------- |
| 1 file changed, 3 insertions(+), 35 deletions(-) |
| |
| --- a/drivers/pci/hotplug/rpaphp_core.c |
| +++ b/drivers/pci/hotplug/rpaphp_core.c |
| @@ -39,7 +39,6 @@ |
| #include "rpaphp.h" |
| |
| int debug; |
| -static struct semaphore rpaphp_sem; |
| LIST_HEAD(rpaphp_slot_head); |
| |
| #define DRIVER_VERSION "0.1" |
| @@ -66,7 +65,6 @@ static int set_attention_status(struct h |
| int rc; |
| struct slot *slot = (struct slot *)hotplug_slot->private; |
| |
| - down(&rpaphp_sem); |
| switch (value) { |
| case 0: |
| case 1: |
| @@ -76,7 +74,6 @@ static int set_attention_status(struct h |
| value = 1; |
| break; |
| } |
| - up(&rpaphp_sem); |
| |
| rc = rtas_set_indicator(DR_INDICATOR, slot->index, value); |
| if (!rc) |
| @@ -95,11 +92,9 @@ static int get_power_status(struct hotpl |
| int retval, level; |
| struct slot *slot = (struct slot *)hotplug_slot->private; |
| |
| - down(&rpaphp_sem); |
| retval = rtas_get_power_level (slot->power_domain, &level); |
| if (!retval) |
| *value = level; |
| - up(&rpaphp_sem); |
| return retval; |
| } |
| |
| @@ -118,9 +113,7 @@ static int get_adapter_status(struct hot |
| struct slot *slot = (struct slot *)hotplug_slot->private; |
| int rc, state; |
| |
| - down(&rpaphp_sem); |
| rc = rpaphp_get_sensor_state(slot, &state); |
| - up(&rpaphp_sem); |
| |
| *value = NOT_VALID; |
| if (rc) |
| @@ -138,7 +131,6 @@ static int get_max_bus_speed(struct hotp |
| { |
| struct slot *slot = (struct slot *)hotplug_slot->private; |
| |
| - down(&rpaphp_sem); |
| switch (slot->type) { |
| case 1: |
| case 2: |
| @@ -169,7 +161,6 @@ static int get_max_bus_speed(struct hotp |
| break; |
| |
| } |
| - up(&rpaphp_sem); |
| return 0; |
| } |
| |
| @@ -374,7 +365,6 @@ static int __init rpaphp_init(void) |
| struct device_node *dn = NULL; |
| |
| info(DRIVER_DESC " version: " DRIVER_VERSION "\n"); |
| - init_MUTEX(&rpaphp_sem); |
| |
| while ((dn = of_find_node_by_name(dn, "pci"))) |
| rpaphp_add_slot(dn); |
| @@ -387,8 +377,9 @@ static void __exit rpaphp_exit(void) |
| cleanup_slots(); |
| } |
| |
| -static int __enable_slot(struct slot *slot) |
| +static int enable_slot(struct hotplug_slot *hotplug_slot) |
| { |
| + struct slot *slot = (struct slot *)hotplug_slot->private; |
| int state; |
| int retval; |
| |
| @@ -412,20 +403,9 @@ static int __enable_slot(struct slot *sl |
| return 0; |
| } |
| |
| -static int enable_slot(struct hotplug_slot *hotplug_slot) |
| +static int disable_slot(struct hotplug_slot *hotplug_slot) |
| { |
| - int retval; |
| struct slot *slot = (struct slot *)hotplug_slot->private; |
| - |
| - down(&rpaphp_sem); |
| - retval = __enable_slot(slot); |
| - up(&rpaphp_sem); |
| - |
| - return retval; |
| -} |
| - |
| -static inline int __disable_slot(struct slot *slot) |
| -{ |
| if (slot->state == NOT_CONFIGURED) |
| return -EINVAL; |
| |
| @@ -434,18 +414,6 @@ static inline int __disable_slot(struct |
| return 0; |
| } |
| |
| -static int disable_slot(struct hotplug_slot *hotplug_slot) |
| -{ |
| - struct slot *slot = (struct slot *)hotplug_slot->private; |
| - int retval; |
| - |
| - down(&rpaphp_sem); |
| - retval = __disable_slot (slot); |
| - up(&rpaphp_sem); |
| - |
| - return retval; |
| -} |
| - |
| struct hotplug_slot_ops rpaphp_hotplug_slot_ops = { |
| .owner = THIS_MODULE, |
| .enable_slot = enable_slot, |