From: Arnd Bergmann <arnd@kernel.org> To: Robert Jarzmik <robert.jarzmik@free.fr> Cc: Daniel Mack <daniel@zonque.org>, Haojian Zhuang <haojian.zhuang@gmail.com>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de> Subject: [PATCH 05/27] ARM: pxa: prune unused device support Date: Thu, 5 Jan 2023 14:46:00 +0100 [thread overview] Message-ID: <20230105134622.254560-6-arnd@kernel.org> (raw) In-Reply-To: <20230105134622.254560-1-arnd@kernel.org> From: Arnd Bergmann <arnd@arndb.de> pxa3xx is now DT-only, and the remaining pxa2xx board files only use a subset of the possible devices, so remove all definitions that are not referenced any more. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- arch/arm/mach-pxa/devices.c | 338 --------------------------------- arch/arm/mach-pxa/mfp-pxa25x.h | 33 ---- arch/arm/mach-pxa/mfp-pxa2xx.c | 4 - arch/arm/mach-pxa/pm.c | 2 - arch/arm/mach-pxa/pm.h | 10 - arch/arm/mach-pxa/pxa25x.c | 7 - arch/arm/mach-pxa/pxa27x.c | 18 +- arch/arm/mach-pxa/pxa27x.h | 3 - arch/arm/mach-pxa/pxa3xx.c | 89 --------- 9 files changed, 3 insertions(+), 501 deletions(-) diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c index 8e3bc56d2044..661b3fc43275 100644 --- a/arch/arm/mach-pxa/devices.c +++ b/arch/arm/mach-pxa/devices.c @@ -16,11 +16,7 @@ #include <linux/platform_data/mmc-pxamci.h> #include "irqs.h" #include <linux/platform_data/usb-ohci-pxa27x.h> -#include <linux/platform_data/keypad-pxa27x.h> -#include <linux/platform_data/media/camera-pxa.h> -#include <linux/platform_data/asoc-pxa.h> #include <linux/platform_data/mmp_dma.h> -#include <linux/platform_data/mtd-nand-pxa3xx.h> #include "regs-ost.h" #include "reset.h" @@ -82,16 +78,10 @@ void __init pxa_set_mci_info(struct pxamci_platform_data *info) pxa_register_device(&pxa_device_mci, info); } - static struct pxa2xx_udc_mach_info pxa_udc_info = { .gpio_pullup = -1, }; -void __init pxa_set_udc_info(struct pxa2xx_udc_mach_info *info) -{ - memcpy(&pxa_udc_info, info, sizeof *info); -} - static struct resource pxa2xx_udc_resources[] = { [0] = { .start = 0x40600000, @@ -383,49 +373,6 @@ struct platform_device sa1100_device_rtc = { .resource = pxa_rtc_resources, }; -static struct resource pxa_ac97_resources[] = { - [0] = { - .start = 0x40500000, - .end = 0x40500000 + 0xfff, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = IRQ_AC97, - .end = IRQ_AC97, - .flags = IORESOURCE_IRQ, - }, -}; - -static u64 pxa_ac97_dmamask = 0xffffffffUL; - -struct platform_device pxa_device_ac97 = { - .name = "pxa2xx-ac97", - .id = -1, - .dev = { - .dma_mask = &pxa_ac97_dmamask, - .coherent_dma_mask = 0xffffffff, - }, - .num_resources = ARRAY_SIZE(pxa_ac97_resources), - .resource = pxa_ac97_resources, -}; - -void __init pxa_set_ac97_info(pxa2xx_audio_ops_t *ops) -{ - int ret; - - ret = clk_add_alias("ac97_clk", "pxa2xx-ac97:0", "AC97CLK", - &pxa_device_ac97.dev); - if (ret) - pr_err("PXA AC97 clock1 alias error: %d\n", ret); - - ret = clk_add_alias("ac97_clk", "pxa2xx-ac97:1", "AC97CLK", - &pxa_device_ac97.dev); - if (ret) - pr_err("PXA AC97 clock2 alias error: %d\n", ret); - - pxa_register_device(&pxa_device_ac97, ops); -} - #ifdef CONFIG_PXA25x static struct resource pxa25x_resource_pwm0[] = { @@ -539,44 +486,6 @@ struct platform_device pxa25x_device_assp = { #endif /* CONFIG_PXA25x */ #if defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx) -static struct resource pxa27x_resource_camera[] = { - [0] = { - .start = 0x50000000, - .end = 0x50000fff, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = IRQ_CAMERA, - .end = IRQ_CAMERA, - .flags = IORESOURCE_IRQ, - }, -}; - -static u64 pxa27x_dma_mask_camera = DMA_BIT_MASK(32); - -static struct platform_device pxa27x_device_camera = { - .name = "pxa27x-camera", - .id = 0, /* This is used to put cameras on this interface */ - .dev = { - .dma_mask = &pxa27x_dma_mask_camera, - .coherent_dma_mask = 0xffffffff, - }, - .num_resources = ARRAY_SIZE(pxa27x_resource_camera), - .resource = pxa27x_resource_camera, -}; - -void __init pxa_set_camera_info(struct pxacamera_platform_data *info) -{ - struct clk *mclk; - - /* Register a fixed-rate clock for camera sensors. */ - mclk = clk_register_fixed_rate(NULL, "pxa_camera_clk", NULL, 0, - info->mclk_10khz * 10000); - if (!IS_ERR(mclk)) - clkdev_create(mclk, "mclk", NULL); - pxa_register_device(&pxa27x_device_camera, info); -} - static u64 pxa27x_ohci_dma_mask = DMA_BIT_MASK(32); static struct resource pxa27x_resource_ohci[] = { @@ -610,31 +519,6 @@ void __init pxa_set_ohci_info(struct pxaohci_platform_data *info) #endif /* CONFIG_PXA27x || CONFIG_PXA3xx */ #if defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx) -static struct resource pxa27x_resource_keypad[] = { - [0] = { - .start = 0x41500000, - .end = 0x4150004c, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = IRQ_KEYPAD, - .end = IRQ_KEYPAD, - .flags = IORESOURCE_IRQ, - }, -}; - -struct platform_device pxa27x_device_keypad = { - .name = "pxa27x-keypad", - .id = -1, - .resource = pxa27x_resource_keypad, - .num_resources = ARRAY_SIZE(pxa27x_resource_keypad), -}; - -void __init pxa_set_keypad_info(struct pxa27x_keypad_platform_data *info) -{ - pxa_register_device(&pxa27x_device_keypad, info); -} - static u64 pxa27x_ssp1_dma_mask = DMA_BIT_MASK(32); static struct resource pxa27x_resource_ssp1[] = { @@ -744,210 +628,6 @@ struct platform_device pxa27x_device_pwm1 = { }; #endif /* CONFIG_PXA27x || CONFIG_PXA3xx */ -#ifdef CONFIG_PXA3xx -static struct resource pxa3xx_resources_mci2[] = { - [0] = { - .start = 0x42000000, - .end = 0x42000fff, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = IRQ_MMC2, - .end = IRQ_MMC2, - .flags = IORESOURCE_IRQ, - }, -}; - -struct platform_device pxa3xx_device_mci2 = { - .name = "pxa2xx-mci", - .id = 1, - .dev = { - .dma_mask = &pxamci_dmamask, - .coherent_dma_mask = 0xffffffff, - }, - .num_resources = ARRAY_SIZE(pxa3xx_resources_mci2), - .resource = pxa3xx_resources_mci2, -}; - -void __init pxa3xx_set_mci2_info(struct pxamci_platform_data *info) -{ - pxa_register_device(&pxa3xx_device_mci2, info); -} - -static struct resource pxa3xx_resources_mci3[] = { - [0] = { - .start = 0x42500000, - .end = 0x42500fff, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = IRQ_MMC3, - .end = IRQ_MMC3, - .flags = IORESOURCE_IRQ, - }, -}; - -struct platform_device pxa3xx_device_mci3 = { - .name = "pxa2xx-mci", - .id = 2, - .dev = { - .dma_mask = &pxamci_dmamask, - .coherent_dma_mask = 0xffffffff, - }, - .num_resources = ARRAY_SIZE(pxa3xx_resources_mci3), - .resource = pxa3xx_resources_mci3, -}; - -void __init pxa3xx_set_mci3_info(struct pxamci_platform_data *info) -{ - pxa_register_device(&pxa3xx_device_mci3, info); -} - -static struct resource pxa3xx_resources_gcu[] = { - { - .start = 0x54000000, - .end = 0x54000fff, - .flags = IORESOURCE_MEM, - }, - { - .start = IRQ_GCU, - .end = IRQ_GCU, - .flags = IORESOURCE_IRQ, - }, -}; - -static u64 pxa3xx_gcu_dmamask = DMA_BIT_MASK(32); - -struct platform_device pxa3xx_device_gcu = { - .name = "pxa3xx-gcu", - .id = -1, - .num_resources = ARRAY_SIZE(pxa3xx_resources_gcu), - .resource = pxa3xx_resources_gcu, - .dev = { - .dma_mask = &pxa3xx_gcu_dmamask, - .coherent_dma_mask = 0xffffffff, - }, -}; - -#endif /* CONFIG_PXA3xx */ - -#if defined(CONFIG_PXA3xx) -static struct resource pxa3xx_resources_i2c_power[] = { - { - .start = 0x40f500c0, - .end = 0x40f500d3, - .flags = IORESOURCE_MEM, - }, { - .start = IRQ_PWRI2C, - .end = IRQ_PWRI2C, - .flags = IORESOURCE_IRQ, - }, -}; - -struct platform_device pxa3xx_device_i2c_power = { - .name = "pxa3xx-pwri2c", - .id = 1, - .resource = pxa3xx_resources_i2c_power, - .num_resources = ARRAY_SIZE(pxa3xx_resources_i2c_power), -}; - -static struct resource pxa3xx_resources_nand[] = { - [0] = { - .start = 0x43100000, - .end = 0x43100053, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = IRQ_NAND, - .end = IRQ_NAND, - .flags = IORESOURCE_IRQ, - }, -}; - -static u64 pxa3xx_nand_dma_mask = DMA_BIT_MASK(32); - -struct platform_device pxa3xx_device_nand = { - .name = "pxa3xx-nand", - .id = -1, - .dev = { - .dma_mask = &pxa3xx_nand_dma_mask, - .coherent_dma_mask = DMA_BIT_MASK(32), - }, - .num_resources = ARRAY_SIZE(pxa3xx_resources_nand), - .resource = pxa3xx_resources_nand, -}; - -void __init pxa3xx_set_nand_info(struct pxa3xx_nand_platform_data *info) -{ - pxa_register_device(&pxa3xx_device_nand, info); -} - -static u64 pxa3xx_ssp4_dma_mask = DMA_BIT_MASK(32); - -static struct resource pxa3xx_resource_ssp4[] = { - [0] = { - .start = 0x41a00000, - .end = 0x41a0003f, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = IRQ_SSP4, - .end = IRQ_SSP4, - .flags = IORESOURCE_IRQ, - }, -}; - -/* - * PXA3xx SSP is basically equivalent to PXA27x. - * However, we need to register the device by the correct name in order to - * make the driver set the correct internal type, hence we provide specific - * platform_devices for each of them. - */ -struct platform_device pxa3xx_device_ssp1 = { - .name = "pxa3xx-ssp", - .id = 0, - .dev = { - .dma_mask = &pxa27x_ssp1_dma_mask, - .coherent_dma_mask = DMA_BIT_MASK(32), - }, - .resource = pxa27x_resource_ssp1, - .num_resources = ARRAY_SIZE(pxa27x_resource_ssp1), -}; - -struct platform_device pxa3xx_device_ssp2 = { - .name = "pxa3xx-ssp", - .id = 1, - .dev = { - .dma_mask = &pxa27x_ssp2_dma_mask, - .coherent_dma_mask = DMA_BIT_MASK(32), - }, - .resource = pxa27x_resource_ssp2, - .num_resources = ARRAY_SIZE(pxa27x_resource_ssp2), -}; - -struct platform_device pxa3xx_device_ssp3 = { - .name = "pxa3xx-ssp", - .id = 2, - .dev = { - .dma_mask = &pxa27x_ssp3_dma_mask, - .coherent_dma_mask = DMA_BIT_MASK(32), - }, - .resource = pxa27x_resource_ssp3, - .num_resources = ARRAY_SIZE(pxa27x_resource_ssp3), -}; - -struct platform_device pxa3xx_device_ssp4 = { - .name = "pxa3xx-ssp", - .id = 3, - .dev = { - .dma_mask = &pxa3xx_ssp4_dma_mask, - .coherent_dma_mask = DMA_BIT_MASK(32), - }, - .resource = pxa3xx_resource_ssp4, - .num_resources = ARRAY_SIZE(pxa3xx_resource_ssp4), -}; -#endif /* CONFIG_PXA3xx */ - struct resource pxa_resource_gpio[] = { { .start = 0x40e00000, @@ -972,11 +652,7 @@ struct resource pxa_resource_gpio[] = { }; struct platform_device pxa25x_device_gpio = { -#ifdef CONFIG_CPU_PXA26x - .name = "pxa26x-gpio", -#else .name = "pxa25x-gpio", -#endif .id = -1, .num_resources = ARRAY_SIZE(pxa_resource_gpio), .resource = pxa_resource_gpio, @@ -989,20 +665,6 @@ struct platform_device pxa27x_device_gpio = { .resource = pxa_resource_gpio, }; -struct platform_device pxa3xx_device_gpio = { - .name = "pxa3xx-gpio", - .id = -1, - .num_resources = ARRAY_SIZE(pxa_resource_gpio), - .resource = pxa_resource_gpio, -}; - -struct platform_device pxa93x_device_gpio = { - .name = "pxa93x-gpio", - .id = -1, - .num_resources = ARRAY_SIZE(pxa_resource_gpio), - .resource = pxa_resource_gpio, -}; - /* pxa2xx-spi platform-device ID equals respective SSP platform-device ID + 1. * See comment in arch/arm/mach-pxa/ssp.c::ssp_probe() */ void __init pxa2xx_set_spi_info(unsigned id, struct pxa2xx_spi_controller *info) diff --git a/arch/arm/mach-pxa/mfp-pxa25x.h b/arch/arm/mach-pxa/mfp-pxa25x.h index d0ebb2154503..3dc5c833e28f 100644 --- a/arch/arm/mach-pxa/mfp-pxa25x.h +++ b/arch/arm/mach-pxa/mfp-pxa25x.h @@ -158,39 +158,6 @@ #define GPIO76_LCD_PCLK MFP_CFG_OUT(GPIO76, AF2, DRIVE_LOW) #define GPIO77_LCD_BIAS MFP_CFG_OUT(GPIO77, AF2, DRIVE_LOW) -#ifdef CONFIG_CPU_PXA26x -/* GPIO */ -#define GPIO85_GPIO MFP_CFG_IN(GPIO85, AF0) -#define GPIO86_GPIO MFP_CFG_IN(GPIO86, AF1) -#define GPIO87_GPIO MFP_CFG_IN(GPIO87, AF1) -#define GPIO88_GPIO MFP_CFG_IN(GPIO88, AF1) -#define GPIO89_GPIO MFP_CFG_IN(GPIO89, AF1) - -/* SDRAM */ -#define GPIO86_nSDCS2 MFP_CFG_OUT(GPIO86, AF0, DRIVE_HIGH) -#define GPIO87_nSDCS3 MFP_CFG_OUT(GPIO87, AF0, DRIVE_HIGH) -#define GPIO88_RDnWR MFP_CFG_OUT(GPIO88, AF0, DRIVE_HIGH) - -/* USB */ -#define GPIO9_USB_RCV MFP_CFG_IN(GPIO9, AF1) -#define GPIO32_USB_VP MFP_CFG_IN(GPIO32, AF2) -#define GPIO34_USB_VM MFP_CFG_IN(GPIO34, AF2) -#define GPIO39_USB_VPO MFP_CFG_OUT(GPIO39, AF3, DRIVE_LOW) -#define GPIO56_USB_VMO MFP_CFG_OUT(GPIO56, AF1, DRIVE_LOW) -#define GPIO57_USB_nOE MFP_CFG_OUT(GPIO57, AF1, DRIVE_HIGH) - -/* ASSP */ -#define GPIO28_ASSP_BITCLK_IN MFP_CFG_IN(GPIO28, AF3) -#define GPIO28_ASSP_BITCLK_OUT MFP_CFG_OUT(GPIO28, AF3, DRIVE_LOW) -#define GPIO29_ASSP_RXD MFP_CFG_IN(GPIO29, AF3) -#define GPIO30_ASSP_TXD MFP_CFG_OUT(GPIO30, AF3, DRIVE_LOW) -#define GPIO31_ASSP_SFRM_IN MFP_CFG_IN(GPIO31, AF1) -#define GPIO31_ASSP_SFRM_OUT MFP_CFG_OUT(GPIO31, AF3, DRIVE_LOW) - -/* AC97 */ -#define GPIO89_AC97_nRESET MFP_CFG_OUT(GPIO89, AF0, DRIVE_HIGH) -#endif /* CONFIG_CPU_PXA26x */ - /* commonly used pin configurations */ #define GPIOxx_LCD_16BPP \ GPIO58_LCD_LDD_0, \ diff --git a/arch/arm/mach-pxa/mfp-pxa2xx.c b/arch/arm/mach-pxa/mfp-pxa2xx.c index 57b0782880de..b556452dfcf9 100644 --- a/arch/arm/mach-pxa/mfp-pxa2xx.c +++ b/arch/arm/mach-pxa/mfp-pxa2xx.c @@ -226,11 +226,7 @@ static void __init pxa25x_mfp_init(void) int i; /* running before pxa_gpio_probe() */ -#ifdef CONFIG_CPU_PXA26x - pxa_last_gpio = 89; -#else pxa_last_gpio = 84; -#endif for (i = 0; i <= pxa_last_gpio; i++) gpio_desc[i].valid = 1; diff --git a/arch/arm/mach-pxa/pm.c b/arch/arm/mach-pxa/pm.c index f2237f471750..c63e854921ea 100644 --- a/arch/arm/mach-pxa/pm.c +++ b/arch/arm/mach-pxa/pm.c @@ -51,8 +51,6 @@ int pxa_pm_enter(suspend_state_t state) /* if invalid, display message and wait for a hardware reset */ if (checksum != sleep_save_checksum) { - lubbock_set_hexled(0xbadbadc5); - while (1) pxa_cpu_pm_fns->enter(state); } diff --git a/arch/arm/mach-pxa/pm.h b/arch/arm/mach-pxa/pm.h index 00ea3529e30e..a16fa140883c 100644 --- a/arch/arm/mach-pxa/pm.h +++ b/arch/arm/mach-pxa/pm.h @@ -27,13 +27,3 @@ extern void pxa_pm_finish(void); extern const char pm_enter_standby_start[], pm_enter_standby_end[]; extern int pxa3xx_finish_suspend(unsigned long); - -/* NOTE: this is for PM debugging on Lubbock, it's really a big - * ugly, but let's keep the crap minimum here, instead of direct - * accessing the LUBBOCK CPLD registers in arch/arm/mach-pxa/pm.c - */ -#ifdef CONFIG_ARCH_LUBBOCK -extern void lubbock_set_hexled(uint32_t value); -#else -#define lubbock_set_hexled(x) -#endif diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index 6b34d7c169ea..1b83be181bab 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c @@ -145,13 +145,6 @@ void __init pxa25x_init_irq(void) pxa_init_irq(32, pxa25x_set_wake); } -#ifdef CONFIG_CPU_PXA26x -void __init pxa26x_init_irq(void) -{ - pxa_init_irq(32, pxa25x_set_wake); -} -#endif - static int __init __init pxa25x_dt_init_irq(struct device_node *node, struct device_node *parent) { diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index eea507fd5095..4135ba2877c4 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c @@ -85,18 +85,6 @@ EXPORT_SYMBOL_GPL(pxa27x_configure_ac97reset); */ static unsigned int pwrmode = PWRMODE_SLEEP; -int pxa27x_set_pwrmode(unsigned int mode) -{ - switch (mode) { - case PWRMODE_SLEEP: - case PWRMODE_DEEPSLEEP: - pwrmode = mode; - return 0; - } - - return -EINVAL; -} - /* * List of global PXA peripheral registers to preserve. * More ones like CP and general purpose register values are preserved @@ -109,7 +97,7 @@ enum { SLEEP_SAVE_COUNT }; -void pxa27x_cpu_pm_save(unsigned long *sleep_save) +static void pxa27x_cpu_pm_save(unsigned long *sleep_save) { sleep_save[SLEEP_SAVE_MDREFR] = __raw_readl(MDREFR); SAVE(PCFR); @@ -117,7 +105,7 @@ void pxa27x_cpu_pm_save(unsigned long *sleep_save) SAVE(PSTR); } -void pxa27x_cpu_pm_restore(unsigned long *sleep_save) +static void pxa27x_cpu_pm_restore(unsigned long *sleep_save) { __raw_writel(sleep_save[SLEEP_SAVE_MDREFR], MDREFR); RESTORE(PCFR); @@ -127,7 +115,7 @@ void pxa27x_cpu_pm_restore(unsigned long *sleep_save) RESTORE(PSTR); } -void pxa27x_cpu_pm_enter(suspend_state_t state) +static void pxa27x_cpu_pm_enter(suspend_state_t state) { extern void pxa_cpu_standby(void); #ifndef CONFIG_IWMMXT diff --git a/arch/arm/mach-pxa/pxa27x.h b/arch/arm/mach-pxa/pxa27x.h index ede96f3f7214..c9d9948ae7d1 100644 --- a/arch/arm/mach-pxa/pxa27x.h +++ b/arch/arm/mach-pxa/pxa27x.h @@ -20,7 +20,4 @@ #define ARB_CORE_PARK (1<<24) /* Be parked with core when idle */ #define ARB_LOCK_FLAG (1<<23) /* Only Locking masters gain access to the bus */ -extern int pxa27x_set_pwrmode(unsigned int mode); -extern void pxa27x_cpu_pm_enter(suspend_state_t state); - #endif /* __MACH_PXA27x_H */ diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c index 7a02ddb30969..5441b778a081 100644 --- a/arch/arm/mach-pxa/pxa3xx.c +++ b/arch/arm/mach-pxa/pxa3xx.c @@ -363,13 +363,6 @@ static void __init __pxa3xx_init_irq(void) pxa_init_ext_wakeup_irq(pxa3xx_set_wake); } -void __init pxa3xx_init_irq(void) -{ - __pxa3xx_init_irq(); - pxa_init_irq(56, pxa3xx_set_wake); -} - -#ifdef CONFIG_OF static int __init __init pxa3xx_dt_init_irq(struct device_node *node, struct device_node *parent) { @@ -380,7 +373,6 @@ pxa3xx_dt_init_irq(struct device_node *node, struct device_node *parent) return 0; } IRQCHIP_DECLARE(pxa3xx_intc, "marvell,pxa-intc", pxa3xx_dt_init_irq); -#endif /* CONFIG_OF */ static struct map_desc pxa3xx_io_desc[] __initdata = { { /* Mem Ctl */ @@ -403,73 +395,6 @@ void __init pxa3xx_map_io(void) pxa3xx_get_clk_frequency_khz(1); } -/* - * device registration specific to PXA3xx. - */ - -void __init pxa3xx_set_i2c_power_info(struct i2c_pxa_platform_data *info) -{ - pxa_register_device(&pxa3xx_device_i2c_power, info); -} - -static struct pxa_gpio_platform_data pxa3xx_gpio_pdata = { - .irq_base = PXA_GPIO_TO_IRQ(0), -}; - -static struct platform_device *devices[] __initdata = { - &pxa27x_device_udc, - &pxa_device_pmu, - &pxa_device_i2s, - &pxa_device_asoc_ssp1, - &pxa_device_asoc_ssp2, - &pxa_device_asoc_ssp3, - &pxa_device_asoc_ssp4, - &pxa_device_asoc_platform, - &pxa_device_rtc, - &pxa3xx_device_ssp1, - &pxa3xx_device_ssp2, - &pxa3xx_device_ssp3, - &pxa3xx_device_ssp4, - &pxa27x_device_pwm0, - &pxa27x_device_pwm1, -}; - -static const struct dma_slave_map pxa3xx_slave_map[] = { - /* PXA25x, PXA27x and PXA3xx common entries */ - { "pxa2xx-ac97", "pcm_pcm_mic_mono", PDMA_FILTER_PARAM(LOWEST, 8) }, - { "pxa2xx-ac97", "pcm_pcm_aux_mono_in", PDMA_FILTER_PARAM(LOWEST, 9) }, - { "pxa2xx-ac97", "pcm_pcm_aux_mono_out", - PDMA_FILTER_PARAM(LOWEST, 10) }, - { "pxa2xx-ac97", "pcm_pcm_stereo_in", PDMA_FILTER_PARAM(LOWEST, 11) }, - { "pxa2xx-ac97", "pcm_pcm_stereo_out", PDMA_FILTER_PARAM(LOWEST, 12) }, - { "pxa-ssp-dai.0", "rx", PDMA_FILTER_PARAM(LOWEST, 13) }, - { "pxa-ssp-dai.0", "tx", PDMA_FILTER_PARAM(LOWEST, 14) }, - { "pxa-ssp-dai.1", "rx", PDMA_FILTER_PARAM(LOWEST, 15) }, - { "pxa-ssp-dai.1", "tx", PDMA_FILTER_PARAM(LOWEST, 16) }, - { "pxa2xx-ir", "rx", PDMA_FILTER_PARAM(LOWEST, 17) }, - { "pxa2xx-ir", "tx", PDMA_FILTER_PARAM(LOWEST, 18) }, - { "pxa2xx-mci.0", "rx", PDMA_FILTER_PARAM(LOWEST, 21) }, - { "pxa2xx-mci.0", "tx", PDMA_FILTER_PARAM(LOWEST, 22) }, - { "pxa-ssp-dai.2", "rx", PDMA_FILTER_PARAM(LOWEST, 66) }, - { "pxa-ssp-dai.2", "tx", PDMA_FILTER_PARAM(LOWEST, 67) }, - - /* PXA3xx specific map */ - { "pxa-ssp-dai.3", "rx", PDMA_FILTER_PARAM(LOWEST, 2) }, - { "pxa-ssp-dai.3", "tx", PDMA_FILTER_PARAM(LOWEST, 3) }, - { "pxa2xx-mci.1", "rx", PDMA_FILTER_PARAM(LOWEST, 93) }, - { "pxa2xx-mci.1", "tx", PDMA_FILTER_PARAM(LOWEST, 94) }, - { "pxa3xx-nand", "data", PDMA_FILTER_PARAM(LOWEST, 97) }, - { "pxa2xx-mci.2", "rx", PDMA_FILTER_PARAM(LOWEST, 100) }, - { "pxa2xx-mci.2", "tx", PDMA_FILTER_PARAM(LOWEST, 101) }, -}; - -static struct mmp_dma_platdata pxa3xx_dma_pdata = { - .dma_channels = 32, - .nb_requestors = 100, - .slave_map = pxa3xx_slave_map, - .slave_map_cnt = ARRAY_SIZE(pxa3xx_slave_map), -}; - static int __init pxa3xx_init(void) { int ret = 0; @@ -499,20 +424,6 @@ static int __init pxa3xx_init(void) register_syscore_ops(&pxa_irq_syscore_ops); register_syscore_ops(&pxa3xx_mfp_syscore_ops); - - if (of_have_populated_dt()) - return 0; - - pxa2xx_set_dmac_info(&pxa3xx_dma_pdata); - ret = platform_add_devices(devices, ARRAY_SIZE(devices)); - if (ret) - return ret; - if (cpu_is_pxa300()) { - platform_device_add_data(&pxa3xx_device_gpio, - &pxa3xx_gpio_pdata, - sizeof(pxa3xx_gpio_pdata)); - ret = platform_device_register(&pxa3xx_device_gpio); - } } return ret; -- 2.39.0
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@kernel.org> To: Robert Jarzmik <robert.jarzmik@free.fr> Cc: Daniel Mack <daniel@zonque.org>, Haojian Zhuang <haojian.zhuang@gmail.com>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de> Subject: [PATCH 05/27] ARM: pxa: prune unused device support Date: Thu, 5 Jan 2023 14:46:00 +0100 [thread overview] Message-ID: <20230105134622.254560-6-arnd@kernel.org> (raw) In-Reply-To: <20230105134622.254560-1-arnd@kernel.org> From: Arnd Bergmann <arnd@arndb.de> pxa3xx is now DT-only, and the remaining pxa2xx board files only use a subset of the possible devices, so remove all definitions that are not referenced any more. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- arch/arm/mach-pxa/devices.c | 338 --------------------------------- arch/arm/mach-pxa/mfp-pxa25x.h | 33 ---- arch/arm/mach-pxa/mfp-pxa2xx.c | 4 - arch/arm/mach-pxa/pm.c | 2 - arch/arm/mach-pxa/pm.h | 10 - arch/arm/mach-pxa/pxa25x.c | 7 - arch/arm/mach-pxa/pxa27x.c | 18 +- arch/arm/mach-pxa/pxa27x.h | 3 - arch/arm/mach-pxa/pxa3xx.c | 89 --------- 9 files changed, 3 insertions(+), 501 deletions(-) diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c index 8e3bc56d2044..661b3fc43275 100644 --- a/arch/arm/mach-pxa/devices.c +++ b/arch/arm/mach-pxa/devices.c @@ -16,11 +16,7 @@ #include <linux/platform_data/mmc-pxamci.h> #include "irqs.h" #include <linux/platform_data/usb-ohci-pxa27x.h> -#include <linux/platform_data/keypad-pxa27x.h> -#include <linux/platform_data/media/camera-pxa.h> -#include <linux/platform_data/asoc-pxa.h> #include <linux/platform_data/mmp_dma.h> -#include <linux/platform_data/mtd-nand-pxa3xx.h> #include "regs-ost.h" #include "reset.h" @@ -82,16 +78,10 @@ void __init pxa_set_mci_info(struct pxamci_platform_data *info) pxa_register_device(&pxa_device_mci, info); } - static struct pxa2xx_udc_mach_info pxa_udc_info = { .gpio_pullup = -1, }; -void __init pxa_set_udc_info(struct pxa2xx_udc_mach_info *info) -{ - memcpy(&pxa_udc_info, info, sizeof *info); -} - static struct resource pxa2xx_udc_resources[] = { [0] = { .start = 0x40600000, @@ -383,49 +373,6 @@ struct platform_device sa1100_device_rtc = { .resource = pxa_rtc_resources, }; -static struct resource pxa_ac97_resources[] = { - [0] = { - .start = 0x40500000, - .end = 0x40500000 + 0xfff, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = IRQ_AC97, - .end = IRQ_AC97, - .flags = IORESOURCE_IRQ, - }, -}; - -static u64 pxa_ac97_dmamask = 0xffffffffUL; - -struct platform_device pxa_device_ac97 = { - .name = "pxa2xx-ac97", - .id = -1, - .dev = { - .dma_mask = &pxa_ac97_dmamask, - .coherent_dma_mask = 0xffffffff, - }, - .num_resources = ARRAY_SIZE(pxa_ac97_resources), - .resource = pxa_ac97_resources, -}; - -void __init pxa_set_ac97_info(pxa2xx_audio_ops_t *ops) -{ - int ret; - - ret = clk_add_alias("ac97_clk", "pxa2xx-ac97:0", "AC97CLK", - &pxa_device_ac97.dev); - if (ret) - pr_err("PXA AC97 clock1 alias error: %d\n", ret); - - ret = clk_add_alias("ac97_clk", "pxa2xx-ac97:1", "AC97CLK", - &pxa_device_ac97.dev); - if (ret) - pr_err("PXA AC97 clock2 alias error: %d\n", ret); - - pxa_register_device(&pxa_device_ac97, ops); -} - #ifdef CONFIG_PXA25x static struct resource pxa25x_resource_pwm0[] = { @@ -539,44 +486,6 @@ struct platform_device pxa25x_device_assp = { #endif /* CONFIG_PXA25x */ #if defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx) -static struct resource pxa27x_resource_camera[] = { - [0] = { - .start = 0x50000000, - .end = 0x50000fff, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = IRQ_CAMERA, - .end = IRQ_CAMERA, - .flags = IORESOURCE_IRQ, - }, -}; - -static u64 pxa27x_dma_mask_camera = DMA_BIT_MASK(32); - -static struct platform_device pxa27x_device_camera = { - .name = "pxa27x-camera", - .id = 0, /* This is used to put cameras on this interface */ - .dev = { - .dma_mask = &pxa27x_dma_mask_camera, - .coherent_dma_mask = 0xffffffff, - }, - .num_resources = ARRAY_SIZE(pxa27x_resource_camera), - .resource = pxa27x_resource_camera, -}; - -void __init pxa_set_camera_info(struct pxacamera_platform_data *info) -{ - struct clk *mclk; - - /* Register a fixed-rate clock for camera sensors. */ - mclk = clk_register_fixed_rate(NULL, "pxa_camera_clk", NULL, 0, - info->mclk_10khz * 10000); - if (!IS_ERR(mclk)) - clkdev_create(mclk, "mclk", NULL); - pxa_register_device(&pxa27x_device_camera, info); -} - static u64 pxa27x_ohci_dma_mask = DMA_BIT_MASK(32); static struct resource pxa27x_resource_ohci[] = { @@ -610,31 +519,6 @@ void __init pxa_set_ohci_info(struct pxaohci_platform_data *info) #endif /* CONFIG_PXA27x || CONFIG_PXA3xx */ #if defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx) -static struct resource pxa27x_resource_keypad[] = { - [0] = { - .start = 0x41500000, - .end = 0x4150004c, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = IRQ_KEYPAD, - .end = IRQ_KEYPAD, - .flags = IORESOURCE_IRQ, - }, -}; - -struct platform_device pxa27x_device_keypad = { - .name = "pxa27x-keypad", - .id = -1, - .resource = pxa27x_resource_keypad, - .num_resources = ARRAY_SIZE(pxa27x_resource_keypad), -}; - -void __init pxa_set_keypad_info(struct pxa27x_keypad_platform_data *info) -{ - pxa_register_device(&pxa27x_device_keypad, info); -} - static u64 pxa27x_ssp1_dma_mask = DMA_BIT_MASK(32); static struct resource pxa27x_resource_ssp1[] = { @@ -744,210 +628,6 @@ struct platform_device pxa27x_device_pwm1 = { }; #endif /* CONFIG_PXA27x || CONFIG_PXA3xx */ -#ifdef CONFIG_PXA3xx -static struct resource pxa3xx_resources_mci2[] = { - [0] = { - .start = 0x42000000, - .end = 0x42000fff, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = IRQ_MMC2, - .end = IRQ_MMC2, - .flags = IORESOURCE_IRQ, - }, -}; - -struct platform_device pxa3xx_device_mci2 = { - .name = "pxa2xx-mci", - .id = 1, - .dev = { - .dma_mask = &pxamci_dmamask, - .coherent_dma_mask = 0xffffffff, - }, - .num_resources = ARRAY_SIZE(pxa3xx_resources_mci2), - .resource = pxa3xx_resources_mci2, -}; - -void __init pxa3xx_set_mci2_info(struct pxamci_platform_data *info) -{ - pxa_register_device(&pxa3xx_device_mci2, info); -} - -static struct resource pxa3xx_resources_mci3[] = { - [0] = { - .start = 0x42500000, - .end = 0x42500fff, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = IRQ_MMC3, - .end = IRQ_MMC3, - .flags = IORESOURCE_IRQ, - }, -}; - -struct platform_device pxa3xx_device_mci3 = { - .name = "pxa2xx-mci", - .id = 2, - .dev = { - .dma_mask = &pxamci_dmamask, - .coherent_dma_mask = 0xffffffff, - }, - .num_resources = ARRAY_SIZE(pxa3xx_resources_mci3), - .resource = pxa3xx_resources_mci3, -}; - -void __init pxa3xx_set_mci3_info(struct pxamci_platform_data *info) -{ - pxa_register_device(&pxa3xx_device_mci3, info); -} - -static struct resource pxa3xx_resources_gcu[] = { - { - .start = 0x54000000, - .end = 0x54000fff, - .flags = IORESOURCE_MEM, - }, - { - .start = IRQ_GCU, - .end = IRQ_GCU, - .flags = IORESOURCE_IRQ, - }, -}; - -static u64 pxa3xx_gcu_dmamask = DMA_BIT_MASK(32); - -struct platform_device pxa3xx_device_gcu = { - .name = "pxa3xx-gcu", - .id = -1, - .num_resources = ARRAY_SIZE(pxa3xx_resources_gcu), - .resource = pxa3xx_resources_gcu, - .dev = { - .dma_mask = &pxa3xx_gcu_dmamask, - .coherent_dma_mask = 0xffffffff, - }, -}; - -#endif /* CONFIG_PXA3xx */ - -#if defined(CONFIG_PXA3xx) -static struct resource pxa3xx_resources_i2c_power[] = { - { - .start = 0x40f500c0, - .end = 0x40f500d3, - .flags = IORESOURCE_MEM, - }, { - .start = IRQ_PWRI2C, - .end = IRQ_PWRI2C, - .flags = IORESOURCE_IRQ, - }, -}; - -struct platform_device pxa3xx_device_i2c_power = { - .name = "pxa3xx-pwri2c", - .id = 1, - .resource = pxa3xx_resources_i2c_power, - .num_resources = ARRAY_SIZE(pxa3xx_resources_i2c_power), -}; - -static struct resource pxa3xx_resources_nand[] = { - [0] = { - .start = 0x43100000, - .end = 0x43100053, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = IRQ_NAND, - .end = IRQ_NAND, - .flags = IORESOURCE_IRQ, - }, -}; - -static u64 pxa3xx_nand_dma_mask = DMA_BIT_MASK(32); - -struct platform_device pxa3xx_device_nand = { - .name = "pxa3xx-nand", - .id = -1, - .dev = { - .dma_mask = &pxa3xx_nand_dma_mask, - .coherent_dma_mask = DMA_BIT_MASK(32), - }, - .num_resources = ARRAY_SIZE(pxa3xx_resources_nand), - .resource = pxa3xx_resources_nand, -}; - -void __init pxa3xx_set_nand_info(struct pxa3xx_nand_platform_data *info) -{ - pxa_register_device(&pxa3xx_device_nand, info); -} - -static u64 pxa3xx_ssp4_dma_mask = DMA_BIT_MASK(32); - -static struct resource pxa3xx_resource_ssp4[] = { - [0] = { - .start = 0x41a00000, - .end = 0x41a0003f, - .flags = IORESOURCE_MEM, - }, - [1] = { - .start = IRQ_SSP4, - .end = IRQ_SSP4, - .flags = IORESOURCE_IRQ, - }, -}; - -/* - * PXA3xx SSP is basically equivalent to PXA27x. - * However, we need to register the device by the correct name in order to - * make the driver set the correct internal type, hence we provide specific - * platform_devices for each of them. - */ -struct platform_device pxa3xx_device_ssp1 = { - .name = "pxa3xx-ssp", - .id = 0, - .dev = { - .dma_mask = &pxa27x_ssp1_dma_mask, - .coherent_dma_mask = DMA_BIT_MASK(32), - }, - .resource = pxa27x_resource_ssp1, - .num_resources = ARRAY_SIZE(pxa27x_resource_ssp1), -}; - -struct platform_device pxa3xx_device_ssp2 = { - .name = "pxa3xx-ssp", - .id = 1, - .dev = { - .dma_mask = &pxa27x_ssp2_dma_mask, - .coherent_dma_mask = DMA_BIT_MASK(32), - }, - .resource = pxa27x_resource_ssp2, - .num_resources = ARRAY_SIZE(pxa27x_resource_ssp2), -}; - -struct platform_device pxa3xx_device_ssp3 = { - .name = "pxa3xx-ssp", - .id = 2, - .dev = { - .dma_mask = &pxa27x_ssp3_dma_mask, - .coherent_dma_mask = DMA_BIT_MASK(32), - }, - .resource = pxa27x_resource_ssp3, - .num_resources = ARRAY_SIZE(pxa27x_resource_ssp3), -}; - -struct platform_device pxa3xx_device_ssp4 = { - .name = "pxa3xx-ssp", - .id = 3, - .dev = { - .dma_mask = &pxa3xx_ssp4_dma_mask, - .coherent_dma_mask = DMA_BIT_MASK(32), - }, - .resource = pxa3xx_resource_ssp4, - .num_resources = ARRAY_SIZE(pxa3xx_resource_ssp4), -}; -#endif /* CONFIG_PXA3xx */ - struct resource pxa_resource_gpio[] = { { .start = 0x40e00000, @@ -972,11 +652,7 @@ struct resource pxa_resource_gpio[] = { }; struct platform_device pxa25x_device_gpio = { -#ifdef CONFIG_CPU_PXA26x - .name = "pxa26x-gpio", -#else .name = "pxa25x-gpio", -#endif .id = -1, .num_resources = ARRAY_SIZE(pxa_resource_gpio), .resource = pxa_resource_gpio, @@ -989,20 +665,6 @@ struct platform_device pxa27x_device_gpio = { .resource = pxa_resource_gpio, }; -struct platform_device pxa3xx_device_gpio = { - .name = "pxa3xx-gpio", - .id = -1, - .num_resources = ARRAY_SIZE(pxa_resource_gpio), - .resource = pxa_resource_gpio, -}; - -struct platform_device pxa93x_device_gpio = { - .name = "pxa93x-gpio", - .id = -1, - .num_resources = ARRAY_SIZE(pxa_resource_gpio), - .resource = pxa_resource_gpio, -}; - /* pxa2xx-spi platform-device ID equals respective SSP platform-device ID + 1. * See comment in arch/arm/mach-pxa/ssp.c::ssp_probe() */ void __init pxa2xx_set_spi_info(unsigned id, struct pxa2xx_spi_controller *info) diff --git a/arch/arm/mach-pxa/mfp-pxa25x.h b/arch/arm/mach-pxa/mfp-pxa25x.h index d0ebb2154503..3dc5c833e28f 100644 --- a/arch/arm/mach-pxa/mfp-pxa25x.h +++ b/arch/arm/mach-pxa/mfp-pxa25x.h @@ -158,39 +158,6 @@ #define GPIO76_LCD_PCLK MFP_CFG_OUT(GPIO76, AF2, DRIVE_LOW) #define GPIO77_LCD_BIAS MFP_CFG_OUT(GPIO77, AF2, DRIVE_LOW) -#ifdef CONFIG_CPU_PXA26x -/* GPIO */ -#define GPIO85_GPIO MFP_CFG_IN(GPIO85, AF0) -#define GPIO86_GPIO MFP_CFG_IN(GPIO86, AF1) -#define GPIO87_GPIO MFP_CFG_IN(GPIO87, AF1) -#define GPIO88_GPIO MFP_CFG_IN(GPIO88, AF1) -#define GPIO89_GPIO MFP_CFG_IN(GPIO89, AF1) - -/* SDRAM */ -#define GPIO86_nSDCS2 MFP_CFG_OUT(GPIO86, AF0, DRIVE_HIGH) -#define GPIO87_nSDCS3 MFP_CFG_OUT(GPIO87, AF0, DRIVE_HIGH) -#define GPIO88_RDnWR MFP_CFG_OUT(GPIO88, AF0, DRIVE_HIGH) - -/* USB */ -#define GPIO9_USB_RCV MFP_CFG_IN(GPIO9, AF1) -#define GPIO32_USB_VP MFP_CFG_IN(GPIO32, AF2) -#define GPIO34_USB_VM MFP_CFG_IN(GPIO34, AF2) -#define GPIO39_USB_VPO MFP_CFG_OUT(GPIO39, AF3, DRIVE_LOW) -#define GPIO56_USB_VMO MFP_CFG_OUT(GPIO56, AF1, DRIVE_LOW) -#define GPIO57_USB_nOE MFP_CFG_OUT(GPIO57, AF1, DRIVE_HIGH) - -/* ASSP */ -#define GPIO28_ASSP_BITCLK_IN MFP_CFG_IN(GPIO28, AF3) -#define GPIO28_ASSP_BITCLK_OUT MFP_CFG_OUT(GPIO28, AF3, DRIVE_LOW) -#define GPIO29_ASSP_RXD MFP_CFG_IN(GPIO29, AF3) -#define GPIO30_ASSP_TXD MFP_CFG_OUT(GPIO30, AF3, DRIVE_LOW) -#define GPIO31_ASSP_SFRM_IN MFP_CFG_IN(GPIO31, AF1) -#define GPIO31_ASSP_SFRM_OUT MFP_CFG_OUT(GPIO31, AF3, DRIVE_LOW) - -/* AC97 */ -#define GPIO89_AC97_nRESET MFP_CFG_OUT(GPIO89, AF0, DRIVE_HIGH) -#endif /* CONFIG_CPU_PXA26x */ - /* commonly used pin configurations */ #define GPIOxx_LCD_16BPP \ GPIO58_LCD_LDD_0, \ diff --git a/arch/arm/mach-pxa/mfp-pxa2xx.c b/arch/arm/mach-pxa/mfp-pxa2xx.c index 57b0782880de..b556452dfcf9 100644 --- a/arch/arm/mach-pxa/mfp-pxa2xx.c +++ b/arch/arm/mach-pxa/mfp-pxa2xx.c @@ -226,11 +226,7 @@ static void __init pxa25x_mfp_init(void) int i; /* running before pxa_gpio_probe() */ -#ifdef CONFIG_CPU_PXA26x - pxa_last_gpio = 89; -#else pxa_last_gpio = 84; -#endif for (i = 0; i <= pxa_last_gpio; i++) gpio_desc[i].valid = 1; diff --git a/arch/arm/mach-pxa/pm.c b/arch/arm/mach-pxa/pm.c index f2237f471750..c63e854921ea 100644 --- a/arch/arm/mach-pxa/pm.c +++ b/arch/arm/mach-pxa/pm.c @@ -51,8 +51,6 @@ int pxa_pm_enter(suspend_state_t state) /* if invalid, display message and wait for a hardware reset */ if (checksum != sleep_save_checksum) { - lubbock_set_hexled(0xbadbadc5); - while (1) pxa_cpu_pm_fns->enter(state); } diff --git a/arch/arm/mach-pxa/pm.h b/arch/arm/mach-pxa/pm.h index 00ea3529e30e..a16fa140883c 100644 --- a/arch/arm/mach-pxa/pm.h +++ b/arch/arm/mach-pxa/pm.h @@ -27,13 +27,3 @@ extern void pxa_pm_finish(void); extern const char pm_enter_standby_start[], pm_enter_standby_end[]; extern int pxa3xx_finish_suspend(unsigned long); - -/* NOTE: this is for PM debugging on Lubbock, it's really a big - * ugly, but let's keep the crap minimum here, instead of direct - * accessing the LUBBOCK CPLD registers in arch/arm/mach-pxa/pm.c - */ -#ifdef CONFIG_ARCH_LUBBOCK -extern void lubbock_set_hexled(uint32_t value); -#else -#define lubbock_set_hexled(x) -#endif diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index 6b34d7c169ea..1b83be181bab 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c @@ -145,13 +145,6 @@ void __init pxa25x_init_irq(void) pxa_init_irq(32, pxa25x_set_wake); } -#ifdef CONFIG_CPU_PXA26x -void __init pxa26x_init_irq(void) -{ - pxa_init_irq(32, pxa25x_set_wake); -} -#endif - static int __init __init pxa25x_dt_init_irq(struct device_node *node, struct device_node *parent) { diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index eea507fd5095..4135ba2877c4 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c @@ -85,18 +85,6 @@ EXPORT_SYMBOL_GPL(pxa27x_configure_ac97reset); */ static unsigned int pwrmode = PWRMODE_SLEEP; -int pxa27x_set_pwrmode(unsigned int mode) -{ - switch (mode) { - case PWRMODE_SLEEP: - case PWRMODE_DEEPSLEEP: - pwrmode = mode; - return 0; - } - - return -EINVAL; -} - /* * List of global PXA peripheral registers to preserve. * More ones like CP and general purpose register values are preserved @@ -109,7 +97,7 @@ enum { SLEEP_SAVE_COUNT }; -void pxa27x_cpu_pm_save(unsigned long *sleep_save) +static void pxa27x_cpu_pm_save(unsigned long *sleep_save) { sleep_save[SLEEP_SAVE_MDREFR] = __raw_readl(MDREFR); SAVE(PCFR); @@ -117,7 +105,7 @@ void pxa27x_cpu_pm_save(unsigned long *sleep_save) SAVE(PSTR); } -void pxa27x_cpu_pm_restore(unsigned long *sleep_save) +static void pxa27x_cpu_pm_restore(unsigned long *sleep_save) { __raw_writel(sleep_save[SLEEP_SAVE_MDREFR], MDREFR); RESTORE(PCFR); @@ -127,7 +115,7 @@ void pxa27x_cpu_pm_restore(unsigned long *sleep_save) RESTORE(PSTR); } -void pxa27x_cpu_pm_enter(suspend_state_t state) +static void pxa27x_cpu_pm_enter(suspend_state_t state) { extern void pxa_cpu_standby(void); #ifndef CONFIG_IWMMXT diff --git a/arch/arm/mach-pxa/pxa27x.h b/arch/arm/mach-pxa/pxa27x.h index ede96f3f7214..c9d9948ae7d1 100644 --- a/arch/arm/mach-pxa/pxa27x.h +++ b/arch/arm/mach-pxa/pxa27x.h @@ -20,7 +20,4 @@ #define ARB_CORE_PARK (1<<24) /* Be parked with core when idle */ #define ARB_LOCK_FLAG (1<<23) /* Only Locking masters gain access to the bus */ -extern int pxa27x_set_pwrmode(unsigned int mode); -extern void pxa27x_cpu_pm_enter(suspend_state_t state); - #endif /* __MACH_PXA27x_H */ diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c index 7a02ddb30969..5441b778a081 100644 --- a/arch/arm/mach-pxa/pxa3xx.c +++ b/arch/arm/mach-pxa/pxa3xx.c @@ -363,13 +363,6 @@ static void __init __pxa3xx_init_irq(void) pxa_init_ext_wakeup_irq(pxa3xx_set_wake); } -void __init pxa3xx_init_irq(void) -{ - __pxa3xx_init_irq(); - pxa_init_irq(56, pxa3xx_set_wake); -} - -#ifdef CONFIG_OF static int __init __init pxa3xx_dt_init_irq(struct device_node *node, struct device_node *parent) { @@ -380,7 +373,6 @@ pxa3xx_dt_init_irq(struct device_node *node, struct device_node *parent) return 0; } IRQCHIP_DECLARE(pxa3xx_intc, "marvell,pxa-intc", pxa3xx_dt_init_irq); -#endif /* CONFIG_OF */ static struct map_desc pxa3xx_io_desc[] __initdata = { { /* Mem Ctl */ @@ -403,73 +395,6 @@ void __init pxa3xx_map_io(void) pxa3xx_get_clk_frequency_khz(1); } -/* - * device registration specific to PXA3xx. - */ - -void __init pxa3xx_set_i2c_power_info(struct i2c_pxa_platform_data *info) -{ - pxa_register_device(&pxa3xx_device_i2c_power, info); -} - -static struct pxa_gpio_platform_data pxa3xx_gpio_pdata = { - .irq_base = PXA_GPIO_TO_IRQ(0), -}; - -static struct platform_device *devices[] __initdata = { - &pxa27x_device_udc, - &pxa_device_pmu, - &pxa_device_i2s, - &pxa_device_asoc_ssp1, - &pxa_device_asoc_ssp2, - &pxa_device_asoc_ssp3, - &pxa_device_asoc_ssp4, - &pxa_device_asoc_platform, - &pxa_device_rtc, - &pxa3xx_device_ssp1, - &pxa3xx_device_ssp2, - &pxa3xx_device_ssp3, - &pxa3xx_device_ssp4, - &pxa27x_device_pwm0, - &pxa27x_device_pwm1, -}; - -static const struct dma_slave_map pxa3xx_slave_map[] = { - /* PXA25x, PXA27x and PXA3xx common entries */ - { "pxa2xx-ac97", "pcm_pcm_mic_mono", PDMA_FILTER_PARAM(LOWEST, 8) }, - { "pxa2xx-ac97", "pcm_pcm_aux_mono_in", PDMA_FILTER_PARAM(LOWEST, 9) }, - { "pxa2xx-ac97", "pcm_pcm_aux_mono_out", - PDMA_FILTER_PARAM(LOWEST, 10) }, - { "pxa2xx-ac97", "pcm_pcm_stereo_in", PDMA_FILTER_PARAM(LOWEST, 11) }, - { "pxa2xx-ac97", "pcm_pcm_stereo_out", PDMA_FILTER_PARAM(LOWEST, 12) }, - { "pxa-ssp-dai.0", "rx", PDMA_FILTER_PARAM(LOWEST, 13) }, - { "pxa-ssp-dai.0", "tx", PDMA_FILTER_PARAM(LOWEST, 14) }, - { "pxa-ssp-dai.1", "rx", PDMA_FILTER_PARAM(LOWEST, 15) }, - { "pxa-ssp-dai.1", "tx", PDMA_FILTER_PARAM(LOWEST, 16) }, - { "pxa2xx-ir", "rx", PDMA_FILTER_PARAM(LOWEST, 17) }, - { "pxa2xx-ir", "tx", PDMA_FILTER_PARAM(LOWEST, 18) }, - { "pxa2xx-mci.0", "rx", PDMA_FILTER_PARAM(LOWEST, 21) }, - { "pxa2xx-mci.0", "tx", PDMA_FILTER_PARAM(LOWEST, 22) }, - { "pxa-ssp-dai.2", "rx", PDMA_FILTER_PARAM(LOWEST, 66) }, - { "pxa-ssp-dai.2", "tx", PDMA_FILTER_PARAM(LOWEST, 67) }, - - /* PXA3xx specific map */ - { "pxa-ssp-dai.3", "rx", PDMA_FILTER_PARAM(LOWEST, 2) }, - { "pxa-ssp-dai.3", "tx", PDMA_FILTER_PARAM(LOWEST, 3) }, - { "pxa2xx-mci.1", "rx", PDMA_FILTER_PARAM(LOWEST, 93) }, - { "pxa2xx-mci.1", "tx", PDMA_FILTER_PARAM(LOWEST, 94) }, - { "pxa3xx-nand", "data", PDMA_FILTER_PARAM(LOWEST, 97) }, - { "pxa2xx-mci.2", "rx", PDMA_FILTER_PARAM(LOWEST, 100) }, - { "pxa2xx-mci.2", "tx", PDMA_FILTER_PARAM(LOWEST, 101) }, -}; - -static struct mmp_dma_platdata pxa3xx_dma_pdata = { - .dma_channels = 32, - .nb_requestors = 100, - .slave_map = pxa3xx_slave_map, - .slave_map_cnt = ARRAY_SIZE(pxa3xx_slave_map), -}; - static int __init pxa3xx_init(void) { int ret = 0; @@ -499,20 +424,6 @@ static int __init pxa3xx_init(void) register_syscore_ops(&pxa_irq_syscore_ops); register_syscore_ops(&pxa3xx_mfp_syscore_ops); - - if (of_have_populated_dt()) - return 0; - - pxa2xx_set_dmac_info(&pxa3xx_dma_pdata); - ret = platform_add_devices(devices, ARRAY_SIZE(devices)); - if (ret) - return ret; - if (cpu_is_pxa300()) { - platform_device_add_data(&pxa3xx_device_gpio, - &pxa3xx_gpio_pdata, - sizeof(pxa3xx_gpio_pdata)); - ret = platform_device_register(&pxa3xx_device_gpio); - } } return ret; -- 2.39.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-01-05 13:47 UTC|newest] Thread overview: 158+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-01-05 13:45 [PATCH v2 00/27] ARM: pxa: remove all unused boards&drivers Arnd Bergmann 2023-01-05 13:45 ` Arnd Bergmann 2023-01-05 13:45 ` Arnd Bergmann 2023-01-05 13:45 ` [PATCH 01/27] ARM: pxa: remove unused board files Arnd Bergmann 2023-01-05 13:45 ` Arnd Bergmann 2023-01-05 15:50 ` Dmitry Baryshkov 2023-01-05 15:50 ` Dmitry Baryshkov 2023-01-05 17:05 ` Richard Purdie 2023-01-05 17:05 ` Richard Purdie 2023-01-05 22:16 ` Arnd Bergmann 2023-01-05 22:16 ` Arnd Bergmann 2023-01-05 22:45 ` Richard Purdie 2023-01-05 22:45 ` Richard Purdie 2023-01-06 9:47 ` Arnd Bergmann 2023-01-06 9:47 ` Arnd Bergmann 2023-01-06 10:06 ` Dmitry Baryshkov 2023-01-06 10:06 ` Dmitry Baryshkov 2023-01-08 9:06 ` Robert Jarzmik 2023-01-08 9:06 ` Robert Jarzmik 2023-01-08 20:36 ` Linus Walleij 2023-01-08 20:36 ` Linus Walleij 2023-01-08 21:05 ` Arnd Bergmann 2023-01-08 21:05 ` Arnd Bergmann 2023-01-08 21:12 ` Dmitry Baryshkov 2023-01-08 21:12 ` Dmitry Baryshkov 2023-01-08 21:20 ` Arnd Bergmann 2023-01-08 21:20 ` Arnd Bergmann 2023-01-05 13:45 ` [PATCH 02/27] ARM: pxa: remove irda leftover Arnd Bergmann 2023-01-05 13:45 ` Arnd Bergmann 2023-01-05 13:45 ` [PATCH 03/27] ARM: pxa: remove unused pxa3xx-ulpi Arnd Bergmann 2023-01-05 13:45 ` Arnd Bergmann 2023-01-05 14:55 ` Greg Kroah-Hartman 2023-01-05 14:55 ` Greg Kroah-Hartman 2023-01-05 13:45 ` [PATCH 04/27] ARM: pxa: drop pxa310/pxa320/pxa93x support Arnd Bergmann 2023-01-05 13:45 ` Arnd Bergmann 2023-01-05 14:59 ` Ulf Hansson 2023-01-05 14:59 ` Ulf Hansson 2023-01-06 2:19 ` Viresh Kumar 2023-01-06 2:19 ` Viresh Kumar 2023-01-08 8:49 ` Robert Jarzmik 2023-01-08 8:49 ` Robert Jarzmik 2023-01-08 13:40 ` Arnd Bergmann 2023-01-08 13:40 ` Arnd Bergmann 2023-01-09 14:18 ` Arnd Bergmann 2023-01-09 14:18 ` Arnd Bergmann 2023-01-12 17:37 ` Robert Jarzmik 2023-01-12 17:37 ` Robert Jarzmik 2023-01-05 13:46 ` Arnd Bergmann [this message] 2023-01-05 13:46 ` [PATCH 05/27] ARM: pxa: prune unused device support Arnd Bergmann 2023-01-05 13:46 ` [PATCH 06/27] power: remove z2_battery driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 16:35 ` Sebastian Reichel 2023-01-05 16:35 ` Sebastian Reichel 2023-01-05 13:46 ` [PATCH 07/27] power: remove tosa_battery driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 16:42 ` Sebastian Reichel 2023-01-05 16:42 ` Sebastian Reichel 2023-01-05 17:16 ` Arnd Bergmann 2023-01-05 17:16 ` Arnd Bergmann 2023-01-05 13:46 ` [PATCH 08/27] ata: remove palmld pata driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-06 6:25 ` Damien Le Moal 2023-01-06 6:25 ` Damien Le Moal 2023-01-11 17:37 ` Sergey Shtylyov 2023-01-11 17:37 ` Sergey Shtylyov 2023-01-05 13:46 ` [PATCH 09/27] backlight: remove pxa tosa support Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 14:23 ` Daniel Thompson 2023-01-05 14:23 ` Daniel Thompson 2023-01-20 14:00 ` Lee Jones 2023-01-20 14:00 ` Lee Jones 2023-01-05 13:46 ` [PATCH 10/27] input: remove pxa930_trkball driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 13:46 ` [PATCH 11/27] input: remove pxa930_rotary keyboard driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 13:46 ` [PATCH 12/27] input: remove zylonite touchscreen driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 13:46 ` [PATCH 13/27] pcmcia: remove unused pxa/sa1100 drivers Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 13:46 ` [PATCH 14/27] ASoC: PXA: make SND_PXA2XX_SOC_AC97 user-selectable Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 13:46 ` [PATCH 15/27] ASoC: pxa: remove unused board support Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-10 13:58 ` Mark Brown 2023-01-10 13:58 ` Mark Brown 2023-01-10 13:58 ` Mark Brown 2023-01-05 13:46 ` [PATCH 16/27] power: remove pda_power supply driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 16:39 ` Sebastian Reichel 2023-01-05 16:39 ` Sebastian Reichel 2023-01-05 13:46 ` [PATCH 17/27] rtc: remove v3020 driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 13:46 ` [PATCH 18/27] mfd: remove toshiba tmio drivers Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-20 14:55 ` Lee Jones 2023-01-20 14:55 ` Lee Jones 2023-01-05 13:46 ` [PATCH 19/27] mfd: remove ucb1400 support Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-20 14:18 ` Lee Jones 2023-01-20 14:18 ` Lee Jones 2023-01-20 14:18 ` Lee Jones 2023-01-20 14:27 ` Arnd Bergmann 2023-01-20 14:27 ` Arnd Bergmann 2023-01-20 14:27 ` Arnd Bergmann 2023-01-20 14:57 ` Lee Jones 2023-01-20 14:57 ` Lee Jones 2023-01-20 14:57 ` Lee Jones 2023-01-05 13:46 ` [PATCH 20/27] mtd: remove tmio_nand driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-07 15:41 ` Miquel Raynal 2023-01-07 15:41 ` Miquel Raynal 2023-01-07 15:41 ` Miquel Raynal 2023-01-05 13:46 ` [PATCH 21/27] mmc: remove tmio_mmc driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 15:01 ` Ulf Hansson 2023-01-05 15:01 ` Ulf Hansson 2023-01-05 15:44 ` Arnd Bergmann 2023-01-05 15:44 ` Arnd Bergmann 2023-01-16 10:48 ` Ulf Hansson 2023-01-16 10:48 ` Ulf Hansson 2023-01-05 15:14 ` Wolfram Sang 2023-01-05 15:14 ` Wolfram Sang 2023-01-05 13:46 ` [PATCH 22/27] fbdev: remove tmiofb driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-06 9:47 ` Helge Deller 2023-01-06 9:47 ` Helge Deller 2023-01-06 9:47 ` Helge Deller 2023-01-06 11:25 ` Arnd Bergmann 2023-01-06 11:25 ` Arnd Bergmann 2023-01-06 11:25 ` Arnd Bergmann 2023-01-05 13:46 ` [PATCH 23/27] fbdev: remove w100fb driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 13:46 ` [PATCH 24/27] leds: remove asic3 driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-20 14:02 ` Lee Jones 2023-01-20 14:02 ` Lee Jones 2023-01-05 13:46 ` [PATCH 25/27] usb: remove ohci-tmio driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 14:55 ` Greg Kroah-Hartman 2023-01-05 14:55 ` Greg Kroah-Hartman 2023-01-05 15:03 ` Arnd Bergmann 2023-01-05 15:03 ` Arnd Bergmann 2023-01-05 13:46 ` [PATCH 26/27] w1: remove ds1wm driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-05 13:46 ` [PATCH 27/27] mfd: remove htc-pasic3 driver Arnd Bergmann 2023-01-05 13:46 ` Arnd Bergmann 2023-01-20 14:09 ` Lee Jones 2023-01-20 14:09 ` Lee Jones 2023-01-12 20:01 ` (subset) [PATCH v2 00/27] ARM: pxa: remove all unused boards&drivers Mark Brown 2023-01-12 20:01 ` Mark Brown 2023-01-12 20:01 ` Mark Brown 2023-01-12 20:01 ` Mark Brown
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=20230105134622.254560-6-arnd@kernel.org \ --to=arnd@kernel.org \ --cc=arnd@arndb.de \ --cc=daniel@zonque.org \ --cc=haojian.zhuang@gmail.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=robert.jarzmik@free.fr \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.