Loading arch/m68k/platform/532x/gpio.c +17 −303 Original line number Diff line number Diff line Loading @@ -21,309 +21,23 @@ #include <asm/mcfgpio.h> static struct mcf_gpio_chip mcf_gpio_chips[] = { { .gpio_chip = { .label = "PIRQ", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value, .ngpio = 8, }, .pddr = (void __iomem *) MCFEPORT_EPDDR, .podr = (void __iomem *) MCFEPORT_EPDR, .ppdr = (void __iomem *) MCFEPORT_EPPDR, }, { .gpio_chip = { .label = "FECH", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 8, .ngpio = 8, }, .pddr = (void __iomem *) MCFGPIO_PDDR_FECH, .podr = (void __iomem *) MCFGPIO_PODR_FECH, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_FECH, .setr = (void __iomem *) MCFGPIO_PPDSDR_FECH, .clrr = (void __iomem *) MCFGPIO_PCLRR_FECH, }, { .gpio_chip = { .label = "FECL", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 16, .ngpio = 8, }, .pddr = (void __iomem *) MCFGPIO_PDDR_FECL, .podr = (void __iomem *) MCFGPIO_PODR_FECL, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_FECL, .setr = (void __iomem *) MCFGPIO_PPDSDR_FECL, .clrr = (void __iomem *) MCFGPIO_PCLRR_FECL, }, { .gpio_chip = { .label = "SSI", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 24, .ngpio = 5, }, .pddr = (void __iomem *) MCFGPIO_PDDR_SSI, .podr = (void __iomem *) MCFGPIO_PODR_SSI, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_SSI, .setr = (void __iomem *) MCFGPIO_PPDSDR_SSI, .clrr = (void __iomem *) MCFGPIO_PCLRR_SSI, }, { .gpio_chip = { .label = "BUSCTL", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 32, .ngpio = 4, }, .pddr = (void __iomem *) MCFGPIO_PDDR_BUSCTL, .podr = (void __iomem *) MCFGPIO_PODR_BUSCTL, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_BUSCTL, .setr = (void __iomem *) MCFGPIO_PPDSDR_BUSCTL, .clrr = (void __iomem *) MCFGPIO_PCLRR_BUSCTL, }, { .gpio_chip = { .label = "BE", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 40, .ngpio = 4, }, .pddr = (void __iomem *) MCFGPIO_PDDR_BE, .podr = (void __iomem *) MCFGPIO_PODR_BE, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_BE, .setr = (void __iomem *) MCFGPIO_PPDSDR_BE, .clrr = (void __iomem *) MCFGPIO_PCLRR_BE, }, { .gpio_chip = { .label = "CS", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 49, .ngpio = 5, }, .pddr = (void __iomem *) MCFGPIO_PDDR_CS, .podr = (void __iomem *) MCFGPIO_PODR_CS, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_CS, .setr = (void __iomem *) MCFGPIO_PPDSDR_CS, .clrr = (void __iomem *) MCFGPIO_PCLRR_CS, }, { .gpio_chip = { .label = "PWM", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 58, .ngpio = 4, }, .pddr = (void __iomem *) MCFGPIO_PDDR_PWM, .podr = (void __iomem *) MCFGPIO_PODR_PWM, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_PWM, .setr = (void __iomem *) MCFGPIO_PPDSDR_PWM, .clrr = (void __iomem *) MCFGPIO_PCLRR_PWM, }, { .gpio_chip = { .label = "FECI2C", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 64, .ngpio = 4, }, .pddr = (void __iomem *) MCFGPIO_PDDR_FECI2C, .podr = (void __iomem *) MCFGPIO_PODR_FECI2C, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_FECI2C, .setr = (void __iomem *) MCFGPIO_PPDSDR_FECI2C, .clrr = (void __iomem *) MCFGPIO_PCLRR_FECI2C, }, { .gpio_chip = { .label = "UART", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 72, .ngpio = 8, }, .pddr = (void __iomem *) MCFGPIO_PDDR_UART, .podr = (void __iomem *) MCFGPIO_PODR_UART, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_UART, .setr = (void __iomem *) MCFGPIO_PPDSDR_UART, .clrr = (void __iomem *) MCFGPIO_PCLRR_UART, }, { .gpio_chip = { .label = "QSPI", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 80, .ngpio = 6, }, .pddr = (void __iomem *) MCFGPIO_PDDR_QSPI, .podr = (void __iomem *) MCFGPIO_PODR_QSPI, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_QSPI, .setr = (void __iomem *) MCFGPIO_PPDSDR_QSPI, .clrr = (void __iomem *) MCFGPIO_PCLRR_QSPI, }, { .gpio_chip = { .label = "TIMER", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 88, .ngpio = 4, }, .pddr = (void __iomem *) MCFGPIO_PDDR_TIMER, .podr = (void __iomem *) MCFGPIO_PODR_TIMER, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_TIMER, .setr = (void __iomem *) MCFGPIO_PPDSDR_TIMER, .clrr = (void __iomem *) MCFGPIO_PCLRR_TIMER, }, { .gpio_chip = { .label = "LCDDATAH", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 96, .ngpio = 2, }, .pddr = (void __iomem *) MCFGPIO_PDDR_LCDDATAH, .podr = (void __iomem *) MCFGPIO_PODR_LCDDATAH, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_LCDDATAH, .setr = (void __iomem *) MCFGPIO_PPDSDR_LCDDATAH, .clrr = (void __iomem *) MCFGPIO_PCLRR_LCDDATAH, }, { .gpio_chip = { .label = "LCDDATAM", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 104, .ngpio = 8, }, .pddr = (void __iomem *) MCFGPIO_PDDR_LCDDATAM, .podr = (void __iomem *) MCFGPIO_PODR_LCDDATAM, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_LCDDATAM, .setr = (void __iomem *) MCFGPIO_PPDSDR_LCDDATAM, .clrr = (void __iomem *) MCFGPIO_PCLRR_LCDDATAM, }, { .gpio_chip = { .label = "LCDDATAL", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 112, .ngpio = 8, }, .pddr = (void __iomem *) MCFGPIO_PDDR_LCDDATAL, .podr = (void __iomem *) MCFGPIO_PODR_LCDDATAL, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_LCDDATAL, .setr = (void __iomem *) MCFGPIO_PPDSDR_LCDDATAL, .clrr = (void __iomem *) MCFGPIO_PCLRR_LCDDATAL, }, { .gpio_chip = { .label = "LCDCTLH", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 120, .ngpio = 1, }, .pddr = (void __iomem *) MCFGPIO_PDDR_LCDCTLH, .podr = (void __iomem *) MCFGPIO_PODR_LCDCTLH, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_LCDCTLH, .setr = (void __iomem *) MCFGPIO_PPDSDR_LCDCTLH, .clrr = (void __iomem *) MCFGPIO_PCLRR_LCDCTLH, }, { .gpio_chip = { .label = "LCDCTLL", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 128, .ngpio = 8, }, .pddr = (void __iomem *) MCFGPIO_PDDR_LCDCTLL, .podr = (void __iomem *) MCFGPIO_PODR_LCDCTLL, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_LCDCTLL, .setr = (void __iomem *) MCFGPIO_PPDSDR_LCDCTLL, .clrr = (void __iomem *) MCFGPIO_PCLRR_LCDCTLL, }, MCFGPS(PIRQ, 0, 8, MCFEPORT_EPDDR, MCFEPORT_EPDR, MCFEPORT_EPPDR), MCFGPF(FECH, 8, 8), MCFGPF(FECL, 16, 8), MCFGPF(SSI, 24, 5), MCFGPF(BUSCTL, 32, 4), MCFGPF(BE, 40, 4), MCFGPF(CS, 49, 5), MCFGPF(PWM, 58, 4), MCFGPF(FECI2C, 64, 4), MCFGPF(UART, 72, 8), MCFGPF(QSPI, 80, 6), MCFGPF(TIMER, 88, 4), MCFGPF(LCDDATAH, 96, 2), MCFGPF(LCDDATAM, 104, 8), MCFGPF(LCDDATAL, 112, 8), MCFGPF(LCDCTLH, 120, 1), MCFGPF(LCDCTLL, 128, 8), }; static int __init mcf_gpio_init(void) Loading Loading
arch/m68k/platform/532x/gpio.c +17 −303 Original line number Diff line number Diff line Loading @@ -21,309 +21,23 @@ #include <asm/mcfgpio.h> static struct mcf_gpio_chip mcf_gpio_chips[] = { { .gpio_chip = { .label = "PIRQ", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value, .ngpio = 8, }, .pddr = (void __iomem *) MCFEPORT_EPDDR, .podr = (void __iomem *) MCFEPORT_EPDR, .ppdr = (void __iomem *) MCFEPORT_EPPDR, }, { .gpio_chip = { .label = "FECH", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 8, .ngpio = 8, }, .pddr = (void __iomem *) MCFGPIO_PDDR_FECH, .podr = (void __iomem *) MCFGPIO_PODR_FECH, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_FECH, .setr = (void __iomem *) MCFGPIO_PPDSDR_FECH, .clrr = (void __iomem *) MCFGPIO_PCLRR_FECH, }, { .gpio_chip = { .label = "FECL", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 16, .ngpio = 8, }, .pddr = (void __iomem *) MCFGPIO_PDDR_FECL, .podr = (void __iomem *) MCFGPIO_PODR_FECL, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_FECL, .setr = (void __iomem *) MCFGPIO_PPDSDR_FECL, .clrr = (void __iomem *) MCFGPIO_PCLRR_FECL, }, { .gpio_chip = { .label = "SSI", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 24, .ngpio = 5, }, .pddr = (void __iomem *) MCFGPIO_PDDR_SSI, .podr = (void __iomem *) MCFGPIO_PODR_SSI, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_SSI, .setr = (void __iomem *) MCFGPIO_PPDSDR_SSI, .clrr = (void __iomem *) MCFGPIO_PCLRR_SSI, }, { .gpio_chip = { .label = "BUSCTL", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 32, .ngpio = 4, }, .pddr = (void __iomem *) MCFGPIO_PDDR_BUSCTL, .podr = (void __iomem *) MCFGPIO_PODR_BUSCTL, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_BUSCTL, .setr = (void __iomem *) MCFGPIO_PPDSDR_BUSCTL, .clrr = (void __iomem *) MCFGPIO_PCLRR_BUSCTL, }, { .gpio_chip = { .label = "BE", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 40, .ngpio = 4, }, .pddr = (void __iomem *) MCFGPIO_PDDR_BE, .podr = (void __iomem *) MCFGPIO_PODR_BE, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_BE, .setr = (void __iomem *) MCFGPIO_PPDSDR_BE, .clrr = (void __iomem *) MCFGPIO_PCLRR_BE, }, { .gpio_chip = { .label = "CS", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 49, .ngpio = 5, }, .pddr = (void __iomem *) MCFGPIO_PDDR_CS, .podr = (void __iomem *) MCFGPIO_PODR_CS, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_CS, .setr = (void __iomem *) MCFGPIO_PPDSDR_CS, .clrr = (void __iomem *) MCFGPIO_PCLRR_CS, }, { .gpio_chip = { .label = "PWM", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 58, .ngpio = 4, }, .pddr = (void __iomem *) MCFGPIO_PDDR_PWM, .podr = (void __iomem *) MCFGPIO_PODR_PWM, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_PWM, .setr = (void __iomem *) MCFGPIO_PPDSDR_PWM, .clrr = (void __iomem *) MCFGPIO_PCLRR_PWM, }, { .gpio_chip = { .label = "FECI2C", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 64, .ngpio = 4, }, .pddr = (void __iomem *) MCFGPIO_PDDR_FECI2C, .podr = (void __iomem *) MCFGPIO_PODR_FECI2C, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_FECI2C, .setr = (void __iomem *) MCFGPIO_PPDSDR_FECI2C, .clrr = (void __iomem *) MCFGPIO_PCLRR_FECI2C, }, { .gpio_chip = { .label = "UART", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 72, .ngpio = 8, }, .pddr = (void __iomem *) MCFGPIO_PDDR_UART, .podr = (void __iomem *) MCFGPIO_PODR_UART, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_UART, .setr = (void __iomem *) MCFGPIO_PPDSDR_UART, .clrr = (void __iomem *) MCFGPIO_PCLRR_UART, }, { .gpio_chip = { .label = "QSPI", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 80, .ngpio = 6, }, .pddr = (void __iomem *) MCFGPIO_PDDR_QSPI, .podr = (void __iomem *) MCFGPIO_PODR_QSPI, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_QSPI, .setr = (void __iomem *) MCFGPIO_PPDSDR_QSPI, .clrr = (void __iomem *) MCFGPIO_PCLRR_QSPI, }, { .gpio_chip = { .label = "TIMER", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 88, .ngpio = 4, }, .pddr = (void __iomem *) MCFGPIO_PDDR_TIMER, .podr = (void __iomem *) MCFGPIO_PODR_TIMER, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_TIMER, .setr = (void __iomem *) MCFGPIO_PPDSDR_TIMER, .clrr = (void __iomem *) MCFGPIO_PCLRR_TIMER, }, { .gpio_chip = { .label = "LCDDATAH", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 96, .ngpio = 2, }, .pddr = (void __iomem *) MCFGPIO_PDDR_LCDDATAH, .podr = (void __iomem *) MCFGPIO_PODR_LCDDATAH, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_LCDDATAH, .setr = (void __iomem *) MCFGPIO_PPDSDR_LCDDATAH, .clrr = (void __iomem *) MCFGPIO_PCLRR_LCDDATAH, }, { .gpio_chip = { .label = "LCDDATAM", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 104, .ngpio = 8, }, .pddr = (void __iomem *) MCFGPIO_PDDR_LCDDATAM, .podr = (void __iomem *) MCFGPIO_PODR_LCDDATAM, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_LCDDATAM, .setr = (void __iomem *) MCFGPIO_PPDSDR_LCDDATAM, .clrr = (void __iomem *) MCFGPIO_PCLRR_LCDDATAM, }, { .gpio_chip = { .label = "LCDDATAL", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 112, .ngpio = 8, }, .pddr = (void __iomem *) MCFGPIO_PDDR_LCDDATAL, .podr = (void __iomem *) MCFGPIO_PODR_LCDDATAL, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_LCDDATAL, .setr = (void __iomem *) MCFGPIO_PPDSDR_LCDDATAL, .clrr = (void __iomem *) MCFGPIO_PCLRR_LCDDATAL, }, { .gpio_chip = { .label = "LCDCTLH", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 120, .ngpio = 1, }, .pddr = (void __iomem *) MCFGPIO_PDDR_LCDCTLH, .podr = (void __iomem *) MCFGPIO_PODR_LCDCTLH, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_LCDCTLH, .setr = (void __iomem *) MCFGPIO_PPDSDR_LCDCTLH, .clrr = (void __iomem *) MCFGPIO_PCLRR_LCDCTLH, }, { .gpio_chip = { .label = "LCDCTLL", .request = mcf_gpio_request, .free = mcf_gpio_free, .direction_input = mcf_gpio_direction_input, .direction_output = mcf_gpio_direction_output, .get = mcf_gpio_get_value, .set = mcf_gpio_set_value_fast, .base = 128, .ngpio = 8, }, .pddr = (void __iomem *) MCFGPIO_PDDR_LCDCTLL, .podr = (void __iomem *) MCFGPIO_PODR_LCDCTLL, .ppdr = (void __iomem *) MCFGPIO_PPDSDR_LCDCTLL, .setr = (void __iomem *) MCFGPIO_PPDSDR_LCDCTLL, .clrr = (void __iomem *) MCFGPIO_PCLRR_LCDCTLL, }, MCFGPS(PIRQ, 0, 8, MCFEPORT_EPDDR, MCFEPORT_EPDR, MCFEPORT_EPPDR), MCFGPF(FECH, 8, 8), MCFGPF(FECL, 16, 8), MCFGPF(SSI, 24, 5), MCFGPF(BUSCTL, 32, 4), MCFGPF(BE, 40, 4), MCFGPF(CS, 49, 5), MCFGPF(PWM, 58, 4), MCFGPF(FECI2C, 64, 4), MCFGPF(UART, 72, 8), MCFGPF(QSPI, 80, 6), MCFGPF(TIMER, 88, 4), MCFGPF(LCDDATAH, 96, 2), MCFGPF(LCDDATAM, 104, 8), MCFGPF(LCDDATAL, 112, 8), MCFGPF(LCDCTLH, 120, 1), MCFGPF(LCDCTLL, 128, 8), }; static int __init mcf_gpio_init(void) Loading