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