mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-04 20:19:47 +08:00 
			
		
		
		
	 682fee8028
			
		
	
	
		682fee8028
		
			
		
	
	
	
	
		
			
			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: e7300d04bd ("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>
		
	
			
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| #ifndef BOARD_BCM963XX_H_
 | |
| #define BOARD_BCM963XX_H_
 | |
| 
 | |
| #include <linux/types.h>
 | |
| #include <linux/gpio.h>
 | |
| #include <linux/leds.h>
 | |
| #include <bcm63xx_dev_enet.h>
 | |
| #include <bcm63xx_dev_usb_usbd.h>
 | |
| 
 | |
| /*
 | |
|  * flash mapping
 | |
|  */
 | |
| #define BCM963XX_CFE_VERSION_OFFSET	0x570
 | |
| #define BCM963XX_NVRAM_OFFSET		0x580
 | |
| 
 | |
| /*
 | |
|  * board definition
 | |
|  */
 | |
| struct board_info {
 | |
| 	u8		name[16];
 | |
| 	unsigned int	expected_cpu_id;
 | |
| 
 | |
| 	/* enabled feature/device */
 | |
| 	unsigned int	has_enet0:1;
 | |
| 	unsigned int	has_enet1:1;
 | |
| 	unsigned int	has_enetsw:1;
 | |
| 	unsigned int	has_pci:1;
 | |
| 	unsigned int	has_pccard:1;
 | |
| 	unsigned int	has_ohci0:1;
 | |
| 	unsigned int	has_ehci0:1;
 | |
| 	unsigned int	has_usbd:1;
 | |
| 	unsigned int	has_uart0:1;
 | |
| 	unsigned int	has_uart1:1;
 | |
| 
 | |
| 	/* ethernet config */
 | |
| 	struct bcm63xx_enet_platform_data enet0;
 | |
| 	struct bcm63xx_enet_platform_data enet1;
 | |
| 	struct bcm63xx_enetsw_platform_data enetsw;
 | |
| 
 | |
| 	/* USB config */
 | |
| 	struct bcm63xx_usbd_platform_data usbd;
 | |
| 
 | |
| 	/* GPIO LEDs */
 | |
| 	struct gpio_led leds[5];
 | |
| 
 | |
| 	/* External PHY reset GPIO */
 | |
| 	unsigned int ephy_reset_gpio;
 | |
| 
 | |
| 	/* External PHY reset GPIO flags from gpio.h */
 | |
| 	unsigned long ephy_reset_gpio_flags;
 | |
| };
 | |
| 
 | |
| #endif /* ! BOARD_BCM963XX_H_ */
 |