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);
next prev parent 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: linkBe 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.