mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 02:24:24 +02:00
ARM: s3c: crag6410: use generic device properties for gpio-mmio
The GPIO device in crag6410 is registered with struct bgpio_pdata passed as platform_data to the gpio-mmio driver. We want to remove the bgpio_pdata from the kernel and the gpio-mmio driver is now also able to get the relevant values from the software node. Set up device properties and switch to using platform_device_info to register the device as platform_add_devices() doesn't allow us to pass device properties to the driver model. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20250701-gpio-mmio-pdata-v2-5-ebf34d273497@linaro.org Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
parent
094017efe3
commit
bb9c88d5b0
|
|
@ -252,14 +252,17 @@ static struct resource crag6410_mmgpio_resource[] = {
|
|||
[0] = DEFINE_RES_MEM_NAMED(S3C64XX_PA_XM0CSN4, 1, "dat"),
|
||||
};
|
||||
|
||||
static struct platform_device crag6410_mmgpio = {
|
||||
static const struct property_entry crag6410_mmgpio_props[] = {
|
||||
PROPERTY_ENTRY_U32("gpio-mmio,base", MMGPIO_GPIO_BASE),
|
||||
{ }
|
||||
};
|
||||
|
||||
static struct platform_device_info crag6410_mmgpio_devinfo = {
|
||||
.name = "basic-mmio-gpio",
|
||||
.id = -1,
|
||||
.resource = crag6410_mmgpio_resource,
|
||||
.num_resources = ARRAY_SIZE(crag6410_mmgpio_resource),
|
||||
.dev.platform_data = &(struct bgpio_pdata) {
|
||||
.base = MMGPIO_GPIO_BASE,
|
||||
},
|
||||
.res = crag6410_mmgpio_resource,
|
||||
.num_res = ARRAY_SIZE(crag6410_mmgpio_resource),
|
||||
.properties = crag6410_mmgpio_props,
|
||||
};
|
||||
|
||||
static struct platform_device speyside_device = {
|
||||
|
|
@ -373,7 +376,6 @@ static struct platform_device *crag6410_devices[] __initdata = {
|
|||
&crag6410_gpio_keydev,
|
||||
&crag6410_dm9k_device,
|
||||
&s3c64xx_device_spi0,
|
||||
&crag6410_mmgpio,
|
||||
&crag6410_lcd_powerdev,
|
||||
&crag6410_backlight_device,
|
||||
&speyside_device,
|
||||
|
|
@ -871,6 +873,7 @@ static void __init crag6410_machine_init(void)
|
|||
|
||||
pwm_add_table(crag6410_pwm_lookup, ARRAY_SIZE(crag6410_pwm_lookup));
|
||||
platform_add_devices(crag6410_devices, ARRAY_SIZE(crag6410_devices));
|
||||
platform_device_register_full(&crag6410_mmgpio_devinfo);
|
||||
|
||||
gpio_led_register_device(-1, &gpio_leds_pdata);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user