* @brief This function register a bus * @param bus the bus to be registered * * @return the error code, RT_EOK on registeration successfully. */
| 499 | * @return the error code, RT_EOK on registeration successfully. |
| 500 | */ |
| 501 | rt_err_t rt_bus_register(rt_bus_t bus) |
| 502 | { |
| 503 | RT_ASSERT(bus != RT_NULL); |
| 504 | |
| 505 | rt_list_init(&bus->list); |
| 506 | rt_list_init(&bus->dev_list); |
| 507 | rt_list_init(&bus->drv_list); |
| 508 | |
| 509 | rt_spin_lock_init(&bus->dev_lock); |
| 510 | rt_spin_lock_init(&bus->drv_lock); |
| 511 | |
| 512 | _dm_bus_lock(&bus_lock); |
| 513 | |
| 514 | rt_list_insert_before(&bus_nodes, &bus->list); |
| 515 | |
| 516 | _dm_bus_unlock(&bus_lock); |
| 517 | |
| 518 | return RT_EOK; |
| 519 | } |
| 520 | #endif |
no test coverage detected