1. 04 Dec, 2019 2 commits
    • Ravi Bangoria's avatar
      perf report/top TUI: Replace pr_err() with ui__error() · ae87405f
      Ravi Bangoria authored
      pr_err() in TUI mode does not print anyting on the screen and just
      quits.
      
      Replace such pr_err() with ui__error().
      
      Before:
      
        $ perf report -s +
        $
      
      After:
      
        $ perf report -s +
      
          ┌─Error:────────────────┐
          │Invalid --sort key: `+'│
          │                       │
          │Press any key...       │
          └───────────────────────┘
      Signed-off-by: default avatarRavi Bangoria <ravi.bangoria@linux.ibm.com>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Jin Yao <yao.jin@linux.intel.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lore.kernel.org/lkml/20191114132213.5419-2-ravi.bangoria@linux.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ae87405f
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo-5.5-20191203' of... · 9f58c93e
      Ingo Molnar authored
      Merge tag 'perf-core-for-mingo-5.5-20191203' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
      
      perf report/top:
      
        - Fix segfault due to missing initialization of recently introduced
          struct map_symbol 'maps' field in append_inlines(), when running
          with DWARF callchains.
      
      perf stat:
      
        Andi Kleen:
      
        - Affinity based optimizations for sessions with many events in
          machines with large core counts, avoiding excessive number of IPIs.
      
      libtraceevent:
      
        - Sudip Mukherjee:
      
        - Fix installation with O=.
      
        - Copy pkg-config file to output folder when using O=.
      
      perf bench:
      
        Arnaldo Carvalho de Melo:
      
        - Update the copies of x86's mem{cpy,set}_64.S, and because that
          now uses new stuff in linux/linkage.h, update that header too, which
          made the minimal clang version to build perf to be 3.5, as
          3.4 as found in some of the container images used to test build perf
          can't grok STT_FUNC as a token in .type lines.
      
      ABI headers:
      
        Arnaldo Carvalho de Melo:
      
        - Sync x86's msr-index.h copy with the kernel sources, resulting
          in new MSRs to be usable in filter expressions in 'perf trace',
          such as IA32_TSX_CTRL.
      
        - Sync linux/fscrypt.h, linux/stat.h, sched.h and the kvm headers.
      
      perf trace:
      
        Arnaldo Carvalho de Melo:
      
        - Add CLEAR_SIGHAND support for clone's flags arg
      
      perf kvm:
      
        Arnaldo Carvalho de Melo:
      
        - Clarify the 'perf kvm' -i and -o command line options
      
      perf test:
      
        Ian Rogers:
      
        - Move test functionality in to a 'perf test' entry.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      9f58c93e
  2. 03 Dec, 2019 2 commits
  3. 02 Dec, 2019 30 commits
    • Arnaldo Carvalho de Melo's avatar
      perf kvm: Clarify the 'perf kvm' -i and -o command line options · 99744068
      Arnaldo Carvalho de Melo authored
      The 'perf kvm' subcommand has options that it in turn passes to other
      perf subcommands such as 'report' and 'record', particularly -i and -o
      end up setting the same variable that will then be used for 'record's -o
      and report '-i', which ends up being confusing, leading some to think
      that both -i and -o can be used with 'report'.
      
      Improve the man page to state that -i is used with the post-processing
      subcommands while -o is used just with 'record' and that to save the
      output of 'report' one should simply redirect its output to a file.
      
      Noticed while reading the https://www.linux-kvm.org/page/Perf_events
      page.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Steve Dickson <steved@redhat.com>
      Cc: William Cohen <wcohen@redhat.com>
      Link: https://lkml.kernel.org/n/tip-tclbttvmgtm525fvmh85f7d9@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      99744068
    • Arnaldo Carvalho de Melo's avatar
      tools arch x86: Sync asm/cpufeatures.h with the kernel sources · a717ab38
      Arnaldo Carvalho de Melo authored
      To pick up the changes from:
      
        a25bbc26 ("Merge branches 'x86-cpu-for-linus' and 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip")
        db4d30fb ("x86/bugs: Add ITLB_MULTIHIT bug infrastructure")
        1b42f017 ("x86/speculation/taa: Add mitigation for TSX Async Abort")
        9d40b85b ("x86/cpufeatures: Add feature bit RDPRU on AMD")
      
      These don't cause any changes in tooling, just silences this perf build
      warning:
      
        Warning: Kernel ABI header at 'tools/arch/x86/include/asm/cpufeatures.h' differs from latest version at 'arch/x86/include/asm/cpufeatures.h'
        diff -u tools/arch/x86/include/asm/cpufeatures.h arch/x86/include/asm/cpufeatures.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Babu Moger <babu.moger@amd.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vineela Tummalapalli <vineela.tummalapalli@intel.com>
      Link: https://lkml.kernel.org/n/tip-yufg9yt2nbkh45r9xvxnnscq@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      a717ab38
    • Arnaldo Carvalho de Melo's avatar
      perf beauty: Add CLEAR_SIGHAND support for clone's flags arg · f6661125
      Arnaldo Carvalho de Melo authored
      Add support for the recently added CLONE_CLEAR_SIGHAND flag.
      
      This takes advantage of the copy of the uapi/linux/sched.h we have in
      tools/include, which allows us to build tools/perf in older systems and
      have the binary support printing that flag whenever that system gets its
      kernel updated to one where this feature is present.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Adrian Reber <areber@redhat.com>
      Cc: Christian Brauner <christian.brauner@ubuntu.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org
      Link: https://lkml.kernel.org/n/tip-1vnz497ubtu5oz16ygdcul0e@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f6661125
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync sched.h with the kernel · 2603a490
      Arnaldo Carvalho de Melo authored
      To get the changes in:
      
        0acefef5 ("Merge tag 'threads-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux")
        49cb2fc4 ("fork: extend clone3() to support setting a PID")
        fa729c4d ("clone3: validate stack arguments")
        b612e5df ("clone3: add CLONE_CLEAR_SIGHAND")
      
      This file gets rebuilt, but no changes ensues:
      
         CC       /tmp/build/perf/trace/beauty/clone.o
      
      This addresses this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/sched.h' differs from latest version at 'include/uapi/linux/sched.h'
        diff -u tools/include/uapi/linux/sched.h include/uapi/linux/sched.
      
      The CLONE_CLEAR_SIGHAND one will be used in tools/perf/trace/beauty/clone.c
      in a followup patch to show that string when this bit is set in the
      syscall arg. Keeping a copy of this file allows us to build this in
      older systems and have the binary support printing that flag whenever
      that system gets its kernel updated to one where this feature is
      present.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Adrian Reber <areber@redhat.com>
      Cc: Christian Brauner <christian.brauner@ubuntu.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lkml.kernel.org/n/tip-nprqsvvzbhzoy64cbvos6c5b@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2603a490
    • Arnaldo Carvalho de Melo's avatar
      tools headers kvm: Sync kvm headers with the kernel sources · 1fc3d0ee
      Arnaldo Carvalho de Melo authored
      To pick up the changes from:
      
        14edff88 Merge tag 'kvmarm-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
        a4b28f5c Merge remote-tracking branch 'kvmarm/kvm-arm64/stolen-time' into kvmarm-master/next
        58772e9a ("KVM: arm64: Provide VCPU attributes for stolen time")
        da345174 ("KVM: arm/arm64: Allow user injection of external data aborts")
        c726200d ("KVM: arm/arm64: Allow reporting non-ISV data aborts to userspace")
        efe5ddca ("KVM: PPC: Book3S HV: XIVE: Allow userspace to set the # of VPs")
      
      No tools changes are caused by this, as the only defines so far used
      from these files are for syscall arg pretty printing are:
      
        $ grep KVM tools/perf/trace/beauty/*.sh
        tools/perf/trace/beauty/kvm_ioctl.sh:regex='^#[[:space:]]*define[[:space:]]+KVM_(\w+)[[:space:]]+_IO[RW]*\([[:space:]]*KVMIO[[:space:]]*,[[:space:]]*(0x[[:xdigit:]]+).*'
        $
      
      Some are also include by:
      
        tools/perf/arch/x86/util/kvm-stat.c
        tools/perf/arch/powerpc/util/kvm-stat.c
      
      This addresses these tools/perf build warnings:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/kvm.h' differs from latest version at 'include/uapi/linux/kvm.h'
        diff -u tools/include/uapi/linux/kvm.h include/uapi/linux/kvm.h
        Warning: Kernel ABI header at 'tools/arch/powerpc/include/uapi/asm/kvm.h' differs from latest version at 'arch/powerpc/include/uapi/asm/kvm.h'
        diff -u tools/arch/powerpc/include/uapi/asm/kvm.h arch/powerpc/include/uapi/asm/kvm.h
        Warning: Kernel ABI header at 'tools/arch/arm/include/uapi/asm/kvm.h' differs from latest version at 'arch/arm/include/uapi/asm/kvm.h'
        diff -u tools/arch/arm/include/uapi/asm/kvm.h arch/arm/include/uapi/asm/kvm.h
        Warning: Kernel ABI header at 'tools/arch/arm64/include/uapi/asm/kvm.h' differs from latest version at 'arch/arm64/include/uapi/asm/kvm.h'
        diff -u tools/arch/arm64/include/uapi/asm/kvm.h arch/arm64/include/uapi/asm/kvm.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Christoffer Dall <christoffer.dall@arm.com>
      Cc: Fabiano Rosas <farosas@linux.ibm.com>
      Cc: Greg Kurz <groug@kaod.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Marc Zyngier <maz@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@ozlabs.org>
      Cc: Steven Price <steven.price@arm.com>
      Link: https://lkml.kernel.org/n/tip-qrjdudhq25mk5bfnhveofbm4@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1fc3d0ee
    • Arnaldo Carvalho de Melo's avatar
      tools headers uapi: Sync linux/stat.h with the kernel sources · c66f2566
      Arnaldo Carvalho de Melo authored
      To pick the changes from:
      
        3ad2522c ("statx: define STATX_ATTR_VERITY")
      
      That don't trigger any changes in tooling.
      
      This silences this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/stat.h' differs from latest version at 'include/uapi/linux/stat.h'
        diff -u tools/include/uapi/linux/stat.h include/uapi/linux/stat.h
      
      At some point we wi'll beautify structs passed in pointers to syscalls
      and then we'll need to have tables for these defines, for now update the
      file to silence the warning as this file is used for doing this type of
      number -> string translations for other defines found in these file.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Eric Biggers <ebiggers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lkml.kernel.org/n/tip-thcy60dpry5qrpn7nmc58bwg@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      c66f2566
    • Arnaldo Carvalho de Melo's avatar
      tools headers uapi: Sync linux/fscrypt.h with the kernel sources · ad46f35c
      Arnaldo Carvalho de Melo authored
      To pick the changes from:
      
        b103fb76 ("fscrypt: add support for IV_INO_LBLK_64 policies")
      
      That don't trigger any changes in tooling.
      
      This silences this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/fscrypt.h' differs from latest version at 'include/uapi/linux/fscrypt.h'
        diff -u tools/include/uapi/linux/fscrypt.h include/uapi/linux/fscrypt.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Eric Biggers <ebiggers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lkml.kernel.org/n/tip-cgfz3ffe07pw2m8hmstvkudl@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ad46f35c
    • Arnaldo Carvalho de Melo's avatar
      tools arch x86: Sync the msr-index.h copy with the kernel sources · 8122b047
      Arnaldo Carvalho de Melo authored
      To pick up the changes from these csets:
      
        3f3c8be9 Merge tag 'for-linus-5.5a-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
        4e3f77d8 ("xen/mcelog: add PPIN to record when available")
        db4d30fb ("x86/bugs: Add ITLB_MULTIHIT bug infrastructure")
        1b42f017 ("x86/speculation/taa: Add mitigation for TSX Async Abort")
        c2955f27 ("x86/msr: Add the IA32_TSX_CTRL MSR")
      
      These are the changes in tooling that this udpate ensues:
      
        $ tools/perf/trace/beauty/tracepoints/x86_msr.sh > /tmp/before
        $
        $ cp arch/x86/include/asm/msr-index.h tools/arch/x86/include/asm/msr-index.h
        $
        $ tools/perf/trace/beauty/tracepoints/x86_msr.sh > /tmp/after
        $ diff -u /tmp/before /tmp/after
        --- /tmp/before	2019-12-02 11:54:44.371035723 -0300
        +++ /tmp/after	2019-12-02 11:55:31.847859784 -0300
        @@ -48,6 +48,7 @@
         	[0x00000119] = "IA32_BBL_CR_CTL",
         	[0x0000011e] = "IA32_BBL_CR_CTL3",
         	[0x00000120] = "IDT_MCR_CTRL",
        +	[0x00000122] = "IA32_TSX_CTRL",
         	[0x00000140] = "MISC_FEATURES_ENABLES",
         	[0x00000174] = "IA32_SYSENTER_CS",
         	[0x00000175] = "IA32_SYSENTER_ESP",
        @@ -283,4 +284,6 @@
         	[0xc0010240 - x86_AMD_V_KVM_MSRs_offset] = "F15H_NB_PERF_CTL",
         	[0xc0010241 - x86_AMD_V_KVM_MSRs_offset] = "F15H_NB_PERF_CTR",
         	[0xc0010280 - x86_AMD_V_KVM_MSRs_offset] = "F15H_PTSC",
        +	[0xc00102f0 - x86_AMD_V_KVM_MSRs_offset] = "AMD_PPIN_CTL",
        +	[0xc00102f1 - x86_AMD_V_KVM_MSRs_offset] = "AMD_PPIN",
         };
        $
      
        CC       /tmp/build/perf/trace/beauty/tracepoints/x86_msr.o
        LD       /tmp/build/perf/trace/beauty/tracepoints/perf-in.o
        LD       /tmp/build/perf/trace/beauty/perf-in.o
        LD       /tmp/build/perf/perf-in.o
      
      Now it is possible to use these strings when setting up filters for the msr:*
      tracepoints, like:
      
        # perf trace -e msr:* --filter=msr==IA32_TSX_CTRL
        ^C[root@quaco ~]#
      
      If we use an invalid operator we can check what is the filter that is put in
      place:
      
        # perf trace -e msr:* --filter=msr=IA32_TSX_CTRL
        Failed to set filter "(msr=0x122) && (common_pid != 25976 && common_pid != 25860)" on event msr:read_msr with 22 (Invalid argument)
      
      One can as well use -v to see the tracepoints and its filters:
      
        # perf trace -v -e msr:* --filter=msr==IA32_TSX_CTRL
        Using CPUID GenuineIntel-6-8E-A
        New filter for msr:read_msr: (msr==0x122) && (common_pid != 26110 && common_pid != 25860)
        New filter for msr:write_msr: (msr==0x122) && (common_pid != 26110 && common_pid != 25860)
        New filter for msr:rdpmc: (msr==0x122) && (common_pid != 26110 && common_pid != 25860)
        mmap size 528384B
        ^C#
      
      Better than keep looking up those numbers, works with callchains as
      well, e.g. for something more common:
      
        # perf trace -e msr:*/max-stack=16/ --filter="msr==IA32_SPEC_CTRL" --max-events=2
             0.000 SCTP timer/6158 msr:write_msr(msr: IA32_SPEC_CTRL, val: 6)
                                               do_trace_write_msr ([kernel.kallsyms])
                                               do_trace_write_msr ([kernel.kallsyms])
                                               __switch_to_xtra ([kernel.kallsyms])
                                               __switch_to ([kernel.kallsyms])
                                               __sched_text_start ([kernel.kallsyms])
                                               schedule ([kernel.kallsyms])
                                               schedule_hrtimeout_range_clock ([kernel.kallsyms])
                                               poll_schedule_timeout.constprop.0 ([kernel.kallsyms])
                                               do_select ([kernel.kallsyms])
                                               core_sys_select ([kernel.kallsyms])
                                               kern_select ([kernel.kallsyms])
                                               __x64_sys_select ([kernel.kallsyms])
                                               do_syscall_64 ([kernel.kallsyms])
                                               entry_SYSCALL_64 ([kernel.kallsyms])
                                               __select (/usr/lib64/libc-2.29.so)
                                               [0] ([unknown])
             0.024 :0/0 msr:write_msr(msr: IA32_SPEC_CTRL)
                                               do_trace_write_msr ([kernel.kallsyms])
                                               do_trace_write_msr ([kernel.kallsyms])
                                               __switch_to_xtra ([kernel.kallsyms])
                                               __switch_to ([kernel.kallsyms])
                                               __sched_text_start ([kernel.kallsyms])
                                               schedule_idle ([kernel.kallsyms])
                                               do_idle ([kernel.kallsyms])
                                               cpu_startup_entry ([kernel.kallsyms])
                                               start_secondary ([kernel.kallsyms])
                                               [0x2000d4] ([kernel.kallsyms])
        #
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jan Beulich <jbeulich@suse.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Juergen Gross <jgross@suse.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vineela Tummalapalli <vineela.tummalapalli@intel.com>
      Link: https://lkml.kernel.org/n/tip-n1xd78fpd5lxn4q1brqi2jl6@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8122b047
    • Arnaldo Carvalho de Melo's avatar
      perf bench: Update the copies of x86's mem{cpy,set}_64.S · bd5c6b81
      Arnaldo Carvalho de Melo authored
      And update linux/linkage.h, which requires in turn that we make these
      files switch from ENTRY()/ENDPROC() to SYM_FUNC_START()/SYM_FUNC_END():
      
        tools/perf/arch/arm64/tests/regs_load.S
        tools/perf/arch/arm/tests/regs_load.S
        tools/perf/arch/powerpc/tests/regs_load.S
        tools/perf/arch/x86/tests/regs_load.S
      
      We also need to switch SYM_FUNC_START_LOCAL() to SYM_FUNC_START() for
      the functions used directly by 'perf bench', and update
      tools/perf/check_headers.sh to ignore those changes when checking if the
      kernel original files drifted from the copies we carry.
      
      This is to get the changes from:
      
        6dcc5627 ("x86/asm: Change all ENTRY+ENDPROC to SYM_FUNC_*")
        ef1e0315 ("x86/asm: Make some functions local")
        e9b9d020 ("x86/asm: Annotate aliases")
      
      And address these tools/perf build warnings:
      
        Warning: Kernel ABI header at 'tools/arch/x86/lib/memcpy_64.S' differs from latest version at 'arch/x86/lib/memcpy_64.S'
        diff -u tools/arch/x86/lib/memcpy_64.S arch/x86/lib/memcpy_64.S
        Warning: Kernel ABI header at 'tools/arch/x86/lib/memset_64.S' differs from latest version at 'arch/x86/lib/memset_64.S'
        diff -u tools/arch/x86/lib/memset_64.S arch/x86/lib/memset_64.S
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Jiri Slaby <jslaby@suse.cz>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lkml.kernel.org/n/tip-tay3l8x8k11p7y3qcpqh9qh5@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      bd5c6b81
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 596cf45c
      Linus Torvalds authored
      Merge updates from Andrew Morton:
       "Incoming:
      
         - a small number of updates to scripts/, ocfs2 and fs/buffer.c
      
         - most of MM
      
        I still have quite a lot of material (mostly not MM) staged after
        linux-next due to -next dependencies. I'll send those across next week
        as the preprequisites get merged up"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (135 commits)
        mm/page_io.c: annotate refault stalls from swap_readpage
        mm/Kconfig: fix trivial help text punctuation
        mm/Kconfig: fix indentation
        mm/memory_hotplug.c: remove __online_page_set_limits()
        mm: fix typos in comments when calling __SetPageUptodate()
        mm: fix struct member name in function comments
        mm/shmem.c: cast the type of unmap_start to u64
        mm: shmem: use proper gfp flags for shmem_writepage()
        mm/shmem.c: make array 'values' static const, makes object smaller
        userfaultfd: require CAP_SYS_PTRACE for UFFD_FEATURE_EVENT_FORK
        fs/userfaultfd.c: wp: clear VM_UFFD_MISSING or VM_UFFD_WP during userfaultfd_register()
        userfaultfd: wrap the common dst_vma check into an inlined function
        userfaultfd: remove unnecessary WARN_ON() in __mcopy_atomic_hugetlb()
        userfaultfd: use vma_pagesize for all huge page size calculation
        mm/madvise.c: use PAGE_ALIGN[ED] for range checking
        mm/madvise.c: replace with page_size() in madvise_inject_error()
        mm/mmap.c: make vma_merge() comment more easy to understand
        mm/hwpoison-inject: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops
        autonuma: reduce cache footprint when scanning page tables
        autonuma: fix watermark checking in migrate_balanced_pgdat()
        ...
      596cf45c
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · c3bfc5dd
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix several scatter gather list issues in kTLS code, from Jakub
          Kicinski.
      
       2) macb driver device remove has to kill the hresp_err_tasklet. From
          Chuhong Yuan.
      
       3) Several memory leak and reference count bug fixes in tipc, from Tung
          Nguyen.
      
       4) Fix mlx5 build error w/o ipv6, from Yue Haibing.
      
       5) Fix jumbo frame and other regressions in r8169, from Heiner
          Kallweit.
      
       6) Undo some BUG_ON()'s and replace them with WARN_ON_ONCE and proper
          error propagation/handling. From Paolo Abeni.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (24 commits)
        openvswitch: remove another BUG_ON()
        openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info()
        net: phy: realtek: fix using paged operations with RTL8105e / RTL8208
        r8169: fix resume on cable plug-in
        r8169: fix jumbo configuration for RTL8168evl
        net: emulex: benet: indent a Kconfig depends continuation line
        selftests: forwarding: fix race between packet receive and tc check
        net: sched: fix `tc -s class show` no bstats on class with nolock subqueues
        net: ethernet: ti: ale: ensure vlan/mdb deleted when no members
        net/mlx5e: Fix build error without IPV6
        selftests: pmtu: use -oneline for ip route list cache
        tipc: fix duplicate SYN messages under link congestion
        tipc: fix wrong timeout input for tipc_wait_for_cond()
        tipc: fix wrong socket reference counter after tipc_sk_timeout() returns
        tipc: fix potential memory leak in __tipc_sendmsg()
        net: macb: add missed tasklet_kill
        selftests: bpf: correct perror strings
        selftests: bpf: test_sockmap: handle file creation failures gracefully
        net/tls: use sg_next() to walk sg entries
        net/tls: remove the dead inplace_crypto code
        ...
      c3bfc5dd
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e5b3fc12
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "Various fixes:
      
         - Fix the PAT performance regression that downgraded write-combining
           device memory regions to uncached.
      
         - There's been a number of bugs in 32-bit double fault handling -
           hopefully all fixed now.
      
         - Fix an LDT crash
      
         - Fix an FPU over-optimization that broke with GCC9 code
           optimizations.
      
         - Misc cleanups"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/pat: Fix off-by-one bugs in interval tree search
        x86/ioperm: Save an indentation level in tss_update_io_bitmap()
        x86/fpu: Don't cache access to fpu_fpregs_owner_ctx
        x86/entry/32: Remove unused 'restore_all_notrace' local label
        x86/ptrace: Document FSBASE and GSBASE ABI oddities
        x86/ptrace: Remove set_segment_reg() implementations for current
        x86/traps: die() instead of panicking on a double fault
        x86/doublefault/32: Rewrite the x86_32 #DF handler and unify with 64-bit
        x86/doublefault/32: Move #DF stack and TSS to cpu_entry_area
        x86/doublefault/32: Rename doublefault.c to doublefault_32.c
        x86/traps: Disentangle the 32-bit and 64-bit doublefault code
        lkdtm: Add a DOUBLE_FAULT crash type on x86
        selftests/x86/single_step_syscall: Check SYSENTER directly
        x86/mm/32: Sync only to VMALLOC_END in vmalloc_sync_all()
      e5b3fc12
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b7fcf31f
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
      
       - Make /sys/devices/cpu/rdpmc based RDPMC enforcement more
         instantaneous
      
       - decoder: Update the Intel opcode map
      
       - Various tooling fixes, including a few late optimizations and
         cleanups.
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        perf script: Fix invalid LBR/binary mismatch error
        perf script: Fix brstackinsn for AUXTRACE
        perf affinity: Add infrastructure to save/restore affinity
        perf pmu: Use file system cache to optimize sysfs access
        perf regs: Make perf_reg_name() return "unknown" instead of NULL
        perf diff: Use llabs() with 64-bit values
        perf diff: Use llabs() with 64-bit values
        perf/x86: Implement immediate enforcement of /sys/devices/cpu/rdpmc value of 0
        perf tools: Allow to link with libbpf dynamicaly
        perf tests: Rename tests/map_groups.c to tests/maps.c
        perf tests: Rename thread-mg-share to thread-maps-share
        perf maps: Rename map_groups.h to maps.h
        perf maps: Rename 'mg' variables to 'maps'
        perf map_symbol: Rename ms->mg to ms->maps
        perf addr_location: Rename al->mg to al->maps
        perf thread: Rename thread->mg to thread->maps
        perf maps: Merge 'struct maps' with 'struct map_groups'
        x86/insn: perf tools: Add some more instructions to the new instructions test
        x86/insn: Add some more Intel instructions to the opcode map
        perf map: Remove unused functions
        ...
      b7fcf31f
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 72c0870e
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
      
       - updates to Ilitech driver to support ILI2117
      
       - face lift of st1232 driver to support MT-B protocol
      
       - a new driver for i.MX system controller keys
      
       - mpr121 driver now supports polling mode
      
       - various input drivers have been switched away from input_polled_dev
         to use polled mode of regular input devices
      
       - other assorted cleanups and fixes
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (70 commits)
        Input: synaptics-rmi4 - fix various V4L2 compliance problems in F54
        Input: synaptics - switch another X1 Carbon 6 to RMI/SMbus
        Input: fix Kconfig indentation
        Input: imx_sc_key - correct SCU message structure to avoid stack corruption
        Input: ili210x - optionally show calibrate sysfs attribute
        Input: ili210x - add resolution to chip operations structure
        Input: ili210x - do not retrieve/print chip firmware version
        Input: mms114 - use device_get_match_data
        Input: ili210x - remove unneeded suspend and resume handlers
        Input: ili210x - do not unconditionally mark touchscreen as wakeup source
        Input: ili210x - define and use chip operations structure
        Input: ili210x - do not set parent device explicitly
        Input: ili210x - handle errors from input_mt_init_slots()
        Input: ili210x - switch to using threaded IRQ
        Input: ili210x - add ILI2117 support
        dt-bindings: input: touchscreen: ad7879: generic node names in example
        Input: ar1021 - fix typo in preprocessor macro name
        Input: synaptics-rmi4 - simplify data read in rmi_f54_work
        Input: kxtj9 - switch to using polled mode of input devices
        Input: kxtj9 - switch to using managed resources
        ...
      72c0870e
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · d10032dd
      Linus Torvalds authored
      Pull libnvdimm updates from Dan Williams:
       "The highlight this cycle is continuing integration fixes for PowerPC
        and some resulting optimizations.
      
        Summary:
      
         - Updates to better support vmalloc space restrictions on PowerPC
           platforms.
      
         - Cleanups to move common sysfs attributes to core 'struct
           device_type' objects.
      
         - Export the 'target_node' attribute (the effective numa node if pmem
           is marked online) for regions and namespaces.
      
         - Miscellaneous fixups and optimizations"
      
      * tag 'libnvdimm-for-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (21 commits)
        MAINTAINERS: Remove Keith from NVDIMM maintainers
        libnvdimm: Export the target_node attribute for regions and namespaces
        dax: Add numa_node to the default device-dax attributes
        libnvdimm: Simplify root read-only definition for the 'resource' attribute
        dax: Simplify root read-only definition for the 'resource' attribute
        dax: Create a dax device_type
        libnvdimm: Move nvdimm_bus_attribute_group to device_type
        libnvdimm: Move nvdimm_attribute_group to device_type
        libnvdimm: Move nd_mapping_attribute_group to device_type
        libnvdimm: Move nd_region_attribute_group to device_type
        libnvdimm: Move nd_numa_attribute_group to device_type
        libnvdimm: Move nd_device_attribute_group to device_type
        libnvdimm: Move region attribute group definition
        libnvdimm: Move attribute groups to device type
        libnvdimm: Remove prototypes for nonexistent functions
        libnvdimm/btt: fix variable 'rc' set but not used
        libnvdimm/pmem: Delete include of nd-core.h
        libnvdimm/namespace: Differentiate between probe mapping and runtime mapping
        libnvdimm/pfn_dev: Don't clear device memmap area during generic namespace probe
        libnvdimm: Trivial comment fix
        ...
      d10032dd
    • Linus Torvalds's avatar
      Merge tag 'mailbox-v5.5' of git://git.linaro.org/landing-teams/working/fujitsu/integration · 43fd4bd7
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
      
       - omap : misc - catch error returned from pm_runtime_put_sync
      
       - hisi : misc - drop .owner from platform_driver
      
       - stm : change how wakeup is handled
      
       - imx : fix - bailout on error and nuke correct irq
      
       - imx : add support for imx7ulp platform
      
      * tag 'mailbox-v5.5' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
        mailbox: imx: add support for imx v1 mu
        dt-bindings: mailbox: imx-mu: add imx7ulp MU support
        mailbox: imx: Clear the right interrupts at shutdown
        mailbox: imx: Fix Tx doorbell shutdown path
        mailbox: stm32-ipcc: Update wakeup management
        mailbox: no need to set .owner platform_driver_register
        mailbox/omap: Handle if CONFIG_PM is disabled
      43fd4bd7
    • Linus Torvalds's avatar
      Merge tag 'hwlock-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · 454d9c4a
      Linus Torvalds authored
      Pull hwspinlock updates from Bjorn Andersson:
       "This contains a number of cleanups to the core and several drivers, in
        particular removing the requirement for drivers to implement
        pm_runtime.
      
        It also udpates the location of the git tree in MAINTAINERS"
      
      * tag 'hwlock-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        hwspinlock: u8500_hsem: Remove redundant PM runtime implementation
        hwspinlock: sprd: Remove redundant PM runtime implementation
        hwspinlock: Let the PM runtime can be optional
        hwspinlock: Remove BUG_ON() from the hwspinlock core
        hwspinlock: sprd: Use devm_hwspin_lock_register() to register hwlock controller
        hwspinlock: sprd: Use devm_add_action_or_reset() for calls to clk_disable_unprepare()
        hwspinlock: sprd: Check the return value of clk_prepare_enable()
        hwspinlock: sprd: Change to use devm_platform_ioremap_resource()
        hwspinlock: u8500_hsem: Use devm_hwspin_lock_register() to register hwlock controller
        hwspinlock: u8500_hsem: Use devm_kzalloc() to allocate memory
        hwspinlock: u8500_hsem: Change to use devm_platform_ioremap_resource()
        MAINTAINERS: hwspinlock: update git tree location
      454d9c4a
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · 687fcad8
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This contains a number of bug fixes to the GLINK transport driver, an
        off-by-one in the GLINK smem driver and a memory leak fix in the rpmsg
        char driver"
      
      * tag 'rpmsg-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        rpmsg: Fix Kconfig indentation
        rpmsg: char: Simplify 'rpmsg_eptdev_release()'
        rpmsg: glink: Free pending deferred work on remove
        rpmsg: glink: Don't send pending rx_done during remove
        rpmsg: glink: Fix rpmsg_register_device err handling
        rpmsg: glink: Put an extra reference during cleanup
        rpmsg: glink: Fix use after free in open_ack TIMEOUT case
        rpmsg: glink: Fix reuse intents memory leak issue
        rpmsg: glink: Set tail pointer to 0 at end of FIFO
        rpmsg: char: release allocated memory
      687fcad8
    • Linus Torvalds's avatar
      Merge tag 'rproc-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · 5e3b06d3
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This adds support for booting the modem processor on Qualcomm MSM8998
        and carries some cleanup up and bug fixes to the framework and the
        stm32 driver"
      
      * tag 'rproc-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        Revert "dt-bindings: remoteproc: stm32: add wakeup-source"
        remoteproc: stm32: fix probe error case
        remoteproc: stm32: wakeup the system by wdg irq
        dt-bindings: remoteproc: stm32: add wakeup-source
        remoteproc: Fix wrong rvring index computation
        remoteproc: stm32: use workqueue to treat mailbox callback
        remoteproc: fix argument 2 of rproc_mem_entry_init
        remoteproc: qcom_q6v5_mss: Add support for MSM8998
        dt-bindings: remoteproc: qcom: Add Q6v5 Modem PIL binding for MSM8998
        remoteproc: debug: Remove unneeded NULL check
        remoteproc: remove useless typedef
      5e3b06d3
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 3265568d
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "I2C has mostly driver updates this time.
      
        The few noteworthy changes are: the core has now support for analog
        and digital filters with at91 being the first user, a core addition to
        replace the NULL returning i2c_new_probed_device() with an ERR_PTR
        variant, and the pxa driver has finally being moved to use the generic
        I2C slave interface. We have quite a significant number of reviews per
        patch this time, so thank you to all involved!"
      
      * 'i2c/for-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (37 commits)
        video: fbdev: matrox: convert to i2c_new_scanned_device
        i2c: icy: convert to i2c_new_scanned_device
        i2c: replace i2c_new_probed_device with an ERR_PTR variant
        i2c: Fix Kconfig indentation
        i2c: smbus: Don't filter out duplicate alerts
        i2c: i801: Correct Intel Jasper Lake SOC naming
        i2c: i2c-stm32f7: fix 10-bits check in slave free id search loop
        i2c: iproc: Add i2c repeated start capability
        i2c: remove helpers for ref-counting clients
        i2c: tegra: Use dma_request_chan() directly for channel request
        i2c: sh_mobile: Use dma_request_chan() directly for channel request
        i2c: qup: Use dma_request_chan() directly for channel request
        i2c: at91: Use dma_request_chan() directly for channel request
        i2c: rcar: Remove superfluous call to clk_get_rate()
        i2c: pxa: remove unused i2c-slave APIs
        i2c: pxa: migrate to new i2c_slave APIs
        i2c: cros-ec-tunnel: Make the device acpi compatible
        i2c: stm32f7: report dma error during probe
        i2c: icy: no need to populate address for scanned device
        i2c: xiic: Fix kerneldoc warnings
        ...
      3265568d
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20191129' of git://git.kernel.dk/linux-block · 31764f1b
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "I wasn't going to send this one off so soon, but unfortunately one of
        the fixes from the previous pull broke the build on some archs. So I'm
        sending this sooner rather than later. This contains:
      
         - Add highmem.h include for io_uring, because of the kmap() additions
           from last round. For some reason the build bot didn't spot this
           even though it sat for days.
      
         - Three minor ';' removals
      
         - Add support for the Beurer CD-on-a-chip device
      
         - Make io_uring work on MMU-less archs"
      
      * tag 'for-linus-20191129' of git://git.kernel.dk/linux-block:
        io_uring: fix missing kmap() declaration on powerpc
        ataflop: Remove unneeded semicolon
        block: sunvdc: Remove unneeded semicolon
        drbd: Remove unneeded semicolon
        io_uring: add mapping support for NOMMU archs
        sr_vendor: support Beurer GL50 evo CD-on-a-chip devices.
        cdrom: respect device capabilities during opening action
      31764f1b
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.5-1' of git://git.infradead.org/linux-platform-drivers-x86 · 67b8ed29
      Linus Torvalds authored
      Pull x86 platform driver updates from Andy Shevchenko:
      
       - New bootctl driver for Mellanox BlueField SoC.
      
       - New driver to support System76 laptops.
      
       - Temperature monitoring and fan control on Acer Aspire 7551 is now
         supported.
      
       - Previously the Huawei driver handled only hotkeys. After the
         conversion to WMI it has been expanded to support newer laptop
         models.
      
       - Big refactoring of intel-speed-select tools allows to use it on Intel
         CascadeLake-N systems.
      
       - Touchscreen support for ezpad 6 m4 and Schneider SCT101CTM tablets
      
       - Miscellaneous clean ups and fixes here and there.
      
      * tag 'platform-drivers-x86-v5.5-1' of git://git.infradead.org/linux-platform-drivers-x86: (59 commits)
        platform/x86: hp-wmi: Fix ACPI errors caused by passing 0 as input size
        platform/x86: hp-wmi: Fix ACPI errors caused by too small buffer
        platform/x86: intel_pmc_core: Add Comet Lake (CML) platform support to intel_pmc_core driver
        platform/x86: intel_pmc_core: Fix the SoC naming inconsistency
        platform/mellanox: Fix Kconfig indentation
        tools/power/x86/intel-speed-select: Display TRL buckets for just base config level
        tools/power/x86/intel-speed-select: Ignore missing config level
        platform/x86: touchscreen_dmi: Add info for the ezpad 6 m4 tablet
        tools/power/x86/intel-speed-select: Increment version
        tools/power/x86/intel-speed-select: Use core count for base-freq mask
        tools/power/x86/intel-speed-select: Support platform with limited Intel(R) Speed Select
        tools/power/x86/intel-speed-select: Use Frequency weight for CLOS
        tools/power/x86/intel-speed-select: Make CLOS frequency in MHz
        tools/power/x86/intel-speed-select: Use mailbox for CLOS_PM_QOS_CONFIG
        tools/power/x86/intel-speed-select: Auto mode for CLX
        tools/power/x86/intel-speed-select: Correct CLX-N frequency units
        tools/power/x86/intel-speed-select: Change display of "avx" to "avx2"
        tools/power/x86/intel-speed-select: Extend command set for perf-profile
        Add touchscreen platform data for the Schneider SCT101CTM tablet
        platform/x86: intel_int0002_vgpio: Pass irqchip when adding gpiochip
        ...
      67b8ed29
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · d004701d
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - Support for Logitech G15 (Hans de Goede)
      
       - HID parser improvements, improving support for some devices; e.g.
         Windows Precision Touchpad, products from Primax, etc. (Blaž
         Hrastnik, Candle Sun)
      
       - robustification of tablet mode support in google-whiskers driver
         (Dmitry Torokhov)
      
       - assorted small fixes, device-specific quirks and device ID additions
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (23 commits)
        HID: rmi: Check that the RMI_STARTED bit is set before unregistering the RMI transport device
        HID: quirks: remove hid-led devices from hid_have_special_driver
        HID: Improve Windows Precision Touchpad detection.
        HID: i2c-hid: Reset ALPS touchpads on resume
        HID: i2c-hid: fix no irq after reset on raydium 3118
        HID: logitech-hidpp: Silence intermittent get_battery_capacity errors
        HID: i2c-hid: remove orphaned member sleep_delay
        HID: quirks: Add quirk for HP MSU1465 PIXART OEM mouse
        HID: core: check whether Usage Page item is after Usage ID items
        HID: intel-ish-hid: Spelling s/diconnect/disconnect/
        HID: google: Detect base folded usage instead of hard-coding whiskers
        HID: logitech: Add depends on LEDS_CLASS to Logitech Kconfig entry
        HID: lg-g15: Add support for the G510's M1-M3 and MR LEDs
        HID: lg-g15: Add support for controlling the G510's RGB backlight
        HID: lg-g15: Add support for the G510 keyboards' gaming keys
        HID: lg-g15: Add support for the M1-M3 and MR LEDs
        HID: lg-g15: Add keyboard and LCD backlight control
        HID: Add driver for Logitech gaming keyboards (G15, G15 v2)
        Input: Add event-codes for macro keys found on various keyboards
        HID: hidraw: replace printk() with corresponding pr_xx() variant
        ...
      d004701d
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-5.5-rc1' of git://www.linux-watchdog.org/linux-watchdog · 4a08fe57
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - support for NCT6116D
      
       - several small fixes and improvements
      
      * tag 'linux-watchdog-5.5-rc1' of git://www.linux-watchdog.org/linux-watchdog: (24 commits)
        watchdog: jz4740: Drop dependency on MACH_JZ47xx
        watchdog: jz4740: Use regmap provided by TCU driver
        watchdog: jz4740: Use WDT clock provided by TCU driver
        dt-bindings: watchdog: sama5d4_wdt: add microchip,sam9x60-wdt compatible
        watchdog: sama5d4_wdt: cleanup the bit definitions
        watchdog: sprd: Fix the incorrect pointer getting from driver data
        watchdog: aspeed: Fix clock behaviour for ast2600
        watchdog: imx7ulp: Fix reboot hang
        watchdog: make nowayout sysfs file writable
        watchdog: prevent deferral of watchdogd wakeup on RT
        watchdog: imx7ulp: Use definitions instead of magic values
        watchdog: imx7ulp: Remove inline annotations
        watchdog: imx7ulp: Remove unused structure member
        watchdog: imx7ulp: Pass the wdog instance inimx7ulp_wdt_enable()
        watchdog: wdat_wdt: Spelling s/configrable/configurable/
        watchdog: bd70528: Trivial function documentation fix
        watchdog: cadence: Do not show error in case of deferred probe
        watchdog: Fix the race between the release of watchdog_core_data and cdev
        watchdog: sbc7240_wdt: Fix yet another -Wimplicit-fallthrough warning
        watchdog: intel-mid_wdt: Add WATCHDOG_NOWAYOUT support
        ...
      4a08fe57
    • Linus Torvalds's avatar
      Merge tag 'gpio-v5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 99a0d9f5
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "This is the bulk of GPIO changes for the v5.5 kernel cycle
      
        Core changes:
      
         - Expose pull up/down flags for the GPIO character device to
           userspace.
      
           After clear input from the RaspberryPi and Beagle communities, it
           has been established that prototyping, industrial automation and
           make communities strongly need this feature, and as we want people
           to use the character device, we have implemented the simple pull
           up/down interface for GPIO lines.
      
           This means we can specify that a (chip-specific) pull up/down
           resistor can be enabled, but does not offer fine-grained control
           such as cases where the resistance of the same pull resistor can be
           controlled (yet).
      
         - Introduce devm_fwnode_gpiod_get_index() and start to phase out the
           old symbol devm_fwnode_get_index_gpiod_from_child().
      
         - A bit of documentation clean-up work.
      
         - Introduce a define for GPIO line directions and deploy it in all
           GPIO drivers in the drivers/gpio directory.
      
         - Add a special callback to populate pin ranges when cooperating with
           the pin control subsystem and registering ranges as part of adding
           a gpiolib driver and a gpio_irq_chip driver at the same time. This
           is also deployed in the Intel Merrifield driver.
      
        New drivers:
      
         - RDA Micro GPIO controller.
      
         - XGS-iproc GPIO driver.
      
        Driver improvements:
      
         - Wake event and debounce support on the Tegra 186 driver.
      
         - Finalize the Aspeed SGPIO driver.
      
         - MPC8xxx uses a normal IRQ handler rather than a chained handler"
      
      * tag 'gpio-v5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (64 commits)
        gpio: Add TODO item for regmap helper
        Documentation: gpio: driver.rst: Fix warnings
        gpio: of: Fix bogus reference to gpiod_get_count()
        gpiolib: Grammar s/manager/managed/
        gpio: lynxpoint: Setup correct IRQ handlers
        MAINTAINERS: Replace my email by one @kernel.org
        gpiolib: acpi: Make acpi_gpiochip_alloc_event always return AE_OK
        gpio/mpc8xxx: fix qoriq GPIO reading
        gpio: mpc8xxx: Don't overwrite default irq_set_type callback
        gpiolib: acpi: Print pin number on acpi_gpiochip_alloc_event errors
        gpiolib: fix coding style in gpiod_hog()
        drm/bridge: ti-tfp410: switch to using fwnode_gpiod_get_index()
        gpio: merrifield: Pass irqchip when adding gpiochip
        gpio: merrifield: Add GPIO <-> pin mapping ranges via callback
        gpiolib: Introduce ->add_pin_ranges() callback
        gpio: mmio: remove untrue leftover comment
        gpio: em: Use platform_get_irq() to obtain interrupts
        gpio: tegra186: Add debounce support
        gpio: tegra186: Program interrupt route mapping
        gpio: tegra186: Derive register offsets from bank/port
        ...
      99a0d9f5
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 37323918
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "Core Frameworks:
         - Add support for a "resource managed strongly uncachable ioremap"
           call
         - Provide a collection of MFD helper macros
         - Remove mfd_clone_cell() from MFD core
         - Add NULL de-reference protection in MFD core
         - Remove superfluous function fd_platform_add_cell() from MFD core
         - Honour Device Tree's request to disable a device
      
        New Drivers:
         - Add support for MediaTek MT6323 PMIC
      
        New Device Support:
         - Add support for Gemini Lake to Intel LPSS PCI
         - Add support for Cherry Trail Crystal Cover PMIC to Intel SoC PMIC
           CRC
         - Add support for PM{I}8950 to Qualcomm SPMI PMIC
         - Add support for U8420 to ST-Ericsson DB8500
         - Add support for Comet Lake PCH-H to Intel LPSS PCI
      
        New Functionality:
         - Add support for requested supply clocks; madera-core
      
        Fix-ups:
         - Lower interrupt priority; rk808
         - Use provided helpers (macros, group functions, defines); rk808,
           ipaq-micro, ab8500-core, db8500-prcmu, mt6397-core, cs5535-mfd
         - Only allocate IRQs on request; max77620
         - Use simplified API; arizona-core
         - Remove redundant and/or duplicated code; wm8998-tables, arizona,
           syscon
         - Device Tree binding fix-ups; madera, max77650, max77693
         - Remove mfd_cell->id abuse hack; cs5535-mfd
         - Remove only user of mfd_clone_cell(); cs5535-mfd
         - Make resources static; rohm-bd70528
      
        Bug Fixes:
         - Fix product ID for RK818; rk808
         - Fix Power Key; rk808
         - Fix booting on the BananaPi; mt6397-core
         - Endian fix-ups; twl.h
         - Fix static error checker warnings; ti_am335x_tscadc"
      
      * tag 'mfd-next-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (47 commits)
        Revert "mfd: syscon: Set name of regmap_config"
        mfd: ti_am335x_tscadc: Fix static checker warning
        mfd: bd70528: Staticize bit value definitions
        mfd: mfd-core: Honour Device Tree's request to disable a child-device
        dt-bindings: mfd: max77693: Fix missing curly brace
        mfd: intel-lpss: Add Intel Comet Lake PCH-H PCI IDs
        mfd: db8500-prcmu: Support U8420-sysclk firmware
        dt-bindings: mfd: max77650: Convert the binding document to yaml
        mfd: mfd-core: Move pdev->mfd_cell creation back into mfd_add_device()
        mfd: mfd-core: Remove usage counting for .{en,dis}able() call-backs
        x86: olpc-xo1-sci: Remove invocation of MFD's .enable()/.disable() call-backs
        x86: olpc-xo1-pm: Remove invocation of MFD's .enable()/.disable() call-backs
        mfd: mfd-core: Remove mfd_clone_cell()
        mfd: mfd-core: Protect against NULL call-back function pointer
        mfd: cs5535-mfd: Register clients using their own dedicated MFD cell entries
        mfd: cs5535-mfd: Request shared IO regions centrally
        mfd: cs5535-mfd: Remove mfd_cell->id hack
        mfd: cs5535-mfd: Use PLATFORM_DEVID_* defines and tidy error message
        mfd: intel_soc_pmic_crc: Add "cht_crystal_cove_pmic" cell to CHT cells
        mfd: madera: Add support for requesting the supply clocks
        ...
      37323918
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 38edc3df
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "New Functionality:
         - Add support for an enable GPIO; lm3630a_bl
         - Add support for short circuit handling; qcom-wled
         - Add support for automatic string detection; qcom-wled
      
        Fix-ups:
         - Update Device Tree bindings; lm3630a-backlight, led-backlight,
           qcom-wled
         - Constify; ipaq_micro_bl
         - Optimise for CPU cycles; pwm_bl
         - Coding style fix-ups; pwm_bl
         - Trivial fix-ups (white space, comments, renaming); pwm_bl,
           gpio_backlight, qcom-wled
         - Kconfig dependency hacking; LCD_HP700
         - Rename, refactor and add peripherals; pm8941-wled => qcom-wled
         - Make use of GPIO look-up tables; tosa_bl, tosa_lcd
         - Remove superfluous code; gpio_backlight
         - Adapt GPIO direction handling; gpio_backlight
         - Remove legacy use of platform data; gpio_backlight
      
        Bug Fixes:
         - Provide modules aliases; lm3630a_bl"
      
      * tag 'backlight-next-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: (32 commits)
        backlight: qcom-wled: Fix spelling mistake "trigged" -> "triggered"
        backlight: gpio: Pull gpio_backlight_initial_power_state() into probe
        backlight: gpio: Use a helper variable for &pdev->dev
        backlight: gpio: Remove unused fields from platform data
        sh: ecovec24: don't set unused fields in platform data
        backlight: gpio: Simplify the platform data handling
        sh: ecovec24: add additional properties to the backlight device
        backlight: gpio: Explicitly set the direction of the GPIO
        backlight: gpio: Remove stray newline
        backlight: gpio: Remove unneeded include
        video: backlight: tosa: Use GPIO lookup table
        backlight: qcom-wled: Add auto string detection logic
        backlight: qcom-wled: Add support for short circuit handling
        backlight: qcom-wled: Add support for WLED4 peripheral
        backlight: qcom-wled: Restructure the driver for WLED3
        backlight: qcom-wled: Rename PM8941* to WLED3
        backlight: qcom-wled: Add new properties for PMI8998
        backlight: qcom-wled: Restructure the qcom-wled bindings
        backlight: qcom-wled: Rename pm8941-wled.c to qcom-wled.c
        dt-bindings: backlight: lm3630a: Fix missing include
        ...
      38edc3df
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 8b233da0
      Linus Torvalds authored
      Pull pinctrl fix from Linus Walleij:
       "A oneliner fix adding the license to the new Intel pin controller,
        avoiding a build-time warning"
      
      * tag 'pinctrl-v5.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: Fix warning by adding missing MODULE_LICENSE
      8b233da0
    • Linus Torvalds's avatar
      Merge tag 'leds-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · 304220b5
      Linus Torvalds authored
      Pull LED updates from Pavel Machek:
       "This contains usual small updates to drivers, and removal of PAGE_SIZE
        limits on /sys/class/leds/<led>/trigger.
      
        We should not be really having that many triggers; but with cpu
        activity triggers we do, and we'll eventually need to fix it, but...
        remove the limit for now"
      
      * tag 'leds-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds: (26 commits)
        leds: trigger: netdev: fix handling on interface rename
        leds: an30259a: add a check for devm_regmap_init_i2c
        leds: mlxreg: Fix possible buffer overflow
        leds: pca953x: Use of_device_get_match_data()
        leds: core: Fix leds.h structure documentation
        leds: core: Fix devm_classdev_match to reference correct structure
        leds: core: Remove extern from header
        leds: lm3601x: Convert class registration to device managed
        leds: flash: Add devm_* functions to the flash class
        leds: flash: Remove extern from the header file
        leds: flash: Convert non extended registration to inline
        leds: Kconfig: Be consistent with the usage of "LED"
        leds: remove PAGE_SIZE limit of /sys/class/leds/<led>/trigger
        leds: tlc591xx: update the maximum brightness
        leds: lm3692x: Use flags from LM3692X_BRT_CTRL
        leds: lm3692x: Use flags from LM3692X_BOOST_CTRL
        leds: lm3692x: Handle failure to probe the regulator
        leds: lm3692x: Don't overwrite return value in error path
        leds: lm3692x: Print error value on dev_err
        leds: tlc591xx: use devm_led_classdev_register_ext()
        ...
      304220b5
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · ddebe839
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "This merge window we have one small clk provider API in the core
        framework and then a bunch of driver updates and a handful of new
        drivers. In terms of diffstat the Qualcomm and Amlogic drivers are
        high up there because of all the clk data introcued by new drivers.
        The Nvidia Tegra driver had a lot of work done this cycle too to
        support suspend/resume and memory controllers. And the OMAP clk driver
        got proper clk and reset handling in place.
      
        Rounding out the patches are various updates to remove unused data,
        mark things static, correct incorrect data in drivers, etc. All the
        little things that improve drivers and maintain code health. I will
        point out that there's a patch in here for the GPIO clk driver, that
        almost nobody uses, which changes behavior and causes clk_set_rate()
        to try to change the GPIO gate clk's parent. Other than that things
        are fairly well SoC specific here.
      
        Core:
         - Add a clk provider API to get current parent index
         - Plug a memory leak in clk_unregister() path
      
        New Drivers:
         - CGU in Ingenix X1000
         - Bitmain BM1880 clks
         - Qualcomm MSM8998 GPU clk controllers
         - Qualcomm SC7180 GCC and RPMH clk controllers
         - Qualcomm QCS404 Q6SSTOP clk controllers
         - Add support for the Renesas R-Car M3-W+ (r8a77961) SoC
         - Add support for the Renesas RZ/G2N (r8a774b1) SoC
         - Add Tegra20/30 External Memory Clock (EMC) support
      
        Updates:
         - Make gpio gate clks propagate rate setting up to parent
         - Prepare Armada 3700 for suspend to RAM by moving PCIe
           suspend/resume priority
         - Drop unused variables, enums, etc. in various clk drivers
         - Convert various drivers to use devm_platform_ioremap_resource()
         - Use struct_size() some more in various clk drivers
         - Improve Rockchip px30 clk tree
         - Add suspend/resume support to Tegra210 clk driver
         - Reimplement SOR clks on earlier Tegra SoCs, helping HDMI and DP
         - Allwinner DT exports and H6 clk tree fixes
         - Proper clk and reset handling for OMAP SoCs
         - Revamped TI divider clk to clamp max divider
         - Make 1443X/1416X PLL clock structure common for reusing among i.MX8
           SoCs
         - Drop IMX7ULP_CLK_MIPI_PLL clock, it shouldn't be used
         - Add VIDEO2_PLL clock for imx8mq
         - Add missing gate clock for pll1/2 fixed dividers on i.MX8 SoCs
         - Add sm1 support in the Amlogic audio clock controller
         - Switch some clocks on R-Car Gen2/3 to .determine_rate()
         - Remove Renesas R-Car Gen2 legacy DT clock support
         - Improve arithmetic divisions on Renesas R-Car Gen2 and Gen3
         - Improve Renesas R-Car Gen3 SD clock handling
         - Add rate table for Samsung exynos542x GPU and VPLL clks
         - Fix potential CPU performance degradation after system
           suspend/resume cycle on exynos542x SoCs"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (160 commits)
        clk: aspeed: Add RMII RCLK gates for both AST2500 MACs
        MAINTAINERS: Add entry for BM1880 SoC clock driver
        clk: Add common clock driver for BM1880 SoC
        dt-bindings: clock: Add devicetree binding for BM1880 SoC
        clk: Add clk_hw_unregister_composite helper function definition
        clk: Zero init clk_init_data in helpers
        clk: ingenic: Allow drivers to be built with COMPILE_TEST
        MAINTAINERS: Update section for Ux500 clock drivers
        clk: mark clk_disable_unused() as __init
        clk: Fix memory leak in clk_unregister()
        clk: Ingenic: Add CGU driver for X1000.
        dt-bindings: clock: Add X1000 bindings.
        clk: tegra: Use match_string() helper to simplify the code
        clk: pxa: fix one of the pxa RTC clocks
        clk: sprd: Use IS_ERR() to validate the return value of syscon_regmap_lookup_by_phandle()
        clk: armada-xp: remove unused code
        clk: tegra: Fix build error without CONFIG_PM_SLEEP
        clk: tegra: Add missing stubs for the case of !CONFIG_PM_SLEEP
        clk: tegra: Optimize PLLX restore on Tegra20/30
        clk: tegra: Add suspend and resume support on Tegra210
        ...
      ddebe839
  4. 01 Dec, 2019 6 commits
    • Linus Torvalds's avatar
      Merge tag 'y2038-cleanups-5.5' of git://git.kernel.org:/pub/scm/linux/kernel/git/arnd/playground · ceb30747
      Linus Torvalds authored
      Pull y2038 cleanups from Arnd Bergmann:
       "y2038 syscall implementation cleanups
      
        This is a series of cleanups for the y2038 work, mostly intended for
        namespace cleaning: the kernel defines the traditional time_t, timeval
        and timespec types that often lead to y2038-unsafe code. Even though
        the unsafe usage is mostly gone from the kernel, having the types and
        associated functions around means that we can still grow new users,
        and that we may be missing conversions to safe types that actually
        matter.
      
        There are still a number of driver specific patches needed to get the
        last users of these types removed, those have been submitted to the
        respective maintainers"
      
      Link: https://lore.kernel.org/lkml/20191108210236.1296047-1-arnd@arndb.de/
      
      * tag 'y2038-cleanups-5.5' of git://git.kernel.org:/pub/scm/linux/kernel/git/arnd/playground: (26 commits)
        y2038: alarm: fix half-second cut-off
        y2038: ipc: fix x32 ABI breakage
        y2038: fix typo in powerpc vdso "LOPART"
        y2038: allow disabling time32 system calls
        y2038: itimer: change implementation to timespec64
        y2038: move itimer reset into itimer.c
        y2038: use compat_{get,set}_itimer on alpha
        y2038: itimer: compat handling to itimer.c
        y2038: time: avoid timespec usage in settimeofday()
        y2038: timerfd: Use timespec64 internally
        y2038: elfcore: Use __kernel_old_timeval for process times
        y2038: make ns_to_compat_timeval use __kernel_old_timeval
        y2038: socket: use __kernel_old_timespec instead of timespec
        y2038: socket: remove timespec reference in timestamping
        y2038: syscalls: change remaining timeval to __kernel_old_timeval
        y2038: rusage: use __kernel_old_timeval
        y2038: uapi: change __kernel_time_t to __kernel_old_time_t
        y2038: stat: avoid 'time_t' in 'struct stat'
        y2038: ipc: remove __kernel_time_t reference from headers
        y2038: vdso: powerpc: avoid timespec references
        ...
      ceb30747
    • Linus Torvalds's avatar
      Merge tag 'compat-ioctl-5.5' of git://git.kernel.org:/pub/scm/linux/kernel/git/arnd/playground · 0da52210
      Linus Torvalds authored
      Pull removal of most of fs/compat_ioctl.c from Arnd Bergmann:
       "As part of the cleanup of some remaining y2038 issues, I came to
        fs/compat_ioctl.c, which still has a couple of commands that need
        support for time64_t.
      
        In completely unrelated work, I spent time on cleaning up parts of
        this file in the past, moving things out into drivers instead.
      
        After Al Viro reviewed an earlier version of this series and did a lot
        more of that cleanup, I decided to try to completely eliminate the
        rest of it and move it all into drivers.
      
        This series incorporates some of Al's work and many patches of my own,
        but in the end stops short of actually removing the last part, which
        is the scsi ioctl handlers. I have patches for those as well, but they
        need more testing or possibly a rewrite"
      
      * tag 'compat-ioctl-5.5' of git://git.kernel.org:/pub/scm/linux/kernel/git/arnd/playground: (42 commits)
        scsi: sd: enable compat ioctls for sed-opal
        pktcdvd: add compat_ioctl handler
        compat_ioctl: move SG_GET_REQUEST_TABLE handling
        compat_ioctl: ppp: move simple commands into ppp_generic.c
        compat_ioctl: handle PPPIOCGIDLE for 64-bit time_t
        compat_ioctl: move PPPIOCSCOMPRESS to ppp_generic
        compat_ioctl: unify copy-in of ppp filters
        tty: handle compat PPP ioctls
        compat_ioctl: move SIOCOUTQ out of compat_ioctl.c
        compat_ioctl: handle SIOCOUTQNSD
        af_unix: add compat_ioctl support
        compat_ioctl: reimplement SG_IO handling
        compat_ioctl: move WDIOC handling into wdt drivers
        fs: compat_ioctl: move FITRIM emulation into file systems
        gfs2: add compat_ioctl support
        compat_ioctl: remove unused convert_in_user macro
        compat_ioctl: remove last RAID handling code
        compat_ioctl: remove /dev/raw ioctl translation
        compat_ioctl: remove PCI ioctl translation
        compat_ioctl: remove joystick ioctl translation
        ...
      0da52210
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · ad0b314e
      Linus Torvalds authored
      Pull sysctl system call removal from Eric Biederman:
       "As far as I can tell we have reached the point where no one enables
        the sysctl system call anymore. It still is enabled in a few
        defconfigs but they are mostly the rarely used one and in asking
        people about that it was more cut & paste enabled than anything else.
      
        This is single commit that just deletes code. Leaving just enough code
        so that the deprecated sysctl warning continues to be printed. If my
        analysis turns out to be wrong and someone actually cares it will be
        easy to revert this commit and have the system call again.
      
        There was one new xtensa defconfig in linux-next that enabled the
        system call this cycle and when asked about it the maintainer of the
        code replied that it was not enabled on purpose. As of today's
        linux-next tree that defconfig no longer enables the system call.
      
        What we saw in the review discussion was that if we go a step farther
        than my patch and mess with uapi headers there are pieces of code that
        won't compile, but nothing minds the system call actually disappearing
        from the kernel"
      
      Link: https://lore.kernel.org/lkml/201910011140.EA0181F13@keescook/
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        sysctl: Remove the sysctl system call
      ad0b314e
    • David S. Miller's avatar
      Merge branch 'openvswitch-remove-a-couple-of-BUG_ON' · c5d72811
      David S. Miller authored
      Paolo Abeni says:
      
      ====================
      openvswitch: remove a couple of BUG_ON()
      
      The openvswitch kernel datapath includes some BUG_ON() statements to check
      for exceptional/unexpected failures. These patches drop a couple of them,
      where we can do that without introducing other side effects.
      
      v1 -> v2:
       - avoid memory leaks on error path
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c5d72811
    • Paolo Abeni's avatar
      openvswitch: remove another BUG_ON() · 8a574f86
      Paolo Abeni authored
      If we can't build the flow del notification, we can simply delete
      the flow, no need to crash the kernel. Still keep a WARN_ON to
      preserve debuggability.
      
      Note: the BUG_ON() predates the Fixes tag, but this change
      can be applied only after the mentioned commit.
      
      v1 -> v2:
       - do not leak an skb on error
      
      Fixes: aed06778 ("openvswitch: Minimize ovs_flow_cmd_del critical section.")
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8a574f86
    • Paolo Abeni's avatar
      openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info() · 8ffeb03f
      Paolo Abeni authored
      All the callers of ovs_flow_cmd_build_info() already deal with
      error return code correctly, so we can handle the error condition
      in a more gracefull way. Still dump a warning to preserve
      debuggability.
      
      v1 -> v2:
       - clarify the commit message
       - clean the skb and report the error (DaveM)
      
      Fixes: ccb1352e ("net: Add Open vSwitch kernel components.")
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8ffeb03f