1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * System bus type for containers. 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 2013, Intel Corporation 6*4882a593Smuzhiyun * Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com> 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #include <linux/container.h> 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #include "base.h" 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #define CONTAINER_BUS_NAME "container" 14*4882a593Smuzhiyun trivial_online(struct device * dev)15*4882a593Smuzhiyunstatic int trivial_online(struct device *dev) 16*4882a593Smuzhiyun { 17*4882a593Smuzhiyun return 0; 18*4882a593Smuzhiyun } 19*4882a593Smuzhiyun container_offline(struct device * dev)20*4882a593Smuzhiyunstatic int container_offline(struct device *dev) 21*4882a593Smuzhiyun { 22*4882a593Smuzhiyun struct container_dev *cdev = to_container_dev(dev); 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun return cdev->offline ? cdev->offline(cdev) : 0; 25*4882a593Smuzhiyun } 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun struct bus_type container_subsys = { 28*4882a593Smuzhiyun .name = CONTAINER_BUS_NAME, 29*4882a593Smuzhiyun .dev_name = CONTAINER_BUS_NAME, 30*4882a593Smuzhiyun .online = trivial_online, 31*4882a593Smuzhiyun .offline = container_offline, 32*4882a593Smuzhiyun }; 33*4882a593Smuzhiyun container_dev_init(void)34*4882a593Smuzhiyunvoid __init container_dev_init(void) 35*4882a593Smuzhiyun { 36*4882a593Smuzhiyun int ret; 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun ret = subsys_system_register(&container_subsys, NULL); 39*4882a593Smuzhiyun if (ret) 40*4882a593Smuzhiyun pr_err("%s() failed: %d\n", __func__, ret); 41*4882a593Smuzhiyun } 42