Lines Matching defs:ports
33 * ports and endpoints management. from
35 * Given a device and its node, it enumerates all ports and endpoints for this
82 struct fdt_device_ports *ports;
88 SLIST_FOREACH(ports, &fdt_port_devices, dp_list) {
89 for (p = 0; p < ports->dp_nports; p++) {
90 struct fdt_port *port = &ports->dp_port[p];
254 fdt_ports_register(struct fdt_device_ports *ports, device_t self,
262 ports->dp_dev = self;
263 SLIST_INSERT_HEAD(&fdt_port_devices, ports, dp_list);
266 * walk the childs looking for ports. ports may be grouped under
267 * an optional ports node
271 ports->dp_nports = 0;
275 if (strcmp(buf, "ports") == 0) {
281 ports->dp_nports++;
283 if (ports->dp_nports == 0)
286 ports->dp_port =
287 kmem_zalloc(sizeof(struct fdt_port) * ports->dp_nports, KM_SLEEP);
288 KASSERT(ports->dp_port != NULL);
289 /* now scan again ports, looking for endpoints */
294 if (strcmp(buf, "ports") == 0) {
295 panic("fdt_ports_register: undetected ports");
300 if (ports->dp_nports > 1)
306 ports->dp_port[i].port_id = id;
307 ports->dp_port[i].port_phandle = child;
308 ports->dp_port[i].port_dp = ports;
309 fdt_endpoints_register(child, &ports->dp_port[i], type);
312 KASSERT(i == ports->dp_nports);
344 /* now scan again ports, looking for endpoints */