Lines Matching refs:clkdom

59 struct clkdom;
62 typedef TAILQ_HEAD(clkdom_list, clkdom) clkdom_list_t;
95 struct clkdom *clkdom; /* Owning clock domain */ member
140 struct clkdom { struct
142 TAILQ_ENTRY(clkdom) link; /* Global domain list entry */ argument
331 clknode_find_by_id(struct clkdom *clkdom, intptr_t id) in clknode_find_by_id() argument
337 TAILQ_FOREACH(entry, &clkdom->clknode_list, clkdom_link) { in clknode_find_by_id()
351 struct clkdom *
354 struct clkdom *entry; in clkdom_get_by_dev()
369 clknode_default_ofw_map(struct clkdom *clkdom, uint32_t ncells, in clknode_default_ofw_map() argument
376 *clk = clknode_find_by_id(clkdom, 1); in clknode_default_ofw_map()
378 *clk = clknode_find_by_id(clkdom, cells[0]); in clknode_default_ofw_map()
391 struct clkdom *
394 struct clkdom *clkdom; in clkdom_create() local
396 clkdom = malloc(sizeof(struct clkdom), M_CLOCK, M_WAITOK | M_ZERO); in clkdom_create()
397 clkdom->dev = dev; in clkdom_create()
398 TAILQ_INIT(&clkdom->clknode_list); in clkdom_create()
400 clkdom->ofw_mapper = clknode_default_ofw_map; in clkdom_create()
407 clkdom, 0, clkdom_sysctl, "A", in clkdom_create()
410 return (clkdom); in clkdom_create()
414 clkdom_unlock(struct clkdom *clkdom) in clkdom_unlock() argument
421 clkdom_xlock(struct clkdom *clkdom) in clkdom_xlock() argument
433 clkdom_finit(struct clkdom *clkdom) in clkdom_finit() argument
441 if ((node = ofw_bus_get_node(clkdom->dev)) == -1) { in clkdom_finit()
442 device_printf(clkdom->dev, in clkdom_finit()
451 TAILQ_INSERT_TAIL(&clkdom_list, clkdom, link); in clkdom_finit()
453 OF_device_register_xref(OF_xref_from_node(node), clkdom->dev); in clkdom_finit()
457 TAILQ_FOREACH(clknode, &clkdom->clknode_list, clkdom_link) { in clkdom_finit()
464 TAILQ_FOREACH(clknode, &clkdom->clknode_list, clkdom_link) { in clkdom_finit()
475 device_printf(clkdom->dev, in clkdom_finit()
484 device_printf(clkdom->dev, in clkdom_finit()
491 device_printf(clkdom->dev, in clkdom_finit()
506 clkdom_dump(struct clkdom * clkdom) in clkdom_dump() argument
513 TAILQ_FOREACH(clknode, &clkdom->clknode_list, clkdom_link) { in clkdom_dump()
537 clknode_create(struct clkdom * clkdom, clknode_class_t clknode_class, in clknode_create() argument
581 KASSERT(clkdom != clknode->clkdom, in clknode_create()
584 TAILQ_REMOVE(&clkdom->clknode_list, clknode, in clknode_create()
632 clknode->clkdom = clkdom; in clknode_create()
703 clknode_register(struct clkdom * clkdom, struct clknode *clknode) in clknode_register() argument
717 TAILQ_INSERT_TAIL(&clkdom->clknode_list, clknode, clkdom_link); in clknode_register()
925 return (clknode->clkdom->dev); in clknode_get_device()
930 clkdom_set_ofw_mapper(struct clkdom * clkdom, clknode_ofw_mapper_func *map) in clkdom_set_ofw_mapper() argument
933 clkdom->ofw_mapper = map; in clkdom_set_ofw_mapper()
1377 clk_get_by_id(device_t dev, struct clkdom *clkdom, intptr_t id, clk_t *clk) in clk_get_by_id() argument
1383 clknode = clknode_find_by_id(clkdom, id); in clk_get_by_id()
1498 struct clkdom *clkdom; in clk_get_by_ofw_index_prop() local
1524 clkdom = clkdom_get_by_dev(clockdev); in clk_get_by_ofw_index_prop()
1525 if (clkdom == NULL){ in clk_get_by_ofw_index_prop()
1531 rv = clkdom->ofw_mapper(clkdom, ncells, cells, &clknode); in clk_get_by_ofw_index_prop()
1642 struct clkdom *clkdom = arg1; in clkdom_sysctl() local
1652 TAILQ_FOREACH(clknode, &clkdom->clknode_list, clkdom_link) { in clkdom_sysctl()