Re: [PATCH v4 07/15] soundwire: slave: move uevent handling to slave

From: Greg KH
Date: Fri Dec 13 2019 - 02:22:37 EST


On Thu, Dec 12, 2019 at 11:04:01PM -0600, Pierre-Louis Bossart wrote:
> Currently the code deals with uevents at the bus level, but we only care
> for Slave events

What does this mean? I can't understand it, can you please provide more
information on what you are doing here?

>
> Suggested-by: Vinod Koul <vkoul@xxxxxxxxxx>
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
> ---
> drivers/soundwire/bus.h | 2 ++
> drivers/soundwire/bus_type.c | 3 +--
> drivers/soundwire/slave.c | 1 +
> 3 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/soundwire/bus.h b/drivers/soundwire/bus.h
> index cb482da914da..be01a5f3d00b 100644
> --- a/drivers/soundwire/bus.h
> +++ b/drivers/soundwire/bus.h
> @@ -6,6 +6,8 @@
>
> #define DEFAULT_BANK_SWITCH_TIMEOUT 3000
>
> +int sdw_uevent(struct device *dev, struct kobj_uevent_env *env);
> +
> #if IS_ENABLED(CONFIG_ACPI)
> int sdw_acpi_find_slaves(struct sdw_bus *bus);
> #else
> diff --git a/drivers/soundwire/bus_type.c b/drivers/soundwire/bus_type.c
> index bbdedce5eb26..5c18c21545b5 100644
> --- a/drivers/soundwire/bus_type.c
> +++ b/drivers/soundwire/bus_type.c
> @@ -47,7 +47,7 @@ int sdw_slave_modalias(const struct sdw_slave *slave, char *buf, size_t size)
> slave->id.mfg_id, slave->id.part_id);
> }
>
> -static int sdw_uevent(struct device *dev, struct kobj_uevent_env *env)
> +int sdw_uevent(struct device *dev, struct kobj_uevent_env *env)
> {
> struct sdw_slave *slave;
> char modalias[32];
> @@ -71,7 +71,6 @@ static int sdw_uevent(struct device *dev, struct kobj_uevent_env *env)
> struct bus_type sdw_bus_type = {
> .name = "soundwire",
> .match = sdw_bus_match,
> - .uevent = sdw_uevent,
> };
> EXPORT_SYMBOL_GPL(sdw_bus_type);
>
> diff --git a/drivers/soundwire/slave.c b/drivers/soundwire/slave.c
> index c87267f12a3b..014c3ece1f17 100644
> --- a/drivers/soundwire/slave.c
> +++ b/drivers/soundwire/slave.c
> @@ -17,6 +17,7 @@ static void sdw_slave_release(struct device *dev)
> struct device_type sdw_slave_type = {
> .name = "sdw_slave",
> .release = sdw_slave_release,
> + .uevent = sdw_uevent,

Align this with the other ones?

does this cause any different functionality?

thanks,

greg k-h