Skip to content
This repository was archived by the owner on Nov 8, 2023. It is now read-only.

Commit 6eabaf9

Browse files
dtorarndb
authored andcommitted
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: Dmitry Torokhov <dmitry.torokhov@gmail.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20240628180852.1738922-5-dmitry.torokhov@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
1 parent f1d6588 commit 6eabaf9

File tree

1 file changed

+9
-15
lines changed

1 file changed

+9
-15
lines changed

arch/arm/mach-pxa/spitz.c

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -580,14 +580,16 @@ static const struct property_entry spitz_spi_properties[] = {
580580
{ }
581581
};
582582

583-
static const struct software_node spitz_spi_node = {
583+
static const struct platform_device_info spitz_spi_device_info = {
584+
.name = "pxa2xx-spi",
585+
/* pxa2xx-spi platform-device ID equals respective SSP platform-device ID + 1 */
586+
.id = 2,
584587
.properties = spitz_spi_properties,
585588
};
586589

587590
static void __init spitz_spi_init(void)
588591
{
589592
struct platform_device *pd;
590-
int id = 2;
591593
int err;
592594

593595
if (machine_is_akita())
@@ -598,19 +600,11 @@ static void __init spitz_spi_init(void)
598600
gpiod_add_lookup_table(&spitz_ads7846_gpio_table);
599601
gpiod_add_lookup_table(&spitz_spi_gpio_table);
600602

601-
/* pxa2xx-spi platform-device ID equals respective SSP platform-device ID + 1 */
602-
pd = platform_device_alloc("pxa2xx-spi", id);
603-
if (pd == NULL) {
604-
pr_err("pxa2xx-spi: failed to allocate device id %d\n", id);
605-
} else {
606-
err = device_add_software_node(&pd->dev, &spitz_spi_node);
607-
if (err) {
608-
platform_device_put(pd);
609-
pr_err("pxa2xx-spi: failed to add software node\n");
610-
} else {
611-
platform_device_add(pd);
612-
}
613-
}
603+
pd = platform_device_register_full(&spitz_spi_device_info);
604+
err = PTR_ERR_OR_ZERO(pd);
605+
if (err)
606+
pr_err("pxa2xx-spi: failed to instantiate SPI controller: %d\n",
607+
err);
614608

615609
spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices));
616610
}

0 commit comments

Comments
 (0)