static void at91_identify(driver_t *drv, device_t parent) { if (at91_cpu_is(AT91_CPU_SAM9260)) { at91_add_child(parent, 0, "at91sam9260", 0, 0, 0, -1, 0, 0); at91_cpu_add_builtin_children(parent); } }
static void at91_cpu_add_builtin_children(device_t dev, const struct cpu_devs *walker) { int i; for (i = 1; walker->name; i++, walker++) { at91_add_child(dev, i, walker->name, walker->unit, walker->mem_base, walker->mem_len, walker->irq0, walker->irq1, walker->irq2); } }
static void at91_cpu_add_builtin_children(device_t dev, struct at91_softc *sc) { int i; struct cpu_devs *walker; // XXX should look at the device id in the DBGU register and // XXX based on the CPU load in these devices for (i = 0, walker = at91rm9200_devs; walker->name; i++, walker++) { at91_add_child(dev, i, walker->name, walker->unit, walker->mem_base, walker->mem_len, walker->irq0, walker->irq1, walker->irq2); } }
static void at91_identify(driver_t *drv, device_t parent) { switch (AT91_CPU(at91_chip_id)) { case AT91_CPU_SAM9260: case AT91_CPU_SAM9XE128: case AT91_CPU_SAM9XE256: case AT91_CPU_SAM9XE512: at91_add_child(parent, 0, "at91sam9260", 0, 0, 0, -1, 0, 0); at91_cpu_add_builtin_children(parent); break; } }