mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-17 05:45:20 +00:00
ARM: pxa: consolidate GPIO chip platform data
The platform data for the GPIO controllers for the boards using non-DT setup is the same between PXA25x (gumstix) and PXA27x (Spitz) devices. Move it into devices.c to consolidate code. It will help with conversion to software nodes/properties. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20240628180852.1738922-3-dmitry.torokhov@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
78ab3d352f
commit
917195d6f8
@ -7,6 +7,7 @@
|
|||||||
#include <linux/clk-provider.h>
|
#include <linux/clk-provider.h>
|
||||||
#include <linux/dma-mapping.h>
|
#include <linux/dma-mapping.h>
|
||||||
#include <linux/dmaengine.h>
|
#include <linux/dmaengine.h>
|
||||||
|
#include <linux/gpio-pxa.h>
|
||||||
#include <linux/platform_data/i2c-pxa.h>
|
#include <linux/platform_data/i2c-pxa.h>
|
||||||
#include <linux/soc/pxa/cpu.h>
|
#include <linux/soc/pxa/cpu.h>
|
||||||
|
|
||||||
@ -17,6 +18,7 @@
|
|||||||
#include <linux/platform_data/usb-ohci-pxa27x.h>
|
#include <linux/platform_data/usb-ohci-pxa27x.h>
|
||||||
#include <linux/platform_data/mmp_dma.h>
|
#include <linux/platform_data/mmp_dma.h>
|
||||||
|
|
||||||
|
#include "mfp-pxa2xx.h"
|
||||||
#include "regs-ost.h"
|
#include "regs-ost.h"
|
||||||
#include "reset.h"
|
#include "reset.h"
|
||||||
#include "devices.h"
|
#include "devices.h"
|
||||||
@ -650,11 +652,19 @@ struct resource pxa_resource_gpio[] = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct pxa_gpio_platform_data pxa2xx_gpio_info = {
|
||||||
|
.irq_base = PXA_GPIO_TO_IRQ(0),
|
||||||
|
.gpio_set_wake = gpio_set_wake,
|
||||||
|
};
|
||||||
|
|
||||||
struct platform_device pxa25x_device_gpio = {
|
struct platform_device pxa25x_device_gpio = {
|
||||||
.name = "pxa25x-gpio",
|
.name = "pxa25x-gpio",
|
||||||
.id = -1,
|
.id = -1,
|
||||||
.num_resources = ARRAY_SIZE(pxa_resource_gpio),
|
.num_resources = ARRAY_SIZE(pxa_resource_gpio),
|
||||||
.resource = pxa_resource_gpio,
|
.resource = pxa_resource_gpio,
|
||||||
|
.dev = {
|
||||||
|
.platform_data = &pxa2xx_gpio_info,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
struct platform_device pxa27x_device_gpio = {
|
struct platform_device pxa27x_device_gpio = {
|
||||||
@ -662,6 +672,9 @@ struct platform_device pxa27x_device_gpio = {
|
|||||||
.id = -1,
|
.id = -1,
|
||||||
.num_resources = ARRAY_SIZE(pxa_resource_gpio),
|
.num_resources = ARRAY_SIZE(pxa_resource_gpio),
|
||||||
.resource = pxa_resource_gpio,
|
.resource = pxa_resource_gpio,
|
||||||
|
.dev = {
|
||||||
|
.platform_data = &pxa2xx_gpio_info,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct resource pxa_dma_resource[] = {
|
static struct resource pxa_dma_resource[] = {
|
||||||
|
@ -178,12 +178,8 @@ void __init pxa25x_map_io(void)
|
|||||||
pxa25x_get_clk_frequency_khz(1);
|
pxa25x_get_clk_frequency_khz(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct pxa_gpio_platform_data pxa25x_gpio_info __initdata = {
|
|
||||||
.irq_base = PXA_GPIO_TO_IRQ(0),
|
|
||||||
.gpio_set_wake = gpio_set_wake,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct platform_device *pxa25x_devices[] __initdata = {
|
static struct platform_device *pxa25x_devices[] __initdata = {
|
||||||
|
&pxa25x_device_gpio,
|
||||||
&pxa25x_device_udc,
|
&pxa25x_device_udc,
|
||||||
&pxa_device_pmu,
|
&pxa_device_pmu,
|
||||||
&pxa_device_i2s,
|
&pxa_device_i2s,
|
||||||
@ -244,7 +240,6 @@ static int __init pxa25x_init(void)
|
|||||||
|
|
||||||
if (!of_have_populated_dt()) {
|
if (!of_have_populated_dt()) {
|
||||||
pxa2xx_set_dmac_info(&pxa25x_dma_pdata);
|
pxa2xx_set_dmac_info(&pxa25x_dma_pdata);
|
||||||
pxa_register_device(&pxa25x_device_gpio, &pxa25x_gpio_info);
|
|
||||||
ret = platform_add_devices(pxa25x_devices,
|
ret = platform_add_devices(pxa25x_devices,
|
||||||
ARRAY_SIZE(pxa25x_devices));
|
ARRAY_SIZE(pxa25x_devices));
|
||||||
}
|
}
|
||||||
|
@ -276,12 +276,8 @@ void __init pxa27x_set_i2c_power_info(struct i2c_pxa_platform_data *info)
|
|||||||
pxa_register_device(&pxa27x_device_i2c_power, info);
|
pxa_register_device(&pxa27x_device_i2c_power, info);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct pxa_gpio_platform_data pxa27x_gpio_info __initdata = {
|
|
||||||
.irq_base = PXA_GPIO_TO_IRQ(0),
|
|
||||||
.gpio_set_wake = gpio_set_wake,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct platform_device *devices[] __initdata = {
|
static struct platform_device *devices[] __initdata = {
|
||||||
|
&pxa27x_device_gpio,
|
||||||
&pxa27x_device_udc,
|
&pxa27x_device_udc,
|
||||||
&pxa_device_pmu,
|
&pxa_device_pmu,
|
||||||
&pxa_device_i2s,
|
&pxa_device_i2s,
|
||||||
@ -345,8 +341,6 @@ static int __init pxa27x_init(void)
|
|||||||
register_syscore_ops(&pxa2xx_mfp_syscore_ops);
|
register_syscore_ops(&pxa2xx_mfp_syscore_ops);
|
||||||
|
|
||||||
if (!of_have_populated_dt()) {
|
if (!of_have_populated_dt()) {
|
||||||
pxa_register_device(&pxa27x_device_gpio,
|
|
||||||
&pxa27x_gpio_info);
|
|
||||||
pxa2xx_set_dmac_info(&pxa27x_dma_pdata);
|
pxa2xx_set_dmac_info(&pxa27x_dma_pdata);
|
||||||
ret = platform_add_devices(devices,
|
ret = platform_add_devices(devices,
|
||||||
ARRAY_SIZE(devices));
|
ARRAY_SIZE(devices));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user