162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * System bus type for containers. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2013, Intel Corporation 662306a36Sopenharmony_ci * Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com> 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include <linux/container.h> 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include "base.h" 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#define CONTAINER_BUS_NAME "container" 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cistatic int trivial_online(struct device *dev) 1662306a36Sopenharmony_ci{ 1762306a36Sopenharmony_ci return 0; 1862306a36Sopenharmony_ci} 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_cistatic int container_offline(struct device *dev) 2162306a36Sopenharmony_ci{ 2262306a36Sopenharmony_ci struct container_dev *cdev = to_container_dev(dev); 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci return cdev->offline ? cdev->offline(cdev) : 0; 2562306a36Sopenharmony_ci} 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_cistruct bus_type container_subsys = { 2862306a36Sopenharmony_ci .name = CONTAINER_BUS_NAME, 2962306a36Sopenharmony_ci .dev_name = CONTAINER_BUS_NAME, 3062306a36Sopenharmony_ci .online = trivial_online, 3162306a36Sopenharmony_ci .offline = container_offline, 3262306a36Sopenharmony_ci}; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_civoid __init container_dev_init(void) 3562306a36Sopenharmony_ci{ 3662306a36Sopenharmony_ci int ret; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci ret = subsys_system_register(&container_subsys, NULL); 3962306a36Sopenharmony_ci if (ret) 4062306a36Sopenharmony_ci pr_err("%s() failed: %d\n", __func__, ret); 4162306a36Sopenharmony_ci} 42