From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Jonas Gorski <jonas.gorski@gmail.com>,
Paul Burton <paul.burton@mips.com>,
Florian Fainelli <f.fainelli@gmail.com>,
linux-mips@linux-mips.org, Ralf Baechle <ralf@linux-mips.org>,
James Hogan <jhogan@kernel.org>, Sasha Levin <sashal@kernel.org>,
linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: [PATCH AUTOSEL 4.14 049/371] MIPS: BCM63XX: drop unused and broken DSP platform device
Date: Thu, 16 Jan 2020 12:11:57 -0500 [thread overview]
Message-ID: <20200116171719.16965-49-sashal@kernel.org> (raw)
In-Reply-To: <20200116171719.16965-1-sashal@kernel.org>
From: Jonas Gorski <jonas.gorski@gmail.com>
[ Upstream commit 682fee802843b332f9c51ffc8e062de5ff773f2e ]
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>
Signed-off-by: Paul Burton <paul.burton@mips.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Cc: linux-mips@linux-mips.org
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: James Hogan <jhogan@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/mips/bcm63xx/Makefile | 6 +-
arch/mips/bcm63xx/boards/board_bcm963xx.c | 20 -------
arch/mips/bcm63xx/dev-dsp.c | 56 -------------------
.../asm/mach-bcm63xx/bcm63xx_dev_dsp.h | 14 -----
.../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
diff --git a/arch/mips/bcm63xx/Makefile b/arch/mips/bcm63xx/Makefile
index c69f297fc1df..d89651e538f6 100644
--- a/arch/mips/bcm63xx/Makefile
+++ b/arch/mips/bcm63xx/Makefile
@@ -1,8 +1,8 @@
# SPDX-License-Identifier: GPL-2.0
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/
diff --git a/arch/mips/bcm63xx/boards/board_bcm963xx.c b/arch/mips/bcm63xx/boards/board_bcm963xx.c
index b2097c0d2ed7..36ec3dc2c999 100644
--- 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 board_96348gw_10 = {
.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 board_96348gw = {
.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
*/
diff --git a/arch/mips/bcm63xx/dev-dsp.c b/arch/mips/bcm63xx/dev-dsp.c
deleted file mode 100644
index 5bb5b154c9bd..000000000000
--- 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);
-}
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h
deleted file mode 100644
index 4e4970787371..000000000000
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.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 */
diff --git a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
index 5e5b1bc4a324..830f53f28e3f 100644
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -7,7 +7,6 @@
#include <linux/leds.h>
#include <bcm63xx_dev_enet.h>
#include <bcm63xx_dev_usb_usbd.h>
-#include <bcm63xx_dev_dsp.h>
/*
* flash mapping
@@ -31,7 +30,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;
@@ -43,9 +41,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];
--
2.20.1
next prev parent reply other threads:[~2020-01-16 17:19 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-16 17:11 [PATCH AUTOSEL 4.14 001/371] drm/sti: do not remove the drm_bridge that was never added Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 002/371] drm/virtio: fix bounds check in virtio_gpu_cmd_get_capset() Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 003/371] ALSA: hda: fix unused variable warning Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 004/371] apparmor: don't try to replace stale label in ptrace access check Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 005/371] PCI: iproc: Remove PAXC slot check to allow VF support Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 006/371] drm/hisilicon: hibmc: Don't overwrite fb helper surface depth Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 007/371] IB/rxe: replace kvfree with vfree Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 008/371] IB/hfi1: Add mtu check for operational data VLs Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 009/371] regulator: fixed: Default enable high on DT regulators Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 010/371] ALSA: usb-audio: update quirk for B&W PX to remove microphone Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 011/371] staging: comedi: ni_mio_common: protect register write overflow Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 012/371] pwm: lpss: Release runtime-pm reference from the driver's remove callback Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 013/371] powerpc/kgdb: add kgdb_arch_set/remove_breakpoint() Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 014/371] drm/sun4i: hdmi: Fix double flag assignation Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 015/371] mlxsw: reg: QEEC: Add minimum shaper fields Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 016/371] NTB: ntb_hw_idt: replace IS_ERR_OR_NULL with regular NULL checks Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 017/371] pcrypt: use format specifier in kobject_add Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 018/371] exportfs: fix 'passing zero to ERR_PTR()' warning Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 019/371] drm/dp_mst: Skip validating ports during destruction, just ref Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 020/371] net: phy: Fix not to call phy_resume() if PHY is not attached Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 021/371] IB/rxe: Fix incorrect cache cleanup in error flow Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 022/371] staging: bcm2835-camera: Abort probe if there is no camera Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 023/371] switchtec: Remove immediate status check after submitting MRPC command Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 024/371] pinctrl: sh-pfc: r8a7740: Add missing REF125CK pin to gether_gmii group Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 025/371] pinctrl: sh-pfc: r8a7740: Add missing LCD0 marks to lcd0_data24_1 group Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 026/371] pinctrl: sh-pfc: r8a7791: Remove bogus ctrl marks from qspi_data4_b group Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 027/371] pinctrl: sh-pfc: r8a7791: Remove bogus marks from vin1_b_data18 group Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 028/371] pinctrl: sh-pfc: sh73a0: Add missing TO pin to tpu4_to3 group Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 029/371] pinctrl: sh-pfc: r8a7794: Remove bogus IPSR9 field Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 030/371] pinctrl: sh-pfc: sh7734: Add missing IPSR11 field Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 031/371] pinctrl: sh-pfc: r8a77995: Remove bogus SEL_PWM[0-3]_3 configurations Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 032/371] pinctrl: sh-pfc: sh7269: Add missing PCIOR0 field Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 033/371] pinctrl: sh-pfc: sh7734: Remove bogus IPSR10 value Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 034/371] vxlan: changelink: Fix handling of default remotes Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 035/371] Input: nomadik-ske-keypad - fix a loop timeout test Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 036/371] clk: highbank: fix refcount leak in hb_clk_init() Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 037/371] clk: qoriq: fix refcount leak in clockgen_init() Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 038/371] clk: socfpga: fix refcount leak Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 039/371] clk: samsung: exynos4: fix refcount leak in exynos4_get_xom() Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 040/371] clk: imx6q: fix refcount leak in imx6q_clocks_init() Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 041/371] clk: imx6sx: fix refcount leak in imx6sx_clocks_init() Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 042/371] clk: imx7d: fix refcount leak in imx7d_clocks_init() Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 043/371] clk: vf610: fix refcount leak in vf610_clocks_init() Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 044/371] clk: armada-370: fix refcount leak in a370_clk_init() Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 045/371] clk: kirkwood: fix refcount leak in kirkwood_clk_init() Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 046/371] clk: armada-xp: fix refcount leak in axp_clk_init() Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 047/371] clk: mv98dx3236: fix refcount leak in mv98dx3236_clk_init() Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 048/371] clk: dove: fix refcount leak in dove_clk_init() Sasha Levin
2020-01-16 17:11 ` Sasha Levin [this message]
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 050/371] IB/usnic: Fix out of bounds index check in query pkey Sasha Levin
2020-01-16 17:11 ` [PATCH AUTOSEL 4.14 051/371] RDMA/ocrdma: " Sasha Levin
2020-01-16 17:12 ` [PATCH AUTOSEL 4.14 052/371] RDMA/qedr: " Sasha Levin
2020-01-16 17:12 ` [PATCH AUTOSEL 4.14 053/371] drm/shmob: Fix return value check in shmob_drm_probe Sasha Levin
2020-01-16 17:12 ` [PATCH AUTOSEL 4.14 054/371] arm64: dts: apq8016-sbc: Increase load on l11 for SDCARD Sasha Levin
2020-01-16 17:12 ` [PATCH AUTOSEL 4.14 055/371] spi: cadence: Correct initialisation of runtime PM Sasha Levin
2020-01-16 17:12 ` [PATCH AUTOSEL 4.14 056/371] RDMA/iw_cxgb4: Fix the unchecked ep dereference Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200116171719.16965-49-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=f.fainelli@gmail.com \
--cc=jhogan@kernel.org \
--cc=jonas.gorski@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=linux-mips@vger.kernel.org \
--cc=paul.burton@mips.com \
--cc=ralf@linux-mips.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox