On Fri, Apr 17, 2020 at 10:10:26AM -0700, Jeff Kirsher wrote: > @@ -0,0 +1,53 @@ > +/* SPDX-License-Identifier: GPL-2.0-only */ > +/* > + * virtual_bus.h - lightweight software bus > + * > + * Copyright (c) 2019-20 Intel Corporation > + * > + * Please see Documentation/driver-api/virtual_bus.rst for more information > + */ > + > +#ifndef _VIRTUAL_BUS_H_ > +#define _VIRTUAL_BUS_H_ > + > +#include <linux/device.h> > + > +struct virtbus_device { > + struct device dev; > + const char *name; struct device already has a name, why do you need another one? > + void (*release)(struct virtbus_device *); A bus should have the release function, not the actual device itself. A device should not need function pointers. > + int id; Shouldn't that be a specific type, like u64 or something? thanks, greg k-h