All of lore.kernel.org
 help / color / mirror / Atom feed
From: Toshi Kani <toshi.kani@hpe.com>
To: rjw@rjwysocki.net, bp@alien8.de
Cc: mchehab@kernel.org, tglx@linutronix.de,
	srinivas.pandruvada@linux.intel.com, lenb@kernel.org,
	linux-acpi@vger.kernel.org, linux-edac@vger.kernel.org,
	linux-kernel@vger.kernel.org, Toshi Kani <toshi.kani@hpe.com>
Subject: [PATCH 1/3] ACPI / blacklist: add acpi_match_oemlist() interface
Date: Mon, 17 Jul 2017 15:59:10 -0600	[thread overview]
Message-ID: <20170717215912.26070-2-toshi.kani@hpe.com> (raw)
In-Reply-To: <20170717215912.26070-1-toshi.kani@hpe.com>

ACPI OEM ID / OEM Table ID / Revision can be used to identify
platform type based on ACPI firmware.  acpi_blacklisted(),
intel_pstate_platform_pwr_mgmt_exists() and some other funcs
have been using this type of check to detect a list of platforms
that require special handlings.

Move the platform type check in acpi_blacklisted() to a common
utility function, acpi_match_oemlist(), so that other drivers
do not have to implement their own.

There is no change in functionality.

Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
---
 drivers/acpi/blacklist.c |   84 ++++++++--------------------------------------
 drivers/acpi/utils.c     |   40 ++++++++++++++++++++++
 include/linux/acpi.h     |   19 ++++++++++
 3 files changed, 74 insertions(+), 69 deletions(-)

diff --git a/drivers/acpi/blacklist.c b/drivers/acpi/blacklist.c
index bb542ac..288fe4d 100644
--- a/drivers/acpi/blacklist.c
+++ b/drivers/acpi/blacklist.c
@@ -30,30 +30,13 @@
 
 #include "internal.h"
 
-enum acpi_blacklist_predicates {
-	all_versions,
-	less_than_or_equal,
-	equal,
-	greater_than_or_equal,
-};
-
-struct acpi_blacklist_item {
-	char oem_id[7];
-	char oem_table_id[9];
-	u32 oem_revision;
-	char *table;
-	enum acpi_blacklist_predicates oem_revision_predicate;
-	char *reason;
-	u32 is_critical_error;
-};
-
 static struct dmi_system_id acpi_rev_dmi_table[] __initdata;
 
 /*
  * POLICY: If *anything* doesn't work, put it on the blacklist.
  *	   If they are critical errors, mark it critical, and abort driver load.
  */
