1. 27 Jan, 2018 2 commits
  2. 19 Jan, 2018 1 commit
  3. 17 Jan, 2018 1 commit
  4. 15 Jan, 2018 2 commits
    • Marek Szyprowski's avatar
      hwmon: (ina2xx) Fix access to uninitialized mutex · 0c4c5860
      Marek Szyprowski authored
      Initialize data->config_lock mutex before it is used by the driver code.
      
      This fixes following warning on Odroid XU3 boards:
      
      INFO: trying to register non-static key.
      the code is fine but needs lockdep annotation.
      turning off the locking correctness validator.
      CPU: 5 PID: 1 Comm: swapper/0 Not tainted 4.15.0-rc7-next-20180115-00001-gb75575dee3f2 #107
      Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
      [<c0111504>] (unwind_backtrace) from [<c010dbec>] (show_stack+0x10/0x14)
      [<c010dbec>] (show_stack) from [<c09b3f74>] (dump_stack+0x90/0xc8)
      [<c09b3f74>] (dump_stack) from [<c0179528>] (register_lock_class+0x1c0/0x59c)
      [<c0179528>] (register_lock_class) from [<c017bd1c>] (__lock_acquire+0x78/0x1850)
      [<c017bd1c>] (__lock_acquire) from [<c017de30>] (lock_acquire+0xc8/0x2b8)
      [<c017de30>] (lock_acquire) from [<c09ca59c>] (__mutex_lock+0x60/0xa0c)
      [<c09ca59c>] (__mutex_lock) from [<c09cafd0>] (mutex_lock_nested+0x1c/0x24)
      [<c09cafd0>] (mutex_lock_nested) from [<c068b0d0>] (ina2xx_set_shunt+0x70/0xb0)
      [<c068b0d0>] (ina2xx_set_shunt) from [<c068b218>] (ina2xx_probe+0x88/0x1b0)
      [<c068b218>] (ina2xx_probe) from [<c0673d90>] (i2c_device_probe+0x1e0/0x2d0)
      [<c0673d90>] (i2c_device_probe) from [<c053a268>] (driver_probe_device+0x2b8/0x4a0)
      [<c053a268>] (driver_probe_device) from [<c053a54c>] (__driver_attach+0xfc/0x120)
      [<c053a54c>] (__driver_attach) from [<c05384cc>] (bus_for_each_dev+0x58/0x7c)
      [<c05384cc>] (bus_for_each_dev) from [<c0539590>] (bus_add_driver+0x174/0x250)
      [<c0539590>] (bus_add_driver) from [<c053b5e0>] (driver_register+0x78/0xf4)
      [<c053b5e0>] (driver_register) from [<c0675ef0>] (i2c_register_driver+0x38/0xa8)
      [<c0675ef0>] (i2c_register_driver) from [<c0102b40>] (do_one_initcall+0x48/0x18c)
      [<c0102b40>] (do_one_initcall) from [<c0e00df0>] (kernel_init_freeable+0x110/0x1d4)
      [<c0e00df0>] (kernel_init_freeable) from [<c09c8120>] (kernel_init+0x8/0x114)
      [<c09c8120>] (kernel_init) from [<c01010b4>] (ret_from_fork+0x14/0x20)
      
      Fixes: 5d389b12 ("hwmon: (ina2xx) Make calibration register value fixed")
      Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      0c4c5860
    • Samuel Mendoza-Jonas's avatar
      hwmon: (pmbus/ir35221) Remove unnecessary scaling · 08f411bc
      Samuel Mendoza-Jonas authored
      The ir35221 datasheet describes specific scaling factors for a number of
      commands which the current driver applies when reading.
      However now that the ir35221 has been tested on machines with more
      easily verifiable readings these descriptions have turned out to be
      superfluous and reading each command according to the linear format is
      sufficient.
      Signed-off-by: default avatarSamuel Mendoza-Jonas <sam@mendozajonas.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      08f411bc
  5. 12 Jan, 2018 2 commits
  6. 11 Jan, 2018 1 commit
  7. 08 Jan, 2018 1 commit
  8. 02 Jan, 2018 21 commits
    • Joel's avatar
      hwmon: (aspeed-pwm-tacho) Deassert reset in probe · 18c514cc
      Joel authored
      The ASPEED SoC must deassert a reset in order to use the PWM/tach
      peripheral.
      Signed-off-by: default avatarJoel Stanley <joel@jms.id.au>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      18c514cc
    • Joel's avatar
      dt-bindings: hwmon: aspeed-pwm-tacho: Add reset node · 8c9e5270
      Joel authored
      The device tree bindings are updated to document the resets phandle, and
      the example is updated to match what is expected for both the reset and
      clock phandle.
      
      Note that the bindings should have always had the reset controller, as
      the hardware is unusable without it.
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarJoel Stanley <joel@jms.id.au>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      8c9e5270
    • Edward A. James's avatar
      hwmon: (pmbus) cffps: Add debugfs entries · d6bb645a
      Edward A. James authored
      Add debugfs entries for additional power supply data, including part
      number, serial number, FRU number, firmware revision, ccin, and the
      input history of the power supply. The input history is 10 minutes of
      input power data in the form of twenty 30-second packets. Each packet
      contains average and maximum power for that 30 second period.
      Signed-off-by: default avatarEdward A. James <eajames@us.ibm.com>
      [groeck: Fixed endianness problem]
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      d6bb645a
    • Edward A. James's avatar
      hwmon: (pmbus) Export pmbus device debugfs directory entry · eb6489b6
      Edward A. James authored
      Pmbus client drivers, if they want to use debugfs, should use the same
      root directory as the pmbus debugfs entries are using. Therefore, export
      the device dentry for the pmbus client.
      Signed-off-by: default avatarEdward A. James <eajames@us.ibm.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      eb6489b6
    • Guenter Roeck's avatar
      hwmon: (w83773g) Fix fault detection and reporting · 571e3f3a
      Guenter Roeck authored
      Smatch reports:
      
      drivers/hwmon/w83773g.c:105
      	get_fault() warn: shift has higher precedence than mask
      
      Code analysis shows that the code is indeed wrong.
      Fix it, and while we are at it, drop unnecessary typecast.
      
      Fixes: 86a10c802362 ("hwmon: Add W83773G driver")
      Cc: Lei YU <mine260309@gmail.com>
      Reviewed-by: default avatarLei YU <mine260309@gmail.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      571e3f3a
    • Guenter Roeck's avatar
      hwmon: (hih6130) Fix documentation of struct hih6130 · a7a9b15a
      Guenter Roeck authored
      Sparse reports:
      
      drivers/hwmon/hih6130.c:56: warning:
      	No description found for parameter 'client'
      drivers/hwmon/hih6130.c:56: warning:
      	Excess struct member 'hwmon_dev' description in 'hih6130'
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      a7a9b15a
    • Guenter Roeck's avatar
      hwmon: (iio_hwmon) Fix documentation of struct iio_hwmon_state · 7f6d70cd
      Guenter Roeck authored
      Sparse reports:
      
      drivers/hwmon/iio_hwmon.c:36: warning:
      	No description found for parameter 'groups'
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      7f6d70cd
    • Guenter Roeck's avatar
      hwmon: (sht15) Fix parameter documentation of sht15_crc8() · d5324e90
      Guenter Roeck authored
      Sparse reports:
      
      drivers/hwmon/sht15.c:188: warning:
      		No description found for parameter 'len'
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      d5324e90
    • Guenter Roeck's avatar
      hwmon: (sht21) Fix documentation of struct sht21 · 679f50b8
      Guenter Roeck authored
      Sparse reports:
      
      drivers/hwmon/sht21.c:60: warning:
      	No description found for parameter 'client'
      drivers/hwmon/sht21.c:60:
      	warning: Excess struct member 'hwmon_dev' description in 'sht21'
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      679f50b8
    • Guenter Roeck's avatar
      hwmon: Fix parameter documentation · 3870945a
      Guenter Roeck authored
      sparse reports:
      
      drivers/hwmon/hwmon.c:681: warning:
      	No description found for parameter 'chip'
      drivers/hwmon/hwmon.c:681: warning:
      	Excess function parameter 'info' description in
      	'hwmon_device_register_with_info'
      drivers/hwmon/hwmon.c:789: warning:
      	No description found for parameter 'chip'
      drivers/hwmon/hwmon.c:789: warning:
      	No description found for parameter 'groups'
      drivers/hwmon/hwmon.c:789: warning:
      	Excess function parameter 'info' description in
      	'devm_hwmon_device_register_with_info'
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      3870945a
    • Javier Martinez Canillas's avatar
      hwmon: (max31785) Add OF device ID table · 98b16a09
      Javier Martinez Canillas authored
      The driver doesn't have a struct of_device_id table but supported devices
      are registered via Device Trees. This is working on the assumption that a
      I2C device registered via OF will always match a legacy I2C device ID and
      that the MODALIAS reported will always be of the form i2c:<device>.
      
      But this could change in the future so the correct approach is to have an
      OF device ID table if the devices are registered via OF.
      
      Before this patch:
      
      $ modinfo drivers/hwmon/pmbus/max31785.ko | grep alias
      alias:          i2c:max31785a
      alias:          i2c:max31785
      
      After this patch:
      
      $ modinfo drivers/hwmon/pmbus/max31785.ko | grep alias
      alias:          i2c:max31785a
      alias:          i2c:max31785
      alias:          of:N*T*Cmaxim,max31785aC*
      alias:          of:N*T*Cmaxim,max31785a
      alias:          of:N*T*Cmaxim,max31785C*
      alias:          of:N*T*Cmaxim,max31785
      Signed-off-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      98b16a09
    • Maciej Purski's avatar
      hwmon: (ina2xx) Make calibration register value fixed · 5d389b12
      Maciej Purski authored
      Calibration register is used for calculating current register in
      hardware according to datasheet:
      current = shunt_volt * calib_register / 2048 (ina 226)
      current = shunt_volt * calib_register / 4096 (ina 219)
      
      Fix calib_register value to 2048 for ina226 and 4096 for ina 219 in
      order to avoid truncation error and provide best precision allowed
      by shunt_voltage measurement. Make current scale value follow changes
      of shunt_resistor from sysfs as calib_register value is now fixed.
      
      Power_lsb value should also follow shunt_resistor changes as stated in
      datasheet:
      power_lsb = 25 * current_lsb (ina 226)
      power_lsb = 20 * current_lsb (ina 219)
      Signed-off-by: default avatarMaciej Purski <m.purski@samsung.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      5d389b12
    • Andrew Jeffery's avatar
      hwmon: (pmbus/max31785) Add dual tachometer support · cf583b42
      Andrew Jeffery authored
      The dual tachometer feature is implemented in hardware with a TACHSEL
      input to indicate the rotor under measurement, and exposed on the device
      by extending the READ_FAN_SPEED_1 word with two extra bytes*. The need
      to read the non-standard four-byte response leads to a cut-down
      implementation of i2c_smbus_xfer_emulated() included in the driver.
      Further, to expose the second rotor tachometer value to userspace the
      values are exposed through virtual pages. We re-route accesses to
      FAN_CONFIG_1_2 and READ_FAN_SPEED_1 on pages 23-28 (not defined by the
      hardware) to the same registers on pages 0-5, and with the latter command
      we extract the value from the second word of the four-byte response.
      
      * The documentation recommends the slower rotor be associated with
      TACHSEL=0, which corresponds to the first word of the response. The
      TACHSEL=0 measurement is used by the controller's closed-loop fan
      management to judge target fan rate.
      Signed-off-by: default avatarAndrew Jeffery <andrew@aj.id.au>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      cf583b42
    • Andrew Jeffery's avatar
      hwmon: (pmbus) Add virtual page config bit · 464df6fa
      Andrew Jeffery authored
      Some circumstances call for virtual pages, to expose multiple values
      packed into an extended PMBus register in a manner non-compliant with
      the PMBus standard. An example of this is the Maxim MAX31785 controller,
      which extends the READ_FAN_SPEED_1 PMBus register from two to four bytes
      to support tach readings for both rotors of a dual rotor fan. This extended
      register contains two word-sized values, one reporting the rate of the
      fastest rotor, the other the rate of the slowest. The concept of virtual
      pages aids this situation by mapping the page number onto the value to be
      selected from the vectored result.
      
      We should not try to set virtual pages on the device as such a page
      explicitly doesn't exist; add a flag so we can avoid doing so.
      Signed-off-by: default avatarAndrew Jeffery <andrew@aj.id.au>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      464df6fa
    • Andrew Jeffery's avatar
      hwmon: (pmbus/max31785) Add fan control · 56ad86b4
      Andrew Jeffery authored
      The implementation makes use of the new fan control virtual registers
      exposed by the pmbus core. It mixes use of the default implementations
      with some overrides via the read/write handlers to handle FAN_COMMAND_1
      on the MAX31785, whose definition breaks the value range into various
      control bands dependent on RPM or PWM mode.
      Signed-off-by: default avatarAndrew Jeffery <andrew@aj.id.au>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      56ad86b4
    • Andrew Jeffery's avatar
      hwmon: (pmbus) Add fan control support · d206636e
      Andrew Jeffery authored
      Expose fanX_target, pwmX and pwmX_enable hwmon sysfs attributes.
      
      Fans in a PMBus device are driven by the configuration of two registers,
      FAN_CONFIG_x_y and FAN_COMMAND_x: FAN_CONFIG_x_y dictates how the fan
      and the tacho operate (if installed), while FAN_COMMAND_x sets the
      desired fan rate. The unit of FAN_COMMAND_x is dependent on the
      operational fan mode, RPM or PWM percent duty, as determined by the
      corresponding configuration in FAN_CONFIG_x_y.
      
      The mapping of fanX_target, pwmX and pwmX_enable onto FAN_CONFIG_x_y and
      FAN_COMMAND_x is implemented with the addition of virtual registers to
      facilitate the necessary side-effects of each access:
      
      1. PMBUS_VIRT_FAN_TARGET_x
      2. PMBUS_VIRT_PWM_x
      3. PMBUS_VIRT_PWM_ENABLE_x
      
      Some complexity arises with the fanX_target and pwmX attributes both mapping
      onto FAN_COMMAND_x: There is no general mapping between PWM percent duty and
      RPM, so we can't display values in either attribute in terms of the other
      (which in my mind is the intuitive, if impossible, behaviour). This problem
      also affects the pwmX_enable attribute which allows userspace to switch between
      full speed, manual PWM and a number of automatic control modes, possibly
      including a switch to RPM behaviour (e.g. automatically adjusting PWM duty to
      reach a RPM target, the behaviour of fanX_target).
      
      The next most intuitive behaviour is for fanX_target and pwmX to simply be
      independent, to retain their most recently set value even if that value is not
      active on the hardware (due to switching to the alternative control mode). This
      property of retaining the value independent of the hardware state has useful
      results for both userspace and the kernel: Userspace always sees a sensible
      value in the attribute (the last thing it was set to, as opposed to 0 or
      receiving an error on read), and the kernel can use the attributes as a value
      cache. This latter point eases the implementation of pwmX_enable, which can
      look up the associated pmbus_sensor object, take its cached value and apply it
      to hardware on changing control mode. This ensures we will not arbitrarily set
      a PWM value as an RPM value or vice versa, and we can assume that the RPM or
      PWM value set was sensible at least at some point in the past.
      
      Finally, the DIRECT mode coefficients of some controllers is different between
      RPM and PWM percent duty control modes, so PSC_PWM is introduced to capture the
      necessary coefficients. As pmbus core had no PWM support previously PSC_FAN
      continues to be used to capture the RPM DIRECT coefficients, but in order to
      avoid falsely applying RPM scaling to PWM values I have introduced the
      PMBUS_HAVE_PWM12 and PMB_BUS_HAVE_PWM34 feature bits. These feature bits allow
      drivers to explicitly declare PWM support in order to have the attributes
      exposed.
      Signed-off-by: default avatarAndrew Jeffery <andrew@aj.id.au>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      d206636e
    • Guenter Roeck's avatar
      hwmon: (pmbus/lm25066) Drop support for LM25063 · 666c1490
      Guenter Roeck authored
      LM25063 was never released. Drop support for it.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      666c1490
    • Sinan Kaya's avatar
      hwmon: (coretemp) deprecate pci_get_bus_and_slot() · b9ccff23
      Sinan Kaya authored
      pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
      where a PCI device is present. This restricts the device drivers to be
      reused for other domain numbers.
      
      Use pci_get_domain_bus_and_slot() with a domain number of 0 where we can't
      extract the domain number. Other places, use the actual domain number from
      the device.
      Signed-off-by: default avatarSinan Kaya <okaya@codeaurora.org>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      b9ccff23
    • Guenter Roeck's avatar
      hwmon: Drop unnecessary 'default n' from Kconfig · 6335d98a
      Guenter Roeck authored
      'default n' is default, so there is no need to specify it explicitly.
      Reviewed-by: default avatarJean Delvare <jdelvare@suse.de>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      6335d98a
    • Lei YU's avatar
      hwmon: (w83773g) Add documentation · ba3d8588
      Lei YU authored
      Add documentation for the w83773g driver.
      Signed-off-by: default avatarLei YU <mine260309@gmail.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      ba3d8588
    • Lei YU's avatar
      hwmon: Add W83773G driver · ee249f27
      Lei YU authored
      Nuvoton W83773G is a hardware monitor IC providing one local
      temperature and two remote temperature sensors.
      Signed-off-by: default avatarLei YU <mine260309@gmail.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      ee249f27
  9. 31 Dec, 2017 9 commits
    • Linus Torvalds's avatar
      Linux 4.15-rc6 · 30a7acd5
      Linus Torvalds authored
      30a7acd5
    • Linus Torvalds's avatar
      Merge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f39d7d78
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "A couple of fixlets for x86:
      
         - Fix the ESPFIX double fault handling for 5-level pagetables
      
         - Fix the commandline parsing for 'apic=' on 32bit systems and update
           documentation
      
         - Make zombie stack traces reliable
      
         - Fix kexec with stack canary
      
         - Fix the delivery mode for APICs which was missed when the x86
           vector management was converted to single target delivery. Caused a
           regression due to the broken hardware which ignores affinity
           settings in lowest prio delivery mode.
      
         - Unbreak modules when AMD memory encryption is enabled
      
         - Remove an unused parameter of prepare_switch_to"
      
      * 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apic: Switch all APICs to Fixed delivery mode
        x86/apic: Update the 'apic=' description of setting APIC driver
        x86/apic: Avoid wrong warning when parsing 'apic=' in X86-32 case
        x86-32: Fix kexec with stack canary (CONFIG_CC_STACKPROTECTOR)
        x86: Remove unused parameter of prepare_switch_to
        x86/stacktrace: Make zombie stack traces reliable
        x86/mm: Unbreak modules that use the DMA API
        x86/build: Make isoimage work on Debian
        x86/espfix/64: Fix espfix double-fault handling on 5-level systems
      f39d7d78
    • Linus Torvalds's avatar
      Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 52c90f2d
      Linus Torvalds authored
      Pull x86 page table isolation fixes from Thomas Gleixner:
       "Four patches addressing the PTI fallout as discussed and debugged
        yesterday:
      
         - Remove stale and pointless TLB flush invocations from the hotplug
           code
      
         - Remove stale preempt_disable/enable from __native_flush_tlb()
      
         - Plug the memory leak in the write_ldt() error path"
      
      * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ldt: Make LDT pgtable free conditional
        x86/ldt: Plug memory leak in error path
        x86/mm: Remove preempt_disable/enable() from __native_flush_tlb()
        x86/smpboot: Remove stale TLB flush invocations
      52c90f2d
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cea92e84
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       "A pile of fixes for long standing issues with the timer wheel and the
        NOHZ code:
      
         - Prevent timer base confusion accross the nohz switch, which can
           cause unlocked access and data corruption
      
         - Reinitialize the stale base clock on cpu hotplug to prevent subtle
           side effects including rollovers on 32bit
      
         - Prevent an interrupt storm when the timer softirq is already
           pending caused by tick_nohz_stop_sched_tick()
      
         - Move the timer start tracepoint to a place where it actually makes
           sense
      
         - Add documentation to timerqueue functions as they caused confusion
           several times now"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timerqueue: Document return values of timerqueue_add/del()
        timers: Invoke timer_start_debug() where it makes sense
        nohz: Prevent a timer interrupt storm in tick_nohz_stop_sched_tick()
        timers: Reinitialize per cpu bases on hotplug
        timers: Use deferrable base independent of base::nohz_active
      cea92e84
    • Linus Torvalds's avatar
      Merge branch 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8d517bdf
      Linus Torvalds authored
      Pull smp fixlet from Thomas Gleixner:
       "A trivial build warning fix for newer compilers"
      
      * 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        cpu/hotplug: Move inline keyword at the beginning of declaration
      8d517bdf
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4c470317
      Linus Torvalds authored
      Pull scheduler fixes from Thomas Gleixner:
       "Three patches addressing the fallout of the CPU_ISOLATION changes
        especially with NO_HZ_FULL plus documentation of boot parameter
        dependency"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/isolation: Document boot parameters dependency on CONFIG_CPU_ISOLATION=y
        sched/isolation: Enable CONFIG_CPU_ISOLATION=y by default
        sched/isolation: Make CONFIG_NO_HZ_FULL select CONFIG_CPU_ISOLATION
      4c470317
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e7c632fc
      Linus Torvalds authored
      Pull perf fixes from Thomas Gleixner:
      
       - plug a memory leak in the intel pmu init code
      
       - clang fixes
      
       - tooling fix to avoid including kernel headers
      
       - a fix for jvmti to generate correct debug information for inlined
         code
      
       - replace backtick with a regular shell function
      
       - fix the build in hardened environments
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/intel: Plug memory leak in intel_pmu_init()
        x86/asm: Allow again using asm.h when building for the 'bpf' clang target
        tools arch s390: Do not include header files from the kernel sources
        perf jvmti: Generate correct debug information for inlined code
        perf tools: Fix up build in hardened environments
        perf tools: Use shell function for perl cflags retrieval
      e7c632fc
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 88fa025d
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "A rather large update after the kaisered maintainer finally found time
        to handle regression reports.
      
         - The larger part addresses a regression caused by the x86 vector
           management rework.
      
           The reservation based model does not work reliably for MSI
           interrupts, if they cannot be masked (yes, yet another hw
           engineering trainwreck). The reason is that the reservation mode
           assigns a dummy vector when the interrupt is allocated and switches
           to a real vector when the interrupt is requested.
      
           If the MSI entry cannot be masked then the initialization might
           raise an interrupt before the interrupt is requested, which ends up
           as spurious interrupt and causes device malfunction and worse. The
           fix is to exclude MSI interrupts which do not support masking from
           reservation mode and assign a real vector right away.
      
         - Extend the extra lockdep class setup for nested interrupts with a
           class for the recently added irq_desc::request_mutex so lockdep can
           differeniate and does not emit false positive warnings.
      
         - A ratelimit guard for the bad irq printout so in case a bad irq
           comes back immediately the system does not drown in dmesg spam"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        genirq/msi, x86/vector: Prevent reservation mode for non maskable MSI
        genirq/irqdomain: Rename early argument of irq_domain_activate_irq()
        x86/vector: Use IRQD_CAN_RESERVE flag
        genirq: Introduce IRQD_CAN_RESERVE flag
        genirq/msi: Handle reactivation only on success
        gpio: brcmstb: Make really use of the new lockdep class
        genirq: Guard handle_bad_irq log messages
        kernel/irq: Extend lockdep class for request mutex
      88fa025d
    • Linus Torvalds's avatar
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 31336ed9
      Linus Torvalds authored
      Pull objtool fixes from Thomas Gleixner:
       "Three fixlets for objtool:
      
         - Address two segfaults related to missing parameter and clang
           objects
      
         - Make it compile clean with clang"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        objtool: Fix seg fault with clang-compiled objects
        objtool: Fix seg fault caused by missing parameter
        objtool: Fix Clang enum conversion warning
      31336ed9