kernel: bump 5.15 to 5.15.86
authorJohn Audia <therealgraysky@proton.me>
Sat, 31 Dec 2022 15:29:53 +0000 (10:29 -0500)
committerHauke Mehrtens <hauke@hauke-m.de>
Tue, 3 Jan 2023 22:55:45 +0000 (23:55 +0100)
Removed upstreamed:
  pending-5.15/101-Use-stddefs.h-instead-of-compiler.h.patch[1]
  ipq806x/patches-5.15/122-01-clk-qcom-clk-krait-fix-wrong-div2-functions.patch[2]
  bcm27xx/patches-5.15/950-0198-drm-fourcc-Add-packed-10bit-YUV-4-2-0-format.patch[3]

Manually rebased:
  ramips/patches-5.15/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch[4]

Added patch/backported:
  ramips/patches-5.15/107-PCI-mt7621-Add-sentinel-to-quirks-table.patch[5]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.86&id=c160505c9b574b346031fdf2c649d19e7939ca11
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.86&id=a051e10bfc6906d29dae7a31f0773f2702edfe1b
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.86&id=ec1727f89ecd6f2252c0c75e200058819f7ce47a
4. Quilt gave this output when I applied the patch to rebase it:
% quilt push -f
Applying patch platform/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch
patching file arch/mips/ralink/Kconfig
patching file drivers/pci/controller/Kconfig
patching file drivers/pci/controller/Makefile
patching file drivers/staging/Kconfig
patching file drivers/staging/Makefile
patching file drivers/staging/mt7621-pci/Kconfig
patching file drivers/staging/mt7621-pci/Makefile
patching file drivers/staging/mt7621-pci/TODO
patching file drivers/staging/mt7621-pci/mediatek,mt7621-pci.txt
patching file drivers/staging/mt7621-pci/pci-mt7621.c
Hunk #1 FAILED at 1.
Not deleting file drivers/staging/mt7621-pci/pci-mt7621.c as content differs from patch
1 out of 1 hunk FAILED -- saving rejects to file drivers/staging/mt7621-pci/pci-mt7621.c.rej
patching file drivers/pci/controller/pcie-mt7621.c
Applied patch platform/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch (forced; needs refresh)

Upon inspecting drivers/staging/mt7621-pci/pci-mt7621.c.rej, it seems that
the original patch wants to delete drivers/staging/mt7621-pci/pci-mt7621.c
but upstream's version was not an exact match.  I opted to delete that
file.

5. Suggestion by hauke: https://github.com/torvalds/linux/commit/19098934f910b4d47cb30251dd39ffa57bef9523
"This patch is in upstream kernel, but it was backported to the old
staging driver in kernel 5.15."

Build system: x86_64
Build-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod
Run-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod

Signed-off-by: John Audia <therealgraysky@proton.me>
55 files changed:
include/kernel-5.15
target/linux/ath79/patches-5.15/401-mtd-nor-support-mtd-name-from-device-tree.patch
target/linux/ath79/patches-5.15/920-mikrotik-rb4xx.patch
target/linux/bcm27xx/patches-5.15/950-0028-Revert-spi-spidev-Fix-CS-polarity-if-GPIO-descriptor.patch
target/linux/bcm27xx/patches-5.15/950-0040-spi-spidev-Completely-disable-the-spidev-warning.patch
target/linux/bcm27xx/patches-5.15/950-0056-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch
target/linux/bcm27xx/patches-5.15/950-0057-amba_pl011-Round-input-clock-up.patch
target/linux/bcm27xx/patches-5.15/950-0058-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch
target/linux/bcm27xx/patches-5.15/950-0059-amba_pl011-Add-cts-event-workaround-DT-property.patch
target/linux/bcm27xx/patches-5.15/950-0061-tty-amba-pl011-Avoid-rare-write-when-full-error.patch
target/linux/bcm27xx/patches-5.15/950-0077-firmware-bcm2835-Support-ARCH_BCM270x.patch
target/linux/bcm27xx/patches-5.15/950-0083-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch
target/linux/bcm27xx/patches-5.15/950-0101-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch
target/linux/bcm27xx/patches-5.15/950-0113-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch
target/linux/bcm27xx/patches-5.15/950-0190-Initialise-rpi-firmware-before-clk-bcm2835.patch
target/linux/bcm27xx/patches-5.15/950-0198-drm-fourcc-Add-packed-10bit-YUV-4-2-0-format.patch [deleted file]
target/linux/bcm27xx/patches-5.15/950-0238-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch
target/linux/bcm27xx/patches-5.15/950-0578-spi-spidev-Restore-loading-from-Device-Tree.patch
target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch
target/linux/bcm27xx/patches-5.15/950-0694-drm-panel-panel-sitronix-st7701-Support-SPI-config-a.patch
target/linux/bcm27xx/patches-5.15/950-0696-spi-gpio-Add-sck-idle-input-property.patch
target/linux/bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
target/linux/bcm27xx/patches-5.15/950-0747-usb-xhci-rework-XHCI_VLI_SS_BULK_OUT_BUG-quirk.patch
target/linux/bcm27xx/patches-5.15/950-0890-hwmon-emc2305-add-support-for-EMC2301-2-3-5-RPM-base.patch
target/linux/bcm63xx/patches-5.15/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch
target/linux/bcm63xx/patches-5.15/339-MIPS-BCM63XX-add-support-for-BCM63268.patch
target/linux/bcm63xx/patches-5.15/341-MIPS-BCM63XX-add-support-for-BCM6318.patch
target/linux/bcm63xx/patches-5.15/389-MIPS-BCM63XX-add-clkdev-lookups-for-device-tree.patch
target/linux/bcm63xx/patches-5.15/430-MIPS-BCM63XX-add-nand-clocks.patch
target/linux/generic/backport-5.15/020-v6.1-05-mm-multigenerational-lru-mm_struct-list.patch
target/linux/generic/backport-5.15/402-v6.0-mtd-next-mtd-core-introduce-of-support-for-dynamic-partitions.patch
target/linux/generic/backport-5.15/403-v6.1-mtd-allow-getting-MTD-device-associated-with-a-speci.patch
target/linux/generic/backport-5.15/408-v6.2-mtd-core-set-ROOT_DEV-for-partitions-marked-as-rootf.patch
target/linux/generic/backport-5.15/702-v5.19-03-net-ethernet-mtk_eth_soc-implement-flow-offloading-t.patch
target/linux/generic/backport-5.15/775-v6.0-01-net-ethernet-stmicro-stmmac-move-queue-reset-to-dedi.patch
target/linux/generic/backport-5.15/775-v6.0-03-net-ethernet-stmicro-stmmac-move-dma-conf-to-dedicat.patch
target/linux/generic/backport-5.15/775-v6.0-04-net-ethernet-stmicro-stmmac-generate-stmmac-dma-conf.patch
target/linux/generic/hack-5.15/402-mtd-blktrans-call-add-disks-after-mtd-device.patch
target/linux/generic/hack-5.15/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch
target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch
target/linux/generic/hack-5.15/800-GPIO-add-named-gpio-exports.patch
target/linux/generic/pending-5.15/101-Use-stddefs.h-instead-of-compiler.h.patch [deleted file]
target/linux/generic/pending-5.15/130-add-linux-spidev-compatible-si3210.patch
target/linux/generic/pending-5.15/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch
target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
target/linux/generic/pending-5.15/834-ledtrig-libata.patch
target/linux/ipq806x/patches-5.15/122-01-clk-qcom-clk-krait-fix-wrong-div2-functions.patch [deleted file]
target/linux/lantiq/patches-5.15/0152-lantiq-VPE.patch
target/linux/mvebu/patches-5.15/100-ARM-dts-turris-omnia-configure-LED-0-pin-function-to.patch
target/linux/mvebu/patches-5.15/101-ARM-dts-turris-omnia-enable-LED-controller-node.patch
target/linux/mvebu/patches-5.15/902-drivers-mfd-Add-a-driver-for-IEI-WT61P803-PUZZLE-MCU.patch
target/linux/oxnas/patches-5.15/999-libata-hacks.patch
target/linux/ramips/patches-5.15/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch
target/linux/ramips/patches-5.15/103-PCI-mt7621-Move-MIPS-setup-to-pcibios_root_bridge_pr.patch
target/linux/ramips/patches-5.15/107-PCI-mt7621-Add-sentinel-to-quirks-table.patch [new file with mode: 0644]

