Merge branches 'pm-domains', 'pm-cpuidle', 'pm-sleep' and 'powercap'
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 9 May 2017 21:21:46 +0000 (23:21 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 9 May 2017 21:21:46 +0000 (23:21 +0200)
* pm-domains:
  PM / Domains: Add DT file to MAINTAINERS
  PM / Domains: Fix DT example

* pm-cpuidle:
  x86/intel_idle: add Gemini Lake support
  cpuidle: check dev before usage in cpuidle_use_deepest_state()

* pm-sleep:
  ACPI / sleep: Ignore spurious SCI wakeups from suspend-to-idle
  PM / wakeup: Integrate mechanism to abort transitions in progress

* powercap:
  powercap: intel_rapl: Add support for Gemini Lake

1  2  3  4  5 
MAINTAINERS
drivers/acpi/battery.c

diff --combined MAINTAINERS
@@@@@@ -2544,14 -2544,6 -2544,6 -2544,6 -2544,6 +2544,14 @@@@@@ F:      block
     F: kernel/trace/blktrace.c
     F: lib/sbitmap.c
     
 ++++BFQ I/O SCHEDULER
 ++++M: Paolo Valente <paolo.valente@linaro.org>
 ++++M: Jens Axboe <axboe@kernel.dk>
 ++++L: linux-block@vger.kernel.org
 ++++S: Maintained
 ++++F: block/bfq-*
 ++++F: Documentation/block/bfq-iosched.txt
 ++++
     BLOCK2MTD DRIVER
     M: Joern Engel <joern@lazybastard.org>
     L: linux-mtd@lists.infradead.org
@@@@@@ -2593,26 -2585,12 -2585,12 -2585,26 -2585,26 +2593,26 @@@@@@ F:  include/uapi/linux/if_bonding.
     
     BPF (Safe dynamic programs and tools)
     M: Alexei Starovoitov <ast@kernel.org>
 ++  M: Daniel Borkmann <daniel@iogearbox.net>
     L: netdev@vger.kernel.org
     L: linux-kernel@vger.kernel.org
     S: Supported
 ++  F: arch/x86/net/bpf_jit*
 ++  F: Documentation/networking/filter.txt
 ++  F: include/linux/bpf*
 ++  F: include/linux/filter.h
 ++  F: include/uapi/linux/bpf*
 ++  F: include/uapi/linux/filter.h
     F: kernel/bpf/
 --  F: tools/testing/selftests/bpf/
 ++  F: kernel/trace/bpf_trace.c
     F: lib/test_bpf.c
 ++  F: net/bpf/
 ++  F: net/core/filter.c
 ++  F: net/sched/act_bpf.c
 ++  F: net/sched/cls_bpf.c
 ++  F: samples/bpf/
 ++  F: tools/net/bpf*
 ++  F: tools/testing/selftests/bpf/
     
     BROADCOM B44 10/100 ETHERNET DRIVER
     M: Michael Chan <michael.chan@broadcom.com>
@@@@@@ -3471,7 -3449,6 -3449,6 -3463,6 -3463,6 +3471,7 @@@@@@ T:        git git://git.kernel.org/pub/scm/lin
     T: git git://git.linaro.org/people/vireshk/linux.git (For ARM Updates)
     B: https://bugzilla.kernel.org
     F: Documentation/cpu-freq/
 ++++F: Documentation/devicetree/bindings/cpufreq/
     F: drivers/cpufreq/
     F: include/linux/cpufreq.h
     F: tools/testing/selftests/cpufreq/
@@@@@@ -4140,13 -4117,14 -4117,14 -4131,13 -4131,13 +4140,13 @@@@@@ F:  drivers/block/drbd
     F: lib/lru_cache.c
     F: Documentation/blockdev/drbd/
     
 --  DRIVER CORE, KOBJECTS, DEBUGFS, KERNFS AND SYSFS
 ++  DRIVER CORE, KOBJECTS, DEBUGFS AND SYSFS
     M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
     T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
     S: Supported
     F: Documentation/kobject.txt
     F: drivers/base/
     F: fs/debugfs/
 --  F: fs/kernfs/
     F: fs/sysfs/
     F: include/linux/debugfs.h
     F: include/linux/kobj*
@@@@@@ -4716,7 -4694,6 -4694,6 -4707,6 -4707,6 +4716,7 @@@@@@ L:        linux-edac@vger.kernel.or
     L: linux-mips@linux-mips.org
     S: Supported
     F: drivers/edac/octeon_edac*
 ++++F: drivers/edac/thunderx_edac*
     
     EDAC-E752X
     M: Mark Gross <mark.gross@intel.com>
@@@@@@ -4798,12 -4775,6 -4775,6 -4788,12 -4788,12 +4798,12 @@@@@@ L:    linux-edac@vger.kernel.or
     S: Maintained
     F: drivers/edac/mpc85xx_edac.[ch]
     
 ++  EDAC-PND2
 ++  M: Tony Luck <tony.luck@intel.com>
 ++  L: linux-edac@vger.kernel.org
 ++  S: Maintained
 ++  F: drivers/edac/pnd2_edac.[ch]
 ++  
     EDAC-PASEMI
     M: Egor Martovetsky <egor@pasemi.com>
     L: linux-edac@vger.kernel.org
@@@@@@ -4951,7 -4922,6 -4922,6 -4941,7 -4941,7 +4951,7 @@@@@@ F:        include/linux/netfilter_bridge
     F: net/bridge/
     
     ETHERNET PHY LIBRARY
 ++  M: Andrew Lunn <andrew@lunn.ch>
     M: Florian Fainelli <f.fainelli@gmail.com>
     L: netdev@vger.kernel.org
     S: Maintained
@@@@@@ -5523,6 -5493,7 -5493,6 -5513,6 -5513,6 +5523,7 @@@@@@ L:        linux-pm@vger.kernel.or
     S: Supported
     F: drivers/base/power/domain*.c
     F: include/linux/pm_domain.h
+ +++F: Documentation/devicetree/bindings/power/power_domain.txt
     
     GENERIC UIO DRIVER FOR PCI DEVICES
     M: "Michael S. Tsirkin" <mst@redhat.com>
@@@@@@ -7113,9 -7084,9 -7083,9 -7103,9 -7103,9 +7114,9 @@@@@@ S:        Maintaine
     F: fs/autofs4/
     
     KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
 ++  M: Masahiro Yamada <yamada.masahiro@socionext.com>
     M: Michal Marek <mmarek@suse.com>
 --  T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git for-next
 --  T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git rc-fixes
 ++  T: git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
     L: linux-kbuild@vger.kernel.org
     S: Maintained
     F: Documentation/kbuild/
@@@@@@ -7232,14 -7203,6 -7202,6 -7222,14 -7222,14 +7233,14 @@@@@@ F:    arch/mips/include/uapi/asm/kvm
     F: arch/mips/include/asm/kvm*
     F: arch/mips/kvm/
     
 ++  KERNFS
 ++  M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 ++  M: Tejun Heo <tj@kernel.org>
 ++  T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
 ++  S: Supported
 ++  F: include/linux/kernfs.h
 ++  F: fs/kernfs/
 ++  
     KEXEC
     M: Eric Biederman <ebiederm@xmission.com>
     W: http://kernel.org/pub/linux/utils/kernel/kexec/
@@@@@@ -8785,7 -8748,6 -8747,6 -8775,7 -8775,7 +8786,7 @@@@@@ W:        http://www.linuxfoundation.org/en/Ne
     Q: http://patchwork.ozlabs.org/project/netdev/list/
     T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git
     T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
 ++  B: mailto:netdev@vger.kernel.org
     S: Maintained
     F: net/
     F: include/net/
@@@@@@ -10847,7 -10809,6 -10808,6 -10837,7 -10837,7 +10848,7 @@@@@@ F:  drivers/s390/block/dasd
     F: block/partitions/ibm.c
     
     S390 NETWORK DRIVERS
 ++  M: Julian Wiedmann <jwi@linux.vnet.ibm.com>
     M: Ursula Braun <ubraun@linux.vnet.ibm.com>
     L: linux-s390@vger.kernel.org
     W: http://www.ibm.com/developerworks/linux/linux390/
@@@@@@ -10878,7 -10839,6 -10838,6 -10868,7 -10868,7 +10879,7 @@@@@@ S:  Supporte
     F: drivers/s390/scsi/zfcp_*
     
     S390 IUCV NETWORK LAYER
 ++  M: Julian Wiedmann <jwi@linux.vnet.ibm.com>
     M: Ursula Braun <ubraun@linux.vnet.ibm.com>
     L: linux-s390@vger.kernel.org
     W: http://www.ibm.com/developerworks/linux/linux390/
@@@@@@ -12489,6 -12449,7 -12448,7 -12479,6 -12479,6 +12490,6 @@@@@@ F:  drivers/clk/ti
     F: include/linux/clk/ti.h
     
     TI ETHERNET SWITCH DRIVER (CPSW)
 --  M: Mugunthan V N <mugunthanvnm@ti.com>
     R: Grygorii Strashko <grygorii.strashko@ti.com>
     L: linux-omap@vger.kernel.org
     L: netdev@vger.kernel.org
@@@@@@ -13329,7 -13290,7 -13289,7 -13319,7 -13319,7 +13330,7 @@@@@@ F:  drivers/virtio
     F: tools/virtio/
     F: drivers/net/virtio_net.c
     F: drivers/block/virtio_blk.c
 --  F: include/linux/virtio_*.h
 ++  F: include/linux/virtio*.h
     F: include/uapi/linux/virtio_*.h
     F: drivers/crypto/virtio/
     
diff --combined drivers/acpi/battery.c
@@@@@@ -67,7 -67,6 -67,6 -67,6 -67,6 +67,7 @@@@@@ MODULE_DESCRIPTION("ACPI Battery Driver
     MODULE_LICENSE("GPL");
     
     static async_cookie_t async_cookie;
 ++++static bool battery_driver_registered;
     static int battery_bix_broken_package;
     static int battery_notification_delay_ms;
     static unsigned int cache_time = 1000;
@@@@@@ -94,11 -93,6 -93,6 -93,6 -93,6 +94,11 @@@@@@ static const struct acpi_device_id batt
     
     MODULE_DEVICE_TABLE(acpi, battery_device_ids);
     
 ++++/* Lists of PMIC ACPI HIDs with an (often better) native battery driver */
 ++++static const char * const acpi_battery_blacklist[] = {
 ++++   "INT33F4", /* X-Powers AXP288 PMIC */
 ++++};
 ++++
     enum {
        ACPI_BATTERY_ALARM_PRESENT,
        ACPI_BATTERY_XINFO_PRESENT,
@@@@@@ -782,7 -776,7 -776,7 -776,7 -776,7 +782,7 @@@@@@ static int acpi_battery_update(struct a
        if ((battery->state & ACPI_BATTERY_STATE_CRITICAL) ||
            (test_bit(ACPI_BATTERY_ALARM_PRESENT, &battery->flags) &&
                 (battery->capacity_now <= battery->alarm)))
--- -           pm_wakeup_event(&battery->device->dev, 0);
+++ +           pm_wakeup_hard_event(&battery->device->dev);
     
        return result;
     }
@@@@@@ -1321,17 -1315,8 -1315,8 -1315,8 -1315,8 +1321,17 @@@@@@ static struct acpi_driver acpi_battery_
     
     static void __init acpi_battery_init_async(void *unused, async_cookie_t cookie)
     {
 ++++   unsigned int i;
        int result;
     
 ++++   for (i = 0; i < ARRAY_SIZE(acpi_battery_blacklist); i++)
 ++++           if (acpi_dev_present(acpi_battery_blacklist[i], "1", -1)) {
 ++++                   pr_info(PREFIX ACPI_BATTERY_DEVICE_NAME
 ++++                           ": found native %s PMIC, not loading\n",
 ++++                           acpi_battery_blacklist[i]);
 ++++                   return;
 ++++           }
 ++++
        dmi_check_system(bat_dmi_table);
     
     #ifdef CONFIG_ACPI_PROCFS_POWER
        if (result < 0)
                acpi_unlock_battery_dir(acpi_battery_dir);
     #endif
 ++++   battery_driver_registered = (result == 0);
     }
     
     static int __init acpi_battery_init(void)
     static void __exit acpi_battery_exit(void)
     {
        async_synchronize_cookie(async_cookie + 1);
 ----   acpi_bus_unregister_driver(&acpi_battery_driver);
 ++++   if (battery_driver_registered)
 ++++           acpi_bus_unregister_driver(&acpi_battery_driver);
     #ifdef CONFIG_ACPI_PROCFS_POWER
 ----   acpi_unlock_battery_dir(acpi_battery_dir);
 ++++   if (acpi_battery_dir)
 ++++           acpi_unlock_battery_dir(acpi_battery_dir);
     #endif
     }