1. 21 Mar, 2024 14 commits
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · bb41fe35
      Linus Torvalds authored
      Pull char/misc and other driver subsystem updates from Greg KH:
       "Here is the big set of char/misc and a number of other driver
        subsystem updates for 6.9-rc1. Included in here are:
      
         - IIO driver updates, loads of new ones and evolution of existing ones
      
         - coresight driver updates
      
         - const cleanups for many driver subsystems
      
         - speakup driver additions
      
         - platform remove callback void cleanups
      
         - mei driver updates
      
         - mhi driver updates
      
         - cdx driver updates for MSI interrupt handling
      
         - nvmem driver updates
      
         - other smaller driver updates and cleanups, full details in the
          shortlog
      
        All of these have been in linux-next for a long time with no reported
        issue, other than a build warning for the speakup driver"
      
      The build warning hits clang and is a gcc (and C23) extension, and is
      fixed up in the merge.
      
      Link: https://lore.kernel.org/all/20240321134831.GA2762840@dev-arch.thelio-3990X/
      
      * tag 'char-misc-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (279 commits)
        binder: remove redundant variable page_addr
        uio_dmem_genirq: UIO_MEM_DMA_COHERENT conversion
        uio_pruss: UIO_MEM_DMA_COHERENT conversion
        cnic,bnx2,bnx2x: use UIO_MEM_DMA_COHERENT
        uio: introduce UIO_MEM_DMA_COHERENT type
        cdx: add MSI support for CDX bus
        pps: use cflags-y instead of EXTRA_CFLAGS
        speakup: Add /dev/synthu device
        speakup: Fix 8bit characters from direct synth
        parport: sunbpp: Convert to platform remove callback returning void
        parport: amiga: Convert to platform remove callback returning void
        char: xillybus: Convert to platform remove callback returning void
        vmw_balloon: change maintainership
        MAINTAINERS: change the maintainer for hpilo driver
        char: xilinx_hwicap: Fix NULL vs IS_ERR() bug
        hpet: remove hpets::hp_clocksource
        platform: goldfish: move the separate 'default' propery for CONFIG_GOLDFISH
        char: xilinx_hwicap: drop casting to void in dev_set_drvdata
        greybus: move is_gb_* functions out of greybus.h
        greybus: Remove usage of the deprecated ida_simple_xx() API
        ...
      bb41fe35
    • Linus Torvalds's avatar
      Merge tag 'staging-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 0a59b3f4
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the big set of Staging driver cleanups for 6.9-rc1. Nothing
        major in here, lots of small coding style cleanups for most drivers,
        and the removal of some obsolete hardare (the emxx_udc and some
        drivers/staging/board/ files).
      
        All of these have been in linux-next for a long time with no reported
        issues"
      
      * tag 'staging-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (122 commits)
        staging: greybus: Replaces directive __attribute__((packed)) by __packed as suggested by checkpatch
        staging: greybus: Replace __attribute__((packed)) by __packed in various instances
        Staging: rtl8192e: Rename function GetHalfNmodeSupportByAPsHandler()
        Staging: rtl8192e: Rename function rtllib_FlushRxTsPendingPkts()
        Staging: rtl8192e: Rename goto OnADDBARsp_Reject
        Staging: rtl8192e: Rename goto OnADDBAReq_Fail
        Staging: rtl8192e: Rename function rtllib_send_ADDBARsp()
        Staging: rtl8192e: Rename function rtllib_send_ADDBAReq()
        Staging: rtl8192e: Rename variable TxRxSelect
        Staging: rtl8192e: Fix 5 chckpatch alignment warnings in rtl819x_BAProc.c
        Staging: rtl8192e: Rename function MgntQuery_MgntFrameTxRate
        Staging: rtl8192e: Rename boolean variable bHalfWirelessN24GMode
        Staging: rtl8192e: Rename reference AllowAllDestAddrHandler
        Staging: rtl8192e: Rename varoable asSta
        Staging: rtl8192e: Rename varoable osCcxVerNum
        Staging: rtl8192e: Rename variable CcxAironetBuf
        Staging: rtl8192e: Rename variable osCcxAironetIE
        Staging: rtl8192e: Rename variable AironetIeOui
        Staging: rtl8192e: Rename variable asRsn
        Staging: rtl8192e: Rename variable CcxVerNumBuf
        ...
      0a59b3f4
    • Linus Torvalds's avatar
      Merge tag 'tty-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 3bcb0bf6
      Linus Torvalds authored
      Pull tty / serial driver updates from Greg KH:
       "Here is the big set of TTY/Serial driver updates and cleanups for
        6.9-rc1. Included in here are:
      
         - more tty cleanups from Jiri
      
         - loads of 8250 driver cleanups from Andy
      
         - max310x driver updates
      
         - samsung serial driver updates
      
         - uart_prepare_sysrq_char() updates for many drivers
      
         - platform driver remove callback void cleanups
      
         - stm32 driver updates
      
         - other small tty/serial driver updates
      
        All of these have been in linux-next for a long time with no reported
        issues"
      
      * tag 'tty-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (199 commits)
        dt-bindings: serial: stm32: add power-domains property
        serial: 8250_dw: Replace ACPI device check by a quirk
        serial: Lock console when calling into driver before registration
        serial: 8250_uniphier: Switch to use uart_read_port_properties()
        serial: 8250_tegra: Switch to use uart_read_port_properties()
        serial: 8250_pxa: Switch to use uart_read_port_properties()
        serial: 8250_omap: Switch to use uart_read_port_properties()
        serial: 8250_of: Switch to use uart_read_port_properties()
        serial: 8250_lpc18xx: Switch to use uart_read_port_properties()
        serial: 8250_ingenic: Switch to use uart_read_port_properties()
        serial: 8250_dw: Switch to use uart_read_port_properties()
        serial: 8250_bcm7271: Switch to use uart_read_port_properties()
        serial: 8250_bcm2835aux: Switch to use uart_read_port_properties()
        serial: 8250_aspeed_vuart: Switch to use uart_read_port_properties()
        serial: port: Introduce a common helper to read properties
        serial: core: Add UPIO_UNKNOWN constant for unknown port type
        serial: core: Move struct uart_port::quirks closer to possible values
        serial: sh-sci: Call sci_serial_{in,out}() directly
        serial: core: only stop transmit when HW fifo is empty
        serial: pch: Use uart_prepare_sysrq_char().
        ...
      3bcb0bf6
    • Linus Torvalds's avatar
      Merge tag 'usb-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · e09bf86f
      Linus Torvalds authored
      Pull USB / Thunderbolt updates from Greg KH:
       "Here is the big set of USB and Thunderbolt changes for 6.9-rc1. Lots
        of tiny changes and forward progress to support new hardware and
        better support for existing devices. Included in here are:
      
         - Thunderbolt (i.e. USB4) updates for newer hardware and uses as more
           people start to use the hardware
      
         - default USB authentication mode Kconfig and documentation update to
           make it more obvious what is going on
      
         - USB typec updates and enhancements
      
         - usual dwc3 driver updates
      
         - usual xhci driver updates
      
         - function USB (i.e. gadget) driver updates and additions
      
         - new device ids for lots of drivers
      
         - loads of other small updates, full details in the shortlog
      
        All of these, including a "last minute regression fix" have been in
        linux-next with no reported issues"
      
      * tag 'usb-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (185 commits)
        usb: usb-acpi: Fix oops due to freeing uninitialized pld pointer
        usb: gadget: net2272: Use irqflags in the call to net2272_probe_fin
        usb: gadget: tegra-xudc: Fix USB3 PHY retrieval logic
        phy: tegra: xusb: Add API to retrieve the port number of phy
        USB: gadget: pxa27x_udc: Remove unused of_gpio.h
        usb: gadget/snps_udc_plat: Remove unused of_gpio.h
        usb: ohci-pxa27x: Remove unused of_gpio.h
        usb: sl811-hcd: only defined function checkdone if QUIRK2 is defined
        usb: Clarify expected behavior of dev_bin_attrs_are_visible()
        xhci: Allow RPM on the USB controller (1022:43f7) by default
        usb: isp1760: remove SLAB_MEM_SPREAD flag usage
        usb: misc: onboard_hub: use pointer consistently in the probe function
        usb: gadget: fsl: Increase size of name buffer for endpoints
        usb: gadget: fsl: Add of device table to enable module autoloading
        usb: typec: tcpm: add support to set tcpc connector orientatition
        usb: typec: tcpci: add generic tcpci fallback compatible
        dt-bindings: usb: typec-tcpci: add tcpci fallback binding
        usb: gadget: fsl-udc: Replace custom log wrappers by dev_{err,warn,dbg,vdbg}
        usb: core: Set connect_type of ports based on DT node
        dt-bindings: usb: Add downstream facing ports to realtek binding
        ...
      e09bf86f
    • Linus Torvalds's avatar
      Merge tag 'hwlock-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · 2ac2b166
      Linus Torvalds authored
      Pull hwspinlock updates from Bjorn Andersson:
       "Some code cleanup for the OMAP hwspinlock driver"
      
      * tag 'hwlock-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux:
        hwspinlock: omap: Use index to get hwspinlock pointer
        hwspinlock: omap: Use devm_hwspin_lock_register() helper
        hwspinlock: omap: Use devm_pm_runtime_enable() helper
        hwspinlock: omap: Remove unneeded check for OF node
      2ac2b166
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · 91f263dd
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This transitions rpmsg_ctrl and rpmsg_char drivers away from the
        deprecated ida_simple_*() API. It also makes the rpmsg_bus const"
      
      * tag 'rpmsg-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux:
        rpmsg: core: Make rpmsg_bus const
        rpmsg: Remove usage of the deprecated ida_simple_xx() API
      91f263dd
    • Linus Torvalds's avatar
      Merge tag 'rproc-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux · 0e875ee5
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "Qualcomm SM8650 audio, compute and modem remoteproc are added.
        Qualcomm X1 Elite audio and compute remoteprocs are added, after
        support for shutting down the bootloader-loaded firmware loaded into
        the audio DSP..
      
        A dozen drivers in the subsystem are transitioned to use devres
        helpers for remoteproc and memory allocations - this makes it possible
        to acquire in-kernel handle to individual remoteproc instances in a
        cluster.
      
        The release of DMA memory for remoteproc virtio is corrected to ensure
        that restarting due to a watchdog bite doesn't attempt to allocate the
        memory again without first freeing it.
      
        Last, but not least, a couple of DeviceTree binding cleanups"
      
      * tag 'rproc-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux: (30 commits)
        remoteproc: qcom_q6v5_pas: Unload lite firmware on ADSP
        remoteproc: qcom_q6v5_pas: Add support for X1E80100 ADSP/CDSP
        dt-bindings: remoteproc: qcom,sm8550-pas: document the X1E80100 aDSP & cDSP
        remoteproc: qcom_wcnss: Use devm_rproc_alloc() helper
        remoteproc: qcom_q6v5_wcss: Use devm_rproc_alloc() helper
        remoteproc: qcom_q6v5_pas: Use devm_rproc_alloc() helper
        remoteproc: qcom_q6v5_mss: Use devm_rproc_alloc() helper
        remoteproc: qcom_q6v5_adsp: Use devm_rproc_alloc() helper
        dt-bindings: remoteproc: do not override firmware-name $ref
        dt-bindings: remoteproc: qcom,glink-rpm-edge: drop redundant type from label
        remoteproc: qcom: pas: correct data indentation
        remoteproc: Make rproc_get_by_phandle() work for clusters
        remoteproc: qcom: pas: Add SM8650 remoteproc support
        remoteproc: qcom: pas: make region assign more generic
        dt-bindings: remoteproc: qcom,sm8550-pas: document the SM8650 PAS
        remoteproc: k3-dsp: Use devm_rproc_add() helper
        remoteproc: k3-dsp: Use devm_ioremap_wc() helper
        remoteproc: k3-dsp: Add devm action to release tsp
        remoteproc: k3-dsp: Use devm_kzalloc() helper
        remoteproc: k3-dsp: Use devm_ti_sci_get_by_phandle() helper
        ...
      0e875ee5
    • Linus Torvalds's avatar
      Merge tag 'cocci-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux · ebc9bee8
      Linus Torvalds authored
      Pull coccinelle update from Julia Lawall:
       "Simplify the device_attr_show semantic patch
      
        Also removes an unused variable warning"
      
      * tag 'cocci-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux:
        coccinelle: device_attr_show: Remove useless expression STR
      ebc9bee8
    • Linus Torvalds's avatar
      Merge tag 'sh-for-v6.9-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/glaubitz/sh-linux · 26bbcd63
      Linus Torvalds authored
      Pull sh updates from John Paul Adrian Glaubitz:
       "Two patches by Ricardo B. Marliere make two instances of struct
        bus_type in the interrupt controller driver and the DMA sysfs
        interface const since the driver core in the kernel is now able to
        handle that.
      
        A third patch by Artur Rojek enforces internal linkage for the
        function setup_hd64461() in order to fix the build of hp6xx_defconfig
        with -Werror=missing-prototypes"
      
      * tag 'sh-for-v6.9-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/glaubitz/sh-linux:
        sh: hd64461: Make setup_hd64461() static
        sh: intc: Make intc_subsys const
        sh: dma-sysfs: Make dma_subsys const
      26bbcd63
    • Linus Torvalds's avatar
      Merge tag 'hyperv-next-signed-20240320' of... · cfce216e
      Linus Torvalds authored
      Merge tag 'hyperv-next-signed-20240320' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux
      
      Pull hyperv updates from Wei Liu:
      
       - Use Hyper-V entropy to seed guest random number generator (Michael
         Kelley)
      
       - Convert to platform remove callback returning void for vmbus (Uwe
         Kleine-König)
      
       - Introduce hv_get_hypervisor_version function (Nuno Das Neves)
      
       - Rename some HV_REGISTER_* defines for consistency (Nuno Das Neves)
      
       - Change prefix of generic HV_REGISTER_* MSRs to HV_MSR_* (Nuno Das
         Neves)
      
       - Cosmetic changes for hv_spinlock.c (Purna Pavan Chandra Aekkaladevi)
      
       - Use per cpu initial stack for vtl context (Saurabh Sengar)
      
      * tag 'hyperv-next-signed-20240320' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
        x86/hyperv: Use Hyper-V entropy to seed guest random number generator
        x86/hyperv: Cosmetic changes for hv_spinlock.c
        hyperv-tlfs: Rename some HV_REGISTER_* defines for consistency
        hv: vmbus: Convert to platform remove callback returning void
        mshyperv: Introduce hv_get_hypervisor_version function
        x86/hyperv: Use per cpu initial stack for vtl context
        hyperv-tlfs: Change prefix of generic HV_REGISTER_* MSRs to HV_MSR_*
      cfce216e
    • Linus Torvalds's avatar
      Merge tag 'for-6.9-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 7b65c810
      Linus Torvalds authored
      Pull btrfs fix from David Sterba:
       "Fix a problem found in 6.7 after adding the temp-fsid feature which
        changed device tracking in memory and broke grub-probe. This is used
        on initrd-less systems. There were several iterations of the fix and
        it took longer than expected"
      
      * tag 'for-6.9-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: do not skip re-registration for the mounted device
      7b65c810
    • Linus Torvalds's avatar
      Merge tag 'exfat-for-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat · 1b3e2513
      Linus Torvalds authored
      Pull exfat updates from Namjae Jeon:
      
       - Improve dirsync performance by syncing on a dentry-set rather than on
         a per-directory entry
      
      * tag 'exfat-for-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat:
        exfat: remove duplicate update parent dir
        exfat: do not sync parent dir if just update timestamp
        exfat: remove unused functions
        exfat: convert exfat_find_empty_entry() to use dentry cache
        exfat: convert exfat_init_ext_entry() to use dentry cache
        exfat: move free cluster out of exfat_init_ext_entry()
        exfat: convert exfat_remove_entries() to use dentry cache
        exfat: convert exfat_add_entry() to use dentry cache
        exfat: add exfat_get_empty_dentry_set() helper
        exfat: add __exfat_get_dentry_set() helper
      1b3e2513
    • Linus Torvalds's avatar
      Merge tag 'bitmap-for-6.9' of https://github.com/norov/linux · 879e2886
      Linus Torvalds authored
      Pull bitmap updates from Yury Norov:
       "A couple of random cleanups plus a step-down patch from Andy"
      
      * tag 'bitmap-for-6.9' of https://github.com/norov/linux:
        bitmap: Step down as a reviewer
        lib/find: optimize find_*_bit_wrap
        lib/find_bit: Fix the code comments about find_next_bit_wrap
      879e2886
    • Artur Rojek's avatar
      sh: hd64461: Make setup_hd64461() static · 1e21acb7
      Artur Rojek authored
      Enforce internal linkage for setup_hd64461().
      
      This fixes the following error:
      arch/sh/cchips/hd6446x/hd64461.c:75:12: error: no previous prototype for 'setup_hd64461' [-Werror=missing-prototypes]
      Signed-off-by: default avatarArtur Rojek <contact@artur-rojek.eu>
      Reviewed-by: default avatarJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
      Link: https://lore.kernel.org/r/20240211193451.106795-1-contact@artur-rojek.euSigned-off-by: default avatarJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
      1e21acb7
  2. 20 Mar, 2024 8 commits
    • Linus Torvalds's avatar
      Merge tag 'v6.9-rc-smb3-server-fixes' of git://git.samba.org/ksmbd · 23956900
      Linus Torvalds authored
      Pull smb server updates from Steve French:
      
       - add support for durable file handles (an important data integrity
         feature)
      
       - fixes for potential out of bounds issues
      
       - fix possible null dereference in close
      
       - getattr fixes
      
       - trivial typo fix and minor cleanup
      
      * tag 'v6.9-rc-smb3-server-fixes' of git://git.samba.org/ksmbd:
        ksmbd: remove module version
        ksmbd: fix potencial out-of-bounds when buffer offset is invalid
        ksmbd: fix slab-out-of-bounds in smb_strndup_from_utf16()
        ksmbd: Fix spelling mistake "connction" -> "connection"
        ksmbd: fix possible null-deref in smb_lazy_parent_lease_break_close
        ksmbd: add support for durable handles v1/v2
        ksmbd: mark SMB2_SESSION_EXPIRED to session when destroying previous session
        ksmbd: retrieve number of blocks using vfs_getattr in set_file_allocation_info
        ksmbd: replace generic_fillattr with vfs_getattr
      23956900
    • Linus Torvalds's avatar
      Merge tag 'trace-tools-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 42c2a756
      Linus Torvalds authored
      Pull trace tool updates from Steven Rostedt:
       "Tracing:
      
         - Update makefiles for latency-collector and RTLA, using tools/build/
           makefiles like perf does, inheriting its benefits. For example,
           having a proper way to handle library dependencies.
      
         - The timerlat tracer has an interface for any tool to use. rtla
           timerlat tool uses this interface dispatching its own threads as
           workload. But, rtla timerlat could also be used for any other
           process. So, add 'rtla timerlat -U' option, allowing the timerlat
           tool to measure the latency of any task using the timerlat tracer
           interface.
      
        Verification:
      
         - Update makefiles for verification/rv, using tools/build/ makefiles
           like perf does, inheriting its benefits. For example, having a
           proper way to handle dependencies"
      
      * tag 'trace-tools-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tools/rtla: Add -U/--user-load option to timerlat
        tools/verification: Use tools/build makefiles on rv
        tools/rtla: Use tools/build makefiles to build rtla
        tools/tracing: Use tools/build makefiles on latency-collector
      42c2a756
    • Linus Torvalds's avatar
      Merge tag 'docs-6.9-2' of git://git.lwn.net/linux · dba89d1b
      Linus Torvalds authored
      Pull more documentation updates from Jonathan Corbet:
       "A handful of late-arriving documentation fixes and enhancements"
      
      * tag 'docs-6.9-2' of git://git.lwn.net/linux:
        docs: verify/bisect: remove a level of indenting
        docs: verify/bisect: drop 'v' prefix, EOL aspect, and assorted fixes
        docs: verify/bisect: check taint flag
        docs: verify/bisect: improve install instructions
        docs: handling-regressions.rst: Update regzbot command fixed-by to fix
        docs: *-regressions.rst: Add colon to regzbot commands
        doc: Fix typo in admin-guide/cifs/introduction.rst
        README: Fix spelling
      dba89d1b
    • Daniel Bristot de Oliveira's avatar
      tools/rtla: Add -U/--user-load option to timerlat · a23c05fd
      Daniel Bristot de Oliveira authored
      The timerlat tracer provides an interface for any application to wait
      for the timerlat's periodic wakeup. Currently, rtla timerlat uses it
      to dispatch its user-space workload (-u option).
      
      But as the tracer interface is generic, rtla timerlat can also be used
      to monitor any workload that uses it. For example, a user might
      place their own workload to wait on the tracer interface, and
      monitor the results with rtla timerlat.
      
      Add the -U option to rtla timerlat top and hist. With this option, rtla
      timerlat will not dispatch its workload but only setting up the
      system, waiting for a user to dispatch its workload.
      
      The sample code in this patch is an example of python application
      that loops in the timerlat tracer fd.
      
      To use it, dispatch:
      
       # rtla timerlat -U
      
      In a terminal, then run the python program on another terminal,
      specifying the CPU to run it. For example, setting on CPU 1:
      
       #./timerlat_load.py 1
      
      Then rtla timerlat will start printing the statistics of the
      ./timerlat_load.py app.
      
      An interesting point is that the "Ret user Timer Latency" value
      is the overall response time of the load. The sample load does
      a memory copy to exemplify that.
      
      The stop tracing options on rtla timerlat works in this setup
      as well, including auto analysis.
      
      Link: https://lkml.kernel.org/r/36e6bcf18fe15c7601048fd4c65aeb193c502cc8.1707229706.git.bristot@kernel.org
      
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Signed-off-by: default avatarDaniel Bristot de Oliveira <bristot@kernel.org>
      a23c05fd
    • Daniel Bristot de Oliveira's avatar
      tools/verification: Use tools/build makefiles on rv · 012e4e77
      Daniel Bristot de Oliveira authored
      Use tools/build/ makefiles to build rv, inheriting the benefits of
      it. For example, having a proper way to handle dependencies.
      
      Link: https://lkml.kernel.org/r/2a38a8f7b8dc65fa790381ec9ab42fb62beb2e25.1710519524.git.bristot@kernel.org
      
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Josh Poimboeuf <jpoimboe@kernel.org>
      Cc: John Kacur <jkacur@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarDaniel Bristot de Oliveira <bristot@kernel.org>
      012e4e77
    • Daniel Bristot de Oliveira's avatar
      tools/rtla: Use tools/build makefiles to build rtla · 01474dc7
      Daniel Bristot de Oliveira authored
      Use tools/build/ makefiles to build rtla, inheriting the benefits of
      it. For example, having a proper way to handle dependencies.
      
      rtla is built using perf infra-structure when building inside the
      kernel tree.
      
      At this point, rtla diverges from perf in two points: Documentation
      and tarball generation/build.
      
      At the documentation level, rtla is one step ahead, placing the
      documentation at Documentation/tools/rtla/, using the same build
      tools as kernel documentation. The idea is to move perf
      documentation to the same scheme and then share the same makefiles.
      
      rtla has a tarball target that the (old) RHEL8 uses. The tarball was
      kept using a simple standalone makefile for compatibility. The
      standalone makefile shares most of the code, e.g., flags, with
      regular buildings.
      
      The tarball method was set as deprecated. If necessary, we can make
      a rtla tarball like perf, which includes the entire tools/build.
      But this would also require changes in the user side (the directory
      structure changes, and probably the deps to build the package).
      
      Inspired on perf and objtool.
      
      Link: https://lkml.kernel.org/r/57563abf2715d22515c0c54a87cff3849eca5d52.1710519524.git.bristot@kernel.org
      
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Josh Poimboeuf <jpoimboe@kernel.org>
      Cc: John Kacur <jkacur@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarDaniel Bristot de Oliveira <bristot@kernel.org>
      01474dc7
    • Daniel Bristot de Oliveira's avatar
      tools/tracing: Use tools/build makefiles on latency-collector · 9d56c88e
      Daniel Bristot de Oliveira authored
      Use tools/build/ makefiles to build latency-collector, inheriting
      the benefits of it. For example: Before this patch, a missing
      tracefs/traceevents headers will result in fail like this:
      
        ~/linux/tools/tracing/latency $ make
        cc -Wall -Wextra -g -O2  -o latency-collector latency-collector.c -lpthread
        latency-collector.c:26:10: fatal error: tracefs.h: No such file or directory
           26 | #include <tracefs.h>
              |          ^~~~~~~~~~~
        compilation terminated.
        make: *** [Makefile:14: latency-collector] Error 1
      
      Which is not that helpful. After this change it reports:
      
        ~/linux/tools/tracing/latency# make
      
        Auto-detecting system features:
        ...                           libtraceevent: [ OFF ]
        ...                              libtracefs: [ OFF ]
      
        libtraceevent is missing. Please install libtraceevent-dev/libtraceevent-devel
        libtracefs is missing. Please install libtracefs-dev/libtracefs-devel
        Makefile.config:29: *** Please, check the errors above..  Stop.
      
      This type of output is common across other tools in tools/ like perf
      and objtool.
      
      Link: https://lkml.kernel.org/r/872420b0880b11304e4ba144a0086c6478c5b469.1710519524.git.bristot@kernel.org
      
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Josh Poimboeuf <jpoimboe@kernel.org>
      Cc: John Kacur <jkacur@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarDaniel Bristot de Oliveira <bristot@kernel.org>
      9d56c88e
    • Linus Torvalds's avatar
      Merge tag 'bcachefs-2024-03-19' of https://evilpiepirate.org/git/bcachefs · a4145ce1
      Linus Torvalds authored
      Pull bcachefs fixes from Kent Overstreet:
       "Assorted bugfixes.
      
        Most are fixes for simple assertion pops; the most significant fix is
        for a deadlock in recovery when we have to rewrite large numbers of
        btree nodes to fix errors. This was incorrectly running out of the
        same workqueue as the core interior btree update path - we now give it
        its own single threaded workqueue.
      
        This was visible to users as "bch2_btree_update_start(): error:
        BCH_ERR_journal_reclaim_would_deadlock" - and then recovery hanging"
      
      * tag 'bcachefs-2024-03-19' of https://evilpiepirate.org/git/bcachefs:
        bcachefs: Fix lost wakeup on journal shutdown
        bcachefs; Fix deadlock in bch2_btree_update_start()
        bcachefs: ratelimit errors from async_btree_node_rewrite
        bcachefs: Run check_topology() first
        bcachefs: Improve bch2_fatal_error()
        bcachefs: Fix lost transaction restart error
        bcachefs: Don't corrupt journal keys gap buffer when dropping alloc info
        bcachefs: fix for building in userspace
        bcachefs: bch2_snapshot_is_ancestor() now safe to call in early recovery
        bcachefs: Fix nested transaction restart handling in bch2_bucket_gens_init()
        bcachefs: Improve sysfs internal/btree_updates
        bcachefs: Split out btree_node_rewrite_worker
        bcachefs: Fix locking in bch2_alloc_write_key()
        bcachefs: Avoid extent entry type assertions in .invalid()
        bcachefs: Fix spurious -BCH_ERR_transaction_restart_nested
        bcachefs: Fix check_key_has_snapshot() call
        bcachefs: Change "accounting overran journal reservation" to a warning
      a4145ce1
  3. 19 Mar, 2024 18 commits
    • Linus Torvalds's avatar
      Merge tag 'soc-late-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 78c3925c
      Linus Torvalds authored
      Pull more ARM SoC updates from Arnd Bergmann:
       "These are changes that for some reason ended up not making it into the
        first four branches but that should still make it into 6.9:
      
         - A rework of the omap clock support that touches both drivers and
           device tree files
      
         - The reset controller branch changes that had a dependency on late
           bugfixes. Merging them here avoids a backmerge of 6.8-rc5 into the
           drivers branch
      
         - The RISC-V/starfive, RISC-V/microchip and ARM/Broadcom devicetree
           changes that got delayed and needed some extra time in linux-next
           for wider testing"
      
      * tag 'soc-late-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (31 commits)
        soc: fsl: dpio: fix kcalloc() argument order
        bus: ts-nbus: Improve error reporting
        bus: ts-nbus: Convert to atomic pwm API
        riscv: dts: starfive: jh7110: Add camera subsystem nodes
        ARM: bcm: stop selecing CONFIG_TICK_ONESHOT
        ARM: dts: omap3: Update clksel clocks to use reg instead of ti,bit-shift
        ARM: dts: am3: Update clksel clocks to use reg instead of ti,bit-shift
        clk: ti: Improve clksel clock bit parsing for reg property
        clk: ti: Handle possible address in the node name
        dt-bindings: pwm: opencores: Add compatible for StarFive JH8100
        dt-bindings: riscv: cpus: reg matches hart ID
        reset: Instantiate reset GPIO controller for shared reset-gpios
        reset: gpio: Add GPIO-based reset controller
        cpufreq: do not open-code of_phandle_args_equal()
        of: Add of_phandle_args_equal() helper
        reset: simple: add support for Sophgo SG2042
        dt-bindings: reset: sophgo: support SG2042
        riscv: dts: microchip: add specific compatible for mpfs pdma
        riscv: dts: microchip: add missing CAN bus clocks
        ARM: brcmstb: Add debug UART entry for 74165
        ...
      78c3925c
    • Linus Torvalds's avatar
      Merge tag 's390-6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · f9c03549
      Linus Torvalds authored
      Pull more s390 updates from Heiko Carstens:
      
       - Various virtual vs physical address usage fixes
      
       - Add new bitwise types and helper functions and use them in s390
         specific drivers and code to make it easier to find virtual vs
         physical address usage bugs.
      
         Right now virtual and physical addresses are identical for s390,
         except for module, vmalloc, and similar areas. This will be changed,
         hopefully with the next merge window, so that e.g. the kernel image
         and modules will be located close to each other, allowing for direct
         branches and also for some other simplifications.
      
         As a prerequisite this requires to fix all misuses of virtual and
         physical addresses. As it turned out people are so used to the
         concept that virtual and physical addresses are the same, that new
         bugs got added to code which was already fixed. In order to avoid
         that even more code gets merged which adds such bugs add and use new
         bitwise types, so that sparse can be used to find such usage bugs.
      
         Most likely the new types can go away again after some time
      
       - Provide a simple ARCH_HAS_DEBUG_VIRTUAL implementation
      
       - Fix kprobe branch handling: if an out-of-line single stepped relative
         branch instruction has a target address within a certain address area
         in the entry code, the program check handler may incorrectly execute
         cleanup code as if KVM code was executed, leading to crashes
      
       - Fix reference counting of zcrypt card objects
      
       - Various other small fixes and cleanups
      
      * tag 's390-6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (41 commits)
        s390/entry: compare gmap asce to determine guest/host fault
        s390/entry: remove OUTSIDE macro
        s390/entry: add CIF_SIE flag and remove sie64a() address check
        s390/cio: use while (i--) pattern to clean up
        s390/raw3270: make class3270 constant
        s390/raw3270: improve raw3270_init() readability
        s390/tape: make tape_class constant
        s390/vmlogrdr: make vmlogrdr_class constant
        s390/vmur: make vmur_class constant
        s390/zcrypt: make zcrypt_class constant
        s390/mm: provide simple ARCH_HAS_DEBUG_VIRTUAL support
        s390/vfio_ccw_cp: use new address translation helpers
        s390/iucv: use new address translation helpers
        s390/ctcm: use new address translation helpers
        s390/lcs: use new address translation helpers
        s390/qeth: use new address translation helpers
        s390/zfcp: use new address translation helpers
        s390/tape: fix virtual vs physical address confusion
        s390/3270: use new address translation helpers
        s390/3215: use new address translation helpers
        ...
      f9c03549
    • Steven Rostedt (Google)'s avatar
      tracing: Just use strcmp() for testing __string() and __assign_str() match · 24f5bb9f
      Steven Rostedt (Google) authored
      As __assign_str() no longer uses its "src" parameter, there's a check to
      make sure nothing depends on it being different than what was passed to
      __string(). It originally just compared the pointer passed to __string()
      with the pointer passed into __assign_str() via the "src" parameter. But
      there's a couple of outliers that just pass in a quoted string constant,
      where comparing the pointers is UB to the compiler, as the compiler is
      free to create multiple copies of the same string constant.
      
      Instead, just use strcmp(). It may slow down the trace event, but this
      will eventually be removed.
      
      Also, fix the issue of passing NULL to strcmp() by adding a WARN_ON() to
      make sure that both "src" and the pointer saved in __string() are either
      both NULL or have content, and then checking if "src" is not NULL before
      performing the strcmp().
      
      Link: https://lore.kernel.org/all/CAHk-=wjxX16kWd=uxG5wzqt=aXoYDf1BgWOKk+qVmAO0zh7sjA@mail.gmail.com/
      
      Fixes: b1afefa6 ("tracing: Use strcmp() in __assign_str() WARN_ON() check")
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      24f5bb9f
    • Linus Torvalds's avatar
      Merge tag 'pm-6.9-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · fbd88dd0
      Linus Torvalds authored
      Pull more power management updates from Rafael Wysocki:
       "These update the Energy Model to make it prevent errors due to power
        unit mismatches, fix a typo in power management documentation, convert
        one driver to using a platform remove callback returning void, address
        two cpufreq issues (one in the core and one in the DT driver), and
        enable boost support in the SCMI cpufreq driver.
      
        Specifics:
      
         - Modify the Energy Model code to bail out and complain if the unit
           of power is not uW to prevent errors due to unit mismatches (Lukasz
           Luba)
      
         - Make the intel_rapl platform driver use a remove callback returning
           void (Uwe Kleine-König)
      
         - Fix typo in the suspend and interrupts document (Saravana Kannan)
      
         - Make per-policy boost flags actually take effect on platforms using
           cpufreq_boost_set_sw() (Sibi Sankar)
      
         - Enable boost support in the SCMI cpufreq driver (Sibi Sankar)
      
         - Make the DT cpufreq driver use zalloc_cpumask_var() for allocating
           cpumasks to avoid using unitinialized memory (Marek Szyprowski)"
      
      * tag 'pm-6.9-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: scmi: Enable boost support
        firmware: arm_scmi: Add support for marking certain frequencies as turbo
        cpufreq: dt: always allocate zeroed cpumask
        cpufreq: Fix per-policy boost behavior on SoCs using cpufreq_boost_set_sw()
        Documentation: power: Fix typo in suspend and interrupts doc
        PM: EM: Force device drivers to provide power in uW
        powercap: intel_rapl: Convert to platform remove callback returning void
      fbd88dd0
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.9-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6d37f7e7
      Linus Torvalds authored
      Pull more ACPI updates from Rafael Wysocki:
       "These update ACPI documentation and kerneldoc comments.
      
        Specifics:
      
         - Add markup to generate links from footnotes in the ACPI enumeration
           document (Chris Packham)
      
         - Update the handle_eject_request() kerneldoc comment to document the
           arguments of the function and improve kerneldoc comments for ACPI
           suspend and hibernation functions (Yang Li)"
      
      * tag 'acpi-6.9-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: PM: Improve kerneldoc comments for suspend and hibernation functions
        ACPI: docs: enumeration: Make footnotes links
        ACPI: Document handle_eject_request() arguments
      6d37f7e7
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.9-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · ed302ad5
      Linus Torvalds authored
      Pull more thermal control updates from Rafael Wysocki:
       "These update thermal drivers for ARM platforms by adding new hardware
        support (r8a779h0, H616 THS), addressing issues (Mediatek LVTS,
        Mediatek MT7896, thermal-of) and cleaning up code.
      
        Specifics:
      
         - Fix memory leak in the error path at probe time in the Mediatek
           LVTS driver (Christophe Jaillet)
      
         - Fix control buffer enablement regression on Meditek MT7896 (Frank
           Wunderlich)
      
         - Drop spaces before TABs in different places: thermal-of, ST drivers
           and Makefile (Geert Uytterhoeven)
      
         - Adjust DT binding for NXP as fsl,tmu-range min/maxItems can vary
           among several SoC versions (Fabio Estevam)
      
         - Add support for the H616 THS controller on Sun8i platforms (Martin
           Botka)
      
         - Don't fail probe due to zone registration failure because there is
           no trip points defined in the DT (Mark Brown)
      
         - Support variable TMU array size for new platforms (Peng Fan)
      
         - Adjust the DT binding for thermal-of and make the polling time not
           required and assume it is zero when not found in the DT (Konrad
           Dybcio)
      
         - Add r8a779h0 support in both the DT and the rcar_gen3 driver (Geert
           Uytterhoeven)"
      
      * tag 'thermal-6.9-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal/drivers/rcar_gen3: Add support for R-Car V4M
        dt-bindings: thermal: rcar-gen3-thermal: Add r8a779h0 support
        thermal/of: Assume polling-delay(-passive) 0 when absent
        dt-bindings: thermal-zones: Don't require polling-delay(-passive)
        thermal/drivers/qoriq: Fix getting tmu range
        thermal/drivers/sun8i: Don't fail probe due to zone registration failure
        thermal/drivers/sun8i: Add support for H616 THS controller
        thermal/drivers/sun8i: Add SRAM register access code
        thermal/drivers/sun8i: Extend H6 calibration to support 4 sensors
        thermal/drivers/sun8i: Explain unknown H6 register value
        dt-bindings: thermal: sun8i: Add H616 THS controller
        soc: sunxi: sram: export register 0 for THS on H616
        dt-bindings: thermal: qoriq-thermal: Adjust fsl,tmu-range min/maxItems
        thermal: Drop spaces before TABs
        thermal/drivers/mediatek: Fix control buffer enablement on MT7896
        thermal/drivers/mediatek/lvts_thermal: Fix a memory leak in an error handling path
      ed302ad5
    • Linus Torvalds's avatar
      Merge tag 'ata-6.9-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux · 2f3c2b39
      Linus Torvalds authored
      Pull ata fix from Niklas Cassel:
       "A single fix for ASMedia HBAs.
      
        These HBAs do not indicate that they support SATA Port Multipliers
        CAP.SPM (Supports Port Multiplier) is not set.
      
        Likewise, they do not allow you to probe the devices behind an
        attached PMP, as defined according to the SATA-IO PMP specification.
      
        Instead, they have decided to implement their own version of PMP,
        and because of this, plugging in a PMP actually works, even if the
        HBA claims that it does not support PMP.
      
        Revert a recent quirk for these HBAs, as that breaks ASMedia's own
        implementation of PMP.
      
        Unfortunately, this will once again give some users of these HBAs
        significantly increased boot time. However, a longer boot time for
        some, is the lesser evil compared to some other users not being able
        to detect their drives at all"
      
      * tag 'ata-6.9-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
        ahci: asm1064: asm1166: don't limit reported ports
      2f3c2b39
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · d95fcdf4
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
      
       - Per vq sizes in vdpa
      
       - Info query for block devices support in vdpa
      
       - DMA sync callbacks in vduse
      
       - Fixes, cleanups
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (35 commits)
        virtio_net: rename free_old_xmit_skbs to free_old_xmit
        virtio_net: unify the code for recycling the xmit ptr
        virtio-net: add cond_resched() to the command waiting loop
        virtio-net: convert rx mode setting to use workqueue
        virtio: packed: fix unmap leak for indirect desc table
        vDPA: report virtio-blk flush info to user space
        vDPA: report virtio-block read-only info to user space
        vDPA: report virtio-block write zeroes configuration to user space
        vDPA: report virtio-block discarding configuration to user space
        vDPA: report virtio-block topology info to user space
        vDPA: report virtio-block MQ info to user space
        vDPA: report virtio-block max segments in a request to user space
        vDPA: report virtio-block block-size to user space
        vDPA: report virtio-block max segment size to user space
        vDPA: report virtio-block capacity to user space
        virtio: make virtio_bus const
        vdpa: make vdpa_bus const
        vDPA/ifcvf: implement vdpa_config_ops.get_vq_num_min
        vDPA/ifcvf: get_max_vq_size to return max size
        virtio_vdpa: create vqs with the actual size
        ...
      d95fcdf4
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.9-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 0815d5cc
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - Xen event channel handling fix for a regression with a rare kernel
         config and some added hardening
      
       - better support of running Xen dom0 in PVH mode
      
       - a cleanup for the xen grant-dma-iommu driver
      
      * tag 'for-linus-6.9-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/events: increment refcnt only if event channel is refcounted
        xen/evtchn: avoid WARN() when unbinding an event channel
        x86/xen: attempt to inflate the memory balloon on PVH
        xen/grant-dma-iommu: Convert to platform remove callback returning void
      0815d5cc
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-em', 'pm-powercap' and 'pm-sleep' · a6d65909
      Rafael J. Wysocki authored
      Merge additional updates related to the Energy Model, power capping
      and system-wide power management for 6.9-rc1:
      
       - Modify the Energy Model code to bail out and complain if the unit of
         power is not uW to prevent errors due to unit mismatches (Lukasz
         Luba).
      
       - Make the intel_rapl platform driver use a remove callback returning
         void (Uwe Kleine-König).
      
       - Fix typo in the suspend and interrupts document (Saravana Kannan).
      
      * pm-em:
        PM: EM: Force device drivers to provide power in uW
      
      * pm-powercap:
        powercap: intel_rapl: Convert to platform remove callback returning void
      
      * pm-sleep:
        Documentation: power: Fix typo in suspend and interrupts doc
      a6d65909
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-docs' · a873add2
      Rafael J. Wysocki authored
      Merge an ACPI documentation update for 6.9-rc1 which adds markup to
      generate links from footnotes in the enumeration document.
      
      * acpi-docs:
        ACPI: docs: enumeration: Make footnotes links
      a873add2
    • Mathias Nyman's avatar
      usb: usb-acpi: Fix oops due to freeing uninitialized pld pointer · a788e53c
      Mathias Nyman authored
      If reading the ACPI _PLD port location object fails, or the port
      doesn't have a _PLD ACPI object then the *pld pointer will remain
      uninitialized and oops when freed.
      
      The patch that caused this is currently in next, on its way to v6.9.
      So no need to add this to stable or current 6.8 kernel.
      Reported-by: default avatarKlara Modin <klarasmodin@gmail.com>
      Closes: https://lore.kernel.org/linux-usb/7e92369a-3197-4883-9988-3c93452704f5@gmail.com/Tested-by: default avatarKlara Modin <klarasmodin@gmail.com>
      Fixes: f3ac348e ("usb: usb-acpi: Set port connect type of not connectable ports correctly")
      Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
      Link: https://lore.kernel.org/r/20240308113425.1144689-1-mathias.nyman@linux.intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a788e53c
    • Yuezhang Mo's avatar
      exfat: remove duplicate update parent dir · dc38fdc5
      Yuezhang Mo authored
      For renaming, the directory only needs to be updated once if it
      is in the same directory.
      Signed-off-by: default avatarYuezhang Mo <Yuezhang.Mo@sony.com>
      Reviewed-by: default avatarAndy Wu <Andy.Wu@sony.com>
      Reviewed-by: default avatarAoyama Wataru <wataru.aoyama@sony.com>
      Reviewed-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
      dc38fdc5
    • Yuezhang Mo's avatar
      exfat: do not sync parent dir if just update timestamp · 96cf51ac
      Yuezhang Mo authored
      When sync or dir_sync is enabled, there is no need to sync the
      parent directory's inode if only for updating its timestamp.
      
      1. If an unexpected power failure occurs, the timestamp of the
         parent directory is not updated to the storage, which has no
         impact on the user.
      
      2. The number of writes will be greatly reduced, which can not
         only improve performance, but also prolong device life.
      Signed-off-by: default avatarYuezhang Mo <Yuezhang.Mo@sony.com>
      Reviewed-by: default avatarAndy Wu <Andy.Wu@sony.com>
      Reviewed-by: default avatarAoyama Wataru <wataru.aoyama@sony.com>
      Reviewed-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
      96cf51ac
    • Yuezhang Mo's avatar
      exfat: remove unused functions · 4d714559
      Yuezhang Mo authored
      exfat_count_ext_entries() is no longer called, remove it.
      exfat_update_dir_chksum() is no longer called, remove it and
      rename exfat_update_dir_chksum_with_entry_set() to it.
      Signed-off-by: default avatarYuezhang Mo <Yuezhang.Mo@sony.com>
      Reviewed-by: default avatarAndy Wu <Andy.Wu@sony.com>
      Reviewed-by: default avatarAoyama Wataru <wataru.aoyama@sony.com>
      Reviewed-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
      4d714559
    • Yuezhang Mo's avatar
      exfat: convert exfat_find_empty_entry() to use dentry cache · af02c72d
      Yuezhang Mo authored
      Before this conversion, each dentry traversed needs to be read
      from the storage device or page cache. There are at least 16
      dentries in a sector. This will result in frequent page cache
      searches.
      
      After this conversion, if all directory entries in a sector are
      used, the sector only needs to be read once.
      Signed-off-by: default avatarYuezhang Mo <Yuezhang.Mo@sony.com>
      Reviewed-by: default avatarAndy Wu <Andy.Wu@sony.com>
      Reviewed-by: default avatarAoyama Wataru <wataru.aoyama@sony.com>
      Reviewed-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
      af02c72d
    • Yuezhang Mo's avatar
      exfat: convert exfat_init_ext_entry() to use dentry cache · d97e0606
      Yuezhang Mo authored
      Before this conversion, in exfat_init_ext_entry(), to init
      the dentries in a dentry set, the sync times is equals the
      dentry number if 'dirsync' or 'sync' is enabled.
      That affects not only performance but also device life.
      
      After this conversion, only needs to be synchronized once if
      'dirsync' or 'sync' is enabled.
      Signed-off-by: default avatarYuezhang Mo <Yuezhang.Mo@sony.com>
      Reviewed-by: default avatarAndy Wu <Andy.Wu@sony.com>
      Reviewed-by: default avatarAoyama Wataru <wataru.aoyama@sony.com>
      Reviewed-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
      d97e0606
    • Yuezhang Mo's avatar
      exfat: move free cluster out of exfat_init_ext_entry() · 4e1aa22f
      Yuezhang Mo authored
      exfat_init_ext_entry() is an init function, it's a bit strange
      to free cluster in it. And the argument 'inode' will be removed
      from exfat_init_ext_entry(). So this commit changes to free the
      cluster in exfat_remove_entries().
      
      Code refinement, no functional changes.
      Signed-off-by: default avatarYuezhang Mo <Yuezhang.Mo@sony.com>
      Reviewed-by: default avatarAndy Wu <Andy.Wu@sony.com>
      Reviewed-by: default avatarAoyama Wataru <wataru.aoyama@sony.com>
      Reviewed-by: default avatarSungjong Seo <sj1557.seo@samsung.com>
      Signed-off-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
      4e1aa22f