aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Bainbridge <chris.bainbridge@gmail.com>2015-11-12 14:24:47 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-11-16 17:26:45 -0500
commita76032e0abef027df83f7f053580aa297de54818 (patch)
treeb4fe27fd2d499261ffb4d073cd84f18145b2408d
parentadd68d6aa9e2492e51707ca603ada5b26c626757 (diff)
Revert "ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook"
Revert commit 3349fb64b292 (ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook), since the delay introduced by it is not necessary any more after commit add68d6aa9e2 (ACPI / SMBus: Fix boot stalls / high CPU caused by reentrant code). Signed-off-by: Chris Bainbridge <chris.bainbridge@gmail.com> [ rjw: Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--drivers/acpi/sbshc.c22
1 files changed, 0 insertions, 22 deletions
diff --git a/drivers/acpi/sbshc.c b/drivers/acpi/sbshc.c
index e2900518cf7e..2fa8304171e0 100644
--- a/drivers/acpi/sbshc.c
+++ b/drivers/acpi/sbshc.c
@@ -14,7 +14,6 @@
14#include <linux/delay.h> 14#include <linux/delay.h>
15#include <linux/module.h> 15#include <linux/module.h>
16#include <linux/interrupt.h> 16#include <linux/interrupt.h>
17#include <linux/dmi.h>
18#include "sbshc.h" 17#include "sbshc.h"
19 18
20#define PREFIX "ACPI: " 19#define PREFIX "ACPI: "
@@ -89,8 +88,6 @@ enum acpi_smb_offset {
89 ACPI_SMB_ALARM_DATA = 0x26, /* 2 bytes alarm data */ 88 ACPI_SMB_ALARM_DATA = 0x26, /* 2 bytes alarm data */
90}; 89};
91 90
92static bool macbook;
93
94static inline int smb_hc_read(struct acpi_smb_hc *hc, u8 address, u8 *data) 91static inline int smb_hc_read(struct acpi_smb_hc *hc, u8 address, u8 *data)
95{ 92{
96 return ec_read(hc->offset + address, data); 93 return ec_read(hc->offset + address, data);
@@ -121,8 +118,6 @@ static int acpi_smbus_transaction(struct acpi_smb_hc *hc, u8 protocol,
121 118
122 mutex_lock(&hc->lock); 119 mutex_lock(&hc->lock);
123 hc->done = false; 120 hc->done = false;
124 if (macbook)
125 udelay(5);
126 if (smb_hc_read(hc, ACPI_SMB_PROTOCOL, &temp)) 121 if (smb_hc_read(hc, ACPI_SMB_PROTOCOL, &temp))
127 goto end; 122 goto end;
128 if (temp) { 123 if (temp) {
@@ -250,29 +245,12 @@ extern int acpi_ec_add_query_handler(struct acpi_ec *ec, u8 query_bit,
250 acpi_handle handle, acpi_ec_query_func func, 245 acpi_handle handle, acpi_ec_query_func func,
251 void *data); 246 void *data);
252 247
253static int macbook_dmi_match(const struct dmi_system_id *d)
254{
255 pr_debug("Detected MacBook, enabling workaround\n");
256 macbook = true;
257 return 0;
258}
259
260static struct dmi_system_id acpi_smbus_dmi_table[] = {
261 { macbook_dmi_match, "Apple MacBook", {
262 DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
263 DMI_MATCH(DMI_PRODUCT_NAME, "MacBook") },
264 },
265 { },
266};
267
268static int acpi_smbus_hc_add(struct acpi_device *device) 248static int acpi_smbus_hc_add(struct acpi_device *device)
269{ 249{
270 int status; 250 int status;
271 unsigned long long val; 251 unsigned long long val;
272 struct acpi_smb_hc *hc; 252 struct acpi_smb_hc *hc;
273 253
274 dmi_check_system(acpi_smbus_dmi_table);
275
276 if (!device) 254 if (!device)
277 return -EINVAL; 255 return -EINVAL;
278 256