1. 12 Jun, 2019 11 commits
    • YueHaibing's avatar
      platform/x86: pcengines-apuv2: Make two symbols static · 84f669b4
      YueHaibing authored
      Fix sparse warnings:
      
      drivers/platform/x86/pcengines-apuv2.c:80:27: warning: symbol 'gpios_led_table' was not declared. Should it be static?
      drivers/platform/x86/pcengines-apuv2.c:113:27: warning: symbol 'gpios_key_table' was not declared. Should it be static?
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Acked-By: default avatarEnrico Weigelt, metux IT consult <info@metux.net>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      84f669b4
    • Young Xiao's avatar
      platform/x86: intel_menlow: avoid null pointer deference error · 92a74ce3
      Young Xiao authored
      Fix a null pointer deference by acpi_driver_data() if device is
      null (dereference before check). We should only set cdev and check
      this is OK after we are sure device is not null.
      Signed-off-by: default avatarYoung Xiao <92siuyang@gmail.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      92a74ce3
    • Krzysztof Kozlowski's avatar
      platform/x86: Remove left-over BACKLIGHT_LCD_SUPPORT · 8d4b2daf
      Krzysztof Kozlowski authored
      The CONFIG_BACKLIGHT_LCD_SUPPORT was removed in commit 8c5dc8d9
      ("video: backlight: Remove useless BACKLIGHT_LCD_SUPPORT kernel
      symbol"). Options protected by CONFIG_BACKLIGHT_LCD_SUPPORT are now
      available directly.
      Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      8d4b2daf
    • Daniel Smith's avatar
      platform/x86: touchscreen_dmi: Add info for the CHUWI Hi10 Plus tablet. · 6baac53e
      Daniel Smith authored
      Added touch screen info for CHUWI Hi10 Plus tablet.
      Signed-off-by: default avatarDaniel Smith <danct12@disroot.org>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      6baac53e
    • Vadim Pasternak's avatar
      platform/mellanox: mlxreg-hotplug: Add devm_free_irq call to remove flow · 0bfcd24b
      Vadim Pasternak authored
      Add devm_free_irq() call to mlxreg-hotplug remove() for clean release
      of devices irq resource. Fix debugobjects warning triggered by rmmod
      It prevents of use-after-free memory, related to
      mlxreg_hotplug_work_handler.
      
      Issue has been reported as debugobjects warning triggered by
      'rmmod mlxtreg-hotplug' flow, while running kernel with
      CONFIG_DEBUG_OBJECTS* options.
      
      [ 2489.623551] ODEBUG: free active (active state 0) object type: work_struct hint: mlxreg_hotplug_work_handler+0x0/0x7f0 [mlxreg_hotplug]
      [ 2489.637097] WARNING: CPU: 5 PID: 3924 at lib/debugobjects.c:328 debug_print_object+0xfe/0x180
      [ 2489.637165] RIP: 0010:debug_print_object+0xfe/0x180
      ?
      [ 2489.637214] Call Trace:
      [ 2489.637225]  __debug_check_no_obj_freed+0x25e/0x320
      [ 2489.637231]  kfree+0x82/0x110
      [ 2489.637238]  release_nodes+0x33c/0x4e0
      [ 2489.637242]  ? devres_remove_group+0x1b0/0x1b0
      [ 2489.637247]  device_release_driver_internal+0x146/0x270
      [ 2489.637251]  driver_detach+0x73/0xe0
      [ 2489.637254]  bus_remove_driver+0xa1/0x170
      [ 2489.637261]  __x64_sys_delete_module+0x29e/0x320
      [ 2489.637265]  ? __ia32_sys_delete_module+0x320/0x320
      [ 2489.637268]  ? blkcg_exit_queue+0x20/0x20
      [ 2489.637273]  ? task_work_run+0x7d/0x100
      [ 2489.637278]  ? exit_to_usermode_loop+0x5b/0xf0
      [ 2489.637281]  do_syscall_64+0x73/0x160
      [ 2489.637287]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
      [ 2489.637290] RIP: 0033:0x7f95c3596fd7
      
      The difference in release flow with and with no devm_free_irq is listed
      below:
      
      bus: 'platform': remove driver mlxreg-hotplug
       mlxreg_hotplug_remove(start)
      					-> devm_free_irq (with new code)
       mlxreg_hotplug_remove (end)
       release_nodes (start)
        mlxreg-hotplug: DEVRES REL devm_hwmon_release (8 bytes)
        device: 'hwmon3': device_unregister
        PM: Removing info for No Bus:hwmon3
        mlxreg-hotplug: DEVRES REL devm_kzalloc_release (88 bytes)
        mlxreg-hotplug: DEVRES REL devm_kzalloc_release (6 bytes)
        mlxreg-hotplug: DEVRES REL devm_kzalloc_release (5 bytes)
        mlxreg-hotplug: DEVRES REL devm_kzalloc_release (5 bytes)
        mlxreg-hotplug: DEVRES REL devm_kzalloc_release (5 bytes)
        mlxreg-hotplug: DEVRES REL devm_kzalloc_release (5 bytes)
        mlxreg-hotplug: DEVRES REL devm_kzalloc_release (5 bytes)
        mlxreg-hotplug: DEVRES REL devm_kzalloc_release (5 bytes)
        mlxreg-hotplug: DEVRES REL devm_kzalloc_release (5 bytes)
        mlxreg-hotplug: DEVRES REL devm_kzalloc_release (5 bytes)
        mlxreg-hotplug: DEVRES REL devm_kzalloc_release (5 bytes)
        mlxreg-hotplug: DEVRES REL devm_kzalloc_release (5 bytes)
        mlxreg-hotplug: DEVRES REL devm_irq_release (16 bytes) (no new code)
        mlxreg-hotplug: DEVRES REL devm_kzalloc_release (1376 bytes)
         ------------[ cut here ]------------ (no new code):
         ODEBUG: free active (active state 0) object type: work_struct hint: mlxreg_hotplug_work_handler
      
       release_nodes(end)
      driver: 'mlxreg-hotplug': driver_release
      
      Fixes: 1f976f69 ("platform/x86: Move Mellanox platform hotplug driver to platform/mellanox")
      Signed-off-by: default avatarVadim Pasternak <vadimp@mellanox.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      0bfcd24b
    • Vadim Pasternak's avatar
      platform/x86: mlx-platform: Fix parent device in i2c-mux-reg device registration · fa882fc8
      Vadim Pasternak authored
      Fix the issue found while running kernel with the option
      CONFIG_DEBUG_TEST_DRIVER_REMOVE.
      Driver 'mlx-platform' registers 'i2c_mlxcpld' device and then registers
      few underlying 'i2c-mux-reg' devices:
      	priv->pdev_i2c = platform_device_register_simple("i2c_mlxcpld", nr,
      							 NULL, 0);
      	...
      	for (i = 0; i < ARRAY_SIZE(mlxplat_mux_data); i++) {
      		priv->pdev_mux[i] = platform_device_register_resndata(
      						&mlxplat_dev->dev,
      						"i2c-mux-reg", i, NULL,
      						0, &mlxplat_mux_data[i],
      						sizeof(mlxplat_mux_data[i]));
      
      But actual parent of "i2c-mux-reg" device is priv->pdev_i2c->dev and
      not mlxplat_dev->dev.
      Patch fixes parent device parameter in a call to
      platform_device_register_resndata() for "i2c-mux-reg".
      
      It solves the race during initialization flow while 'i2c_mlxcpld.1' is
      removing after probe, while 'i2c-mux-reg.0' is still in probing flow:
      'i2c_mlxcpld.1'	flow:	probe -> remove -> probe.
      'i2c-mux-reg.0'	flow:		  probe -> ...
      
      [   12:621096] Registering platform device 'i2c_mlxcpld.1'. Parent at platform
      [   12:621117] device: 'i2c_mlxcpld.1': device_add
      [   12:621155] bus: 'platform': add device i2c_mlxcpld.1
      [   12:621384] Registering platform device 'i2c-mux-reg.0'. Parent at mlxplat
      [   12:621395] device: 'i2c-mux-reg.0': device_add
      [   12:621425] bus: 'platform': add device i2c-mux-reg.0
      [   12:621806] Registering platform device 'i2c-mux-reg.1'. Parent at mlxplat
      [   12:621828] device: 'i2c-mux-reg.1': device_add
      [   12:621892] bus: 'platform': add device i2c-mux-reg.1
      [   12:621906] bus: 'platform': add driver i2c_mlxcpld
      [   12:621996] bus: 'platform': driver_probe_device: matched device i2c_mlxcpld.1 with driver i2c_mlxcpld
      [   12:622003] bus: 'platform': really_probe: probing driver i2c_mlxcpld with device i2c_mlxcpld.1
      [   12:622100] i2c_mlxcpld i2c_mlxcpld.1: no default pinctrl state
      [   12:622293] device: 'i2c-1': device_add
      [   12:627280] bus: 'i2c': add device i2c-1
      [   12:627692] device: 'i2c-1': device_add
      [   12.629639] bus: 'platform': add driver i2c-mux-reg
      [   12.629718] bus: 'platform': driver_probe_device: matched device i2c-mux-reg.0 with driver i2c-mux-reg
      [   12.629723] bus: 'platform': really_probe: probing driver i2c-mux-reg with device i2c-mux-reg.0
      [   12.629818] i2c-mux-reg i2c-mux-reg.0: no default pinctrl state
      [   12.629981] platform i2c-mux-reg.0: Driver i2c-mux-reg requests probe deferral
      [   12.629986] platform i2c-mux-reg.0: Added to deferred list
      [   12.629992] bus: 'platform': driver_probe_device: matched device i2c-mux-reg.1 with driver i2c-mux-reg
      [   12.629997] bus: 'platform': really_probe: probing driver i2c-mux-reg with device i2c-mux-reg.1
      [   12.630091] i2c-mux-reg i2c-mux-reg.1: no default pinctrl state
      [   12.630247] platform i2c-mux-reg.1: Driver i2c-mux-reg requests probe deferral
      [   12.630252] platform i2c-mux-reg.1: Added to deferred list
      [   12.640892] devices_kset: Moving i2c-mux-reg.0 to end of list
      [   12.640900] platform i2c-mux-reg.0: Retrying from deferred list
      [   12.640911] bus: 'platform': driver_probe_device: matched device i2c-mux-reg.0 with driver i2c-mux-reg
      [   12.640919] bus: 'platform': really_probe: probing driver i2c-mux-reg with device i2c-mux-reg.0
      [   12.640999] i2c-mux-reg i2c-mux-reg.0: no default pinctrl state
      [   12.641177] platform i2c-mux-reg.0: Driver i2c-mux-reg requests probe deferral
      [   12.641187] platform i2c-mux-reg.0: Added to deferred list
      [   12.641198] devices_kset: Moving i2c-mux-reg.1 to end of list
      [   12.641219] platform i2c-mux-reg.1: Retrying from deferred list
      [   12.641237] bus: 'platform': driver_probe_device: matched device i2c-mux-reg.1 with driver i2c-mux-reg
      [   12.641247] bus: 'platform': really_probe: probing driver i2c-mux-reg with device i2c-mux-reg.1
      [   12.641331] i2c-mux-reg i2c-mux-reg.1: no default pinctrl state
      [   12.641465] platform i2c-mux-reg.1: Driver i2c-mux-reg requests probe deferral
      [   12.641469] platform i2c-mux-reg.1: Added to deferred list
      [   12.646427] device: 'i2c-1': device_add
      [   12.646647] bus: 'i2c': add device i2c-1
      [   12.647104] device: 'i2c-1': device_add
      [   12.669231] devices_kset: Moving i2c-mux-reg.0 to end of list
      [   12.669240] platform i2c-mux-reg.0: Retrying from deferred list
      [   12.669258] bus: 'platform': driver_probe_device: matched device i2c-mux-reg.0 with driver i2c-mux-reg
      [   12.669263] bus: 'platform': really_probe: probing driver i2c-mux-reg with device i2c-mux-reg.0
      [   12.669343] i2c-mux-reg i2c-mux-reg.0: no default pinctrl state
      [   12.669585] device: 'i2c-2': device_add
      [   12.669795] bus: 'i2c': add device i2c-2
      [   12.670201] device: 'i2c-2': device_add
      [   12.671427] i2c i2c-1: Added multiplexed i2c bus 2
      [   12.671514] device: 'i2c-3': device_add
      [   12.671724] bus: 'i2c': add device i2c-3
      [   12.672136] device: 'i2c-3': device_add
      [   12.673378] i2c i2c-1: Added multiplexed i2c bus 3
      [   12.673472] device: 'i2c-4': device_add
      [   12.673676] bus: 'i2c': add device i2c-4
      [   12.674060] device: 'i2c-4': device_add
      [   12.675861] i2c i2c-1: Added multiplexed i2c bus 4
      [   12.675941] device: 'i2c-5': device_add
      [   12.676150] bus: 'i2c': add device i2c-5
      [   12.676550] device: 'i2c-5': device_add
      [   12.678103] i2c i2c-1: Added multiplexed i2c bus 5
      [   12.678193] device: 'i2c-6': device_add
      [   12.678395] bus: 'i2c': add device i2c-6
      [   12.678774] device: 'i2c-6': device_add
      [   12.679969] i2c i2c-1: Added multiplexed i2c bus 6
      [   12.680065] device: 'i2c-7': device_add
      [   12.680275] bus: 'i2c': add device i2c-7
      [   12.680913] device: 'i2c-7': device_add
      [   12.682506] i2c i2c-1: Added multiplexed i2c bus 7
      [   12.682600] device: 'i2c-8': device_add
      [   12.682808] bus: 'i2c': add device i2c-8
      [   12.683189] device: 'i2c-8': device_add
      [   12.683907] device: 'i2c-1': device_unregister
      [   12.683945] device: 'i2c-1': device_unregister
      [   12.684387] device: 'i2c-1': device_create_release
      [   12.684536] bus: 'i2c': remove device i2c-1
      [   12.686019] i2c i2c-8: Failed to create compatibility class link
      [   12.686086] ------------[ cut here ]------------
      [   12.686087] can't create symlink to mux device
      [   12.686224] Workqueue: events deferred_probe_work_func
      [   12.686135] WARNING: CPU: 7 PID: 436 at drivers/i2c/i2c-mux.c:416 i2c_mux_add_adapter+0x729/0x7d0 [i2c_mux]
      [   12.686232] RIP: 0010:i2c_mux_add_adapter+0x729/0x7d0 [i2c_mux]
      [   0x190/0x190 [i2c_mux]
      [   12.686300]  ? i2c_mux_alloc+0xac/0x110 [i2c_mux]
      [   12.686306]  ? i2c_mux_reg_set+0x200/0x200 [i2c_mux_reg]
      [   12.686313]  i2c_mux_reg_probe+0x22c/0x731 [i2c_mux_reg]
      [   12.686322]  ? i2c_mux_reg_deselect+0x60/0x60 [i2c_mux_reg]
      [   12.686346]  platform_drv_probe+0xa8/0x110
      [   12.686351]  really_probe+0x185/0x720
      [   12.686358]  driver_probe_device+0xdf/0x1f0
      ...
      [   12.686522] i2c i2c-1: Added multiplexed i2c bus 8
      [   12.686621] device: 'i2c-9': device_add
      [   12.686626] kobject_add_internal failed for i2c-9 (error: -2 parent: i2c-1)
      [   12.694729] i2c-core: adapter 'i2c-1-mux (chan_id 8)': can't register device (-2)
      [   12.705726] i2c i2c-1: failed to add mux-adapter 8 as bus 9 (error=-2)
      [   12.714494] device: 'i2c-8': device_unregister
      [   12.714537] device: 'i2c-8': device_unregister
      
      Fixes: 6613d18e ("platform/x86: mlx-platform: Move module from arch/x86")
      Signed-off-by: default avatarVadim Pasternak <vadimp@mellanox.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      fa882fc8
    • Mathew King's avatar
      platform/x86: intel-vbtn: Report switch events when event wakes device · 89ae3a07
      Mathew King authored
      When a switch event, such as tablet mode/laptop mode or docked/undocked,
      wakes a device make sure that the value of the swich is reported.
      Without when a device is put in tablet mode from laptop mode when it is
      suspended or vice versa the device will wake up but mode will be
      incorrect.
      
      Tested by suspending a device in laptop mode and putting it in tablet
      mode, the device resumes and is in tablet mode. When suspending the
      device in tablet mode and putting it in laptop mode the device resumes
      and is in laptop mode.
      Signed-off-by: default avatarMathew King <mathewk@chromium.org>
      Reviewed-by: default avatarJett Rink <jettrink@chromium.org>
      Reviewed-by: default avatarMario Limonciello <mario.limonciello@dell.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      89ae3a07
    • Hans de Goede's avatar
      platform/x86: asus-wmi: Only Tell EC the OS will handle display hotkeys from asus_nb_wmi · 1dd93f87
      Hans de Goede authored
      Commit 78f3ac76 ("platform/x86: asus-wmi: Tell the EC the OS will
      handle the display off hotkey") causes the backlight to be permanently off
      on various EeePC laptop models using the eeepc-wmi driver (Asus EeePC
      1015BX, Asus EeePC 1025C).
      
      The asus_wmi_set_devstate(ASUS_WMI_DEVID_BACKLIGHT, 2, NULL) call added
      by that commit is made conditional in this commit and only enabled in
      the quirk_entry structs in the asus-nb-wmi driver fixing the broken
      display / backlight on various EeePC laptop models.
      
      Cc: João Paulo Rechi Vita <jprvita@endlessm.com>
      Fixes: 78f3ac76 ("platform/x86: asus-wmi: Tell the EC the OS will handle the display off hotkey")
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      1dd93f87
    • Lubomir Rintel's avatar
      Platform: OLPC: Add a config menu category for XO 1.75 · 4e6d2739
      Lubomir Rintel authored
      Randy Dunlap says:
      
        drivers/platform/olpc/Kconfig needs to use "menuconfig" like all of the
        other Kconfig files in drivers/platform/ so that its menu is listed in
        the correct place in *config interfaces.
      
      Otherwise he's sad.
      Reported-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarLubomir Rintel <lkundrak@v3.sk>
      Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      4e6d2739
    • Lubomir Rintel's avatar
      Platform: OLPC: Require CONFIG_POWER_SUPPLY for XO-1.75 EC · af21f32c
      Lubomir Rintel authored
      ERROR: "power_supply_put" [drivers/platform/olpc/olpc-xo175-ec.ko] undefined!
        ERROR: "power_supply_changed" [drivers/platform/olpc/olpc-xo175-ec.ko] undefined!
        ERROR: "power_supply_get_by_name" [drivers/platform/olpc/olpc-xo175-ec.ko] undefined!
      
      Adding the dependency seems like a more reasonable thing compared to
      ifdef-ing the bits, as if one has an XO-1.75 they almost certainly want
      a baterry and AC adapter support.
      Reported-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarLubomir Rintel <lkundrak@v3.sk>
      Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      af21f32c
    • Lubomir Rintel's avatar
      Platform: OLPC: Fix olpc_xo175_ec_cmd() return value · fd43f16c
      Lubomir Rintel authored
      Reset the ret variable to make sure it olpc_xo175_ec_cmd() ends up
      returning zero on success.
      
      Fixes: 0c3d931b ("Platform: OLPC: Add XO-1.75 EC driver")
      Signed-off-by: default avatarLubomir Rintel <lkundrak@v3.sk>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      fd43f16c
  2. 11 Jun, 2019 3 commits
    • Lubomir Rintel's avatar
      Platform: OLPC: Make olpc_dt_compatible_match() static __init · b8a84365
      Lubomir Rintel authored
      Addresses a kbuild warning:
      
        >> WARNING: vmlinux.o(.text+0x3b764): Section mismatch in reference from
                    the function olpc_dt_compatible_match() to the function
                    .init.text:olpc_dt_getproperty()
      Signed-off-by: default avatarLubomir Rintel <lkundrak@v3.sk>
      Reported-by: default avatarkbuild test robot <lkp@intel.com>
      Fixes: a7a9bacb (x86/platform/olpc: Use a correct version when making up a battery node)
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      b8a84365
    • YueHaibing's avatar
      Platform: OLPC: Add INPUT dependencies · cdaf018c
      YueHaibing authored
      Building with CONFIG_INPUT set to m:
      
      drivers/platform/olpc/olpc-xo175-ec.o: In function `olpc_xo175_ec_complete':
      olpc-xo175-ec.c:(.text+0x75d): undefined reference to `input_event'
      olpc-xo175-ec.c:(.text+0x76f): undefined reference to `input_event'
      olpc-xo175-ec.c:(.text+0x787): undefined reference to `input_event'
      olpc-xo175-ec.c:(.text+0x799): undefined reference to `input_event'
      drivers/platform/olpc/olpc-xo175-ec.o: In function `olpc_xo175_ec_probe':
      olpc-xo175-ec.c:(.text+0x8d5): undefined reference to `devm_input_allocate_device'
      olpc-xo175-ec.c:(.text+0x910): undefined reference to `input_set_capability'
      olpc-xo175-ec.c:(.text+0x91c): undefined reference to `input_register_device'
      
      This patch add INPUT dependencies to fix this.
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Fixes: 0c3d931b ("Platform: OLPC: Add XO-1.75 EC driver")
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      cdaf018c
    • YueHaibing's avatar
      Platform: OLPC: Fix build error without CONFIG_SPI · ad04ca76
      YueHaibing authored
      Fix gcc build error while CONFIG_SPI is not set
      
      drivers/platform/olpc/olpc-xo175-ec.o: In function `olpc_xo175_ec_remove':
      olpc-xo175-ec.c:(.text+0x190): undefined reference to `spi_slave_abort'
      drivers/platform/olpc/olpc-xo175-ec.o: In function `olpc_xo175_ec_send_command':
      olpc-xo175-ec.c:(.text+0x374): undefined reference to `spi_async'
      drivers/platform/olpc/olpc-xo175-ec.o: In function `olpc_xo175_ec_cmd':
      olpc-xo175-ec.c:(.text+0x8a0): undefined reference to `spi_slave_abort'
      drivers/platform/olpc/olpc-xo175-ec.o: In function `olpc_xo175_ec_spi_driver_init':
      olpc-xo175-ec.c:(.init.text+0x14): undefined reference to `__spi_register_driver'
      
      We should depends on CONFIG_SPI_SLAVE other than directly select it.
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Fixes: 0c3d931b ("Platform: OLPC: Add XO-1.75 EC driver")
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      ad04ca76
  3. 20 May, 2019 10 commits
  4. 19 May, 2019 16 commits
    • Linus Torvalds's avatar
      Linux 5.2-rc1 · a188339c
      Linus Torvalds authored
      a188339c
    • Linus Torvalds's avatar
      Merge tag 'upstream-5.2-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs · 2e2c1220
      Linus Torvalds authored
      Pull UBIFS fixes from Richard Weinberger:
      
       - build errors wrt xattrs
      
       - mismerge which lead to a wrong Kconfig ifdef
      
       - missing endianness conversion
      
      * tag 'upstream-5.2-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
        ubifs: Convert xattr inum to host order
        ubifs: Use correct config name for encryption
        ubifs: Fix build error without CONFIG_UBIFS_FS_XATTR
      2e2c1220
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · cb6f8739
      Linus Torvalds authored
      Merge yet more updates from Andrew Morton:
       "A few final bits:
      
         - large changes to vmalloc, yielding large performance benefits
      
         - tweak the console-flush-on-panic code
      
         - a few fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        panic: add an option to replay all the printk message in buffer
        initramfs: don't free a non-existent initrd
        fs/writeback.c: use rcu_barrier() to wait for inflight wb switches going into workqueue when umount
        mm/compaction.c: correct zone boundary handling when isolating pages from a pageblock
        mm/vmap: add DEBUG_AUGMENT_LOWEST_MATCH_CHECK macro
        mm/vmap: add DEBUG_AUGMENT_PROPAGATE_CHECK macro
        mm/vmalloc.c: keep track of free blocks for vmap allocation
      cb6f8739
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v5.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · ff8583d6
      Linus Torvalds authored
      Pull more Kbuild updates from Masahiro Yamada:
      
       - remove unneeded use of cc-option, cc-disable-warning, cc-ldoption
      
       - exclude tracked files from .gitignore
      
       - re-enable -Wint-in-bool-context warning
      
       - refactor samples/Makefile
      
       - stop building immediately if syncconfig fails
      
       - do not sprinkle error messages when $(CC) does not exist
      
       - move arch/alpha/defconfig to the configs subdirectory
      
       - remove crappy header search path manipulation
      
       - add comment lines to .config to clarify the end of menu blocks
      
       - check uniqueness of module names (adding new warnings intentionally)
      
      * tag 'kbuild-v5.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (24 commits)
        kconfig: use 'else ifneq' for Makefile to improve readability
        kbuild: check uniqueness of module names
        kconfig: Terminate menu blocks with a comment in the generated config
        kbuild: add LICENSES to KBUILD_ALLDIRS
        kbuild: remove 'addtree' and 'flags' magic for header search paths
        treewide: prefix header search paths with $(srctree)/
        media: prefix header search paths with $(srctree)/
        media: remove unneeded header search paths
        alpha: move arch/alpha/defconfig to arch/alpha/configs/defconfig
        kbuild: terminate Kconfig when $(CC) or $(LD) is missing
        kbuild: turn auto.conf.cmd into a mandatory include file
        .gitignore: exclude .get_maintainer.ignore and .gitattributes
        kbuild: add all Clang-specific flags unconditionally
        kbuild: Don't try to add '-fcatch-undefined-behavior' flag
        kbuild: add some extra warning flags unconditionally
        kbuild: add -Wvla flag unconditionally
        arch: remove dangling asm-generic wrappers
        samples: guard sub-directories with CONFIG options
        kbuild: re-enable int-in-bool-context warning
        MAINTAINERS: kbuild: Add pattern for scripts/*vmlinux*
        ...
      ff8583d6
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · f23d8719
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "Some I2C core API additions which are kind of simple but enhance error
        checking for users a lot, especially by returning errno now.
      
        There are wrappers to still support the old API but it will be removed
        once all users are converted"
      
      * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: core: add device-managed version of i2c_new_dummy
        i2c: core: improve return value handling of i2c_new_device and i2c_new_dummy
      f23d8719
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · c4d36b63
      Linus Torvalds authored
      Pull ext4 fixes from Ted Ts'o:
       "Some bug fixes, and an update to the URL's for the final version of
        Unicode 12.1.0"
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: avoid panic during forced reboot due to aborted journal
        ext4: fix block validity checks for journal inodes using indirect blocks
        unicode: update to Unicode 12.1.0 final
        unicode: add missing check for an error return from utf8lookup()
        ext4: fix miscellaneous sparse warnings
        ext4: unsigned int compared against zero
        ext4: fix use-after-free in dx_release()
        ext4: fix data corruption caused by overlapping unaligned and aligned IO
        jbd2: fix potential double free
        ext4: zero out the unused memory region in the extent tree block
      c4d36b63
    • Linus Torvalds's avatar
      Merge tag '5.2-rc-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · d8848eef
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Minor cleanup and fixes, one for stable, four rdma (smbdirect)
        related. Also adds SEEK_HOLE support"
      
      * tag '5.2-rc-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: add support for SEEK_DATA and SEEK_HOLE
        Fixed https://bugzilla.kernel.org/show_bug.cgi?id=202935 allow write on the same file
        cifs: Allocate memory for all iovs in smb2_ioctl
        cifs: Don't match port on SMBDirect transport
        cifs:smbd Use the correct DMA direction when sending data
        cifs:smbd When reconnecting to server, call smbd_destroy() after all MIDs have been called
        cifs: use the right include for signal_pending()
        smb3: trivial cleanup to smb2ops.c
        cifs: cleanup smb2ops.c and normalize strings
        smb3: display session id in debug data
      d8848eef
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1ba3b5dc
      Linus Torvalds authored
      Pull perf tooling updates from Ingo Molnar:
       "perf.data:
      
         - Streaming compression of perf ring buffer into
           PERF_RECORD_COMPRESSED user space records, resulting in ~3-5x
           perf.data file size reduction on variety of tested workloads what
           saves storage space on larger server systems where perf.data size
           can easily reach several tens or even hundreds of GiBs, especially
           when profiling with DWARF-based stacks and tracing of context
           switches.
      
        perf record:
      
         - Improve -user-regs/intr-regs suggestions to overcome errors
      
        perf annotate:
      
         - Remove hist__account_cycles() from callback, speeding up branch
           processing (perf record -b)
      
        perf stat:
      
         - Add a 'percore' event qualifier, e.g.: -e
           cpu/event=0,umask=0x3,percore=1/, that sums up the event counts for
           both hardware threads in a core.
      
           We can already do this with --per-core, but it's often useful to do
           this together with other metrics that are collected per hardware
           thread.
      
           I.e. now its possible to do this per-event, and have it mixed with
           other events not aggregated by core.
      
        arm64:
      
         - Map Brahma-B53 CPUID to cortex-a53 events.
      
         - Add Cortex-A57 and Cortex-A72 events.
      
        csky:
      
         - Add DWARF register mappings for libdw, allowing --call-graph=dwarf
           to work on the C-SKY arch.
      
        x86:
      
         - Add support for recording and printing XMM registers, available,
           for instance, on Icelake.
      
         - Add uncore_upi (Intel's "Ultra Path Interconnect" events) JSON
           support. UPI replaced the Intel QuickPath Interconnect (QPI) in
           Xeon Skylake-SP.
      
        Intel PT:
      
         - Fix instructions sampling rate.
      
         - Timestamp fixes.
      
         - Improve exported-sql-viewer GUI, allowing, for instance, to
           copy'n'paste the trees, useful for e-mailing"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (73 commits)
        perf stat: Support 'percore' event qualifier
        perf stat: Factor out aggregate counts printing
        perf tools: Add a 'percore' event qualifier
        perf docs: Add description for stderr
        perf intel-pt: Fix sample timestamp wrt non-taken branches
        perf intel-pt: Fix improved sample timestamp
        perf intel-pt: Fix instructions sampling rate
        perf regs x86: Add X86 specific arch__intr_reg_mask()
        perf parse-regs: Add generic support for arch__intr/user_reg_mask()
        perf parse-regs: Split parse_regs
        perf vendor events arm64: Add Cortex-A57 and Cortex-A72 events
        perf vendor events arm64: Map Brahma-B53 CPUID to cortex-a53 events
        perf vendor events arm64: Remove [[:xdigit:]] wildcard
        perf jevents: Remove unused variable
        perf test zstd: Fixup verbose mode output
        perf tests: Implement Zstd comp/decomp integration test
        perf inject: Enable COMPRESSED record decompression
        perf report: Implement perf.data record decompression
        perf record: Implement -z,--compression_level[=<n>] option
        perf report: Add stub processing of compressed events for -D
        ...
      1ba3b5dc
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a13f950e
      Linus Torvalds authored
      Pull clocksource updates from Ingo Molnar:
       "Misc clocksource/clockevent driver updates that came in a bit late but
        are ready for v5.2"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        misc: atmel_tclib: Do not probe already used TCBs
        clocksource/drivers/timer-atmel-tcb: Convert tc_clksrc_suspend|resume() to static
        clocksource/drivers/tcb_clksrc: Rename the file for consistency
        clocksource/drivers/timer-atmel-pit: Rework Kconfig option
        clocksource/drivers/tcb_clksrc: Move Kconfig option
        ARM: at91: Implement clocksource selection
        clocksource/drivers/tcb_clksrc: Use tcb as sched_clock
        clocksource/drivers/tcb_clksrc: Stop depending on atmel_tclib
        ARM: at91: move SoC specific definitions to SoC folder
        clocksource/drivers/timer-milbeaut: Cleanup common register accesses
        clocksource/drivers/timer-milbeaut: Add shutdown function
        clocksource/drivers/timer-milbeaut: Fix to enable one-shot timer
        clocksource/drivers/tegra: Rework for compensation of suspend time
        clocksource/drivers/sp804: Add COMPILE_TEST to CONFIG_ARM_TIMER_SP804
        clocksource/drivers/sun4i: Add a compatible for suniv
        dt-bindings: timer: Add Allwinner suniv timer
      a13f950e
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d9351ea1
      Linus Torvalds authored
      Pull IRQ chip updates from Ingo Molnar:
       "A late irqchips update:
      
         - New TI INTR/INTA set of drivers
      
         - Rewrite of the stm32mp1-exti driver as a platform driver
      
         - Update the IOMMU MSI mapping API to be RT friendly
      
         - A number of cleanups and other low impact fixes"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (34 commits)
        iommu/dma-iommu: Remove iommu_dma_map_msi_msg()
        irqchip/gic-v3-mbi: Don't map the MSI page in mbi_compose_m{b, s}i_msg()
        irqchip/ls-scfg-msi: Don't map the MSI page in ls_scfg_msi_compose_msg()
        irqchip/gic-v3-its: Don't map the MSI page in its_irq_compose_msi_msg()
        irqchip/gicv2m: Don't map the MSI page in gicv2m_compose_msi_msg()
        iommu/dma-iommu: Split iommu_dma_map_msi_msg() in two parts
        genirq/msi: Add a new field in msi_desc to store an IOMMU cookie
        arm64: arch_k3: Enable interrupt controller drivers
        irqchip/ti-sci-inta: Add msi domain support
        soc: ti: Add MSI domain bus support for Interrupt Aggregator
        irqchip/ti-sci-inta: Add support for Interrupt Aggregator driver
        dt-bindings: irqchip: Introduce TISCI Interrupt Aggregator bindings
        irqchip/ti-sci-intr: Add support for Interrupt Router driver
        dt-bindings: irqchip: Introduce TISCI Interrupt router bindings
        gpio: thunderx: Use the default parent apis for {request,release}_resources
        genirq: Introduce irq_chip_{request,release}_resource_parent() apis
        firmware: ti_sci: Add helper apis to manage resources
        firmware: ti_sci: Add RM mapping table for am654
        firmware: ti_sci: Add support for IRQ management
        firmware: ti_sci: Add support for RM core ops
        ...
      d9351ea1
    • Linus Torvalds's avatar
      Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 39feaa3f
      Linus Torvalds authored
      Pull EFI fix from Ingo Molnar:
       "Fix an EFI-fb regression that affects certain x86 systems"
      
      * 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        fbdev/efifb: Ignore framebuffer memmap entries that lack any memory types
      39feaa3f
    • Linus Torvalds's avatar
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1335d9a1
      Linus Torvalds authored
      Pull core fixes from Ingo Molnar:
       "This fixes a particularly thorny munmap() bug with MPX, plus fixes a
        host build environment assumption in objtool"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        objtool: Allow AR to be overridden with HOSTAR
        x86/mpx, mm/core: Fix recursive munmap() corruption
      1335d9a1
    • Linus Torvalds's avatar
      Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 4c4a5c99
      Linus Torvalds authored
      Pull ARM SoC late updates from Olof Johansson:
       "This is some material that we picked up into our tree late. Most of it
        are smaller fixes and additions, some defconfig updates due to recent
        development, etc.
      
        Code-wise the largest portion is a series of PM updates for the at91
        platform, and those have been in linux-next a while through the at91
        tree before we picked them up"
      
      * tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (29 commits)
        arm64: dts: sprd: Add clock properties for serial devices
        Opt out of scripts/get_maintainer.pl
        ARM: ixp4xx: Remove duplicated include from common.c
        soc: ixp4xx: qmgr: Fix an NULL vs IS_ERR() check in probe
        arm64: tegra: Disable XUSB support on Jetson TX2
        arm64: tegra: Enable SMMU translation for PCI on Tegra186
        arm64: tegra: Fix insecure SMMU users for Tegra186
        arm64: tegra: Select ARM_GIC_PM
        amba: tegra-ahb: Mark PM functions as __maybe_unused
        ARM: dts: logicpd-som-lv: Fix MMC1 card detect
        ARM: mvebu: drop return from void function
        ARM: mvebu: prefix coprocessor operand with p
        ARM: mvebu: drop unnecessary label
        ARM: mvebu: fix a leaked reference by adding missing of_node_put
        ARM: socfpga_defconfig: enable LTC2497
        ARM: mvebu: kirkwood: remove error message when retrieving mac address
        ARM: at91: sama5: make ov2640 as a module
        ARM: OMAP1: ams-delta: fix early boot crash when LED support is disabled
        ARM: at91: remove HAVE_FB_ATMEL for sama5 SoC as they use DRM
        soc/fsl/qe: Fix an error code in qe_pin_request()
        ...
      4c4a5c99
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 86a78a8b
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "One fix going back to stable, for a bug on 32-bit introduced when we
        added support for THREAD_INFO_IN_TASK.
      
        A fix for a typo in a recent rework of our hugetlb code that leads to
        crashes on 64-bit when using hugetlbfs with a 4K PAGE_SIZE.
      
        Two fixes for our recent rework of the address layout on 64-bit hash
        CPUs, both only triggered when userspace tries to access addresses
        outside the user or kernel address ranges.
      
        Finally a fix for a recently introduced double free in an error path
        in our cacheinfo code.
      
        Thanks to: Aneesh Kumar K.V, Christophe Leroy, Sachin Sant, Tobin C.
        Harding"
      
      * tag 'powerpc-5.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/cacheinfo: Remove double free
        powerpc/mm/hash: Fix get_region_id() for invalid addresses
        powerpc/mm: Drop VM_BUG_ON in get_region_id()
        powerpc/mm: Fix crashes with hugepages & 4K pages
        powerpc/32s: fix flush_hash_pages() on SMP
      86a78a8b
    • Linus Torvalds's avatar
      Merge tag 'mips_5.2_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · bcd17397
      Linus Torvalds authored
      Pull a few more MIPS updates from Paul Burton:
       "Some SGI IP27 specific PCI rework and a batch of fixes:
      
         - A build fix for BMIPS5000 configurations with
           CONFIG_HW_PERF_EVENTS=y, which also neatly removes some #ifdefery.
      
         - A fix to report supported ISAs correctly on older Ingenic SoCs
           which incorrectly indicate MIPSr2 support in their cop0 Config
           register.
      
         - Some PCI modernization for SGI IP27 systems as part of ongoing work
           to support some other SGI systems.
      
         - A fix allowing use of appended DTB files with generic kernels.
      
         - DMA mask fixes for SGI IP22 & Alchemy systems"
      
      * tag 'mips_5.2_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MIPS: Alchemy: add DMA masks for on-chip ethernet
        MIPS: SGI-IP22: provide missing dma_mask/coherent_dma_mask
        generic: fix appended dtb support
        MIPS: SGI-IP27: abstract chipset irq from bridge
        MIPS: SGI-IP27: use generic PCI driver
        MIPS: Fix Ingenic SoCs sometimes reporting wrong ISA
        MIPS: perf: Fix build with CONFIG_CPU_BMIPS5000 enabled
      bcd17397
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.2-mw2' of... · b0bb1269
      Linus Torvalds authored
      Merge tag 'riscv-for-linus-5.2-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux
      
      Pull RISC-V updates from Palmer Dabbelt:
       "This contains an assortment of RISC-V related patches that I'd like to
        target for the 5.2 merge window. Most of the patches are cleanups, but
        there are a handful of user-visible changes:
      
         - The nosmp and nr_cpus command-line arguments are now supported,
           which work like normal.
      
         - The SBI console no longer installs itself as a preferred console,
           we rely on standard mechanisms (/chosen, command-line, hueristics)
           instead.
      
         - sfence_remove_sfence_vma{,_asid} now pass their arguments along to
           the SBI call.
      
         - Modules now support BUG().
      
         - A missing sfence.vma during boot has been added. This bug only
           manifests during boot.
      
         - The arch/riscv support for SiFive's L2 cache controller has been
           merged, which should un-block the EDAC framework work.
      
        I've only tested this on QEMU again, as I didn't have time to get
        things running on the Unleashed. The latest master from this morning
        merges in cleanly and passes the tests as well"
      
      * tag 'riscv-for-linus-5.2-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux: (31 commits)
        riscv: fix locking violation in page fault handler
        RISC-V: sifive_l2_cache: Add L2 cache controller driver for SiFive SoCs
        RISC-V: Add DT documentation for SiFive L2 Cache Controller
        RISC-V: Avoid using invalid intermediate translations
        riscv: Support BUG() in kernel module
        riscv: Add the support for c.ebreak check in is_valid_bugaddr()
        riscv: support trap-based WARN()
        riscv: fix sbi_remote_sfence_vma{,_asid}.
        riscv: move switch_mm to its own file
        riscv: move flush_icache_{all,mm} to cacheflush.c
        tty: Don't force RISCV SBI console as preferred console
        RISC-V: Access CSRs using CSR numbers
        RISC-V: Add interrupt related SCAUSE defines in asm/csr.h
        RISC-V: Use tabs to align macro values in asm/csr.h
        RISC-V: Fix minor checkpatch issues.
        RISC-V: Support nr_cpus command line option.
        RISC-V: Implement nosmp commandline option.
        RISC-V: Add RISC-V specific arch_match_cpu_phys_id
        riscv: vdso: drop unnecessary cc-ldoption
        riscv: call pm_power_off from machine_halt / machine_power_off
        ...
      b0bb1269