Driver core: make sysfs uevent-attributes static
Attributes do not have an owner(module) anymore, so there is no need to carry the attributes in every single bus instance. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Acked-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
3b6662f192
commit
8380770c84
2 changed files with 9 additions and 14 deletions
|
@ -568,32 +568,29 @@ static void remove_bind_files(struct device_driver *drv)
|
|||
driver_remove_file(drv, &driver_attr_unbind);
|
||||
}
|
||||
|
||||
static BUS_ATTR(drivers_probe, S_IWUSR, NULL, store_drivers_probe);
|
||||
static BUS_ATTR(drivers_autoprobe, S_IWUSR | S_IRUGO,
|
||||
show_drivers_autoprobe, store_drivers_autoprobe);
|
||||
|
||||
static int add_probe_files(struct bus_type *bus)
|
||||
{
|
||||
int retval;
|
||||
|
||||
bus->drivers_probe_attr.attr.name = "drivers_probe";
|
||||
bus->drivers_probe_attr.attr.mode = S_IWUSR;
|
||||
bus->drivers_probe_attr.store = store_drivers_probe;
|
||||
retval = bus_create_file(bus, &bus->drivers_probe_attr);
|
||||
retval = bus_create_file(bus, &bus_attr_drivers_probe);
|
||||
if (retval)
|
||||
goto out;
|
||||
|
||||
bus->drivers_autoprobe_attr.attr.name = "drivers_autoprobe";
|
||||
bus->drivers_autoprobe_attr.attr.mode = S_IWUSR | S_IRUGO;
|
||||
bus->drivers_autoprobe_attr.show = show_drivers_autoprobe;
|
||||
bus->drivers_autoprobe_attr.store = store_drivers_autoprobe;
|
||||
retval = bus_create_file(bus, &bus->drivers_autoprobe_attr);
|
||||
retval = bus_create_file(bus, &bus_attr_drivers_autoprobe);
|
||||
if (retval)
|
||||
bus_remove_file(bus, &bus->drivers_probe_attr);
|
||||
bus_remove_file(bus, &bus_attr_drivers_probe);
|
||||
out:
|
||||
return retval;
|
||||
}
|
||||
|
||||
static void remove_probe_files(struct bus_type *bus)
|
||||
{
|
||||
bus_remove_file(bus, &bus->drivers_autoprobe_attr);
|
||||
bus_remove_file(bus, &bus->drivers_probe_attr);
|
||||
bus_remove_file(bus, &bus_attr_drivers_autoprobe);
|
||||
bus_remove_file(bus, &bus_attr_drivers_probe);
|
||||
}
|
||||
#else
|
||||
static inline int add_bind_files(struct device_driver *drv) { return 0; }
|
||||
|
|
|
@ -64,8 +64,6 @@ struct bus_type {
|
|||
struct bus_attribute * bus_attrs;
|
||||
struct device_attribute * dev_attrs;
|
||||
struct driver_attribute * drv_attrs;
|
||||
struct bus_attribute drivers_autoprobe_attr;
|
||||
struct bus_attribute drivers_probe_attr;
|
||||
|
||||
int (*match)(struct device * dev, struct device_driver * drv);
|
||||
int (*uevent)(struct device *dev, char **envp,
|
||||
|
|
Loading…
Reference in a new issue