mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 13:44:26 -04:00
driver core: remove fields from struct bus_type
struct bus_type is static everywhere in the kernel. This moves the kobject in the structure out of it, and a bunch of other private only to the driver core fields are now moved to a private structure. This lets us dynamically create the backing kobject properly and gives us the chance to be able to document to users exactly how to use the struct bus_type as there are no fields they can improperly access. Thanks to Kay for the build fixes on this patch. Cc: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
b249072ee6
commit
c6f7e72a3f
7 changed files with 104 additions and 70 deletions
|
|
@ -35,6 +35,7 @@ struct device_driver;
|
|||
struct class;
|
||||
struct class_device;
|
||||
struct bus_type;
|
||||
struct bus_type_private;
|
||||
|
||||
struct bus_attribute {
|
||||
struct attribute attr;
|
||||
|
|
@ -51,15 +52,6 @@ extern void bus_remove_file(struct bus_type *, struct bus_attribute *);
|
|||
|
||||
struct bus_type {
|
||||
const char * name;
|
||||
|
||||
struct kset subsys;
|
||||
struct kset *drivers_kset;
|
||||
struct kset *devices_kset;
|
||||
struct klist klist_devices;
|
||||
struct klist klist_drivers;
|
||||
|
||||
struct blocking_notifier_head bus_notifier;
|
||||
|
||||
struct bus_attribute * bus_attrs;
|
||||
struct device_attribute * dev_attrs;
|
||||
struct driver_attribute * drv_attrs;
|
||||
|
|
@ -75,7 +67,7 @@ struct bus_type {
|
|||
int (*resume_early)(struct device * dev);
|
||||
int (*resume)(struct device * dev);
|
||||
|
||||
unsigned int drivers_autoprobe:1;
|
||||
struct bus_type_private *p;
|
||||
};
|
||||
|
||||
extern int __must_check bus_register(struct bus_type * bus);
|
||||
|
|
|
|||
Loading…
Reference in a new issue