lkml.org 
[lkml]   [2023]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 02/15] dmaengine: idxd: add external module driver support for dsa_bus_type
    Date
    From: Dave Jiang <dave.jiang@intel.com>

    Add support to allow an external driver to be registered to the
    dsa_bus_type and also auto-loaded.

    Signed-off-by: Dave Jiang <dave.jiang@intel.com>
    Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
    ---
    drivers/dma/idxd/bus.c | 6 ++++++
    drivers/dma/idxd/idxd.h | 3 +++
    2 files changed, 9 insertions(+)

    diff --git a/drivers/dma/idxd/bus.c b/drivers/dma/idxd/bus.c
    index 6f84621053c6..0c9e689a2e77 100644
    --- a/drivers/dma/idxd/bus.c
    +++ b/drivers/dma/idxd/bus.c
    @@ -67,11 +67,17 @@ static void idxd_config_bus_remove(struct device *dev)
    idxd_drv->remove(idxd_dev);
    }

    +static int idxd_bus_uevent(const struct device *dev, struct kobj_uevent_env *env)
    +{
    + return add_uevent_var(env, "MODALIAS=" IDXD_DEVICES_MODALIAS_FMT, 0);
    +}
    +
    struct bus_type dsa_bus_type = {
    .name = "dsa",
    .match = idxd_config_bus_match,
    .probe = idxd_config_bus_probe,
    .remove = idxd_config_bus_remove,
    + .uevent = idxd_bus_uevent,
    };
    EXPORT_SYMBOL_GPL(dsa_bus_type);

    diff --git a/drivers/dma/idxd/idxd.h b/drivers/dma/idxd/idxd.h
    index 505118fc19de..719f9f1662ad 100644
    --- a/drivers/dma/idxd/idxd.h
    +++ b/drivers/dma/idxd/idxd.h
    @@ -587,6 +587,9 @@ static inline int idxd_wq_driver_name_match(struct idxd_wq *wq, struct device *d
    return (strncmp(wq->driver_name, dev->driver->name, strlen(dev->driver->name)) == 0);
    }

    +#define MODULE_ALIAS_IDXD_DEVICE(type) MODULE_ALIAS("idxd:t" __stringify(type) "*")
    +#define IDXD_DEVICES_MODALIAS_FMT "idxd:t%d"
    +
    int __must_check __idxd_driver_register(struct idxd_device_driver *idxd_drv,
    struct module *module, const char *mod_name);
    #define idxd_driver_register(driver) \
    --
    2.34.1
    \
     
     \ /
      Last update: 2023-03-28 17:36    [W:4.076 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site