Merge branches 'acpi-cppc', 'acpi-misc', 'acpi-battery' and 'acpi-ac'
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 4 Jun 2018 08:43:34 +0000 (10:43 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 4 Jun 2018 08:43:34 +0000 (10:43 +0200)
* acpi-cppc:
  mailbox: PCC: erroneous error message when parsing ACPI PCCT
  ACPI / CPPC: Fix invalid PCC channel status errors
  ACPI / CPPC: Document CPPC sysfs interface
  cpufreq / CPPC: Support for CPPC v3
  ACPI / CPPC: Check for valid PCC subspace only if PCC is used
  ACPI / CPPC: Add support for CPPC v3

* acpi-misc:
  ACPI: Add missing prototype_for arch_post_acpi_subsys_init()
  ACPI: add missing newline to printk

* acpi-battery:
  ACPI / battery: Add quirk to avoid checking for PMIC with native driver
  ACPI / battery: Ignore AC state in handle_discharging on systems where it is broken
  ACPI / battery: Add handling for devices which wrongly report discharging state
  ACPI / battery: Remove initializer for unused ident dmi_system_id
  ACPI / AC: Remove initializer for unused ident dmi_system_id

* acpi-ac:
  ACPI / AC: Add quirk to avoid checking for PMIC with native driver

1  2  3  4  5 
drivers/acpi/ac.c
drivers/cpufreq/cppc_cpufreq.c

index 2d8de2f8c1ed39b07c13af7b4ad5a30258fa5bb7,2d8de2f8c1ed39b07c13af7b4ad5a30258fa5bb7,2d8de2f8c1ed39b07c13af7b4ad5a30258fa5bb7,9e4463dda622c3f2b65b59ddf0ec47ab000854e0,e3101b1a86a3c8d9808d0358611dba82ad1848bc..b823a86c166dc6aef1721934187d680ef112537b
@@@@@@ -316,10 -316,10 -316,10 -316,10 -317,16 +317,16 @@@@@@ static int __init thinkpad_e530_quirk(c
        return 0;
     }
     
---- static const struct dmi_system_id ac_dmi_table[] = {
++++ static int __init ac_do_not_check_pmic_quirk(const struct dmi_system_id *d)
++++ {
++++    ac_check_pmic = 0;
++++    return 0;
++++ }
++++ 
++++ static const struct dmi_system_id ac_dmi_table[]  __initconst = {
        {
+++ +   /* Thinkpad e530 */
        .callback = thinkpad_e530_quirk,
--- -   .ident = "thinkpad e530",
        .matches = {
                DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
                DMI_MATCH(DMI_PRODUCT_NAME, "32597CG"),
index b15115a48775cb9c6b18cc94b1aa5decd67667c9,e67e94b0ec14f83a7dbd3923c25f5cde58740fe0,bc5fc163087607998bd594db39985dadf7f49a01,bc5fc163087607998bd594db39985dadf7f49a01,b15115a48775cb9c6b18cc94b1aa5decd67667c9..3464580ac3ca4d4284c704c81676a3fad9da93fb
@@@@@@ -201,11 -214,11 -158,12 -158,12 -201,11 +257,10 @@@@@@ static int cppc_cpufreq_cpu_init(struc
         * available if userspace wants to use any perf between lowest & lowest
         * nonlinear perf
         */
- ---   policy->cpuinfo.min_freq = cpu->perf_caps.lowest_perf * cppc_dmi_max_khz /
- ---           cpu->perf_caps.highest_perf;
- ---   policy->cpuinfo.max_freq = cppc_dmi_max_khz;
+ +++   policy->cpuinfo.min_freq = cppc_cpufreq_perf_to_khz(cpu, cpu->perf_caps.lowest_perf);
+ +++   policy->cpuinfo.max_freq = cppc_cpufreq_perf_to_khz(cpu, cpu->perf_caps.highest_perf);
     
 ---    policy->transition_delay_us = cppc_get_transition_latency(cpu_num) /
 ---            NSEC_PER_USEC;
 +++    policy->transition_delay_us = cppc_cpufreq_get_transition_delay_us(cpu_num);
        policy->shared_type = cpu->shared_type;
     
        if (policy->shared_type == CPUFREQ_SHARED_TYPE_ANY) {