-static struct acpi_blacklist_item acpi_blacklist[] __initdata = {
+static struct acpi_oemlist acpi_blacklist[] __initdata = {
 	/* Compaq Presario 1700 */
 	{"PTLTD ", "  DSDT  ", 0x06040000, ACPI_SIG_DSDT, less_than_or_equal,
 	 "Multiple problems", 1},
@@ -67,65 +50,28 @@ static struct acpi_blacklist_item acpi_blacklist[] __initdata = {
 	{"IBM   ", "TP600E  ", 0x00000105, ACPI_SIG_DSDT, less_than_or_equal,
 	 "Incorrect _ADR", 1},
 
-	{""}
+	{ }
 };
 
 int __init acpi_blacklisted(void)
 {
-	int i = 0;
+	int i;
 	int blacklisted = 0;
-	struct acpi_table_header table_header;
-
-	while (acpi_blacklist[i].oem_id[0] != '\0') {
-		if (acpi_get_table_header(acpi_blacklist[i].table, 0, &table_header)) {
-			i++;
-			continue;
-		}
-
-		if (strncmp(acpi_blacklist[i].oem_id, table_header.oem_id, 6)) {
-			i++;
-			continue;
-		}
-
-		if (strncmp
-		    (acpi_blacklist[i].oem_table_id, table_header.oem_table_id,
-		     8)) {
-			i++;
-			continue;
-		}
-
-		if ((acpi_blacklist[i].oem_revision_predicate == all_versions)
-		    || (acpi_blacklist[i].oem_revision_predicate ==
-			less_than_or_equal
-			&& table_header.oem_revision <=
-			acpi_blacklist[i].oem_revision)
-		    || (acpi_blacklist[i].oem_revision_predicate ==
-			greater_than_or_equal
-			&& table_header.oem_revision >=
-			acpi_blacklist[i].oem_revision)
-		    || (acpi_blacklist[i].oem_revision_predicate == equal
-			&& table_header.oem_revision ==
-			acpi_blacklist[i].oem_revision)) {
 
-			printk(KERN_ERR PREFIX
-			       "Vendor \"%6.6s\" System \"%8.8s\" "
-			       "Revision 0x%x has a known ACPI BIOS problem.\n",
-			       acpi_blacklist[i].oem_id,
-			       acpi_blacklist[i].oem_table_id,
-			       acpi_blacklist[i].oem_revision);
+	i = acpi_match_oemlist(acpi_blacklist);
+	if (i >= 0) {
+		pr_err(PREFIX "Vendor \"%6.6s\" System \"%8.8s\" "
+		       "Revision 0x%x has a known ACPI BIOS problem.\n",
+		       acpi_blacklist[i].oem_id,
+		       acpi_blacklist[i].oem_table_id,
+		       acpi_blacklist[i].oem_revision);
 
-			printk(KERN_ERR PREFIX
-			       "Reason: %s. This is a %s error\n",
-			       acpi_blacklist[i].reason,
-			       (acpi_blacklist[i].
-				is_critical_error ? "non-recoverable" :
-				"recoverable"));
+		pr_err(PREFIX "Reason: %s. This is a %s error\n",
+		       acpi_blacklist[i].reason,
+		       (acpi_blacklist[i].data ?
+			"non-recoverable" : "recoverable"));
 
-			blacklisted = acpi_blacklist[i].is_critical_error;
-			break;
-		} else {
-			i++;
-		}
+		blacklisted = acpi_blacklist[i].data;
 	}
 
 	(void)early_acpi_osi_init();
diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c
index b9d956c..e5909d5 100644
--- a/drivers/acpi/utils.c
+++ b/drivers/acpi/utils.c
@@ -816,3 +816,43 @@ static int __init acpi_backlight(char *str)
 	return 1;
 }
 __setup("acpi_backlight=", acpi_backlight);
+
+/**
+ * acpi_match_oemlist - Check if the system matches with an oem list
+ * @oem: pointer to acpi_oemlist table terminated by a NULL entry
+ *
+ * Return the matched index if the system is found in the oem list.
+ * Otherwise, return a negative error code.
+ */
+int acpi_match_oemlist(const struct acpi_oemlist *oem)
+{
+	struct acpi_table_header hdr;
+	int idx = 0;
+
+	if (acpi_disabled)
+		return -ENODEV;
+
+	for (; oem->oem_id[0]; oem++, idx++) {
+		if (ACPI_FAILURE(acpi_get_table_header(oem->table, 0, &hdr)))
+			continue;
+
+		if (strncmp(oem->oem_id, hdr.oem_id, ACPI_OEM_ID_SIZE))
+			continue;
+
+		if (strncmp(oem->oem_table_id, hdr.oem_table_id,
+			    ACPI_OEM_TABLE_ID_SIZE))
+			continue;
+
+		if ((oem->oem_revision_predicate == all_versions) ||
+		    (oem->oem_revision_predicate == less_than_or_equal
+			&& hdr.oem_revision <= oem->oem_revision) ||
+		    (oem->oem_revision_predicate == greater_than_or_equal
+			&& hdr.oem_revision >= oem->oem_revision) ||
+		    (oem->oem_revision_predicate == equal
+			&& hdr.oem_revision == oem->oem_revision))
+			return idx;
+	}
+
+	return -ENODEV;
+}
+EXPORT_SYMBOL(acpi_match_oemlist);
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index c749eef..86479b5 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -556,6 +556,25 @@ extern acpi_status acpi_pci_osc_control_set(acpi_handle handle,
 #define ACPI_OST_SC_DRIVER_LOAD_FAILURE		0x81
 #define ACPI_OST_SC_INSERT_NOT_SUPPORTED	0x82
 
+enum acpi_oemlist_predicates {
+	all_versions,
+	less_than_or_equal,
+	equal,
+	greater_than_or_equal,
+};
+
+/* Table must be terminted by a NULL entry */
+struct acpi_oemlist {
+	char	oem_id[ACPI_OEM_ID_SIZE];
+	char	oem_table_id[ACPI_OEM_TABLE_ID_SIZE];
+	u32	oem_revision;
+	char	*table;
+	enum	acpi_oemlist_predicates oem_revision_predicate;
+	char	*reason;
+	u32	data;
+};
+int acpi_match_oemlist(const struct acpi_oemlist *oem);
+
 extern void acpi_early_init(void);
 extern void acpi_subsystem_init(void);
 

WARNING: multiple messages have this Message-ID (diff)
From: Toshi Kani <toshi.kani@hpe.com>
To: rjw@rjwysocki.net, bp@alien8.de
Cc: mchehab@kernel.org, tglx@linutronix.de,
	srinivas.pandruvada@linux.intel.com, lenb@kernel.org,
	linux-acpi@vger.kernel.org, linux-edac@vger.kernel.org,
	linux-kernel@vger.kernel.org, Toshi Kani <toshi.kani@hpe.com>
Subject: [1/3] ACPI / blacklist: add acpi_match_oemlist() interface
Date: Mon, 17 Jul 2017 15:59:10 -0600	[thread overview]
Message-ID: <20170717215912.26070-2-toshi.kani@hpe.com> (raw)

ACPI OEM ID / OEM Table ID / Revision can be used to identify
platform type based on ACPI firmware.  acpi_blacklisted(),
intel_pstate_platform_pwr_mgmt_exists() and some other funcs
have been using this type of check to detect a list of platforms
that require special handlings.

Move the platform type check in acpi_blacklisted() to a common
utility function, acpi_match_oemlist(), so that other drivers
do not have to implement their own.

There is no change in functionality.

Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
---
 drivers/acpi/blacklist.c |   84 ++++++++--------------------------------------
 drivers/acpi/utils.c     |   40 ++++++++++++++++++++++
 include/linux/acpi.h     |   19 ++++++++++
 3 files changed, 74 insertions(+), 69 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-edac" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

diff --git a/drivers/acpi/blacklist.c b/drivers/acpi/blacklist.c
index bb542ac..288fe4d 100644
--- a/drivers/acpi/blacklist.c
+++ b/drivers/acpi/blacklist.c
@@ -30,30 +30,13 @@
 
 #include "internal.h"
 
-enum acpi_blacklist_predicates {
-	all_versions,
-	less_than_or_equal,
-	equal,
-	greater_than_or_equal,
-};
-
-struct acpi_blacklist_item {
-	char oem_id[7];
-	char oem_table_id[9];
-	u32 oem_revision;
-	char *table;
-	enum acpi_blacklist_predicates oem_revision_predicate;
-	char *reason;
-	u32 is_critical_error;
-};
-
 static struct dmi_system_id acpi_rev_dmi_table[] __initdata;
 
 /*
  * POLICY: If *anything* doesn't work, put it on the blacklist.
  *	   If they are critical errors, mark it critical, and abort driver load.
  */
-static struct acpi_blacklist_item acpi_blacklist[] __initdata = {
+static struct acpi_oemlist acpi_blacklist[] __initdata = {
 	/* Compaq Presario 1700 */
 	{"PTLTD ", "  DSDT  ", 0x06040000, ACPI_SIG_DSDT, less_than_or_equal,
 	 "Multiple problems", 1},
@@ -67,65 +50,28 @@ static struct acpi_blacklist_item acpi_blacklist[] __initdata = {
 	{"IBM   ", "TP600E  ", 0x00000105, ACPI_SIG_DSDT, less_than_or_equal,
 	 "Incorrect _ADR", 1},
 
-	{""}
+	{ }
 };
 
 int __init acpi_blacklisted(void)
 {
-	int i = 0;
+	int i;
 	int blacklisted = 0;
-	struct acpi_table_header table_header;
-
-	while (acpi_blacklist[i].oem_id[0] != '\0') {
-		if (acpi_get_table_header(acpi_blacklist[i].table, 0, &table_header)) {
-			i++;
-			continue;
-		}
-
-		if (strncmp(acpi_blacklist[i].oem_id, table_header.oem_id, 6)) {
-			i++;
-			continue;
-		}
-
-		if (strncmp
-		    (acpi_blacklist[i].oem_table_id, table_header.oem_table_id,
-		     8)) {
-			i++;
-			continue;
-		}
-
-		if ((acpi_blacklist[i].oem_revision_predicate == all_versions)
-		    || (acpi_blacklist[i].oem_revision_predicate ==
-			less_than_or_equal
-			&& table_header.oem_revision <=
-			acpi_blacklist[i].oem_revision)
-		    || (acpi_blacklist[i].oem_revision_predicate ==
-			greater_than_or_equal
-			&& table_header.oem_revision >=
-			acpi_blacklist[i].oem_revision)
-		    || (acpi_blacklist[i].oem_revision_predicate == equal
-			&& table_header.oem_revision ==
-			acpi_blacklist[i].oem_revision)) {
 
-			printk(KERN_ERR PREFIX
-			       "Vendor \"%6.6s\" System \"%8.8s\" "
-			       "Revision 0x%x has a known ACPI BIOS problem.\n",
-			       acpi_blacklist[i].oem_id,
-			       acpi_blacklist[i].oem_table_id,
-			       acpi_blacklist[i].oem_revision);
+	i = acpi_match_oemlist(acpi_blacklist);
+	if (i >= 0) {
+		pr_err(PREFIX "Vendor \"%6.6s\" System \"%8.8s\" "
+		       "Revision 0x%x has a known ACPI BIOS problem.\n",
+		       acpi_blacklist[i].oem_id,
+		       acpi_blacklist[i].oem_table_id,
+		       acpi_blacklist[i].oem_revision);
 
-			printk(KERN_ERR PREFIX
-			       "Reason: %s. This is a %s error\n",
-			       acpi_blacklist[i].reason,
-			       (acpi_blacklist[i].
-				is_critical_error ? "non-recoverable" :
-				"recoverable"));
+		pr_err(PREFIX "Reason: %s. This is a %s error\n",
+		       acpi_blacklist[i].reason,
+		       (acpi_blacklist[i].data ?
+			"non-recoverable" : "recoverable"));
 
-			blacklisted = acpi_blacklist[i].is_critical_error;
-			break;
-		} else {
-			i++;
-		}
+		blacklisted = acpi_blacklist[i].data;
 	}
 
 	(void)early_acpi_osi_init();
diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c
index b9d956c..e5909d5 100644
--- a/drivers/acpi/utils.c
+++ b/drivers/acpi/utils.c
@@ -816,3 +816,43 @@ static int __init acpi_backlight(char *str)
 	return 1;
 }
 __setup("acpi_backlight=", acpi_backlight);
+
+/**
+ * acpi_match_oemlist - Check if the system matches with an oem list
+ * @oem: pointer to acpi_oemlist table terminated by a NULL entry
+ *
+ * Return the matched index if the system is found in the oem list.
+ * Otherwise, return a negative error code.
+ */
+int acpi_match_oemlist(const struct acpi_oemlist *oem)
+{
+	struct acpi_table_header hdr;
+	int idx = 0;
+
+	if (acpi_disabled)
+		return -ENODEV;
+
+	for (; oem->oem_id[0]; oem++, idx++) {
+		if (ACPI_FAILURE(acpi_get_table_header(oem->table, 0, &hdr)))
+			continue;
+
+		if (strncmp(oem->oem_id, hdr.oem_id, ACPI_OEM_ID_SIZE))
+			continue;
+
+		if (strncmp(oem->oem_table_id, hdr.oem_table_id,
+			    ACPI_OEM_TABLE_ID_SIZE))
+			continue;
+
+		if ((oem->oem_revision_predicate == all_versions) ||
+		    (oem->oem_revision_predicate == less_than_or_equal
+			&& hdr.oem_revision <= oem->oem_revision) ||
+		    (oem->oem_revision_predicate == greater_than_or_equal
+			&& hdr.oem_revision >= oem->oem_revision) ||
+		    (oem->oem_revision_predicate == equal
+			&& hdr.oem_revision == oem->oem_revision))
+			return idx;
+	}
+
+	return -ENODEV;
+}
+EXPORT_SYMBOL(acpi_match_oemlist);
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index c749eef..86479b5 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -556,6 +556,25 @@ extern acpi_status acpi_pci_osc_control_set(acpi_handle handle,
 #define ACPI_OST_SC_DRIVER_LOAD_FAILURE		0x81
 #define ACPI_OST_SC_INSERT_NOT_SUPPORTED	0x82
 
+enum acpi_oemlist_predicates {
+	all_versions,
+	less_than_or_equal,
+	equal,
+	greater_than_or_equal,
+};
+
+/* Table must be terminted by a NULL entry */
+struct acpi_oemlist {
+	char	oem_id[ACPI_OEM_ID_SIZE];
+	char	oem_table_id[ACPI_OEM_TABLE_ID_SIZE];
+	u32	oem_revision;
+	char	*table;
+	enum	acpi_oemlist_predicates oem_revision_predicate;
+	char	*reason;
+	u32	data;
+};
+int acpi_match_oemlist(const struct acpi_oemlist *oem);
+
 extern void acpi_early_init(void);
 extern void acpi_subsystem_init(void);
 

  reply	other threads:[~2017-07-17 21:59 UTC|newest]

Thread overview: 238+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-17 21:59 [PATCH 0/3] enable ghes_edac on selected platforms Toshi Kani
2017-07-17 21:59 ` Toshi Kani [this message]
2017-07-17 21:59   ` [1/3] ACPI / blacklist: add acpi_match_oemlist() interface Toshi Kani
2017-07-18  5:34   ` [PATCH 1/3] " Borislav Petkov
2017-07-18  5:34     ` [1/3] " Borislav Petkov
2017-07-18 15:48     ` [PATCH 1/3] " Kani, Toshimitsu
2017-07-18 15:48       ` [1/3] " Toshi Kani
2017-07-18 15:48       ` [PATCH 1/3] " Kani, Toshimitsu
2017-07-18 16:43       ` Borislav Petkov
2017-07-18 16:43         ` [1/3] " Borislav Petkov
2017-07-18 16:43         ` [PATCH 1/3] " Borislav Petkov
2017-07-18 17:24         ` Kani, Toshimitsu
2017-07-18 17:24           ` [1/3] " Toshi Kani
2017-07-18 17:24           ` [PATCH 1/3] " Kani, Toshimitsu
2017-07-18 17:42           ` Borislav Petkov
2017-07-18 17:42             ` [1/3] " Borislav Petkov
2017-07-18 17:42             ` [PATCH 1/3] " Borislav Petkov
2017-07-18 18:49             ` Kani, Toshimitsu
2017-07-18 18:49               ` [1/3] " Toshi Kani
2017-07-18 18:49               ` [PATCH 1/3] " Kani, Toshimitsu
2017-07-18 19:32               ` Borislav Petkov
2017-07-18 19:32                 ` [1/3] " Borislav Petkov
2017-07-18 19:32                 ` [PATCH 1/3] " Borislav Petkov
2017-07-18 20:17                 ` Kani, Toshimitsu
2017-07-18 20:17                   ` [1/3] " Toshi Kani
2017-07-18 20:17                   ` [PATCH 1/3] " Kani, Toshimitsu
2017-07-17 21:59 ` [PATCH 2/3] intel_pstate: convert to use acpi_match_oemlist() Toshi Kani
2017-07-17 21:59   ` [2/3] " Toshi Kani
2017-07-17 21:59 ` [PATCH 3/3] ghes_edac: add platform check to enable ghes_edac Toshi Kani
2017-07-17 21:59   ` [3/3] " Toshi Kani
2017-07-18  6:00   ` [PATCH 3/3] " Borislav Petkov
2017-07-18  6:00     ` [3/3] " Borislav Petkov
2017-07-18  8:08     ` [PATCH 3/3] " Borislav Petkov
2017-07-18  8:08       ` [3/3] " Borislav Petkov
2017-07-18 21:20       ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-18 21:20         ` [3/3] " Toshi Kani
2017-07-18 21:20         ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-19  5:52         ` Borislav Petkov
2017-07-19  5:52           ` [3/3] " Borislav Petkov
2017-07-19  5:52           ` [PATCH 3/3] " Borislav Petkov
2017-07-19 16:10           ` Kani, Toshimitsu
2017-07-19 16:10             ` [3/3] " Toshi Kani
2017-07-19 16:10             ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-19 16:22             ` Borislav Petkov
2017-07-19 16:22               ` [3/3] " Borislav Petkov
2017-07-19 16:22               ` [PATCH 3/3] " Borislav Petkov
2017-07-19 16:56               ` Kani, Toshimitsu
2017-07-19 16:56                 ` [3/3] " Toshi Kani
2017-07-19 16:56                 ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-20  4:16                 ` Borislav Petkov
2017-07-20  4:16                   ` [3/3] " Borislav Petkov
2017-07-20  4:16                   ` [PATCH 3/3] " Borislav Petkov
2017-07-20 14:42                   ` Kani, Toshimitsu
2017-07-20 14:42                     ` [3/3] " Toshi Kani
2017-07-20 14:42                     ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-20 15:04                     ` Borislav Petkov
2017-07-20 15:04                       ` [3/3] " Borislav Petkov
2017-07-20 15:04                       ` [PATCH 3/3] " Borislav Petkov
2017-07-20 16:55                       ` Luck, Tony
2017-07-20 16:55                         ` [3/3] " Luck, Tony
2017-07-20 16:55                         ` [PATCH 3/3] " Luck, Tony
2017-07-20 17:05                         ` Borislav Petkov
2017-07-20 17:05                           ` [3/3] " Borislav Petkov
2017-07-20 17:05                           ` [PATCH 3/3] " Borislav Petkov
2017-07-20 17:10                           ` Luck, Tony
2017-07-20 17:10                             ` [3/3] " Luck, Tony
2017-07-20 17:10                             ` [PATCH 3/3] " Luck, Tony
2017-07-20 18:16                           ` Mauro Carvalho Chehab
2017-07-20 18:16                             ` [3/3] " Mauro Carvalho Chehab
2017-07-20 18:16                             ` [PATCH 3/3] " Mauro Carvalho Chehab
2017-07-19 18:55               ` Aristeu Rozanski
2017-07-19 18:55                 ` [3/3] " Aristeu Rozanski
2017-07-19 18:55                 ` [PATCH 3/3] " Aristeu Rozanski
2017-07-19 20:13                 ` Kani, Toshimitsu
2017-07-19 20:13                   ` [3/3] " Toshi Kani
2017-07-19 20:13                   ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-20  4:19                 ` Borislav Petkov
2017-07-20  4:19                   ` [3/3] " Borislav Petkov
2017-07-20  4:19                   ` [PATCH 3/3] " Borislav Petkov
2017-07-18 19:58     ` Kani, Toshimitsu
2017-07-18 19:58       ` [3/3] " Toshi Kani
2017-07-18 19:58       ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-18 21:15       ` Mauro Carvalho Chehab
2017-07-18 21:15         ` [3/3] " Mauro Carvalho Chehab
2017-07-18 21:15         ` [PATCH 3/3] " Mauro Carvalho Chehab
2017-07-19  5:58         ` Borislav Petkov
2017-07-19  5:58           ` [3/3] " Borislav Petkov
2017-07-19  5:58           ` [PATCH 3/3] " Borislav Petkov
2017-07-19 15:14           ` Luck, Tony
2017-07-19 15:14             ` [3/3] " Luck, Tony
2017-07-19 15:14             ` [PATCH 3/3] " Luck, Tony
2017-07-19 15:57             ` Borislav Petkov
2017-07-19 15:57               ` [3/3] " Borislav Petkov
2017-07-19 15:57               ` [PATCH 3/3] " Borislav Petkov
2017-07-19 18:06               ` Luck, Tony
2017-07-19 18:06                 ` [3/3] " Luck, Tony
2017-07-19 18:06                 ` [PATCH 3/3] " Luck, Tony
2017-07-19 16:02             ` Mauro Carvalho Chehab
2017-07-19 16:02               ` [3/3] " Mauro Carvalho Chehab
2017-07-19 20:06               ` [PATCH 3/3] " Luck, Tony
2017-07-19 20:06                 ` [3/3] " Luck, Tony
2017-07-20 21:15               ` [PATCH 3/3] " Luck, Tony
2017-07-20 21:15                 ` [3/3] " Luck, Tony
2017-07-21  0:00                 ` [PATCH 3/3] " Mauro Carvalho Chehab
2017-07-21  0:00                   ` [3/3] " Mauro Carvalho Chehab
2017-07-21 16:53                   ` [PATCH 3/3] " Luck, Tony
2017-07-21 16:53                     ` [3/3] " Luck, Tony
2017-07-19 16:40         ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-19 16:40           ` [3/3] " Toshi Kani
2017-07-19 16:40           ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-20  4:33           ` Borislav Petkov
2017-07-20  4:33             ` [3/3] " Borislav Petkov
2017-07-20  4:33             ` [PATCH 3/3] " Borislav Petkov
2017-07-20 19:50             ` Kani, Toshimitsu
2017-07-20 19:50               ` [3/3] " Toshi Kani
2017-07-20 19:50               ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-20 20:15               ` Mauro Carvalho Chehab
2017-07-20 20:15                 ` [3/3] " Mauro Carvalho Chehab
2017-07-20 20:15                 ` [PATCH 3/3] " Mauro Carvalho Chehab
2017-07-20 21:07                 ` Kani, Toshimitsu
2017-07-20 21:07                   ` [3/3] " Toshi Kani
2017-07-20 21:07                   ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-21 13:34               ` Borislav Petkov
2017-07-21 13:34                 ` [3/3] " Borislav Petkov
2017-07-21 13:34                 ` [PATCH 3/3] " Borislav Petkov
2017-07-21 13:40                 ` Mauro Carvalho Chehab
2017-07-21 13:40                   ` [3/3] " Mauro Carvalho Chehab
2017-07-21 13:40                   ` [PATCH 3/3] " Mauro Carvalho Chehab
2017-07-21 13:47                   ` Borislav Petkov
2017-07-21 13:47                     ` [3/3] " Borislav Petkov
2017-07-21 13:47                     ` [PATCH 3/3] " Borislav Petkov
2017-07-21 15:08                     ` Kani, Toshimitsu
2017-07-21 15:08                       ` [3/3] " Toshi Kani
2017-07-21 15:08                       ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-21 15:13                       ` Borislav Petkov
2017-07-21 15:13                         ` [3/3] " Borislav Petkov
2017-07-21 15:13                         ` [PATCH 3/3] " Borislav Petkov
2017-07-21 15:34                         ` Kani, Toshimitsu
2017-07-21 15:34                           ` [3/3] " Toshi Kani
2017-07-21 15:34                           ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-21 15:44                           ` Mauro Carvalho Chehab
2017-07-21 15:44                             ` [3/3] " Mauro Carvalho Chehab
2017-07-21 15:44                             ` [PATCH 3/3] " Mauro Carvalho Chehab
2017-07-21 16:40                             ` Kani, Toshimitsu
2017-07-21 16:40                               ` [3/3] " Toshi Kani
2017-07-21 16:40                               ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-21 17:01                               ` Mauro Carvalho Chehab
2017-07-21 17:01                                 ` [3/3] " Mauro Carvalho Chehab
2017-07-21 17:01                                 ` [PATCH 3/3] " Mauro Carvalho Chehab
2017-07-21 17:21                                 ` Kani, Toshimitsu
2017-07-21 17:21                                   ` [3/3] " Toshi Kani
2017-07-21 17:21                                   ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-21 17:23                                 ` Borislav Petkov
2017-07-21 17:23                                   ` [3/3] " Borislav Petkov
2017-07-21 17:23                                   ` [PATCH 3/3] " Borislav Petkov
2017-07-21 18:38                                   ` Kani, Toshimitsu
2017-07-21 18:38                                     ` [3/3] " Toshi Kani
2017-07-21 18:38                                     ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-22  6:28                                     ` Borislav Petkov
2017-07-22  6:28                                       ` [3/3] " Borislav Petkov
2017-07-22  6:28                                       ` [PATCH 3/3] " Borislav Petkov
2017-07-24 14:49                                       ` Kani, Toshimitsu
2017-07-24 14:49                                         ` [3/3] " Toshi Kani
2017-07-24 14:49                                         ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-24 15:04                                         ` Borislav Petkov
2017-07-24 15:04                                           ` [3/3] " Borislav Petkov
2017-07-24 15:04                                           ` [PATCH 3/3] " Borislav Petkov
2017-07-24 15:25                                           ` Kani, Toshimitsu
2017-07-24 15:25                                             ` [3/3] " Toshi Kani
2017-07-24 15:25                                             ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-24 15:37                                             ` Borislav Petkov
2017-07-24 15:37                                               ` [3/3] " Borislav Petkov
2017-07-24 15:37                                               ` [PATCH 3/3] " Borislav Petkov
2017-07-24 15:56                                               ` Kani, Toshimitsu
2017-07-24 15:56                                                 ` [3/3] " Toshi Kani
2017-07-24 15:56                                                 ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-24 16:37                                                 ` Borislav Petkov
2017-07-24 16:37                                                   ` [3/3] " Borislav Petkov
2017-07-24 16:37                                                   ` [PATCH 3/3] " Borislav Petkov
2017-07-24 17:44                                                   ` Kani, Toshimitsu
2017-07-24 17:44                                                     ` [3/3] " Toshi Kani
2017-07-24 17:44                                                     ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-24 17:50                                                     ` Boris Petkov
2017-07-24 17:50                                                       ` [3/3] " Borislav Petkov
2017-07-24 17:50                                                       ` [PATCH 3/3] " Boris Petkov
2017-07-24 17:54                                                       ` Kani, Toshimitsu
2017-07-24 17:54                                                         ` [3/3] " Toshi Kani
2017-07-24 17:54                                                         ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-24 18:18                                                         ` Borislav Petkov
2017-07-24 18:18                                                           ` [3/3] " Borislav Petkov
2017-07-24 18:18                                                           ` [PATCH 3/3] " Borislav Petkov
2017-07-24 17:56                                                 ` Mauro Carvalho Chehab
2017-07-24 17:56                                                   ` [3/3] " Mauro Carvalho Chehab
2017-07-24 17:56                                                   ` [PATCH 3/3] " Mauro Carvalho Chehab
2017-07-24 18:12                                                   ` Kani, Toshimitsu
2017-07-24 18:12                                                     ` [3/3] " Toshi Kani
2017-07-24 18:12                                                     ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-24 16:04                                               ` Mauro Carvalho Chehab
2017-07-24 16:04                                                 ` [3/3] " Mauro Carvalho Chehab
2017-07-24 16:04                                                 ` [PATCH 3/3] " Mauro Carvalho Chehab
2017-07-24 16:44                                                 ` Borislav Petkov
2017-07-24 16:44                                                   ` [3/3] " Borislav Petkov
2017-07-24 16:44                                                   ` [PATCH 3/3] " Borislav Petkov
2017-07-24 18:10                                                   ` Mauro Carvalho Chehab
2017-07-24 18:10                                                     ` [3/3] " Mauro Carvalho Chehab
2017-07-24 18:10                                                     ` [PATCH 3/3] " Mauro Carvalho Chehab
2017-07-24 18:30                                                     ` Borislav Petkov
2017-07-24 18:30                                                       ` [3/3] " Borislav Petkov
2017-07-24 18:30                                                       ` [PATCH 3/3] " Borislav Petkov
2017-07-25 23:00                                                       ` Kani, Toshimitsu
2017-07-25 23:00                                                         ` [3/3] " Toshi Kani
2017-07-25 23:00                                                         ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-21 15:53                           ` Borislav Petkov
2017-07-21 15:53                             ` [3/3] " Borislav Petkov
2017-07-21 15:53                             ` [PATCH 3/3] " Borislav Petkov
2017-07-21 16:32                             ` Kani, Toshimitsu
2017-07-21 16:32                               ` [3/3] " Toshi Kani
2017-07-21 16:32                               ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-19  5:55       ` Borislav Petkov
2017-07-19  5:55         ` [3/3] " Borislav Petkov
2017-07-19  5:55         ` [PATCH 3/3] " Borislav Petkov
2017-07-18 22:13     ` Luck, Tony
2017-07-18 22:13       ` [3/3] " Luck, Tony
2017-07-18 22:13       ` [PATCH 3/3] " Luck, Tony
2017-07-19  6:01       ` Borislav Petkov
2017-07-19  6:01         ` [3/3] " Borislav Petkov
2017-07-19  6:01         ` [PATCH 3/3] " Borislav Petkov
2017-07-18 14:39   ` Jeffrey Hugo
2017-07-18 14:39     ` [3/3] " Jeffrey Hugo
2017-07-18 15:36     ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-18 15:36       ` [3/3] " Toshi Kani
2017-07-18 15:36       ` [PATCH 3/3] " Kani, Toshimitsu
2017-07-18 16:24       ` Jeffrey Hugo
2017-07-18 16:24         ` [3/3] " Jeffrey Hugo
2017-07-18 16:24         ` [PATCH 3/3] " Jeffrey Hugo
2017-07-18 16:42         ` Kani, Toshimitsu
2017-07-18 16:42           ` [3/3] " Toshi Kani
2017-07-18 16:42           ` [PATCH 3/3] " Kani, Toshimitsu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170717215912.26070-2-toshi.kani@hpe.com \
    --to=toshi.kani@hpe.com \
    --cc=bp@alien8.de \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-edac@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=srinivas.pandruvada@linux.intel.com \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.