aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwmon
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2011-11-04 07:00:46 -0400
committerJean Delvare <khali@endymion.delvare>2011-11-04 07:00:46 -0400
commit9d84c9e8b5b0386ee1d7769de0ff8a2546a2d054 (patch)
tree9fa97e407761192fb74cf36a19114caa572433a1 /drivers/hwmon
parent547a1c99d0052c8bee0a8fe4091e6a9094c3cde3 (diff)
hwmon: (ibmaem) Make instance initializations independent
There is no good reason that I can see why the failure to initialize one instance should prevent other instances from being initialized. Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Darrick J. Wong <djwong@us.ibm.com> Acked-by: Guenter Roeck <guenter.roeck@ericsson.com>
Diffstat (limited to 'drivers/hwmon')
-rw-r--r--drivers/hwmon/ibmaem.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/hwmon/ibmaem.c b/drivers/hwmon/ibmaem.c
index aba6b59dc3a..1fed86b307f 100644
--- a/drivers/hwmon/ibmaem.c
+++ b/drivers/hwmon/ibmaem.c
@@ -245,8 +245,6 @@ static void aem_bmc_gone(int iface);
245static void aem_msg_handler(struct ipmi_recv_msg *msg, void *user_msg_data); 245static void aem_msg_handler(struct ipmi_recv_msg *msg, void *user_msg_data);
246 246
247static void aem_remove_sensors(struct aem_data *data); 247static void aem_remove_sensors(struct aem_data *data);
248static int aem_init_aem1(struct aem_ipmi_data *probe);
249static int aem_init_aem2(struct aem_ipmi_data *probe);
250static int aem1_find_sensors(struct aem_data *data); 248static int aem1_find_sensors(struct aem_data *data);
251static int aem2_find_sensors(struct aem_data *data); 249static int aem2_find_sensors(struct aem_data *data);
252static void update_aem1_sensors(struct aem_data *data); 250static void update_aem1_sensors(struct aem_data *data);
@@ -616,7 +614,7 @@ id_err:
616} 614}
617 615
618/* Find and initialize all AEM1 instances */ 616/* Find and initialize all AEM1 instances */
619static int aem_init_aem1(struct aem_ipmi_data *probe) 617static void aem_init_aem1(struct aem_ipmi_data *probe)
620{ 618{
621 int num, i, err; 619 int num, i, err;
622 620
@@ -627,11 +625,8 @@ static int aem_init_aem1(struct aem_ipmi_data *probe)
627 dev_err(probe->bmc_device, 625 dev_err(probe->bmc_device,
628 "Error %d initializing AEM1 0x%X\n", 626 "Error %d initializing AEM1 0x%X\n",
629 err, i); 627 err, i);
630 return err;
631 } 628 }
632 } 629 }
633
634 return 0;
635} 630}
636 631
637/* Probe functions for AEM2 devices */ 632/* Probe functions for AEM2 devices */
@@ -752,7 +747,7 @@ id_err:
752} 747}
753 748
754/* Find and initialize all AEM2 instances */ 749/* Find and initialize all AEM2 instances */
755static int aem_init_aem2(struct aem_ipmi_data *probe) 750static void aem_init_aem2(struct aem_ipmi_data *probe)
756{ 751{
757 struct aem_find_instance_resp fi_resp; 752 struct aem_find_instance_resp fi_resp;
758 int err; 753 int err;
@@ -771,12 +766,9 @@ static int aem_init_aem2(struct aem_ipmi_data *probe)
771 dev_err(probe->bmc_device, 766 dev_err(probe->bmc_device,
772 "Error %d initializing AEM2 0x%X\n", 767 "Error %d initializing AEM2 0x%X\n",
773 err, fi_resp.module_handle); 768 err, fi_resp.module_handle);
774 return err;
775 } 769 }
776 i++; 770 i++;
777 } 771 }
778
779 return 0;
780} 772}
781 773
782/* Probe a BMC for AEM firmware instances */ 774/* Probe a BMC for AEM firmware instances */