--- a/arch/mips/lantiq/xway/devices.c +++ b/arch/mips/lantiq/xway/devices.c @@ -121,6 +121,29 @@ } } +/* ebu */ +static struct resource ltq_ebu_resource = +{ + .name = "gpio_ebu", + .start = LTQ_EBU_GPIO_START, + .end = LTQ_EBU_GPIO_START + LTQ_EBU_GPIO_SIZE - 1, + .flags = IORESOURCE_MEM, +}; + +static struct platform_device ltq_ebu = +{ + .name = "ltq_ebu", + .resource = <q_ebu_resource, + .num_resources = 1, +}; + +void __init +ltq_register_gpio_ebu(unsigned int value) +{ + ltq_ebu.dev.platform_data = (void*) value; + platform_device_register(<q_ebu); +} + static struct resource ltq_spi_resources[] = { { .start = LTQ_SSC_BASE_ADDR, --- a/arch/mips/lantiq/xway/devices.h +++ b/arch/mips/lantiq/xway/devices.h @@ -16,5 +16,6 @@ extern void ltq_register_gpio_stp(void); extern void ltq_register_ase_asc(void); extern void ltq_register_etop(struct ltq_eth_data *eth); +extern void ltq_register_gpio_ebu(unsigned int value); #endif