1. 22 Jun, 2023 1 commit
  2. 19 Jun, 2023 1 commit
  3. 09 Jun, 2023 2 commits
  4. 07 Jun, 2023 2 commits
  5. 02 Jun, 2023 1 commit
    • Franziska Naepelt's avatar
      ARM: omap2: Fix checkpatch issues · 937e8722
      Franziska Naepelt authored
      The following checkpatch issues have been resolved:
      
      arch/arm/mach-omap2/omap-wakeupgen.c
      WARNING: Missing a blank line after declarations
      
      arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
      ERROR: space prohibited before that ',' (ctx:WxE)
      WARNING: Use lore.kernel.org archive links when possible
      
      arch/arm/mach-omap2/omap_phy_internal.c
      WARNING: Block comments should align the * on each line
      
      arch/arm/mach-omap2/sdrc2xxx.c
      WARNING: It's generally not useful to have the filename in the file
      
      arch/arm/mach-omap2/ti81xx-restart.c
      ERROR: trailing statements should be on next line
      Signed-off-by: default avatarFranziska Naepelt <franziska.naepelt@gmail.com>
      Message-ID: <20230531170427.42199-1-franziska.naepelt@gmail.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      937e8722
  6. 31 May, 2023 2 commits
  7. 30 May, 2023 1 commit
  8. 26 May, 2023 13 commits
  9. 25 May, 2023 1 commit
  10. 24 May, 2023 13 commits
    • Linus Walleij's avatar
      ARM/musb: omap2: Remove global GPIO numbers from TUSB6010 · 8e0285ab
      Linus Walleij authored
      The TUSB6010 (MUSB) device is picking up some GPIO lines
      hardcoded by number and passing on to the TUSB6010 device
      when registering it.
      
      Instead of nasty workarounds, provide a GPIO descriptor
      table and then make the TUSB6010 MUSB glue driver pick up
      the GPIO lines directly, convert it to an IRQ and pass down
      to the MUSB driver. OMAP2 is the only system using the
      TUSB6010.
      
      Stash the GPIO descriptors in the glue layer and use
      then to power up and down the TUSB6010 on-demand, instead
      of using boardfile callbacks.
      
      Since the OMAP2 boards are the only boards using the
      .set_power() and .board_set_power() callbacks, we can
      just delete them as the power is now handled directly
      in the TUSB6010 glue code.
      
      Cc: Bin Liu <b-liu@ti.com>
      Cc: linux-usb@vger.kernel.org
      Fixes: 92bf78b3 ("gpio: omap: use dynamic allocation of base")
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      8e0285ab
    • Linus Walleij's avatar
      ARM: omap2: Rewrite WLAN quirk to use GPIO descriptors · 078dc519
      Linus Walleij authored
      The OMAP2 platform data quirk is using the global GPIO numberspace
      to obtain two WLAN GPIOs to drive power and xcvr reset GPIO
      lines during start-up.
      
      Rewrite the quirk to use a GPIO descriptor table so we avoid using
      global GPIO numbers.
      
      This gets rid of the final dependency on the legacy <linux/gpio.h>
      header from the OMAP2/3 platforms.
      
      Fixes: 92bf78b3 ("gpio: omap: use dynamic allocation of base")
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      078dc519
    • Linus Walleij's avatar
      ARM: omap2: Get USB hub reset GPIO from descriptor · 94075d16
      Linus Walleij authored
      This switches the USB hub GPIO reset line handling in the
      OMAP2 pdata quirks over to using GPIO descriptors to avoid using
      the global GPIO numberspace.
      
      Since the GPIOs are exported and assumedly used by some kind
      of userspace we cannot simply use hogs in the device tree.
      
      Fixes: 92bf78b3 ("gpio: omap: use dynamic allocation of base")
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      94075d16
    • Linus Walleij's avatar
      ARM/gpio: Push OMAP2 quirk down into TWL4030 driver · d5f4fa60
      Linus Walleij authored
      The TWL4030 GPIO driver has a custom platform data .set_up()
      callback to call back into the platform and do misc stuff such
      as hog and export a GPIO for WLAN PWR on a specific OMAP3 board.
      
      Avoid all the kludgery in the platform data and the boardfile
      and just put the quirks right into the driver. Make it
      conditional on OMAP3.
      
      I think the exported GPIO is used by some kind of userspace
      so ordinary DTS hogs will probably not work.
      
      Fixes: 92bf78b3 ("gpio: omap: use dynamic allocation of base")
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      d5f4fa60
    • Linus Walleij's avatar
      ARM: omap1: Exorcise the legacy GPIO header · c729baa8
      Linus Walleij authored
      After fixing all the offending users referencing the global GPIO
      numberspace in OMAP1, a few sites still remain including the
      legacy <linus/gpio.h> header for no reason.
      
      Delete the last remaining users, and OMAP1 is free from legacy
      GPIO dependencies.
      
      Fixes: 92bf78b3 ("gpio: omap: use dynamic allocation of base")
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      c729baa8
    • Linus Walleij's avatar
      ARM: omap1: Make serial wakeup GPIOs use descriptors · df89de97
      Linus Walleij authored
      The code in serial.c looks up GPIOs corresponding to a line
      on the UART when muxed in as GPIO to use this as a wakeup
      on serial activity for OMAP1.
      
      Utilize the NULL device to define some board-specific
      GPIO lookups and use these to immediately look up the
      same GPIOs, set as input and convert to IRQ numbers,
      then set these to wakeup IRQs. This is ugly but should work.
      
      This is only needed on the OSK1 and Nokia 770 devices that
      use the OMAP16xx.
      
      Fixes: 92bf78b3 ("gpio: omap: use dynamic allocation of base")
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      df89de97
    • Linus Walleij's avatar
      ARM: omap1: Fix up the Nokia 770 board device IRQs · 084b6f21
      Linus Walleij authored
      The platform devices on the Nokia 770 is using some
      board-specific IRQs that get statically assigned to platform
      devices in the boardfile.
      
      This does not work with dynamic IRQ chip bases.
      
      Utilize the NULL device to define some board-specific
      GPIO lookups and use these to immediately look up the
      same GPIOs, convert to IRQ numbers and pass as resources
      to the devices. This is ugly but should work.
      
      Fixes: 92bf78b3 ("gpio: omap: use dynamic allocation of base")
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      084b6f21
    • Linus Walleij's avatar
      ARM/mmc: Convert old mmci-omap to GPIO descriptors · e519f0bb
      Linus Walleij authored
      A recent change to the OMAP driver making it use a dynamic GPIO
      base created problems with some old OMAP1 board files, among
      them Nokia 770, SX1 and also the OMAP2 Nokia n8x0.
      
      Fix up all instances of GPIOs being used for the MMC driver
      by pushing the handling of power, slot selection and MMC
      "cover" into the driver as optional GPIOs.
      
      This is maybe not the most perfect solution as the MMC
      framework have some central handlers for some of the
      stuff, but it at least makes the situtation better and
      solves the immediate issue.
      
      Fixes: 92bf78b3 ("gpio: omap: use dynamic allocation of base")
      Acked-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      e519f0bb
    • Linus Walleij's avatar
      Input: ads7846 - Convert to use software nodes · 767d8336
      Linus Walleij authored
      The Nokia 770 is using GPIOs from the global numberspace on the
      CBUS node to pass down to the LCD controller. This regresses when we
      let the OMAP GPIO driver use dynamic GPIO base.
      
      The Nokia 770 now has dynamic allocation of IRQ numbers, so this
      needs to be fixed for it to work.
      
      As this is the only user of LCD MIPID we can easily augment the
      driver to use a GPIO descriptor instead and resolve the issue.
      
      The platform data .shutdown() callback wasn't even used in the
      code, but we encode a shutdown asserting RESET in the remove()
      callback for completeness sake.
      
      The CBUS also has the ADS7846 touchscreen attached.
      
      Populate the devices on the Nokia 770 CBUS I2C using software
      nodes instead of platform data quirks. This includes the LCD
      and the ADS7846 touchscreen so the conversion just brings the LCD
      along with it as software nodes is an all-or-nothing design
      pattern.
      
      The ADS7846 has some limited support for using GPIO descriptors,
      let's convert it over completely to using device properties and then
      fix all remaining boardfile users to provide all platform data using
      software nodes.
      
      Dump the of includes and of_match_ptr() in the ADS7846 driver as part
      of the job.
      
      Since we have to move ADS7846 over to obtaining the GPIOs it is
      using exclusively from descriptors, we provide descriptor tables
      for the two remaining in-kernel boardfiles using ADS7846:
      
      - PXA Spitz
      - MIPS Alchemy DB1000 development board
      
      It was too hard for me to include software node conversion of
      these two remaining users at this time: the spitz is using a
      hscync callback in the platform data that would require further
      GPIO descriptor conversion of the Spitz, and moving the hsync
      callback down into the driver: it will just become too big of
      a job, but it can be done separately.
      
      The MIPS Alchemy DB1000 is simply something I cannot test, so take
      the easier approach of just providing some GPIO descriptors in
      this case as I don't want the patch to grow too intrusive.
      
      As we see that several device trees have incorrect polarity flags
      and just expect to bypass the gpiolib polarity handling, fix up
      all device trees too, in a separate patch.
      Suggested-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Fixes: 92bf78b3 ("gpio: omap: use dynamic allocation of base")
      Acked-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Reviewed-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      767d8336
    • Linus Walleij's avatar
      ARM: omap1: Remove reliance on GPIO numbers from SX1 · 480c82da
      Linus Walleij authored
      It appears this happens because the OMAP driver now
      allocates GPIO numbers dynamically, so all that is
      references by number is a bit up in the air.
      
      Utilize the NULL device to define some board-specific
      GPIO lookups and use these to immediately look up the
      same GPIOs, convert to IRQ numbers and pass as resources
      to the devices. This is ugly but should work.
      
      Fixes: 92bf78b3 ("gpio: omap: use dynamic allocation of base")
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      480c82da
    • Linus Walleij's avatar
      ARM: omap1: Remove reliance on GPIO numbers from PalmTE · 4c40db62
      Linus Walleij authored
      It appears this happens because the OMAP driver now
      allocates GPIO numbers dynamically, so all that is
      references by number is a bit up in the air.
      
      Utilize the NULL device to define some board-specific
      GPIO lookups and use these to immediately look up the
      same GPIOs, convert to IRQ numbers and pass as resources
      to the devices. This is ugly but should work.
      
      Fixes: 92bf78b3 ("gpio: omap: use dynamic allocation of base")
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      4c40db62
    • Linus Walleij's avatar
      ARM: omap1: Drop header on AMS Delta · fa1ae0cd
      Linus Walleij authored
      The AMS Delta board uses GPIO descriptors exclusively and
      does not have any dependencies on the legacy <linux/gpio.h>
      header, so just drop it.
      Acked-by: default avatarJanusz Krzysztofik <jmkrzyszt@gmail.com>
      Fixes: 92bf78b3 ("gpio: omap: use dynamic allocation of base")
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      fa1ae0cd
    • Linus Walleij's avatar
      ARM/mfd/gpio: Fixup TPS65010 regression on OMAP1 OSK1 · c32c81f3
      Linus Walleij authored
      Aaro reports problems on the OSK1 board after we altered
      the dynamic base for GPIO allocations.
      
      It appears this happens because the OMAP driver now
      allocates GPIO numbers dynamically, so all that is
      references by number is a bit up in the air.
      
      Let's bite the bullet and try to just move the gpio_chip
      in the tps65010 MFD driver over to using dynamic allocations.
      Alter everything in the OSK1 board file to use a GPIO
      descriptor table and lookups.
      
      Utilize the NULL device to define some board-specific
      GPIO lookups and use these to immediately look up the
      same GPIOs, convert to IRQ numbers and pass as resources
      to the devices. This is ugly but should work.
      
      The .setup() callback for tps65010 was used for some GPIO
      hogging, but since the OSK1 is the only user in the entire
      kernel we can alter the signatures to something that
      is helpful and make a clean transition.
      
      Fixes: 92bf78b3 ("gpio: omap: use dynamic allocation of base")
      Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
      Cc: andy.shevchenko@gmail.com
      Cc: Andreas Kemnade <andreas@kemnade.info>
      Acked-by: default avatarLee Jones <lee@kernel.org>
      Reviewed-by: default avatarLee Jones <lee@kernel.org>
      Reported-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
      Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      c32c81f3
  11. 21 May, 2023 3 commits
    • Linus Torvalds's avatar
      Linux 6.4-rc3 · 44c026a7
      Linus Torvalds authored
      44c026a7
    • Linus Torvalds's avatar
      Merge tag 'uml-for-linus-6.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/uml/linux · fa4fe8ce
      Linus Torvalds authored
      Pull UML fix from Richard Weinberger:
      
       - Fix modular build for UML watchdog
      
      * tag 'uml-for-linus-6.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/uml/linux:
        um: harddog: fix modular build
      fa4fe8ce
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · a35747c3
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "ARM:
      
         - Plug a race in the stage-2 mapping code where the IPA and the PA
           would end up being out of sync
      
         - Make better use of the bitmap API (bitmap_zero, bitmap_zalloc...)
      
         - FP/SVE/SME documentation update, in the hope that this field
           becomes clearer...
      
         - Add workaround for Apple SEIS brokenness to a new SoC
      
         - Random comment fixes
      
        x86:
      
         - add MSR_IA32_TSX_CTRL into msrs_to_save
      
         - fixes for XCR0 handling in SGX enclaves
      
        Generic:
      
         - Fix vcpu_array[0] races
      
         - Fix race between starting a VM and 'reboot -f'"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: VMX: add MSR_IA32_TSX_CTRL into msrs_to_save
        KVM: x86: Don't adjust guest's CPUID.0x12.1 (allowed SGX enclave XFRM)
        KVM: VMX: Don't rely _only_ on CPUID to enforce XCR0 restrictions for ECREATE
        KVM: Fix vcpu_array[0] races
        KVM: VMX: Fix header file dependency of asm/vmx.h
        KVM: Don't enable hardware after a restart/shutdown is initiated
        KVM: Use syscore_ops instead of reboot_notifier to hook restart/shutdown
        KVM: arm64: vgic: Add Apple M2 PRO/MAX cpus to the list of broken SEIS implementations
        KVM: arm64: Clarify host SME state management
        KVM: arm64: Restructure check for SVE support in FP trap handler
        KVM: arm64: Document check for TIF_FOREIGN_FPSTATE
        KVM: arm64: Fix repeated words in comments
        KVM: arm64: Constify start/end/phys fields of the pgtable walker data
        KVM: arm64: Infer PA offset from VA in hyp map walker
        KVM: arm64: Infer the PA offset from IPA in stage-2 map walker
        KVM: arm64: Use the bitmap API to allocate bitmaps
        KVM: arm64: Slightly optimize flush_context()
      a35747c3