Commit 6eabaf9d authored by Dmitry Torokhov's avatar Dmitry Torokhov Committed by Arnd Bergmann

ARM: spitz: Simplify instantiating SPI controller

platform_device_register_full() to instantiate SPI controller in one go
instead of allocating it, creating a software node, and registering the
platform device as separate steps.
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20240628180852.1738922-5-dmitry.torokhov@gmail.comSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent f1d6588a
...@@ -580,14 +580,16 @@ static const struct property_entry spitz_spi_properties[] = { ...@@ -580,14 +580,16 @@ static const struct property_entry spitz_spi_properties[] = {
{ } { }
}; };
static const struct software_node spitz_spi_node = { static const struct platform_device_info spitz_spi_device_info = {
.name = "pxa2xx-spi",
/* pxa2xx-spi platform-device ID equals respective SSP platform-device ID + 1 */
.id = 2,
.properties = spitz_spi_properties, .properties = spitz_spi_properties,
}; };
static void __init spitz_spi_init(void) static void __init spitz_spi_init(void)
{ {
struct platform_device *pd; struct platform_device *pd;
int id = 2;
int err; int err;
if (machine_is_akita()) if (machine_is_akita())
...@@ -598,19 +600,11 @@ static void __init spitz_spi_init(void) ...@@ -598,19 +600,11 @@ static void __init spitz_spi_init(void)
gpiod_add_lookup_table(&spitz_ads7846_gpio_table); gpiod_add_lookup_table(&spitz_ads7846_gpio_table);
gpiod_add_lookup_table(&spitz_spi_gpio_table); gpiod_add_lookup_table(&spitz_spi_gpio_table);
/* pxa2xx-spi platform-device ID equals respective SSP platform-device ID + 1 */ pd = platform_device_register_full(&spitz_spi_device_info);
pd = platform_device_alloc("pxa2xx-spi", id); err = PTR_ERR_OR_ZERO(pd);
if (pd == NULL) { if (err)
pr_err("pxa2xx-spi: failed to allocate device id %d\n", id); pr_err("pxa2xx-spi: failed to instantiate SPI controller: %d\n",
} else { err);
err = device_add_software_node(&pd->dev, &spitz_spi_node);
if (err) {
platform_device_put(pd);
pr_err("pxa2xx-spi: failed to add software node\n");
} else {
platform_device_add(pd);
}
}
spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices)); spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment