Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fe158a17 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Gregory CLEMENT
Browse files

ARM: orion: simplify orion_ge00_switch_init



One of the last users of NO_IRQ on ARM is the switch initialization
code on orion5x, which sometimes passes a GPIO based IRQ number.

However, the driver doesn't actually use this number, and according
to Andrew Lunn never will do it for non-DT based machines, so
we can simply drop the irq argument.

Simplifying it further, we can also drop the static platform_device
and instead call platform_device_register_data(), which in turn
lets us mark the platform_data structures as __initdata and slightly
reduce the memory consumption.

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarGregory CLEMENT <gregory.clement@free-electrons.com>
parent 93a753bd
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -105,9 +105,9 @@ void __init orion5x_eth_init(struct mv643xx_eth_platform_data *eth_data)
/*****************************************************************************
 * Ethernet switch
 ****************************************************************************/
void __init orion5x_eth_switch_init(struct dsa_platform_data *d, int irq)
void __init orion5x_eth_switch_init(struct dsa_platform_data *d)
{
	orion_ge00_switch_init(d, irq);
	orion_ge00_switch_init(d);
}


+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ void orion5x_setup_wins(void);
void orion5x_ehci0_init(void);
void orion5x_ehci1_init(void);
void orion5x_eth_init(struct mv643xx_eth_platform_data *eth_data);
void orion5x_eth_switch_init(struct dsa_platform_data *d, int irq);
void orion5x_eth_switch_init(struct dsa_platform_data *d);
void orion5x_i2c_init(void);
void orion5x_sata_init(struct mv_sata_platform_data *sata_data);
void orion5x_spi_init(void);
+2 −2
Original line number Diff line number Diff line
@@ -101,7 +101,7 @@ static struct dsa_chip_data rd88f5181l_fxo_switch_chip_data = {
	.port_names[7]	= "lan3",
};

static struct dsa_platform_data rd88f5181l_fxo_switch_plat_data = {
static struct dsa_platform_data __initdata rd88f5181l_fxo_switch_plat_data = {
	.nr_chips	= 1,
	.chip		= &rd88f5181l_fxo_switch_chip_data,
};
@@ -120,7 +120,7 @@ static void __init rd88f5181l_fxo_init(void)
	 */
	orion5x_ehci0_init();
	orion5x_eth_init(&rd88f5181l_fxo_eth_data);
	orion5x_eth_switch_init(&rd88f5181l_fxo_switch_plat_data, NO_IRQ);
	orion5x_eth_switch_init(&rd88f5181l_fxo_switch_plat_data);
	orion5x_uart0_init();

	mvebu_mbus_add_window_by_id(ORION_MBUS_DEVBUS_BOOT_TARGET,
+2 −3
Original line number Diff line number Diff line
@@ -102,7 +102,7 @@ static struct dsa_chip_data rd88f5181l_ge_switch_chip_data = {
	.port_names[7]	= "lan3",
};

static struct dsa_platform_data rd88f5181l_ge_switch_plat_data = {
static struct dsa_platform_data __initdata rd88f5181l_ge_switch_plat_data = {
	.nr_chips	= 1,
	.chip		= &rd88f5181l_ge_switch_chip_data,
};
@@ -125,8 +125,7 @@ static void __init rd88f5181l_ge_init(void)
	 */
	orion5x_ehci0_init();
	orion5x_eth_init(&rd88f5181l_ge_eth_data);
	orion5x_eth_switch_init(&rd88f5181l_ge_switch_plat_data,
				gpio_to_irq(8));
	orion5x_eth_switch_init(&rd88f5181l_ge_switch_plat_data);
	orion5x_i2c_init();
	orion5x_uart0_init();

+2 −3
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ static struct dsa_chip_data rd88f6183ap_ge_switch_chip_data = {
	.port_names[5]	= "cpu",
};

static struct dsa_platform_data rd88f6183ap_ge_switch_plat_data = {
static struct dsa_platform_data __initdata rd88f6183ap_ge_switch_plat_data = {
	.nr_chips	= 1,
	.chip		= &rd88f6183ap_ge_switch_chip_data,
};
@@ -90,8 +90,7 @@ static void __init rd88f6183ap_ge_init(void)
	 */
	orion5x_ehci0_init();
	orion5x_eth_init(&rd88f6183ap_ge_eth_data);
	orion5x_eth_switch_init(&rd88f6183ap_ge_switch_plat_data,
				gpio_to_irq(3));
	orion5x_eth_switch_init(&rd88f6183ap_ge_switch_plat_data);
	spi_register_board_info(rd88f6183ap_ge_spi_slave_info,
				ARRAY_SIZE(rd88f6183ap_ge_spi_slave_info));
	orion5x_spi_init();
Loading