brcm63xx: remove kernel 4.9 support
[openwrt/staging/wigyori.git] / target / linux / brcm63xx / patches-4.9 / 001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch
diff --git a/target/linux/brcm63xx/patches-4.9/001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch b/target/linux/brcm63xx/patches-4.9/001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch
deleted file mode 100644 (file)
index 16a22e1..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-From 51559154375fff4a94bbbc249fdd9248a80827b3 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jonas.gorski@gmail.com>
-Date: Tue, 18 Dec 2018 10:19:02 +0100
-Subject: [PATCH] MIPS: BCM63XX: drop unused and broken DSP platform device
-
-Trying to register the DSP platform device results in a null pointer
-access:
-
-[    0.124184] CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 804e305c, ra == 804e6f20
-[    0.135208] Oops[#1]:
-[    0.137514] CPU: 0 PID: 1 Comm: swapper Not tainted 4.14.87
-...
-[    0.197117] epc   : 804e305c bcm63xx_dsp_register+0x80/0xa4
-[    0.202838] ra    : 804e6f20 board_register_devices+0x258/0x390
-...
-
-This happens because it tries to copy the passed platform data over the
-platform_device's unpopulated platform_data.
-
-Since this code has been broken since its submission, no driver was ever
-submitted for it, and apparently nobody was using it, just remove it
-instead of trying to fix it.
-
-Fixes: e7300d04bd08 ("MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs.")
-Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
----
- arch/mips/bcm63xx/Makefile                         |  6 +--
- arch/mips/bcm63xx/boards/board_bcm963xx.c          | 20 --------
- arch/mips/bcm63xx/dev-dsp.c                        | 56 ----------------------
- .../include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h     | 14 ------
- .../mips/include/asm/mach-bcm63xx/board_bcm963xx.h |  5 --
- 5 files changed, 3 insertions(+), 98 deletions(-)
- delete mode 100644 arch/mips/bcm63xx/dev-dsp.c
- delete mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h
-
---- a/arch/mips/bcm63xx/Makefile
-+++ b/arch/mips/bcm63xx/Makefile
-@@ -1,7 +1,7 @@
- obj-y         += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
--                 setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
--                 dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
--                 dev-wdt.o dev-usb-usbd.o
-+                 setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
-+                 dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
-+                 dev-usb-usbd.o
- obj-$(CONFIG_EARLY_PRINTK)    += early_printk.o
- obj-y         += boards/
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -23,7 +23,6 @@
- #include <bcm63xx_nvram.h>
- #include <bcm63xx_dev_pci.h>
- #include <bcm63xx_dev_enet.h>
--#include <bcm63xx_dev_dsp.h>
- #include <bcm63xx_dev_flash.h>
- #include <bcm63xx_dev_hsspi.h>
- #include <bcm63xx_dev_pcmcia.h>
-@@ -289,14 +288,6 @@ static struct board_info __initdata boar
-       .has_pccard                     = 1,
-       .has_ehci0                      = 1,
--      .has_dsp                        = 1,
--      .dsp = {
--              .gpio_rst               = 6,
--              .gpio_int               = 34,
--              .cs                     = 2,
--              .ext_irq                = 2,
--      },
--
-       .leds = {
-               {
-                       .name           = "adsl-fail",
-@@ -401,14 +392,6 @@ static struct board_info __initdata boar
-       .has_ohci0 = 1,
--      .has_dsp                        = 1,
--      .dsp = {
--              .gpio_rst               = 6,
--              .gpio_int               = 34,
--              .ext_irq                = 2,
--              .cs                     = 2,
--      },
--
-       .leds = {
-               {
-                       .name           = "adsl-fail",
-@@ -898,9 +881,6 @@ int __init board_register_devices(void)
-       if (board.has_usbd)
-               bcm63xx_usbd_register(&board.usbd);
--      if (board.has_dsp)
--              bcm63xx_dsp_register(&board.dsp);
--
-       /* Generate MAC address for WLAN and register our SPROM,
-        * do this after registering enet devices
-        */
---- a/arch/mips/bcm63xx/dev-dsp.c
-+++ /dev/null
-@@ -1,56 +0,0 @@
--/*
-- * Broadcom BCM63xx VoIP DSP registration
-- *
-- * This file is subject to the terms and conditions of the GNU General Public
-- * License.  See the file "COPYING" in the main directory of this archive
-- * for more details.
-- *
-- * Copyright (C) 2009 Florian Fainelli <florian@openwrt.org>
-- */
--
--#include <linux/init.h>
--#include <linux/kernel.h>
--#include <linux/platform_device.h>
--
--#include <bcm63xx_cpu.h>
--#include <bcm63xx_dev_dsp.h>
--#include <bcm63xx_regs.h>
--#include <bcm63xx_io.h>
--
--static struct resource voip_dsp_resources[] = {
--      {
--              .start          = -1, /* filled at runtime */
--              .end            = -1, /* filled at runtime */
--              .flags          = IORESOURCE_MEM,
--      },
--      {
--              .start          = -1, /* filled at runtime */
--              .flags          = IORESOURCE_IRQ,
--      },
--};
--
--static struct platform_device bcm63xx_voip_dsp_device = {
--      .name           = "bcm63xx-voip-dsp",
--      .id             = -1,
--      .num_resources  = ARRAY_SIZE(voip_dsp_resources),
--      .resource       = voip_dsp_resources,
--};
--
--int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd)
--{
--      struct bcm63xx_dsp_platform_data *dpd;
--      u32 val;
--
--      /* Get the memory window */
--      val = bcm_mpi_readl(MPI_CSBASE_REG(pd->cs - 1));
--      val &= MPI_CSBASE_BASE_MASK;
--      voip_dsp_resources[0].start = val;
--      voip_dsp_resources[0].end = val + 0xFFFFFFF;
--      voip_dsp_resources[1].start = pd->ext_irq;
--
--      /* copy given platform data */
--      dpd = bcm63xx_voip_dsp_device.dev.platform_data;
--      memcpy(dpd, pd, sizeof (*pd));
--
--      return platform_device_register(&bcm63xx_voip_dsp_device);
--}
---- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h
-+++ /dev/null
-@@ -1,13 +0,0 @@
--#ifndef __BCM63XX_DSP_H
--#define __BCM63XX_DSP_H
--
--struct bcm63xx_dsp_platform_data {
--      unsigned gpio_rst;
--      unsigned gpio_int;
--      unsigned cs;
--      unsigned ext_irq;
--};
--
--int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd);
--
--#endif /* __BCM63XX_DSP_H */
---- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -6,7 +6,6 @@
- #include <linux/leds.h>
- #include <bcm63xx_dev_enet.h>
- #include <bcm63xx_dev_usb_usbd.h>
--#include <bcm63xx_dev_dsp.h>
- /*
-  * flash mapping
-@@ -30,7 +29,6 @@ struct board_info {
-       unsigned int    has_ohci0:1;
-       unsigned int    has_ehci0:1;
-       unsigned int    has_usbd:1;
--      unsigned int    has_dsp:1;
-       unsigned int    has_uart0:1;
-       unsigned int    has_uart1:1;
-@@ -42,9 +40,6 @@ struct board_info {
-       /* USB config */
-       struct bcm63xx_usbd_platform_data usbd;
--      /* DSP config */
--      struct bcm63xx_dsp_platform_data dsp;
--
-       /* GPIO LEDs */
-       struct gpio_led leds[5];