static void lb_gpios(struct lb_header *header) { struct lb_gpios *gpios; gpios = (struct lb_gpios *)lb_new_record(header); gpios->tag = LB_TAG_GPIO; gpios->size = sizeof(*gpios); gpios->count = 0; fill_lb_gpios(gpios); }
static void lb_gpios(struct lb_header *header) { struct lb_gpios *gpios; struct lb_gpio *g; gpios = (struct lb_gpios *)lb_new_record(header); gpios->tag = LB_TAG_GPIO; gpios->size = sizeof(*gpios); gpios->count = 0; fill_lb_gpios(gpios); printk(BIOS_INFO, "Passing %u GPIOs to payload:\n" " NAME | PORT | POLARITY | VALUE\n", gpios->count); for (g = &gpios->gpios[0]; g < &gpios->gpios[gpios->count]; g++) { printk(BIOS_INFO, "%16s | ", g->name); if (g->port == -1) printk(BIOS_INFO, " undefined | "); else printk(BIOS_INFO, "%#.8x | ", g->port); if (g->polarity == ACTIVE_HIGH) printk(BIOS_INFO, " high | "); else printk(BIOS_INFO, " low | "); switch (g->value) { case 0: printk(BIOS_INFO, " low\n"); break; case 1: printk(BIOS_INFO, " high\n"); break; default: printk(BIOS_INFO, "undefined\n"); break; } } }