From: "Rafael J. Wysocki" <rafael@kernel.org> To: Thomas Gleixner <tglx@linutronix.de> Cc: LKML <linux-kernel@vger.kernel.org>, "the arch/x86 maintainers" <x86@kernel.org>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Mark Gross <mgross@linux.intel.com>, Tony Luck <tony.luck@intel.com>, "Rafael J. Wysocki" <rjw@rjwysocki.net>, Viresh Kumar <viresh.kumar@linaro.org>, Linux PM <linux-pm@vger.kernel.org>, Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>, Len Brown <lenb@kernel.org>, Paolo Bonzini <pbonzini@redhat.com>, Darren Hart <dvhart@infradead.org>, Andy Shevchenko <andy@infradead.org>, ACPI Devel Maling List <linux-acpi@vger.kernel.org>, "open list:EDAC-CORE" <linux-edac@vger.kernel.org>, Platform Driver <platform-driver-x86@vger.kernel.org>, Jean Delvare <jdelvare@suse.com>, Guenter Roeck <linux@roeck-us.net>, linux-hwmon@vger.kernel.org, Zhang Rui <rui.zhang@intel.com>, Daniel Lezcano <daniel.lezcano@linaro.org>, Amit Kucheria <amit.kucheria@verdurent.com>, Chanwoo Choi <cw00.choi@samsung.com>, Jacob Pan <jacob.jun.pan@linux.intel.com>, Adrian Hunter <adrian.hunter@intel.com>, Ulf Hansson <ulf.hansson@linaro.org>, linux-mmc <linux-mmc@vger.kernel.org>, Bjorn Helgaas <bhelgaas@google.com>, Linux PCI <linux-pci@vger.kernel.org>, Takashi Iwai <tiwai@suse.com>, "moderated list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM..." <alsa-devel@alsa-project.org>, Herbert Xu <herbert@gondor.apana.org.au>, "David S. Miller" <davem@davemloft.net>, linux-crypto@vger.kernel.org Subject: Re: [patch V2 09/22] cpufreq: Convert to new X86 CPU match macros Date: Tue, 24 Mar 2020 16:37:54 +0100 Message-ID: <CAJZ5v0iPVnnUtPsYi0zi7-48MUoDfF-yUkvQRVhATvjF8iEKDQ@mail.gmail.com> (raw) In-Reply-To: <87eetheu88.fsf@nanos.tec.linutronix.de> On Tue, Mar 24, 2020 at 2:52 PM Thomas Gleixner <tglx@linutronix.de> wrote: > > The new macro set has a consistent namespace and uses C99 initializers > instead of the grufty C89 ones. > > Get rid the of most local macro wrappers for consistency. The ones which > make sense for readability are renamed to X86_MATCH*. > > In the centrino driver this also removes the two extra duplicates of family > 6 model 13 which have no value at all. > > Signed-off-by: Thomas Gleixner <tglx@linutronix.de> > Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> > Cc: Viresh Kumar <viresh.kumar@linaro.org> > Cc: linux-pm@vger.kernel.org > Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> > Cc: Len Brown <lenb@kernel.org> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > --- > V2: Add the dropped terminator in the centrino speedstep driver back. (Andy) > --- > drivers/cpufreq/acpi-cpufreq.c | 4 - > drivers/cpufreq/amd_freq_sensitivity.c | 2 > drivers/cpufreq/e_powersaver.c | 2 > drivers/cpufreq/elanfreq.c | 2 > drivers/cpufreq/intel_pstate.c | 71 ++++++++++++++++----------------- > drivers/cpufreq/longhaul.c | 2 > drivers/cpufreq/longrun.c | 3 - > drivers/cpufreq/p4-clockmod.c | 2 > drivers/cpufreq/powernow-k6.c | 4 - > drivers/cpufreq/powernow-k7.c | 2 > drivers/cpufreq/powernow-k8.c | 2 > drivers/cpufreq/sc520_freq.c | 2 > drivers/cpufreq/speedstep-centrino.c | 14 +----- > drivers/cpufreq/speedstep-ich.c | 10 +--- > drivers/cpufreq/speedstep-smi.c | 10 +--- > 15 files changed, 59 insertions(+), 73 deletions(-) > > --- a/drivers/cpufreq/acpi-cpufreq.c > +++ b/drivers/cpufreq/acpi-cpufreq.c > @@ -991,8 +991,8 @@ late_initcall(acpi_cpufreq_init); > module_exit(acpi_cpufreq_exit); > > static const struct x86_cpu_id acpi_cpufreq_ids[] = { > - X86_FEATURE_MATCH(X86_FEATURE_ACPI), > - X86_FEATURE_MATCH(X86_FEATURE_HW_PSTATE), > + X86_MATCH_FEATURE(X86_FEATURE_ACPI, NULL), > + X86_MATCH_FEATURE(X86_FEATURE_HW_PSTATE, NULL), > {} > }; > MODULE_DEVICE_TABLE(x86cpu, acpi_cpufreq_ids); > --- a/drivers/cpufreq/amd_freq_sensitivity.c > +++ b/drivers/cpufreq/amd_freq_sensitivity.c > @@ -144,7 +144,7 @@ static void __exit amd_freq_sensitivity_ > module_exit(amd_freq_sensitivity_exit); > > static const struct x86_cpu_id amd_freq_sensitivity_ids[] = { > - X86_FEATURE_MATCH(X86_FEATURE_PROC_FEEDBACK), > + X86_MATCH_FEATURE(X86_FEATURE_PROC_FEEDBACK, NULL), > {} > }; > MODULE_DEVICE_TABLE(x86cpu, amd_freq_sensitivity_ids); > --- a/drivers/cpufreq/e_powersaver.c > +++ b/drivers/cpufreq/e_powersaver.c > @@ -385,7 +385,7 @@ static struct cpufreq_driver eps_driver > /* This driver will work only on Centaur C7 processors with > * Enhanced SpeedStep/PowerSaver registers */ > static const struct x86_cpu_id eps_cpu_id[] = { > - { X86_VENDOR_CENTAUR, 6, X86_MODEL_ANY, X86_FEATURE_EST }, > + X86_MATCH_VENDOR_FAM_FEATURE(CENTAUR, 6, X86_FEATURE_EST, NULL), > {} > }; > MODULE_DEVICE_TABLE(x86cpu, eps_cpu_id); > --- a/drivers/cpufreq/elanfreq.c > +++ b/drivers/cpufreq/elanfreq.c > @@ -198,7 +198,7 @@ static struct cpufreq_driver elanfreq_dr > }; > > static const struct x86_cpu_id elan_id[] = { > - { X86_VENDOR_AMD, 4, 10, }, > + X86_MATCH_VENDOR_FAM_MODEL(AMD, 4, 10, NULL), > {} > }; > MODULE_DEVICE_TABLE(x86cpu, elan_id); > --- a/drivers/cpufreq/intel_pstate.c > +++ b/drivers/cpufreq/intel_pstate.c > @@ -1909,51 +1909,51 @@ static const struct pstate_funcs knl_fun > .get_val = core_get_val, > }; > > -#define ICPU(model, policy) \ > - { X86_VENDOR_INTEL, 6, model, X86_FEATURE_APERFMPERF,\ > - (unsigned long)&policy } > +#define X86_MATCH(model, policy) \ > + X86_MATCH_VENDOR_FAM_MODEL_FEATURE(INTEL, 6, INTEL_FAM6_##model, \ > + X86_FEATURE_APERFMPERF, &policy) > > static const struct x86_cpu_id intel_pstate_cpu_ids[] = { > - ICPU(INTEL_FAM6_SANDYBRIDGE, core_funcs), > - ICPU(INTEL_FAM6_SANDYBRIDGE_X, core_funcs), > - ICPU(INTEL_FAM6_ATOM_SILVERMONT, silvermont_funcs), > - ICPU(INTEL_FAM6_IVYBRIDGE, core_funcs), > - ICPU(INTEL_FAM6_HASWELL, core_funcs), > - ICPU(INTEL_FAM6_BROADWELL, core_funcs), > - ICPU(INTEL_FAM6_IVYBRIDGE_X, core_funcs), > - ICPU(INTEL_FAM6_HASWELL_X, core_funcs), > - ICPU(INTEL_FAM6_HASWELL_L, core_funcs), > - ICPU(INTEL_FAM6_HASWELL_G, core_funcs), > - ICPU(INTEL_FAM6_BROADWELL_G, core_funcs), > - ICPU(INTEL_FAM6_ATOM_AIRMONT, airmont_funcs), > - ICPU(INTEL_FAM6_SKYLAKE_L, core_funcs), > - ICPU(INTEL_FAM6_BROADWELL_X, core_funcs), > - ICPU(INTEL_FAM6_SKYLAKE, core_funcs), > - ICPU(INTEL_FAM6_BROADWELL_D, core_funcs), > - ICPU(INTEL_FAM6_XEON_PHI_KNL, knl_funcs), > - ICPU(INTEL_FAM6_XEON_PHI_KNM, knl_funcs), > - ICPU(INTEL_FAM6_ATOM_GOLDMONT, core_funcs), > - ICPU(INTEL_FAM6_ATOM_GOLDMONT_PLUS, core_funcs), > - ICPU(INTEL_FAM6_SKYLAKE_X, core_funcs), > + X86_MATCH(SANDYBRIDGE, core_funcs), > + X86_MATCH(SANDYBRIDGE_X, core_funcs), > + X86_MATCH(ATOM_SILVERMONT, silvermont_funcs), > + X86_MATCH(IVYBRIDGE, core_funcs), > + X86_MATCH(HASWELL, core_funcs), > + X86_MATCH(BROADWELL, core_funcs), > + X86_MATCH(IVYBRIDGE_X, core_funcs), > + X86_MATCH(HASWELL_X, core_funcs), > + X86_MATCH(HASWELL_L, core_funcs), > + X86_MATCH(HASWELL_G, core_funcs), > + X86_MATCH(BROADWELL_G, core_funcs), > + X86_MATCH(ATOM_AIRMONT, airmont_funcs), > + X86_MATCH(SKYLAKE_L, core_funcs), > + X86_MATCH(BROADWELL_X, core_funcs), > + X86_MATCH(SKYLAKE, core_funcs), > + X86_MATCH(BROADWELL_D, core_funcs), > + X86_MATCH(XEON_PHI_KNL, knl_funcs), > + X86_MATCH(XEON_PHI_KNM, knl_funcs), > + X86_MATCH(ATOM_GOLDMONT, core_funcs), > + X86_MATCH(ATOM_GOLDMONT_PLUS, core_funcs), > + X86_MATCH(SKYLAKE_X, core_funcs), > {} > }; > MODULE_DEVICE_TABLE(x86cpu, intel_pstate_cpu_ids); > > static const struct x86_cpu_id intel_pstate_cpu_oob_ids[] __initconst = { > - ICPU(INTEL_FAM6_BROADWELL_D, core_funcs), > - ICPU(INTEL_FAM6_BROADWELL_X, core_funcs), > - ICPU(INTEL_FAM6_SKYLAKE_X, core_funcs), > + X86_MATCH(BROADWELL_D, core_funcs), > + X86_MATCH(BROADWELL_X, core_funcs), > + X86_MATCH(SKYLAKE_X, core_funcs), > {} > }; > > static const struct x86_cpu_id intel_pstate_cpu_ee_disable_ids[] = { > - ICPU(INTEL_FAM6_KABYLAKE, core_funcs), > + X86_MATCH(KABYLAKE, core_funcs), > {} > }; > > static const struct x86_cpu_id intel_pstate_hwp_boost_ids[] = { > - ICPU(INTEL_FAM6_SKYLAKE_X, core_funcs), > - ICPU(INTEL_FAM6_SKYLAKE, core_funcs), > + X86_MATCH(SKYLAKE_X, core_funcs), > + X86_MATCH(SKYLAKE, core_funcs), > {} > }; > > @@ -2726,13 +2726,14 @@ static inline void intel_pstate_request_ > > #define INTEL_PSTATE_HWP_BROADWELL 0x01 > > -#define ICPU_HWP(model, hwp_mode) \ > - { X86_VENDOR_INTEL, 6, model, X86_FEATURE_HWP, hwp_mode } > +#define X86_MATCH_HWP(model, hwp_mode) \ > + X86_MATCH_VENDOR_FAM_MODEL_FEATURE(INTEL, 6, INTEL_FAM6_##model, \ > + X86_FEATURE_APERFMPERF, hwp_mode) > > static const struct x86_cpu_id hwp_support_ids[] __initconst = { > - ICPU_HWP(INTEL_FAM6_BROADWELL_X, INTEL_PSTATE_HWP_BROADWELL), > - ICPU_HWP(INTEL_FAM6_BROADWELL_D, INTEL_PSTATE_HWP_BROADWELL), > - ICPU_HWP(X86_MODEL_ANY, 0), > + X86_MATCH_HWP(BROADWELL_X, INTEL_PSTATE_HWP_BROADWELL), > + X86_MATCH_HWP(BROADWELL_D, INTEL_PSTATE_HWP_BROADWELL), > + X86_MATCH_HWP(ANY, 0), > {} > }; > > --- a/drivers/cpufreq/longhaul.c > +++ b/drivers/cpufreq/longhaul.c > @@ -910,7 +910,7 @@ static struct cpufreq_driver longhaul_dr > }; > > static const struct x86_cpu_id longhaul_id[] = { > - { X86_VENDOR_CENTAUR, 6 }, > + X86_MATCH_VENDOR_FAM(CENTAUR, 6, NULL), > {} > }; > MODULE_DEVICE_TABLE(x86cpu, longhaul_id); > --- a/drivers/cpufreq/longrun.c > +++ b/drivers/cpufreq/longrun.c > @@ -281,8 +281,7 @@ static struct cpufreq_driver longrun_dri > }; > > static const struct x86_cpu_id longrun_ids[] = { > - { X86_VENDOR_TRANSMETA, X86_FAMILY_ANY, X86_MODEL_ANY, > - X86_FEATURE_LONGRUN }, > + X86_MATCH_VENDOR_FEATURE(TRANSMETA, X86_FEATURE_LONGRUN, NULL), > {} > }; > MODULE_DEVICE_TABLE(x86cpu, longrun_ids); > --- a/drivers/cpufreq/p4-clockmod.c > +++ b/drivers/cpufreq/p4-clockmod.c > @@ -231,7 +231,7 @@ static struct cpufreq_driver p4clockmod_ > }; > > static const struct x86_cpu_id cpufreq_p4_id[] = { > - { X86_VENDOR_INTEL, X86_FAMILY_ANY, X86_MODEL_ANY, X86_FEATURE_ACC }, > + X86_MATCH_VENDOR_FEATURE(INTEL, X86_FEATURE_ACC, NULL), > {} > }; > > --- a/drivers/cpufreq/powernow-k6.c > +++ b/drivers/cpufreq/powernow-k6.c > @@ -258,8 +258,8 @@ static struct cpufreq_driver powernow_k6 > }; > > static const struct x86_cpu_id powernow_k6_ids[] = { > - { X86_VENDOR_AMD, 5, 12 }, > - { X86_VENDOR_AMD, 5, 13 }, > + X86_MATCH_VENDOR_FAM_MODEL(AMD, 5, 12, NULL), > + X86_MATCH_VENDOR_FAM_MODEL(AMD, 5, 13, NULL), > {} > }; > MODULE_DEVICE_TABLE(x86cpu, powernow_k6_ids); > --- a/drivers/cpufreq/powernow-k7.c > +++ b/drivers/cpufreq/powernow-k7.c > @@ -109,7 +109,7 @@ static int check_fsb(unsigned int fsbspe > } > > static const struct x86_cpu_id powernow_k7_cpuids[] = { > - { X86_VENDOR_AMD, 6, }, > + X86_MATCH_VENDOR_FAM(AMD, 6, NULL), > {} > }; > MODULE_DEVICE_TABLE(x86cpu, powernow_k7_cpuids); > --- a/drivers/cpufreq/powernow-k8.c > +++ b/drivers/cpufreq/powernow-k8.c > @@ -452,7 +452,7 @@ static int core_voltage_post_transition( > > static const struct x86_cpu_id powernow_k8_ids[] = { > /* IO based frequency switching */ > - { X86_VENDOR_AMD, 0xf }, > + X86_MATCH_VENDOR_FAM(AMD, 0xf, NULL), > {} > }; > MODULE_DEVICE_TABLE(x86cpu, powernow_k8_ids); > --- a/drivers/cpufreq/sc520_freq.c > +++ b/drivers/cpufreq/sc520_freq.c > @@ -95,7 +95,7 @@ static struct cpufreq_driver sc520_freq_ > }; > > static const struct x86_cpu_id sc520_ids[] = { > - { X86_VENDOR_AMD, 4, 9 }, > + X86_MATCH_VENDOR_FAM_MODEL(AMD, 4, 9, NULL), > {} > }; > MODULE_DEVICE_TABLE(x86cpu, sc520_ids); > --- a/drivers/cpufreq/speedstep-centrino.c > +++ b/drivers/cpufreq/speedstep-centrino.c > @@ -520,18 +520,12 @@ static struct cpufreq_driver centrino_dr > * or ASCII model IDs. > */ > static const struct x86_cpu_id centrino_ids[] = { > - { X86_VENDOR_INTEL, 6, 9, X86_FEATURE_EST }, > - { X86_VENDOR_INTEL, 6, 13, X86_FEATURE_EST }, > - { X86_VENDOR_INTEL, 6, 13, X86_FEATURE_EST }, > - { X86_VENDOR_INTEL, 6, 13, X86_FEATURE_EST }, > - { X86_VENDOR_INTEL, 15, 3, X86_FEATURE_EST }, > - { X86_VENDOR_INTEL, 15, 4, X86_FEATURE_EST }, > + X86_MATCH_VENDOR_FAM_MODEL_FEATURE(INTEL, 6, 9, X86_FEATURE_EST, NULL), > + X86_MATCH_VENDOR_FAM_MODEL_FEATURE(INTEL, 6, 13, X86_FEATURE_EST, NULL), > + X86_MATCH_VENDOR_FAM_MODEL_FEATURE(INTEL, 15, 3, X86_FEATURE_EST, NULL), > + X86_MATCH_VENDOR_FAM_MODEL_FEATURE(INTEL, 15, 4, X86_FEATURE_EST, NULL), > {} > }; > -#if 0 > -/* Autoload or not? Do not for now. */ > -MODULE_DEVICE_TABLE(x86cpu, centrino_ids); > -#endif > > /** > * centrino_init - initializes the Enhanced SpeedStep CPUFreq driver > --- a/drivers/cpufreq/speedstep-ich.c > +++ b/drivers/cpufreq/speedstep-ich.c > @@ -319,15 +319,11 @@ static struct cpufreq_driver speedstep_d > }; > > static const struct x86_cpu_id ss_smi_ids[] = { > - { X86_VENDOR_INTEL, 6, 0xb, }, > - { X86_VENDOR_INTEL, 6, 0x8, }, > - { X86_VENDOR_INTEL, 15, 2 }, > + X86_MATCH_VENDOR_FAM_MODEL(INTEL, 6, 0x8, 0), > + X86_MATCH_VENDOR_FAM_MODEL(INTEL, 6, 0xb, 0), > + X86_MATCH_VENDOR_FAM_MODEL(INTEL, 15, 0x2, 0), > {} > }; > -#if 0 > -/* Autoload or not? Do not for now. */ > -MODULE_DEVICE_TABLE(x86cpu, ss_smi_ids); > -#endif > > /** > * speedstep_init - initializes the SpeedStep CPUFreq driver > --- a/drivers/cpufreq/speedstep-smi.c > +++ b/drivers/cpufreq/speedstep-smi.c > @@ -299,15 +299,11 @@ static struct cpufreq_driver speedstep_d > }; > > static const struct x86_cpu_id ss_smi_ids[] = { > - { X86_VENDOR_INTEL, 6, 0xb, }, > - { X86_VENDOR_INTEL, 6, 0x8, }, > - { X86_VENDOR_INTEL, 15, 2 }, > + X86_MATCH_VENDOR_FAM_MODEL(INTEL, 6, 0x8, 0), > + X86_MATCH_VENDOR_FAM_MODEL(INTEL, 6, 0xb, 0), > + X86_MATCH_VENDOR_FAM_MODEL(INTEL, 15, 0x2, 0), > {} > }; > -#if 0 > -/* Not auto loaded currently */ > -MODULE_DEVICE_TABLE(x86cpu, ss_smi_ids); > -#endif > > /** > * speedstep_init - initializes the SpeedStep CPUFreq driver
next prev parent reply index Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <20200320131345.635023594@linutronix.de> 2020-03-20 14:31 ` [patch 00/22] x86/treewide: Consolidate CPU match macro maze and get rid of C89 (sic!) initializers Andy Shevchenko [not found] ` <20200320131508.736205164@linutronix.de> 2020-03-20 14:33 ` [patch 01/22] x86/devicetable: Move x86 specific macro out of generic code Andy Shevchenko 2020-03-20 20:24 ` Thomas Gleixner [not found] ` <20200320131508.826011988@linutronix.de> 2020-03-20 14:29 ` [patch 02/22] x86/cpu: Add conistent CPU match macros Bjorn Helgaas 2020-03-20 14:39 ` Andy Shevchenko 2020-03-20 20:27 ` Thomas Gleixner [not found] ` <20200320131509.467730627@linutronix.de> 2020-03-20 14:47 ` [patch 08/22] ACPI: Convert to new X86 " Andy Shevchenko 2020-03-20 20:32 ` Thomas Gleixner 2020-03-23 16:38 ` mark gross [not found] ` <20200320131509.766573641@linutronix.de> 2020-03-20 14:52 ` [patch 11/22] platform/x86: Convert to new " Andy Shevchenko [not found] ` <20200320131510.594671507@linutronix.de> 2020-03-20 14:58 ` [patch 19/22] ASoC: Intel: Convert to new X86 " Andy Shevchenko 2020-03-20 14:59 ` [patch 00/22] x86/treewide: Consolidate CPU match macro maze and get rid of C89 (sic!) initializers Greg Kroah-Hartman [not found] ` <20200320131509.564059710@linutronix.de> 2020-03-20 14:50 ` [patch 09/22] cpufreq: Convert to new X86 CPU match macros Andy Shevchenko 2020-03-20 20:30 ` Thomas Gleixner 2020-03-20 21:52 ` Andy Shevchenko 2020-03-20 22:18 ` Thomas Gleixner [not found] ` <20200324060124.GC11705@shao2-debian> 2020-03-24 10:24 ` [cpufreq] 06c4d00466: will-it-scale.per_process_ops -53.4% regression Andy Shevchenko 2020-03-24 15:38 ` Srinivas Pandruvada 2020-03-25 7:51 ` Rong Chen 2020-03-25 7:50 ` Rong Chen 2020-03-25 10:32 ` Thomas Gleixner 2020-03-26 8:33 ` kernel test robot 2020-03-24 13:51 ` [patch V2 09/22] cpufreq: Convert to new X86 CPU match macros Thomas Gleixner 2020-03-24 15:37 ` Rafael J. Wysocki [this message] 2020-03-24 18:58 ` [PATCH 23/22] x86/smpboot: Remove the last ICPU() macro Borislav Petkov [not found] ` <20200320131509.673579000@linutronix.de> 2020-03-24 19:31 ` [patch 10/22] EDAC: Convert to new X86 CPU match macros Luck, Tony
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=CAJZ5v0iPVnnUtPsYi0zi7-48MUoDfF-yUkvQRVhATvjF8iEKDQ@mail.gmail.com \ --to=rafael@kernel.org \ --cc=adrian.hunter@intel.com \ --cc=alsa-devel@alsa-project.org \ --cc=amit.kucheria@verdurent.com \ --cc=andy@infradead.org \ --cc=bhelgaas@google.com \ --cc=cw00.choi@samsung.com \ --cc=daniel.lezcano@linaro.org \ --cc=davem@davemloft.net \ --cc=dvhart@infradead.org \ --cc=gregkh@linuxfoundation.org \ --cc=herbert@gondor.apana.org.au \ --cc=jacob.jun.pan@linux.intel.com \ --cc=jdelvare@suse.com \ --cc=lenb@kernel.org \ --cc=linux-acpi@vger.kernel.org \ --cc=linux-crypto@vger.kernel.org \ --cc=linux-edac@vger.kernel.org \ --cc=linux-hwmon@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mmc@vger.kernel.org \ --cc=linux-pci@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=linux@roeck-us.net \ --cc=mgross@linux.intel.com \ --cc=pbonzini@redhat.com \ --cc=platform-driver-x86@vger.kernel.org \ --cc=rjw@rjwysocki.net \ --cc=rui.zhang@intel.com \ --cc=srinivas.pandruvada@linux.intel.com \ --cc=tglx@linutronix.de \ --cc=tiwai@suse.com \ --cc=tony.luck@intel.com \ --cc=ulf.hansson@linaro.org \ --cc=viresh.kumar@linaro.org \ --cc=x86@kernel.org \ /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
Linux-EDAC Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-edac/0 linux-edac/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-edac linux-edac/ https://lore.kernel.org/linux-edac \ linux-edac@vger.kernel.org public-inbox-index linux-edac Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-edac AGPL code for this site: git clone https://public-inbox.org/public-inbox.git