index c32d5f6d23a47f1cd41177274a5a6b35df6968ca..d24c2a001d638c718adf80ccc1dd4444b15321ee 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-5.15 = .85
-LINUX_KERNEL_HASH-5.15.85 = 2c0bae29fac98e0a9408914a4551b2971365ac0000351cb255d6bd9aa0849808
+LINUX_VERSION-5.15 = .86
+LINUX_KERNEL_HASH-5.15.86 = 80fcd9efa443502de9e2750f6dfb59e8de43a5d87a6d2be09dca748d79b5f2ee
index 98939ac9e381f024d7baa7990fde54c6eec705de..96136a43e872867abca97f0aec1383577ebc0489 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
 
 --- a/drivers/mtd/spi-nor/core.c
 +++ b/drivers/mtd/spi-nor/core.c
-@@ -3095,6 +3095,7 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -3096,6 +3096,7 @@ int spi_nor_scan(struct spi_nor *nor, co
        struct device *dev = nor->dev;
        struct mtd_info *mtd = &nor->mtd;
        struct device_node *np = spi_nor_get_flash_node(nor);
@@ -18,7 +18,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
        int ret;
        int i;
  
-@@ -3149,7 +3150,12 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -3150,7 +3151,12 @@ int spi_nor_scan(struct spi_nor *nor, co
        if (ret)
                return ret;
  
@@ -34,7 +34,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
        mtd->type = MTD_NORFLASH;
 --- a/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
-@@ -845,6 +845,17 @@ out_error:
+@@ -847,6 +847,17 @@ out_error:
   */
  static void mtd_set_dev_defaults(struct mtd_info *mtd)
  {
index a425f8639d66ee0ff675f2e3233daa6ed41eadc3..d287b6de19bae00d64896cb04a87e1e91562aad0 100644 (file)
@@ -45,7 +45,7 @@ Submitted-by: Christopher Hill <ch6574@gmail.com>
 
 --- a/drivers/mfd/Kconfig
 +++ b/drivers/mfd/Kconfig
-@@ -2174,6 +2174,14 @@ config RAVE_SP_CORE
+@@ -2175,6 +2175,14 @@ config RAVE_SP_CORE
          Select this to get support for the Supervisory Processor
          device found on several devices in RAVE line of hardware.
  
index c66bb9d6216b6e0a852b65e8e9afedc0be8ba1c8..49829a6d3af1b9612fd0788f14f876a5f3ff8463 100644 (file)
@@ -11,7 +11,7 @@ This reverts commit 83b2a8fe43bda0c11981ad6afa5dd0104d78be28.
 
 --- a/drivers/spi/spidev.c
 +++ b/drivers/spi/spidev.c
-@@ -402,7 +402,6 @@ spidev_ioctl(struct file *filp, unsigned
+@@ -413,7 +413,6 @@ spidev_ioctl(struct file *filp, unsigned
                else
                        retval = get_user(tmp, (u32 __user *)arg);
                if (retval == 0) {
@@ -19,7 +19,7 @@ This reverts commit 83b2a8fe43bda0c11981ad6afa5dd0104d78be28.
                        u32     save = spi->mode;
  
                        if (tmp & ~SPI_MODE_MASK) {
-@@ -410,10 +409,6 @@ spidev_ioctl(struct file *filp, unsigned
+@@ -421,10 +420,6 @@ spidev_ioctl(struct file *filp, unsigned
                                break;
                        }
  
index 87c1cdc7b5d06c61a773ec962a0cf3831cc7121e..d9eb7a03569dcb6718f33775eaf3a825c9a138f7 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/spi/spidev.c
 +++ b/drivers/spi/spidev.c
-@@ -747,7 +747,7 @@ static int spidev_probe(struct spi_devic
+@@ -758,7 +758,7 @@ static int spidev_probe(struct spi_devic
         * compatible string, it is a Linux implementation thing
         * rather than a description of the hardware.
         */
index fe2b83dd42b99e5e7e34e93ff3cafd861cca9c3a..3c90882138f221a7ce00606bd12f6e185f702874 100644 (file)
@@ -14,7 +14,7 @@ use the same logic.
 
 --- a/drivers/tty/serial/amba-pl011.c
 +++ b/drivers/tty/serial/amba-pl011.c
-@@ -2744,7 +2744,12 @@ static int pl011_setup_port(struct devic
+@@ -2756,7 +2756,12 @@ static int pl011_setup_port(struct devic
        if (IS_ERR(base))
                return PTR_ERR(base);
  
index 8fb5c393b667fd43173828417588ae14dd0840c4..632862908d92b5cc89454f8a014785e860c025ab 100644 (file)
@@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/tty/serial/amba-pl011.c
 +++ b/drivers/tty/serial/amba-pl011.c
-@@ -1727,6 +1727,23 @@ static void pl011_put_poll_char(struct u
+@@ -1730,6 +1730,23 @@ static void pl011_put_poll_char(struct u
  
  #endif /* CONFIG_CONSOLE_POLL */
  
@@ -50,7 +50,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  static int pl011_hwinit(struct uart_port *port)
  {
        struct uart_amba_port *uap =
-@@ -1743,7 +1760,7 @@ static int pl011_hwinit(struct uart_port
+@@ -1746,7 +1763,7 @@ static int pl011_hwinit(struct uart_port
        if (retval)
                return retval;
  
@@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  
        /* Clear pending error and receive interrupts */
        pl011_write(UART011_OEIS | UART011_BEIS | UART011_PEIS |
-@@ -2440,7 +2457,7 @@ static int pl011_console_setup(struct co
+@@ -2452,7 +2469,7 @@ static int pl011_console_setup(struct co
                        plat->init();
        }
  
@@ -68,7 +68,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  
        if (uap->vendor->fixed_options) {
                baud = uap->fixed_baud;
-@@ -2657,6 +2674,7 @@ static struct uart_driver amba_reg = {
+@@ -2669,6 +2686,7 @@ static struct uart_driver amba_reg = {
        .cons                   = AMBA_CONSOLE,
  };
  
@@ -76,7 +76,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  static int pl011_probe_dt_alias(int index, struct device *dev)
  {
        struct device_node *np;
-@@ -2688,6 +2706,7 @@ static int pl011_probe_dt_alias(int inde
+@@ -2700,6 +2718,7 @@ static int pl011_probe_dt_alias(int inde
  
        return ret;
  }
index 88388f425990b308468536136d2b230c7fc24b69..beb2c67e39c3aef5bb8f51229e963499302ddcc8 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/tty/serial/amba-pl011.c
 +++ b/drivers/tty/serial/amba-pl011.c
-@@ -1432,6 +1432,7 @@ static bool pl011_tx_char(struct uart_am
+@@ -1435,6 +1435,7 @@ static bool pl011_tx_char(struct uart_am
                return false; /* unable to transmit character */
  
        pl011_write(c, uap, REG_DR);
index 02d86cfc614edd558c8c32615380308cc92e3513..1d4cdbca64755b56d5eacadee593a6345981a93a 100644 (file)
@@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
    - reg
 --- a/drivers/tty/serial/amba-pl011.c
 +++ b/drivers/tty/serial/amba-pl011.c
-@@ -2835,6 +2835,11 @@ static int pl011_probe(struct amba_devic
+@@ -2847,6 +2847,11 @@ static int pl011_probe(struct amba_devic
        if (IS_ERR(uap->clk))
                return PTR_ERR(uap->clk);
  
index 7607714a20e580baaeeecb085f8e22bd464d73c6..431f588a4c5f599165a8fc87c718309051c3b05f 100644 (file)
@@ -29,7 +29,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/tty/serial/amba-pl011.c
 +++ b/drivers/tty/serial/amba-pl011.c
-@@ -1493,6 +1493,10 @@ static bool pl011_tx_chars(struct uart_a
+@@ -1496,6 +1496,10 @@ static bool pl011_tx_chars(struct uart_a
                if (likely(from_irq) && count-- == 0)
                        break;
  
index 7dfc34c4520400b50131087fdee2cf1a733249b2..bed4f1fc20c99ce9fac5754ad1a56e71afc0c92c 100644 (file)
@@ -36,7 +36,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
  static DEFINE_MUTEX(transaction_lock);
  
  static void response_callback(struct mbox_client *cl, void *msg)
-@@ -279,6 +281,7 @@ static int rpi_firmware_probe(struct pla
+@@ -280,6 +282,7 @@ static int rpi_firmware_probe(struct pla
        kref_init(&fw->consumers);
  
        platform_set_drvdata(pdev, fw);
@@ -44,7 +44,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
  
        rpi_firmware_print_firmware_revision(fw);
        rpi_register_hwmon_driver(dev, fw);
-@@ -307,6 +310,7 @@ static int rpi_firmware_remove(struct pl
+@@ -308,6 +311,7 @@ static int rpi_firmware_remove(struct pl
        rpi_clk = NULL;
  
        rpi_firmware_put(fw);
@@ -52,7 +52,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
  
        return 0;
  }
-@@ -381,7 +385,18 @@ static struct platform_driver rpi_firmwa
+@@ -382,7 +386,18 @@ static struct platform_driver rpi_firmwa
        .shutdown       = rpi_firmware_shutdown,
        .remove         = rpi_firmware_remove,
  };
index 1fcd072780a9ab4e48c9ab985bc3092db394d0a0..74866d400878373c90ddfeb82581fd2b564740df 100644 (file)
@@ -27,7 +27,7 @@ mfd: Add rpi_sense_core of compatible string
 
 --- a/drivers/input/joystick/Kconfig
 +++ b/drivers/input/joystick/Kconfig
-@@ -399,4 +399,12 @@ config JOYSTICK_N64
+@@ -400,4 +400,12 @@ config JOYSTICK_N64
          Say Y here if you want enable support for the four
          built-in controller ports on the Nintendo 64 console.
  
index 9f5efed269f1f2de143b57d57f09817e549c53cb..dcf63924db3d6c2d4ee2230d4c782f3c21e0da90 100644 (file)
@@ -48,7 +48,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  static void
  rpi_firmware_print_firmware_revision(struct rpi_firmware *fw)
  {
-@@ -386,15 +407,32 @@ static struct platform_driver rpi_firmwa
+@@ -387,15 +408,32 @@ static struct platform_driver rpi_firmwa
        .remove         = rpi_firmware_remove,
  };
  
index 6f042f9dd440c266988e97169b34c6af8850abad..04f4ade831be9c69d0396c53b1cee4d9e028d9d2 100644 (file)
@@ -80,7 +80,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
  }
  
  static void
-@@ -338,6 +375,7 @@ static int rpi_firmware_probe(struct pla
+@@ -339,6 +376,7 @@ static int rpi_firmware_probe(struct pla
        g_pdev = pdev;
  
        rpi_firmware_print_firmware_revision(fw);
index 96451c9c75141b6e460204f36f0c83b596b27116..a5c4c60c38baa799edb445b5b2c335793de37f22 100644 (file)
@@ -36,7 +36,7 @@ Co-authored-by: Phil Elwell <phil@raspberrypi.org>
  MODULE_DESCRIPTION("BCM2835 clock driver");
 --- a/drivers/firmware/raspberrypi.c
 +++ b/drivers/firmware/raspberrypi.c
-@@ -498,7 +498,7 @@ out2:
+@@ -499,7 +499,7 @@ out2:
  out1:
        return ret;
  }
diff --git a/target/linux/bcm27xx/patches-5.15/950-0198-drm-fourcc-Add-packed-10bit-YUV-4-2-0-format.patch b/target/linux/bcm27xx/patches-5.15/950-0198-drm-fourcc-Add-packed-10bit-YUV-4-2-0-format.patch
deleted file mode 100644 (file)
index 613f74a..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-From cf7d5f766e0a9eeb09271c36f546ac0a1fdc0444 Mon Sep 17 00:00:00 2001
-From: Dave Stevenson <dave.stevenson@raspberrypi.com>
-Date: Fri, 24 Jan 2020 14:22:06 +0000
-Subject: [PATCH] drm/fourcc: Add packed 10bit YUV 4:2:0 format
-
-Adds a format that is 3 10bit YUV 4:2:0 samples packed into
-a 32bit work (with 2 spare bits).
-
-Supported on Broadcom BCM2711 chips.
-
-Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
----
- drivers/gpu/drm/drm_fourcc.c  |  3 +++
- include/uapi/drm/drm_fourcc.h | 11 +++++++++++
- 2 files changed, 14 insertions(+)
-
---- a/drivers/gpu/drm/drm_fourcc.c
-+++ b/drivers/gpu/drm/drm_fourcc.c
-@@ -266,6 +266,9 @@ const struct drm_format_info *__drm_form
-                 .num_planes = 3, .char_per_block = { 2, 2, 2 },
-                 .block_w = { 1, 1, 1 }, .block_h = { 1, 1, 1 }, .hsub = 0,
-                 .vsub = 0, .is_yuv = true },
-+              { .format = DRM_FORMAT_P030,            .depth = 0,  .num_planes = 2,
-+                .char_per_block = { 4, 4, 0 }, .block_w = { 3, 0, 0 }, .block_h = { 1, 0, 0 },
-+                .hsub = 2, .vsub = 2, .is_yuv = true},
-       };
-       unsigned int i;
---- a/include/uapi/drm/drm_fourcc.h
-+++ b/include/uapi/drm/drm_fourcc.h
-@@ -325,6 +325,13 @@ extern "C" {
- #define DRM_FORMAT_Q401               fourcc_code('Q', '4', '0', '1')
- /*
-+ * 2 plane YCbCr MSB aligned, 3 pixels packed into 4 bytes.
-+ * index 0 = Y plane, [31:0] x:Y2:Y1:Y0 2:10:10:10 little endian
-+ * index 1 = Cr:Cb plane, [63:0] x:Cr2:Cb2:Cr1:x:Cb1:Cr0:Cb0 [2:10:10:10:2:10:10:10] little endian
-+ */
-+#define DRM_FORMAT_P030               fourcc_code('P', '0', '3', '0') /* 2x2 subsampled Cr:Cb plane 10 bits per channel packed */
-+
-+/*
-  * 3 plane YCbCr
-  * index 0: Y plane, [7:0] Y
-  * index 1: Cb plane, [7:0] Cb
-@@ -842,6 +849,10 @@ drm_fourcc_canonicalize_nvidia_format_mo
-  * and UV.  Some SAND-using hardware stores UV in a separate tiled
-  * image from Y to reduce the column height, which is not supported
-  * with these modifiers.
-+ *
-+ * The DRM_FORMAT_MOD_BROADCOM_SAND128_COL_HEIGHT modifier is also
-+ * supported for DRM_FORMAT_P030 where the columns remain as 128 bytes
-+ * wide, but as this is a 10 bpp format that translates to 96 pixels.
-  */
- #define DRM_FORMAT_MOD_BROADCOM_SAND32_COL_HEIGHT(v) \
index b7146a27385c5e2fc2e0440bf8c203f0f4136e65..85e98e7d687112618917103d756e776bfb35b6cb 100644 (file)
@@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  /* Device and char device-related information */
  static DEFINE_IDA(gpio_ida);
  static dev_t gpio_devt;
-@@ -2392,8 +2394,8 @@ int gpiod_direction_output(struct gpio_d
+@@ -2395,8 +2397,8 @@ int gpiod_direction_output(struct gpio_d
                value = !!value;
  
        /* GPIOs used for enabled IRQs shall not be set as output */
@@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
                gpiod_err(desc,
                          "%s: tried to set a GPIO tied to an IRQ as output\n",
                          __func__);
-@@ -3211,8 +3213,8 @@ int gpiochip_lock_as_irq(struct gpio_chi
+@@ -3213,8 +3215,8 @@ int gpiochip_lock_as_irq(struct gpio_chi
        }
  
        /* To be valid for IRQ the line needs to be input or open drain */
index 8f90c6e6aec2330ff78ffafb6fb749cbc22f3306..1fb800fee21fc5b139c4b1cc1b304b18e6c9c9cf 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/drivers/spi/spidev.c
 +++ b/drivers/spi/spidev.c
-@@ -669,6 +669,7 @@ static const struct file_operations spid
+@@ -680,6 +680,7 @@ static const struct file_operations spid
  static struct class *spidev_class;
  
  static const struct spi_device_id spidev_spi_ids[] = {
index f9907cc82a51e770c33440e84825125d23575d2a..40632ecf134935c44f319d6b63baa77a8b3f3f01 100644 (file)
@@ -205,7 +205,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
                xhci_err(xhci, "Tried to move enqueue past ring segment\n");
                return;
        }
-@@ -3153,7 +3156,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
+@@ -3159,7 +3162,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
         * that clears the EHB.
         */
        while (xhci_handle_event(xhci) > 0) {
@@ -214,7 +214,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
                        continue;
                xhci_update_erst_dequeue(xhci, event_ring_deq);
                event_ring_deq = xhci->event_ring->dequeue;
-@@ -3295,7 +3298,8 @@ static int prepare_ring(struct xhci_hcd
+@@ -3301,7 +3304,8 @@ static int prepare_ring(struct xhci_hcd
                }
        }
  
index f4cc7a87e342076b19c7facd5b5d34ba282cb077..ea7313e97b22737382ea5effbd30f9e6d1773dd6 100644 (file)
@@ -440,9 +440,9 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
        st7701->dsi = dsi;
 -      st7701->desc = desc;
  
-       return mipi_dsi_attach(dsi);
- }
-@@ -397,21 +639,115 @@ static int st7701_dsi_remove(struct mipi
+       ret = mipi_dsi_attach(dsi);
+       if (ret)
+@@ -405,21 +647,115 @@ static int st7701_dsi_remove(struct mipi
        return 0;
  }
  
index 6b359c4bb82d3ee388a01b435ca15e536870f561..388528549d80719b413d6cd6839230b028656778 100644 (file)
@@ -47,7 +47,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
  }
  
  static int spi_gpio_setup(struct spi_device *spi)
-@@ -289,6 +297,7 @@ static int spi_gpio_request(struct devic
+@@ -299,6 +307,7 @@ static int spi_gpio_request(struct devic
        if (IS_ERR(spi_gpio->miso))
                return PTR_ERR(spi_gpio->miso);
  
index 34562507c297d1fac6c8bd81e3b83ef44f02d488..aa54439b32571a06945c9eee98a86613b0d5ec5e 100644 (file)
@@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
 --- a/drivers/usb/host/xhci-ring.c
 +++ b/drivers/usb/host/xhci-ring.c
-@@ -3608,14 +3608,15 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3614,14 +3614,15 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
        unsigned int num_trbs;
        unsigned int start_cycle, num_sgs = 0;
        unsigned int enqd_len, block_len, trb_buff_len, full_len;
@@ -54,7 +54,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        full_len = urb->transfer_buffer_length;
        /* If we have scatter/gather list, we use it. */
        if (urb->num_sgs && !(urb->transfer_flags & URB_DMA_MAP_SINGLE)) {
-@@ -3652,6 +3653,17 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3658,6 +3659,17 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
        start_cycle = ring->cycle_state;
        send_addr = addr;
  
@@ -72,7 +72,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        /* Queue the TRBs, even if they are zero-length */
        for (enqd_len = 0; first_trb || enqd_len < full_len;
                        enqd_len += trb_buff_len) {
-@@ -3664,6 +3676,11 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3670,6 +3682,11 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
                if (enqd_len + trb_buff_len > full_len)
                        trb_buff_len = full_len - enqd_len;
  
index 273a769ff987baece99d580749f7fa08e6a897ce..313a664f5914c10213a3d7a576f64e95a057502f 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
 
 --- a/drivers/usb/host/xhci-ring.c
 +++ b/drivers/usb/host/xhci-ring.c
-@@ -3608,7 +3608,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3614,7 +3614,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
        unsigned int num_trbs;
        unsigned int start_cycle, num_sgs = 0;
        unsigned int enqd_len, block_len, trb_buff_len, full_len;
@@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        u32 field, length_field, remainder, maxpacket;
        u64 addr, send_addr;
  
-@@ -3654,14 +3654,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3660,14 +3660,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
        send_addr = addr;
  
        if (xhci->quirks & XHCI_VLI_SS_BULK_OUT_BUG &&
@@ -40,7 +40,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        }
  
        /* Queue the TRBs, even if they are zero-length */
-@@ -3676,7 +3671,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3682,7 +3677,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
                if (enqd_len + trb_buff_len > full_len)
                        trb_buff_len = full_len - enqd_len;
  
index 9c47e48843a477afddd4dd4afae7c2ed93eb9441..f25495290dc7f16ae134864ffbbb17250446e4c4 100644 (file)
@@ -22,7 +22,7 @@ Reviewed-by: Vadim Pasternak <vadimp@nvidia.com>
 
 --- a/drivers/hwmon/Kconfig
 +++ b/drivers/hwmon/Kconfig
-@@ -1684,6 +1684,19 @@ config SENSORS_EMC2103
+@@ -1685,6 +1685,19 @@ config SENSORS_EMC2103
          This driver can also be built as a module. If so, the module
          will be called emc2103.
  
index cfd53525a9e019b7cb4a2e25ebe33b4b44782a66..4874fd1237980cf348e6041a777413d98b23aade 100644 (file)
@@ -116,7 +116,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
  }
 --- a/drivers/gpio/gpiolib.c
 +++ b/drivers/gpio/gpiolib.c
-@@ -1799,7 +1799,8 @@ int gpiochip_add_pingroup_range(struct g
+@@ -1802,7 +1802,8 @@ int gpiochip_add_pingroup_range(struct g
  
        list_add_tail(&pin_range->node, &gdev->pin_ranges);
  
@@ -126,7 +126,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
  }
  EXPORT_SYMBOL_GPL(gpiochip_add_pingroup_range);
  
-@@ -1856,7 +1857,7 @@ int gpiochip_add_pin_range(struct gpio_c
+@@ -1859,7 +1860,7 @@ int gpiochip_add_pin_range(struct gpio_c
  
        list_add_tail(&pin_range->node, &gdev->pin_ranges);
  
index bba964f4811e0e95b0023f5567ecb52205b3ecfd..3336e4e351c78edbe630fa86ccf7283f340d1430 100644 (file)
@@ -107,7 +107,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  }
  
  static struct clk clk_pcie = {
-@@ -548,6 +562,21 @@ static struct clk_lookup bcm6368_clks[]
+@@ -550,6 +564,21 @@ static struct clk_lookup bcm6368_clks[]
        CLKDEV_INIT(NULL, "ipsec", &clk_ipsec),
  };
  
@@ -129,7 +129,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  #define HSSPI_PLL_HZ_6328     133333333
  #define HSSPI_PLL_HZ_6362     400000000
  
-@@ -580,6 +609,10 @@ static int __init bcm63xx_clk_init(void)
+@@ -582,6 +611,10 @@ static int __init bcm63xx_clk_init(void)
        case BCM6368_CPU_ID:
                clkdev_add_table(bcm6368_clks, ARRAY_SIZE(bcm6368_clks));
                break;
index cb0f8f3e1b6704ebcf2950e4b4b2d115cd2d19ad..d4e195fc4b22ea048b4f3bb5464e46ea2bf80126 100644 (file)
@@ -57,7 +57,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
                mask = CKCTL_6328_HSSPI_EN;
        else if (BCMCPU_IS_6362())
                mask = CKCTL_6362_HSSPI_EN;
-@@ -456,6 +458,19 @@ static struct clk_lookup bcm3368_clks[]
+@@ -458,6 +460,19 @@ static struct clk_lookup bcm3368_clks[]
        CLKDEV_INIT("bcm63xx_enet.1", "enet", &clk_enet1),
  };
  
@@ -77,7 +77,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
  static struct clk_lookup bcm6328_clks[] = {
        /* fixed rate clocks */
        CLKDEV_INIT(NULL, "periph", &clk_periph),
-@@ -577,6 +592,7 @@ static struct clk_lookup bcm63268_clks[]
+@@ -579,6 +594,7 @@ static struct clk_lookup bcm63268_clks[]
        CLKDEV_INIT(NULL, "pcie", &clk_pcie),
  };
  
@@ -85,7 +85,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
  #define HSSPI_PLL_HZ_6328     133333333
  #define HSSPI_PLL_HZ_6362     400000000
  
-@@ -586,6 +602,10 @@ static int __init bcm63xx_clk_init(void)
+@@ -588,6 +604,10 @@ static int __init bcm63xx_clk_init(void)
        case BCM3368_CPU_ID:
                clkdev_add_table(bcm3368_clks, ARRAY_SIZE(bcm3368_clks));
                break;
index d6b1190b9d8afae232506fa183616c772d17e8cf..b5085ea7d47c9cc7179b0055504d712ac2f61c9e 100644 (file)
@@ -9,7 +9,7 @@ Subject: [PATCH] MIPS: BCM63XX: add clkdev lookups for device tree
 
 --- a/arch/mips/bcm63xx/clk.c
 +++ b/arch/mips/bcm63xx/clk.c
-@@ -501,6 +501,8 @@ static struct clk_lookup bcm3368_clks[]
+@@ -503,6 +503,8 @@ static struct clk_lookup bcm3368_clks[]
        CLKDEV_INIT(NULL, "periph", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.1", "refclk", &clk_periph),
@@ -18,7 +18,7 @@ Subject: [PATCH] MIPS: BCM63XX: add clkdev lookups for device tree
        /* gated clocks */
        CLKDEV_INIT(NULL, "enet0", &clk_enet0),
        CLKDEV_INIT(NULL, "enet1", &clk_enet1),
-@@ -517,7 +519,9 @@ static struct clk_lookup bcm6318_clks[]
+@@ -519,7 +521,9 @@ static struct clk_lookup bcm6318_clks[]
        /* fixed rate clocks */
        CLKDEV_INIT(NULL, "periph", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
@@ -28,7 +28,7 @@ Subject: [PATCH] MIPS: BCM63XX: add clkdev lookups for device tree
        /* gated clocks */
        CLKDEV_INIT(NULL, "enetsw", &clk_enetsw),
        CLKDEV_INIT(NULL, "usbh", &clk_usbh),
-@@ -531,7 +535,10 @@ static struct clk_lookup bcm6328_clks[]
+@@ -533,7 +537,10 @@ static struct clk_lookup bcm6328_clks[]
        CLKDEV_INIT(NULL, "periph", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.1", "refclk", &clk_periph),
@@ -39,7 +39,7 @@ Subject: [PATCH] MIPS: BCM63XX: add clkdev lookups for device tree
        /* gated clocks */
        CLKDEV_INIT(NULL, "enetsw", &clk_enetsw),
        CLKDEV_INIT(NULL, "usbh", &clk_usbh),
-@@ -544,6 +551,7 @@ static struct clk_lookup bcm6338_clks[]
+@@ -546,6 +553,7 @@ static struct clk_lookup bcm6338_clks[]
        /* fixed rate clocks */
        CLKDEV_INIT(NULL, "periph", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
@@ -47,7 +47,7 @@ Subject: [PATCH] MIPS: BCM63XX: add clkdev lookups for device tree
        /* gated clocks */
        CLKDEV_INIT(NULL, "enet0", &clk_enet0),
        CLKDEV_INIT(NULL, "enet1", &clk_enet1),
-@@ -558,6 +566,7 @@ static struct clk_lookup bcm6345_clks[]
+@@ -560,6 +568,7 @@ static struct clk_lookup bcm6345_clks[]
        /* fixed rate clocks */
        CLKDEV_INIT(NULL, "periph", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
@@ -55,7 +55,7 @@ Subject: [PATCH] MIPS: BCM63XX: add clkdev lookups for device tree
        /* gated clocks */
        CLKDEV_INIT(NULL, "enet0", &clk_enet0),
        CLKDEV_INIT(NULL, "enet1", &clk_enet1),
-@@ -572,6 +581,7 @@ static struct clk_lookup bcm6348_clks[]
+@@ -574,6 +583,7 @@ static struct clk_lookup bcm6348_clks[]
        /* fixed rate clocks */
        CLKDEV_INIT(NULL, "periph", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
@@ -63,7 +63,7 @@ Subject: [PATCH] MIPS: BCM63XX: add clkdev lookups for device tree
        /* gated clocks */
        CLKDEV_INIT(NULL, "enet0", &clk_enet0),
        CLKDEV_INIT(NULL, "enet1", &clk_enet1),
-@@ -588,6 +598,8 @@ static struct clk_lookup bcm6358_clks[]
+@@ -590,6 +600,8 @@ static struct clk_lookup bcm6358_clks[]
        CLKDEV_INIT(NULL, "periph", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.1", "refclk", &clk_periph),
@@ -72,7 +72,7 @@ Subject: [PATCH] MIPS: BCM63XX: add clkdev lookups for device tree
        /* gated clocks */
        CLKDEV_INIT(NULL, "enet0", &clk_enet0),
        CLKDEV_INIT(NULL, "enet1", &clk_enet1),
-@@ -607,7 +619,10 @@ static struct clk_lookup bcm6362_clks[]
+@@ -609,7 +621,10 @@ static struct clk_lookup bcm6362_clks[]
        CLKDEV_INIT(NULL, "periph", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.1", "refclk", &clk_periph),
@@ -83,7 +83,7 @@ Subject: [PATCH] MIPS: BCM63XX: add clkdev lookups for device tree
        /* gated clocks */
        CLKDEV_INIT(NULL, "enetsw", &clk_enetsw),
        CLKDEV_INIT(NULL, "usbh", &clk_usbh),
-@@ -623,6 +638,8 @@ static struct clk_lookup bcm6368_clks[]
+@@ -625,6 +640,8 @@ static struct clk_lookup bcm6368_clks[]
        CLKDEV_INIT(NULL, "periph", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.1", "refclk", &clk_periph),
@@ -92,7 +92,7 @@ Subject: [PATCH] MIPS: BCM63XX: add clkdev lookups for device tree
        /* gated clocks */
        CLKDEV_INIT(NULL, "enetsw", &clk_enetsw),
        CLKDEV_INIT(NULL, "usbh", &clk_usbh),
-@@ -637,7 +654,10 @@ static struct clk_lookup bcm63268_clks[]
+@@ -639,7 +656,10 @@ static struct clk_lookup bcm63268_clks[]
        CLKDEV_INIT(NULL, "periph", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.0", "refclk", &clk_periph),
        CLKDEV_INIT("bcm63xx_uart.1", "refclk", &clk_periph),
index a29c3b780bf231d35619b4552cef6fe264ab3dd8..b5979ff248fcf46430b4e8ec037c8dce52c95e96 100644 (file)
@@ -24,7 +24,7 @@
   * Internal peripheral clock
   */
  static struct clk clk_periph = {
-@@ -624,6 +641,7 @@ static struct clk_lookup bcm6362_clks[]
+@@ -626,6 +643,7 @@ static struct clk_lookup bcm6362_clks[]
        CLKDEV_INIT("bcm63xx-hsspi.0", "pll", &clk_hsspi_pll),
        CLKDEV_INIT("10001000.spi", "pll", &clk_hsspi_pll),
        /* gated clocks */
@@ -32,7 +32,7 @@
        CLKDEV_INIT(NULL, "enetsw", &clk_enetsw),
        CLKDEV_INIT(NULL, "usbh", &clk_usbh),
        CLKDEV_INIT(NULL, "usbd", &clk_usbd),
-@@ -641,6 +659,7 @@ static struct clk_lookup bcm6368_clks[]
+@@ -643,6 +661,7 @@ static struct clk_lookup bcm6368_clks[]
        CLKDEV_INIT("10000100.serial", "refclk", &clk_periph),
        CLKDEV_INIT("10000120.serial", "refclk", &clk_periph),
        /* gated clocks */
@@ -40,7 +40,7 @@
        CLKDEV_INIT(NULL, "enetsw", &clk_enetsw),
        CLKDEV_INIT(NULL, "usbh", &clk_usbh),
        CLKDEV_INIT(NULL, "usbd", &clk_usbd),
-@@ -659,6 +678,7 @@ static struct clk_lookup bcm63268_clks[]
+@@ -661,6 +680,7 @@ static struct clk_lookup bcm63268_clks[]
        CLKDEV_INIT("bcm63xx-hsspi.0", "pll", &clk_hsspi_pll),
        CLKDEV_INIT("10001000.spi", "pll", &clk_hsspi_pll),
        /* gated clocks */
index 53dce95ffb209b37f963de6d066d8818b3c25940..e0b95cb76bb24b2be303af3fccccfa2cfdd9f889 100644 (file)
@@ -297,7 +297,7 @@ Change-Id: I25d9eda8c6bdc7c3653b9f210a159d6c247c81e8
  }
 --- a/kernel/fork.c
 +++ b/kernel/fork.c
-@@ -1080,6 +1080,7 @@ static struct mm_struct *mm_init(struct
+@@ -1083,6 +1083,7 @@ static struct mm_struct *mm_init(struct
                goto fail_nocontext;
  
        mm->user_ns = get_user_ns(user_ns);
@@ -305,7 +305,7 @@ Change-Id: I25d9eda8c6bdc7c3653b9f210a159d6c247c81e8
        return mm;
  
  fail_nocontext:
-@@ -1122,6 +1123,7 @@ static inline void __mmput(struct mm_str
+@@ -1125,6 +1126,7 @@ static inline void __mmput(struct mm_str
        }
        if (mm->binfmt)
                module_put(mm->binfmt->module);
@@ -313,7 +313,7 @@ Change-Id: I25d9eda8c6bdc7c3653b9f210a159d6c247c81e8
        mmdrop(mm);
  }
  
-@@ -2617,6 +2619,13 @@ pid_t kernel_clone(struct kernel_clone_a
+@@ -2622,6 +2624,13 @@ pid_t kernel_clone(struct kernel_clone_a
                get_task_struct(p);
        }
  
index 8b8e478b005ca50c7e6aebde7955a34ddaf3999d..ee385416d1d0f462faf1f4dc39fb36ae227a197d 100644 (file)
@@ -103,4 +103,4 @@ Link: https://lore.kernel.org/linux-mtd/20220622010628.30414-4-ansuelsmth@gmail.
 +      mtd_check_of_node(mtd);
        of_node_get(mtd_get_of_node(mtd));
        error = device_register(&mtd->dev);
-       if (error)
+       if (error) {
index be1aa9cfb84fff5b9da12fbfe00a4f79e663ff1e..acef46f2b9145d53d69bb600e1bb837099db9ca4 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
 
 --- a/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
-@@ -1227,6 +1227,34 @@ int __get_mtd_device(struct mtd_info *mt
+@@ -1229,6 +1229,34 @@ int __get_mtd_device(struct mtd_info *mt
  EXPORT_SYMBOL_GPL(__get_mtd_device);
  
  /**
index 60b176425224d5088975b3673ef1032a38ceb109..505e347e40ebcbaadad50e941b7d614a116f9ead 100644 (file)
@@ -27,7 +27,7 @@ Link: https://lore.kernel.org/linux-mtd/20221022211318.32009-2-zajec5@gmail.com
  
  #include <linux/mtd/mtd.h>
  #include <linux/mtd/partitions.h>
-@@ -746,6 +747,17 @@ int add_mtd_device(struct mtd_info *mtd)
+@@ -748,6 +749,17 @@ int add_mtd_device(struct mtd_info *mtd)
                not->add(mtd);
  
        mutex_unlock(&mtd_table_mutex);
index 2f93518e157ab039bb9092b7862c28cb282d3824..d5b1d2141331becffcf3b1a897ae424cb991c88f 100644 (file)
@@ -233,7 +233,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static inline void
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -863,6 +863,7 @@ enum net_device_path_type {
+@@ -870,6 +870,7 @@ enum net_device_path_type {
        DEV_PATH_BRIDGE,
        DEV_PATH_PPPOE,
        DEV_PATH_DSA,
@@ -241,7 +241,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  };
  
  struct net_device_path {
-@@ -888,6 +889,12 @@ struct net_device_path {
+@@ -895,6 +896,12 @@ struct net_device_path {
                        int port;
                        u16 proto;
                } dsa;
index 7890c9955174d31a9ad221bc6a9b983f32163a36..521bad896af12483b089b6967dff8d2a211cfab7 100644 (file)
@@ -87,7 +87,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        stmmac_clear_tx_descriptors(priv, queue);
  
        stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
-@@ -7398,6 +7393,25 @@ int stmmac_suspend(struct device *dev)
+@@ -7400,6 +7395,25 @@ int stmmac_suspend(struct device *dev)
  }
  EXPORT_SYMBOL_GPL(stmmac_suspend);
  
@@ -113,7 +113,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  /**
   * stmmac_reset_queues_param - reset queue parameters
   * @priv: device pointer
-@@ -7408,22 +7422,11 @@ static void stmmac_reset_queues_param(st
+@@ -7410,22 +7424,11 @@ static void stmmac_reset_queues_param(st
        u32 tx_cnt = priv->plat->tx_queues_to_use;
        u32 queue;
  
index 46375a6fa98910d28745d234a07fa060bcd3f028..e65d8b1960ceeebadd81f1513428eacbd5964539 100644 (file)
@@ -1210,7 +1210,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        if (netif_running(dev))
                ret = stmmac_open(dev);
-@@ -7344,7 +7348,7 @@ int stmmac_suspend(struct device *dev)
+@@ -7346,7 +7350,7 @@ int stmmac_suspend(struct device *dev)
        stmmac_disable_all_queues(priv);
  
        for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -1219,7 +1219,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        if (priv->eee_enabled) {
                priv->tx_path_in_lpi_mode = false;
-@@ -7395,7 +7399,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend);
+@@ -7397,7 +7401,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend);
  
  static void stmmac_reset_rx_queue(struct stmmac_priv *priv, u32 queue)
  {
@@ -1228,7 +1228,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        rx_q->cur_rx = 0;
        rx_q->dirty_rx = 0;
-@@ -7403,7 +7407,7 @@ static void stmmac_reset_rx_queue(struct
+@@ -7405,7 +7409,7 @@ static void stmmac_reset_rx_queue(struct
  
  static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue)
  {
@@ -1250,7 +1250,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
                stmmac_set_rx_tail_ptr(priv, priv->ioaddr, tail, i);
                stmmac_start_rx(priv, priv->ioaddr, i);
-@@ -1680,7 +1680,7 @@ cleanup:
+@@ -1684,7 +1684,7 @@ cleanup:
  static int __stmmac_test_jumbo(struct stmmac_priv *priv, u16 queue)
  {
        struct stmmac_packet_attrs attr = { };
@@ -1259,7 +1259,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        attr.dst = priv->dev->dev_addr;
        attr.max_size = size - ETH_FCS_LEN;
-@@ -1763,7 +1763,7 @@ static int stmmac_test_tbs(struct stmmac
+@@ -1767,7 +1767,7 @@ static int stmmac_test_tbs(struct stmmac
  
        /* Find first TBS enabled Queue, if any */
        for (i = 0; i < priv->plat->tx_queues_to_use; i++)
index 12149edbe9e5a73429743b247ab74bc12be1e3cb..80c22c34d01535399a6cd6270ec299cb97ad96d1 100644 (file)
@@ -1150,7 +1150,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  dma_desc_error:
        return ret;
  }
-@@ -7490,7 +7606,7 @@ int stmmac_resume(struct device *dev)
+@@ -7492,7 +7608,7 @@ int stmmac_resume(struct device *dev)
        stmmac_reset_queues_param(priv);
  
        stmmac_free_tx_skbufs(priv);
index 65772cc195d2fc044ed5486a0098f71851ffbb61..b10b8d997963103b7f98ab4d7085c00b6e5e1c69 100644 (file)
@@ -77,7 +77,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
  #include "mtdcore.h"
  
-@@ -1079,6 +1080,8 @@ int mtd_device_parse_register(struct mtd
+@@ -1081,6 +1082,8 @@ int mtd_device_parse_register(struct mtd
  
        ret = mtd_otp_nvmem_add(mtd);
  
index 15531df49ed7e6813cf1534137cc133afab3b97d..947b2c262f339029728b10a2cb3c443af9ef70a3 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
 
 --- a/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
-@@ -759,7 +759,8 @@ int add_mtd_device(struct mtd_info *mtd)
+@@ -761,7 +761,8 @@ int add_mtd_device(struct mtd_info *mtd)
  
        mutex_unlock(&mtd_table_mutex);
  
index 81993e35691cfaf191fefb36718986cd2c42eb96..595318fa52a702173be158af77e04c99ee1986bc 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -1669,6 +1669,10 @@ enum netdev_priv_flags {
+@@ -1676,6 +1676,10 @@ enum netdev_priv_flags {
        IFF_TX_SKB_NO_LINEAR            = BIT_ULL(31),
  };
  
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #define IFF_802_1Q_VLAN                       IFF_802_1Q_VLAN
  #define IFF_EBRIDGE                   IFF_EBRIDGE
  #define IFF_BONDING                   IFF_BONDING
-@@ -1701,6 +1705,7 @@ enum netdev_priv_flags {
+@@ -1708,6 +1712,7 @@ enum netdev_priv_flags {
  #define IFF_L3MDEV_RX_HANDLER         IFF_L3MDEV_RX_HANDLER
  #define IFF_LIVE_RENAME_OK            IFF_LIVE_RENAME_OK
  #define IFF_TX_SKB_NO_LINEAR          IFF_TX_SKB_NO_LINEAR
@@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  /* Specifies the type of the struct net_device::ml_priv pointer */
  enum netdev_ml_priv_type {
-@@ -2002,6 +2007,7 @@ struct net_device {
+@@ -2009,6 +2014,7 @@ struct net_device {
        /* Read-mostly cache-line for fast-path access */
        unsigned int            flags;
        unsigned int            priv_flags;
@@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        const struct net_device_ops *netdev_ops;
        int                     ifindex;
        unsigned short          gflags;
-@@ -2062,6 +2068,11 @@ struct net_device {
+@@ -2069,6 +2075,11 @@ struct net_device {
        const struct tlsdev_ops *tlsdev_ops;
  #endif
  
@@ -58,7 +58,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        const struct header_ops *header_ops;
  
        unsigned char           operstate;
-@@ -2136,6 +2147,10 @@ struct net_device {
+@@ -2143,6 +2154,10 @@ struct net_device {
        struct mctp_dev __rcu   *mctp_ptr;
  #endif
  
index 9fde1eaabb0851e434aebf8ff0cdf03822ff71bf..0a2c82cacbc11f4ac0d1b5481e634ca40057f48a 100644 (file)
@@ -105,7 +105,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  {
 --- a/include/linux/gpio/consumer.h
 +++ b/include/linux/gpio/consumer.h
-@@ -715,6 +715,7 @@ static inline void devm_acpi_dev_remove_
+@@ -712,6 +712,7 @@ static inline void devm_acpi_dev_remove_
  
  #if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS)
  
@@ -113,7 +113,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  int gpiod_export(struct gpio_desc *desc, bool direction_may_change);
  int gpiod_export_link(struct device *dev, const char *name,
                      struct gpio_desc *desc);
-@@ -722,6 +723,13 @@ void gpiod_unexport(struct gpio_desc *de
+@@ -719,6 +720,13 @@ void gpiod_unexport(struct gpio_desc *de
  
  #else  /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */
  
diff --git a/target/linux/generic/pending-5.15/101-Use-stddefs.h-instead-of-compiler.h.patch b/target/linux/generic/pending-5.15/101-Use-stddefs.h-instead-of-compiler.h.patch
deleted file mode 100644 (file)
index 55388fb..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-From d3c5b26768dbe990c4e1bd79e420c11ce7491d51 Mon Sep 17 00:00:00 2001
-From: OpenWrt community <openwrt-devel@lists.openwrt.org>
-Date: Wed, 13 Jul 2022 11:36:00 +0200
-Subject: [PATCH] swab: use stddefs.h instead of compiler.h
-
-Fix an issue with kernel headers that broke perf.
-
----
- include/uapi/linux/swab.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/include/uapi/linux/swab.h
-+++ b/include/uapi/linux/swab.h
-@@ -3,7 +3,7 @@
- #define _UAPI_LINUX_SWAB_H
- #include <linux/types.h>
--#include <linux/compiler.h>
-+#include <linux/stddef.h>
- #include <asm/bitsperlong.h>
- #include <asm/swab.h>
index d260cf1f9ab7da72870d586811fec376c73cad53..69949a69ac481d042de2e7e0cf0df3d4d07f1ad2 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
 
 --- a/drivers/spi/spidev.c
 +++ b/drivers/spi/spidev.c
-@@ -696,6 +696,7 @@ static const struct of_device_id spidev_
+@@ -707,6 +707,7 @@ static const struct of_device_id spidev_
        { .compatible = "menlo,m53cpld" },
        { .compatible = "cisco,spi-petra" },
        { .compatible = "micron,spi-authenta" },
index b4fa08f0ea9eddb455c682af8b5ed792aed6a9f4..60605ec05e73270234c8471b572d86a4930db2f3 100644 (file)
@@ -202,7 +202,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
        return !!nor->params->erase_map.uniform_erase_type;
  }
  
-@@ -2388,6 +2390,7 @@ static int spi_nor_select_erase(struct s
+@@ -2389,6 +2391,7 @@ static int spi_nor_select_erase(struct s
  {
        struct spi_nor_erase_map *map = &nor->params->erase_map;
        const struct spi_nor_erase_type *erase = NULL;
@@ -210,7 +210,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
        struct mtd_info *mtd = &nor->mtd;
        u32 wanted_size = nor->info->sector_size;
        int i;
-@@ -2420,8 +2423,9 @@ static int spi_nor_select_erase(struct s
+@@ -2421,8 +2424,9 @@ static int spi_nor_select_erase(struct s
         */
        for (i = SNOR_ERASE_TYPE_MAX - 1; i >= 0; i--) {
                if (map->erase_type[i].size) {
@@ -222,7 +222,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
                }
        }
  
-@@ -2429,6 +2433,9 @@ static int spi_nor_select_erase(struct s
+@@ -2430,6 +2434,9 @@ static int spi_nor_select_erase(struct s
                return -EINVAL;
  
        mtd->erasesize = erase->size;
index 72938abd37699183858ba7f6097f954e36f8c1bc..2b291813861e00b976c322cb9d0c693457e0b2a7 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -2089,6 +2089,8 @@ struct net_device {
+@@ -2096,6 +2096,8 @@ struct net_device {
        struct netdev_hw_addr_list      mc;
        struct netdev_hw_addr_list      dev_addrs;
  
index 58b837c084f97a5a2a784ac281e1d9144c0f9817..9c85862a4bd82247780da8f8dc316a226aac3b58 100644 (file)
@@ -134,7 +134,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
  /*
   * Define if arch has non-standard setup.  This is a _PCI_ standard
-@@ -888,6 +891,12 @@ struct ata_port {
+@@ -894,6 +897,12 @@ struct ata_port {
  #ifdef CONFIG_ATA_ACPI
        struct ata_acpi_gtm     __acpi_init_gtm; /* use ata_acpi_init_gtm() */
  #endif
diff --git a/target/linux/ipq806x/patches-5.15/122-01-clk-qcom-clk-krait-fix-wrong-div2-functions.patch b/target/linux/ipq806x/patches-5.15/122-01-clk-qcom-clk-krait-fix-wrong-div2-functions.patch
deleted file mode 100644 (file)
index c729ea1..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 2acc3260050cf17d72ec5fb7a00cd91cf53ef5b6 Mon Sep 17 00:00:00 2001
-From: Christian Marangi <ansuelsmth@gmail.com>
-Date: Fri, 23 Sep 2022 18:42:29 +0200
-Subject: [PATCH 1/4] clk: qcom: clk-krait: fix wrong div2 functions
-
-Currently div2 value is applied to the wrong bits. This is caused by a
-bug in the code where the shift is done only for lpl, for anything
-else the mask is not shifted to the correct bits.
-
-Fix this by correctly shift if lpl is not supported.
-
-Fixes: 4d7dc77babfe ("clk: qcom: Add support for Krait clocks")
-Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
----
- drivers/clk/qcom/clk-krait.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/drivers/clk/qcom/clk-krait.c
-+++ b/drivers/clk/qcom/clk-krait.c
-@@ -114,6 +114,8 @@ static int krait_div2_set_rate(struct cl
-       if (d->lpl)
-               mask = mask << (d->shift + LPL_SHIFT) | mask << d->shift;
-+      else
-+              mask <<= d->shift;
-       spin_lock_irqsave(&krait_clock_reg_lock, flags);
-       val = krait_get_l2_indirect_reg(d->offset);
index 34fe761d1e603941a90cba1cfac0b0d1206c69c0..49861945484ddf0bac1a5900e4b57f887a6e2f87 100644 (file)
@@ -39,7 +39,7 @@
  
        /* check we are the Master VPE */
        local_irq_save(flags);
-@@ -417,6 +418,8 @@ int __init vpe_module_init(void)
+@@ -416,6 +417,8 @@ int __init vpe_module_init(void)
                        }
  
                        v->ntcs = hw_tcs - aprp_cpu_index();
index 279373755681846c3afe0fe7ad2eedc44459805d..67beb0654162a0f898cae47575c4da3b268e4fb7 100644 (file)
@@ -26,7 +26,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
 +++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
-@@ -390,7 +390,8 @@
+@@ -396,7 +396,8 @@
        phy1: ethernet-phy@1 {
                compatible = "ethernet-phy-ieee802.3-c22";
                reg = <1>;
index 5b8ce56f5d6c8fa351cf6d4b1cbf07348a352c2c..ecfb43553f517cb44a368eca425dc73b7b4b58c4 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
 +++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
-@@ -188,15 +188,13 @@
+@@ -194,15 +194,13 @@
                                reg = <0x2b>;
                                #address-cells = <1>;
                                #size-cells = <0>;
@@ -38,7 +38,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
                                 * - there are 3 LEDs connected via MCU to PCIe
                                 *   ports. One of these ports supports mSATA.
                                 *   There is no mSATA nor PCIe function.
-@@ -207,7 +205,6 @@
+@@ -213,7 +211,6 @@
                                 *   B. Again there is no such function defined.
                                 *   For now we use LED_FUNCTION_INDICATOR
                                 */
index 84d995b902a46e9ec8ef5a69eea79a380bebf668..c043a99c8b76188d357a0651769e23522f47a7b2 100644 (file)
@@ -26,7 +26,7 @@ Cc: Robert Marko <robert.marko@sartura.hr>
 
 --- a/drivers/mfd/Kconfig
 +++ b/drivers/mfd/Kconfig
-@@ -2187,6 +2187,15 @@ config SGI_MFD_IOC3
+@@ -2188,6 +2188,15 @@ config SGI_MFD_IOC3
          If you have an SGI Origin, Octane, or a PCI IOC3 card,
          then say Y. Otherwise say N.
  
index 3f0d5bb2611b81bba39955bcff3b1a24d5f9934f..f44f6b55ffe77cc5191194303e943168c0a53990 100644 (file)
@@ -36,7 +36,7 @@
  
 --- a/include/linux/libata.h
 +++ b/include/linux/libata.h
-@@ -917,6 +917,8 @@ struct ata_port_operations {
+@@ -923,6 +923,8 @@ struct ata_port_operations {
        enum ata_completion_errors (*qc_prep)(struct ata_queued_cmd *qc);
        unsigned int (*qc_issue)(struct ata_queued_cmd *qc);
        bool (*qc_fill_rtf)(struct ata_queued_cmd *qc);
@@ -45,7 +45,7 @@
  
        /*
         * Configuration and exception handling
-@@ -1007,6 +1009,9 @@ struct ata_port_operations {
+@@ -1013,6 +1015,9 @@ struct ata_port_operations {
        void (*phy_reset)(struct ata_port *ap);
        void (*eng_timeout)(struct ata_port *ap);
  
index 5aa69421b930a4f4949a705cdc3f6198d9d63f53..1c8c7cd3d0c4e37c6ca4a4fb9292d4a058a3fc00 100644 (file)
@@ -211,7 +211,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -
 --- a/drivers/staging/mt7621-pci/pci-mt7621.c
 +++ /dev/null
-@@ -1,600 +0,0 @@
+@@ -1,601 +0,0 @@
 -// SPDX-License-Identifier: GPL-2.0+
 -/*
 - * BRIEF MODULE DESCRIPTION
@@ -307,8 +307,8 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 - * reset lines are inverted.
 - */
 -struct mt7621_pcie {
--      void __iomem *base;
 -      struct device *dev;
+-      void __iomem *base;
 -      struct list_head ports;
 -      bool resets_inverted;
 -};
@@ -343,7 +343,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -      writel_relaxed(val, port->base + reg);
 -}
 -
--static inline u32 mt7621_pci_get_cfgaddr(unsigned int bus, unsigned int slot,
+-static inline u32 mt7621_pcie_get_cfgaddr(unsigned int bus, unsigned int slot,
 -                                       unsigned int func, unsigned int where)
 -{
 -      return (((where & 0xF00) >> 8) << 24) | (bus << 16) | (slot << 11) |
@@ -354,7 +354,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -                                       unsigned int devfn, int where)
 -{
 -      struct mt7621_pcie *pcie = bus->sysdata;
--      u32 address = mt7621_pci_get_cfgaddr(bus->number, PCI_SLOT(devfn),
+-      u32 address = mt7621_pcie_get_cfgaddr(bus->number, PCI_SLOT(devfn),
 -                                           PCI_FUNC(devfn), where);
 -
 -      writel_relaxed(address, pcie->base + RALINK_PCI_CONFIG_ADDR);
@@ -362,7 +362,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -      return pcie->base + RALINK_PCI_CONFIG_DATA + (where & 3);
 -}
 -
--struct pci_ops mt7621_pci_ops = {
+-struct pci_ops mt7621_pcie_ops = {
 -      .map_bus        = mt7621_pcie_map_bus,
 -      .read           = pci_generic_config_read,
 -      .write          = pci_generic_config_write,
@@ -370,7 +370,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -
 -static u32 read_config(struct mt7621_pcie *pcie, unsigned int dev, u32 reg)
 -{
--      u32 address = mt7621_pci_get_cfgaddr(0, dev, 0, reg);
+-      u32 address = mt7621_pcie_get_cfgaddr(0, dev, 0, reg);
 -
 -      pcie_write(pcie, address, RALINK_PCI_CONFIG_ADDR);
 -      return pcie_read(pcie, RALINK_PCI_CONFIG_DATA);
@@ -379,7 +379,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -static void write_config(struct mt7621_pcie *pcie, unsigned int dev,
 -                       u32 reg, u32 val)
 -{
--      u32 address = mt7621_pci_get_cfgaddr(0, dev, 0, reg);
+-      u32 address = mt7621_pcie_get_cfgaddr(0, dev, 0, reg);
 -
 -      pcie_write(pcie, address, RALINK_PCI_CONFIG_ADDR);
 -      pcie_write(pcie, val, RALINK_PCI_CONFIG_DATA);
@@ -719,16 +719,17 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -{
 -      struct mt7621_pcie *pcie = pci_host_bridge_priv(host);
 -
--      host->ops = &mt7621_pci_ops;
+-      host->ops = &mt7621_pcie_ops;
 -      host->sysdata = pcie;
 -      return pci_host_probe(host);
 -}
 -
--static const struct soc_device_attribute mt7621_pci_quirks_match[] = {
--      { .soc_id = "mt7621", .revision = "E2" }
+-static const struct soc_device_attribute mt7621_pcie_quirks_match[] = {
+-      { .soc_id = "mt7621", .revision = "E2" },
+-      { /* sentinel */ }
 -};
 -
--static int mt7621_pci_probe(struct platform_device *pdev)
+-static int mt7621_pcie_probe(struct platform_device *pdev)
 -{
 -      struct device *dev = &pdev->dev;
 -      const struct soc_device_attribute *attr;
@@ -749,7 +750,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -      platform_set_drvdata(pdev, pcie);
 -      INIT_LIST_HEAD(&pcie->ports);
 -
--      attr = soc_device_match(mt7621_pci_quirks_match);
+-      attr = soc_device_match(mt7621_pcie_quirks_match);
 -      if (attr)
 -              pcie->resets_inverted = true;
 -
@@ -786,7 +787,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -      return err;
 -}
 -
--static int mt7621_pci_remove(struct platform_device *pdev)
+-static int mt7621_pcie_remove(struct platform_device *pdev)
 -{
 -      struct mt7621_pcie *pcie = platform_get_drvdata(pdev);
 -      struct mt7621_pcie_port *port;
@@ -797,21 +798,21 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -      return 0;
 -}
 -
--static const struct of_device_id mt7621_pci_ids[] = {
+-static const struct of_device_id mt7621_pcie_ids[] = {
 -      { .compatible = "mediatek,mt7621-pci" },
 -      {},
 -};
--MODULE_DEVICE_TABLE(of, mt7621_pci_ids);
+-MODULE_DEVICE_TABLE(of, mt7621_pcie_ids);
 -
--static struct platform_driver mt7621_pci_driver = {
--      .probe = mt7621_pci_probe,
--      .remove = mt7621_pci_remove,
+-static struct platform_driver mt7621_pcie_driver = {
+-      .probe = mt7621_pcie_probe,
+-      .remove = mt7621_pcie_remove,
 -      .driver = {
 -              .name = "mt7621-pci",
--              .of_match_table = of_match_ptr(mt7621_pci_ids),
+-              .of_match_table = of_match_ptr(mt7621_pcie_ids),
 -      },
 -};
--builtin_platform_driver(mt7621_pci_driver);
+-builtin_platform_driver(mt7621_pcie_driver);
 --- /dev/null
 +++ b/drivers/pci/controller/pcie-mt7621.c
 @@ -0,0 +1,600 @@
index 3162ff8107048aba2f4b07859efaaccdfd5b7e5f..4b46b3e3f6235e433f419c0e3f434f3529380eb1 100644 (file)
@@ -28,9 +28,9 @@ Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>   # arch/mips
  
  #include <asm/bootinfo.h>
  #include <asm/mipsregs.h>
-@@ -24,6 +26,35 @@
+@@ -25,6 +27,35 @@
  static u32 detect_magic __initdata;
+ static struct ralink_soc_info *soc_info_ptr;
  
 +int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge)
 +{
diff --git a/target/linux/ramips/patches-5.15/107-PCI-mt7621-Add-sentinel-to-quirks-table.patch b/target/linux/ramips/patches-5.15/107-PCI-mt7621-Add-sentinel-to-quirks-table.patch
new file mode 100644 (file)
index 0000000..c055f00
--- /dev/null
@@ -0,0 +1,38 @@
+From 19098934f910b4d47cb30251dd39ffa57bef9523 Mon Sep 17 00:00:00 2001
+From: John Thomson <git@johnthomson.fastmail.com.au>
+Date: Tue, 6 Dec 2022 06:46:45 +1000
+Subject: [PATCH] PCI: mt7621: Add sentinel to quirks table
+
+Current driver is missing a sentinel in the struct soc_device_attribute
+array, which causes an oops when assessed by the
+soc_device_match(mt7621_pcie_quirks_match) call.
+
+This was only exposed once the CONFIG_SOC_MT7621 mt7621 soc_dev_attr
+was fixed to register the SOC as a device, in:
+
+commit 7c18b64bba3b ("mips: ralink: mt7621: do not use kzalloc too early")
+
+Fix it by adding the required sentinel.
+
+Link: https://lore.kernel.org/lkml/26ebbed1-0fe9-4af9-8466-65f841d0b382@app.fastmail.com
+Link: https://lore.kernel.org/r/20221205204645.301301-1-git@johnthomson.fastmail.com.au
+Fixes: b483b4e4d3f6 ("staging: mt7621-pci: add quirks for 'E2' revision using 'soc_device_attribute'")
+Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
+Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
+Acked-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
+---
+ drivers/pci/controller/pcie-mt7621.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/pci/controller/pcie-mt7621.c
++++ b/drivers/pci/controller/pcie-mt7621.c
+@@ -471,7 +471,8 @@ static int mt7621_pcie_register_host(str
+ }
+ static const struct soc_device_attribute mt7621_pcie_quirks_match[] = {
+-      { .soc_id = "mt7621", .revision = "E2" }
++      { .soc_id = "mt7621", .revision = "E2" },
++      { /* sentinel */ }
+ };
+ static int mt7621_pcie_probe(struct platform_device *pdev)