1. Sep 08, 2022
    • Lukas Bulwahn's avatar
      usb: chipidea: make configs for glue drivers visible with EXPERT · d818320e
      Lukas Bulwahn authored
      Commit 6a108a14
      
       ("kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT")
      introduces CONFIG_EXPERT to carry the previous intent of CONFIG_EMBEDDED
      and just gives that intent a much better name. That has been clearly a good
      and long overdue renaming, and it is clearly an improvement to the kernel
      build configuration that has shown to help managing the kernel build
      configuration in the last decade.
      
      However, rather than bravely and radically just deleting CONFIG_EMBEDDED,
      this commit gives CONFIG_EMBEDDED a new intended semantics, but keeps it
      open for future contributors to implement that intended semantics:
      
          A new CONFIG_EMBEDDED option is added that automatically selects
          CONFIG_EXPERT when enabled and can be used in the future to isolate
          options that should only be considered for embedded systems (RISC
          architectures, SLOB, etc).
      
      Since then, this CONFIG_EMBEDDED implicitly had two purposes:
      
        - It can make even more options visible beyond what CONFIG_EXPERT makes
          visible. In other words, it may introduce another level of enabling the
          visibility of configuration options: always visible, visible with
          CONFIG_EXPERT and visible with CONFIG_EMBEDDED.
      
        - Set certain default values of some configurations differently,
          following the assumption that configuring a kernel build for an
          embedded system generally starts with a different set of default values
          compared to kernel builds for all other kind of systems.
      
      Considering the first purpose, at the point in time where CONFIG_EMBEDDED
      was renamed to CONFIG_EXPERT, CONFIG_EXPERT already made 130 more options
      become visible throughout all different menus for the kernel configuration.
      Over the last decade, this has gradually increased, so that currently, with
      CONFIG_EXPERT, roughly 170 more options become visible throughout all
      different menus for the kernel configuration. In comparison, currently with
      CONFIG_EMBEDDED enabled, just seven more options are visible, one in x86,
      one in arm, and five for the ChipIdea Highspeed Dual Role Controller.
      
      As the numbers suggest, these two levels of enabling the visibility of even
      more configuration options---beyond what CONFIG_EXPERT enables---never
      evolved to a good solution in the last decade. In other words, this
      additional level of visibility of configuration option with CONFIG_EMBEDDED
      compared to CONFIG_EXPERT has since its introduction never become really
      valuable. It requires quite some investigation to actually understand what
      is additionally visible and it does not differ significantly in complexity
      compared to just enabling CONFIG_EXPERT. This CONFIG_EMBEDDED---or any
      other config to show more detailed options beyond CONFIG_EXPERT---is
      unlikely to be valuable unless somebody puts significant effort in
      identifying how such visibility options can be properly split and creating
      clear criteria, when some config option is visible with CONFIG_EXPERT and
      when some config option is visible only with some further option enabled
      beyond CONFIG_EXPERT, such as CONFIG_EMBEDDED attempted to do. For now, it
      is much more reasonable to simply make those additional seven options that
      visible with CONFIG_EMBEDDED, visible with CONFIG_EXPERT, and then remove
      CONFIG_EMBEDDED. If anyone spends significant effort in structuring the
      visibility of config options, they may re-introduce suitable new config
      options simply as they see fit.
      
      Make the configs for usb chipidea glue drivers visible when CONFIG_EXPERT
      is enabled.
      
      Signed-off-by: default avatarLukas Bulwahn <lukas.bulwahn@gmail.com>
      Link: https://lore.kernel.org/r/20220908104337.11940-5-lukas.bulwahn@gmail.com
      
      
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d818320e
  2. Sep 07, 2022
  3. Sep 05, 2022
  4. Sep 04, 2022
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 7726d4c3
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
       "A a set of fixes from the GPIO subsystem.
      
        Most are small driver fixes except the realtek-otto driver patch which
        is pretty big but addresses a significant flaw that can cause the CPU
        to stay infinitely busy on uncleared ISR on some platforms.
      
        Summary:
         - MAINTAINERS update
         - fix resource leaks in gpio-mockup and gpio-pxa
         - add missing locking in gpio-pca953x
         - use 32-bit I/O in gpio-realtek-otto
         - make irq_chip structures immutable in four more drivers"
      
      * tag 'gpio-fixes-for-v6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: ws16c48: Make irq_chip immutable
        gpio: 104-idio-16: Make irq_chip immutable
        gpio: 104-idi-48: Make irq_chip immutable
        gpio: 104-dio-48e: Make irq_chip immutable
        gpio: realtek-otto: switch to 32-bit I/O
        gpio: pca953x: Add mutex_lock for regcache sync in PM
        gpio: mockup: remove gpio debugfs when remove device
        gpio: pxa: use devres for the clock struct
        MAINTAINERS: rectify entry for XILINX GPIO DRIVER
      7726d4c3
    • William Breathitt Gray's avatar
      gpio: ws16c48: Make irq_chip immutable · 68903817
      William Breathitt Gray authored
      
      
      Kernel warns about mutable irq_chips:
      
          "not an immutable chip, please consider fixing!"
      
      Make the struct irq_chip const, flag it as IRQCHIP_IMMUTABLE, add the
      new helper functions, and call the appropriate gpiolib functions.
      
      Signed-off-by: default avatarWilliam Breathitt Gray <william.gray@linaro.org>
      Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
      68903817
    • William Breathitt Gray's avatar
      gpio: 104-idio-16: Make irq_chip immutable · 410a5041
      William Breathitt Gray authored
      
      
      Kernel warns about mutable irq_chips:
      
          "not an immutable chip, please consider fixing!"
      
      Make the struct irq_chip const, flag it as IRQCHIP_IMMUTABLE, add the
      new helper functions, and call the appropriate gpiolib functions.
      
      Signed-off-by: default avatarWilliam Breathitt Gray <william.gray@linaro.org>
      Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
      410a5041
    • William Breathitt Gray's avatar
      gpio: 104-idi-48: Make irq_chip immutable · fa1329f9
      William Breathitt Gray authored
      
      
      Kernel warns about mutable irq_chips:
      
          "not an immutable chip, please consider fixing!"
      
      Make the struct irq_chip const, flag it as IRQCHIP_IMMUTABLE, add the
      new helper functions, and call the appropriate gpiolib functions.
      
      Signed-off-by: default avatarWilliam Breathitt Gray <william.gray@linaro.org>
      Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
      fa1329f9
    • William Breathitt Gray's avatar
      gpio: 104-dio-48e: Make irq_chip immutable · 35f0aa77
      William Breathitt Gray authored
      
      
      Kernel warns about mutable irq_chips:
      
          "not an immutable chip, please consider fixing!"
      
      Make the struct irq_chip const, flag it as IRQCHIP_IMMUTABLE, add the
      new helper functions, and call the appropriate gpiolib functions.
      
      Signed-off-by: default avatarWilliam Breathitt Gray <william.gray@linaro.org>
      Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
      35f0aa77
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.0-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 65eea2c0
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
      
       - a minor fix for the Xen grant driver
      
       - a small series fixing a recently introduced problem in the Xen
         blkfront/blkback drivers with negotiation of feature usage
      
      * tag 'for-linus-6.0-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/grants: prevent integer overflow in gnttab_dma_alloc_pages()
        xen-blkfront: Cache feature_persistent value before advertisement
        xen-blkfront: Advertise feature-persistent as user requested
        xen-blkback: Advertise feature-persistent as user requested
      65eea2c0
    • Linus Torvalds's avatar
      Merge tag 'loongarch-fixes-6.0-2' of... · f0c5f7ea
      Linus Torvalds authored
      Merge tag 'loongarch-fixes-6.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch fixes from Huacai Chen:
       "Fix several build errors or warnings, cleanup some code, and adjust
        arch_do_signal_or_restart() to adapt generic entry"
      
      * tag 'loongarch-fixes-6.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
        LoongArch: mm: Remove the unneeded result variable
        LoongArch: Fix arch_remove_memory() undefined build error
        LoongArch: Fix section mismatch due to acpi_os_ioremap()
        LoongArch: Improve dump_tlb() output messages
        LoongArch: Adjust arch_do_signal_or_restart() to adapt generic entry
        LoongArch: Avoid orphan input sections
      f0c5f7ea
    • Linus Torvalds's avatar
      Merge tag 's390-6.0-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · cda9a848
      Linus Torvalds authored
      Pull s390 fixes from Vasily Gorbik:
      
       - Update defconfigs
      
       - Fix linker script to align nospec tables correctly to avoid
         potentially unbootable kernel with some config options
      
       - Fix alignment check in prepare_hugepage_range() for 2GB hugepages to
         avoid BUG in __unmap_hugepage_range() for unaligned mappings later
      
       - Remove useless hugepage address alignment in hugetlb fault handling
      
      * tag 's390-6.0-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/hugetlb: fix prepare_hugepage_range() check for 2 GB hugepages
        s390: update defconfigs
        s390: fix nospec table alignments
        s390/mm: remove useless hugepage address alignment
      cda9a848
    • Linus Torvalds's avatar
      Merge tag 'input-for-v6.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 6433fe06
      Linus Torvalds authored
      Pull input fixes from Dmitry Torokhov:
      
       - GT1158 ID added to Goodix touchscreen driver
      
       - Boeder Force Feedback Wheel USB added to iforce joystick driver
      
       - fixup for iforce driver to avoid hangups
      
       - fix autoloading of rk805-pwrkey driver.
      
      * tag 'input-for-v6.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: iforce - add support for Boeder Force Feedback Wheel
        Input: iforce - wake up after clearing IFORCE_XMIT_RUNNING flag
        Input: goodix - add compatible string for GT1158
        MAINTAINERS: add include/dt-bindings/input to INPUT DRIVERS
        Input: rk805-pwrkey - fix module autoloading
        Input: goodix - add support for GT1158
        dt-bindings: input: touchscreen: add compatible string for Goodix GT1158
      6433fe06
    • Linus Torvalds's avatar
      Merge tag 'tty-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 42cf58c2
      Linus Torvalds authored
      Pull tty/serial driver fixes from Greg KH:
       "Here are some small tty/serial/vt driver fixes for 6.0-rc4 that
        resolve a number of reported issues:
      
         - n_gsm fixups for previous changes that caused problems
      
         - much-reported serdev crash fix that showed up in 6.0-rc1
      
         - vt font selection bugfix
      
         - kerneldoc build warning fixes
      
         - other tiny serial core fixes
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'tty-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: n_gsm: avoid call of sleeping functions from atomic context
        tty: n_gsm: replace kicktimer with delayed_work
        tty: n_gsm: initialize more members at gsm_alloc_mux()
        tty: n_gsm: add sanity check for gsm->receive in gsm_receive_buf()
        tty: serial: atmel: Preserve previous USART mode if RS485 disabled
        tty: serial: lpuart: disable flow control while waiting for the transmit engine to complete
        tty: Fix lookahead_buf crash with serdev
        serial: fsl_lpuart: RS485 RTS polariy is inverse
        vt: Clear selection before changing the font
        serial: document start_rx member at struct uart_ops
      42cf58c2
    • Linus Torvalds's avatar
      Merge tag 'staging-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · c53b3dcb
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are three small staging driver fixes for 6.0-rc4 that resolve
        some reported problems and add some a device id:
      
         - new device id for r8188eu driver
      
         - use-after-free bugfixes for the rtl8712 driver
      
         - fix up firmware dependency problem for the r8188eu driver
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'staging-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: rtl8712: fix use after free bugs
        staging: r8188eu: Add Rosewill USB-N150 Nano to device tables
        staging: r8188eu: add firmware dependency
      c53b3dcb
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 9a61442c
      Linus Torvalds authored
      Pull clk fixes from Stephen Boyd:
       "Here's a collection of primarily clk driver fixes, with a couple fixes
        to the core framework.
      
        We had to revert out a commit that affected boot on some devices that
        have the CLK_OPS_PARENT_ENABLE flag set. It isn't critical to have
        that fix so we'll try again next time.
      
        Driver side fixes include:
      
         - Plug an OF-node refcount bug in the TI clk driver
      
         - Fix the error handling in the raspberry pi firmware get_rate so
           that errors don't look like valid frequencies
      
         - Avoid going out of bounds in the raspberry pi driver too if the
           video firmware returns something we're not expecting"
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        Revert "clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops"
        clk: bcm: rpi: Show clock id limit in error case
        clk: bcm: rpi: Add missing newline
        clk: bcm: rpi: Prevent out-of-bounds access
        clk: bcm: rpi: Fix error handling of raspberrypi_fw_get_rate
        clk: core: Fix runtime PM sequence in clk_core_unprepare()
        clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops
        clk: ti: Fix missing of_node_get() ti_find_clock_provider()
      9a61442c
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v6.0-rc4' of... · 77746426
      Linus Torvalds authored
      Merge tag 'hwmon-for-v6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
      
       - Fix out of bounds access in gpio-fan driver
      
       - Fix VOUT margin caching in PMBus core
      
       - Avoid error message after -EPROBE_DEFER from devm_regulator_register()
      
      * tag 'hwmon-for-v6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (gpio-fan) Fix array out of bounds access
        hwmon: (pmbus) Fix vout margin caching
        hwmon: (pmbus) Use dev_err_probe() to filter -EPROBE_DEFER error messages
      77746426
    • Steven Price's avatar
      mm: pagewalk: Fix race between unmap and page walker · 8782fb61
      Steven Price authored
      The mmap lock protects the page walker from changes to the page tables
      during the walk.  However a read lock is insufficient to protect those
      areas which don't have a VMA as munmap() detaches the VMAs before
      downgrading to a read lock and actually tearing down PTEs/page tables.
      
      For users of walk_page_range() the solution is to simply call pte_hole()
      immediately without checking the actual page tables when a VMA is not
      present. We now never call __walk_page_range() without a valid vma.
      
      For walk_page_range_novma() the locking requirements are tightened to
      require the mmap write lock to be taken, and then walking the pgd
      directly with 'no_vma' set.
      
      This in turn means that all page walkers either have a valid vma, or
      it's that special 'novma' case for page table debugging.  As a result,
      all the odd '(!walk->vma && !walk->no_vma)' tests can be removed.
      
      Fixes: dd2283f2
      
       ("mm: mmap: zap pages with read mmap_sem in munmap")
      Reported-by: default avatarJann Horn <jannh@google.com>
      Signed-off-by: default avatarSteven Price <steven.price@arm.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
      Cc: Konstantin Khlebnikov <koct9i@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8782fb61
  5. Sep 03, 2022