lkml.org 
[lkml]   [2023]   [Feb]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 13/21] driver core: bus: clean up bus_sort_breadthfirst()
    Date
    Convert the bus_sort_breadthfirst() function to use bus_to_subsys() and
    not use the back-pointer to the private structure.

    This also allows us to get rid of bus_get_device_klist() which was only
    being used by this one internal function.

    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/base/bus.c | 11 +++++------
    1 file changed, 5 insertions(+), 6 deletions(-)

    diff --git a/drivers/base/bus.c b/drivers/base/bus.c
    index c007524151d2..87e21aafe6e6 100644
    --- a/drivers/base/bus.c
    +++ b/drivers/base/bus.c
    @@ -1006,11 +1006,6 @@ struct kset *bus_get_kset(struct bus_type *bus)
    }
    EXPORT_SYMBOL_GPL(bus_get_kset);

    -static struct klist *bus_get_device_klist(struct bus_type *bus)
    -{
    - return &bus->p->klist_devices;
    -}
    -
    /*
    * Yes, this forcibly breaks the klist abstraction temporarily. It
    * just wants to sort the klist, not change reference counts and
    @@ -1042,13 +1037,16 @@ void bus_sort_breadthfirst(struct bus_type *bus,
    int (*compare)(const struct device *a,
    const struct device *b))
    {
    + struct subsys_private *sp = bus_to_subsys(bus);
    LIST_HEAD(sorted_devices);
    struct klist_node *n, *tmp;
    struct device_private *dev_prv;
    struct device *dev;
    struct klist *device_klist;

    - device_klist = bus_get_device_klist(bus);
    + if (!sp)
    + return;
    + device_klist = &sp->klist_devices;

    spin_lock(&device_klist->k_lock);
    list_for_each_entry_safe(n, tmp, &device_klist->k_list, n_node) {
    @@ -1058,6 +1056,7 @@ void bus_sort_breadthfirst(struct bus_type *bus,
    }
    list_splice(&sorted_devices, &device_klist->k_list);
    spin_unlock(&device_klist->k_lock);
    + subsys_put(sp);
    }
    EXPORT_SYMBOL_GPL(bus_sort_breadthfirst);

    --
    2.39.1
    \
     
     \ /
      Last update: 2023-03-27 00:14    [W:5.142 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site