Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Dmitry Torokhov and committed by
Arnd Bergmann
6eabaf9d f1d6588a

+9 -15
+9 -15
arch/arm/mach-pxa/spitz.c
··· 580 580 { } 581 581 }; 582 582 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, 584 587 .properties = spitz_spi_properties, 585 588 }; 586 589 587 590 static void __init spitz_spi_init(void) 588 591 { 589 592 struct platform_device *pd; 590 - int id = 2; 591 593 int err; 592 594 593 595 if (machine_is_akita()) ··· 600 598 gpiod_add_lookup_table(&spitz_ads7846_gpio_table); 601 599 gpiod_add_lookup_table(&spitz_spi_gpio_table); 602 600 603 - /* pxa2xx-spi platform-device ID equals respective SSP platform-device ID + 1 */ 604 - pd = platform_device_alloc("pxa2xx-spi", id); 605 - if (pd == NULL) { 606 - pr_err("pxa2xx-spi: failed to allocate device id %d\n", id); 607 - } else { 608 - err = device_add_software_node(&pd->dev, &spitz_spi_node); 609 - if (err) { 610 - platform_device_put(pd); 611 - pr_err("pxa2xx-spi: failed to add software node\n"); 612 - } else { 613 - platform_device_add(pd); 614 - } 615 - } 601 + pd = platform_device_register_full(&spitz_spi_device_info); 602 + err = PTR_ERR_OR_ZERO(pd); 603 + if (err) 604 + pr_err("pxa2xx-spi: failed to instantiate SPI controller: %d\n", 605 + err); 616 606 617 607 spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices)); 618 608 }