public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] soundwire: bus: suppress probe deferral errors
@ 2024-07-12 14:07 Johan Hovold
  2024-07-12 14:07 ` [PATCH v3 1/3] " Johan Hovold
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Johan Hovold @ 2024-07-12 14:07 UTC (permalink / raw)
  To: Vinod Koul, Bard Liao
  Cc: Pierre-Louis Bossart, Sanyog Kale, alsa-devel, linux-kernel,
	Johan Hovold

The soundwire bus code is incorrectly logging probe deferrals as errors.

This series addresses that, cleans up the soundwire bus logging and
drops the unused soudwire driver name field.

Vinod, I booted linux-next yesterday and realised that these bogus error
messages are still spamming the logs when booting x1e80100 and making it
harder to see the valid warnings (which there were too many of). Would
be nice to have this fixed in 6.11:

[   18.815950] wsa884x-codec sdw:4:0:0217:0204:00:0: Probe of wsa884x-codec failed: -517
[   18.825093] wsa884x-codec sdw:1:0:0217:0204:00:0: Probe of wsa884x-codec failed: -517
[   18.832335] wsa884x-codec sdw:4:0:0217:0204:00:1: Probe of wsa884x-codec failed: -517
[   18.840870] wsa884x-codec sdw:1:0:0217:0204:00:1: Probe of wsa884x-codec failed: -517
[   18.848463] wsa884x-codec sdw:1:0:0217:0204:00:0: Probe of wsa884x-codec failed: -517

Johan


Changes in v3
 - amend the update status error message with "at probe" to make it more
   descriptive (it's already unique)
 - drop the patch dropping a probe debug message

Changes in v2
 - drop probe error message completely
 - drop soundwire driver name field
 - cleanup probe warning messages
 - drop probe debug message

Johan Hovold (3):
  soundwire: bus: suppress probe deferral errors
  soundwire: bus: drop unused driver name field
  soundwire: bus: clean up probe warnings

 drivers/soundwire/bus_type.c  | 19 ++++---------------
 include/linux/soundwire/sdw.h |  2 --
 2 files changed, 4 insertions(+), 17 deletions(-)

-- 
2.44.2


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v3 1/3] soundwire: bus: suppress probe deferral errors
  2024-07-12 14:07 [PATCH v3 0/3] soundwire: bus: suppress probe deferral errors Johan Hovold
@ 2024-07-12 14:07 ` Johan Hovold
  2024-07-15  9:23   ` Pierre-Louis Bossart
  2024-07-12 14:08 ` [PATCH v3 2/3] soundwire: bus: drop unused driver name field Johan Hovold
  2024-07-12 14:08 ` [PATCH v3 3/3] soundwire: bus: clean up probe warnings Johan Hovold
  2 siblings, 1 reply; 6+ messages in thread
From: Johan Hovold @ 2024-07-12 14:07 UTC (permalink / raw)
  To: Vinod Koul, Bard Liao
  Cc: Pierre-Louis Bossart, Sanyog Kale, alsa-devel, linux-kernel,
	Johan Hovold

Soundwire driver probe errors are currently being logged both by the bus
code and driver core:

	wsa884x-codec sdw:4:0:0217:0204:00:0: Probe of wsa884x-codec failed: -12
	wsa884x-codec sdw:4:0:0217:0204:00:0: probe with driver wsa884x-codec failed with error -12

Drop the redundant bus error message, which is also incorrectly being
logged on probe deferral:

	wsa884x-codec sdw:4:0:0217:0204:00:0: Probe of wsa884x-codec failed: -517

Note that no soundwire driver uses the driver struct name field, which
will be removed by a follow-on change.

Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 drivers/soundwire/bus_type.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/soundwire/bus_type.c b/drivers/soundwire/bus_type.c
index c32faace618f..85fa5970d98a 100644
--- a/drivers/soundwire/bus_type.c
+++ b/drivers/soundwire/bus_type.c
@@ -83,7 +83,6 @@ static int sdw_drv_probe(struct device *dev)
 	struct sdw_slave *slave = dev_to_sdw_dev(dev);
 	struct sdw_driver *drv = drv_to_sdw_driver(dev->driver);
 	const struct sdw_device_id *id;
-	const char *name;
 	int ret;
 
 	/*
@@ -108,11 +107,6 @@ static int sdw_drv_probe(struct device *dev)
 
 	ret = drv->probe(slave, id);
 	if (ret) {
-		name = drv->name;
-		if (!name)
-			name = drv->driver.name;
-
-		dev_err(dev, "Probe of %s failed: %d\n", name, ret);
 		dev_pm_domain_detach(dev, false);
 		return ret;
 	}
-- 
2.44.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v3 2/3] soundwire: bus: drop unused driver name field
  2024-07-12 14:07 [PATCH v3 0/3] soundwire: bus: suppress probe deferral errors Johan Hovold
  2024-07-12 14:07 ` [PATCH v3 1/3] " Johan Hovold
@ 2024-07-12 14:08 ` Johan Hovold
  2024-07-15  9:24   ` Pierre-Louis Bossart
  2024-07-12 14:08 ` [PATCH v3 3/3] soundwire: bus: clean up probe warnings Johan Hovold
  2 siblings, 1 reply; 6+ messages in thread
From: Johan Hovold @ 2024-07-12 14:08 UTC (permalink / raw)
  To: Vinod Koul, Bard Liao
  Cc: Pierre-Louis Bossart, Sanyog Kale, alsa-devel, linux-kernel,
	Johan Hovold

The soundwire driver name field is not currently used by any driver (and
even appears to never have been used) so drop it.

Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 drivers/soundwire/bus_type.c  | 9 ++-------
 include/linux/soundwire/sdw.h | 2 --
 2 files changed, 2 insertions(+), 9 deletions(-)

diff --git a/drivers/soundwire/bus_type.c b/drivers/soundwire/bus_type.c
index 85fa5970d98a..3979be0f8b65 100644
--- a/drivers/soundwire/bus_type.c
+++ b/drivers/soundwire/bus_type.c
@@ -198,16 +198,11 @@ static void sdw_drv_shutdown(struct device *dev)
  */
 int __sdw_register_driver(struct sdw_driver *drv, struct module *owner)
 {
-	const char *name;
-
 	drv->driver.bus = &sdw_bus_type;
 
 	if (!drv->probe) {
-		name = drv->name;
-		if (!name)
-			name = drv->driver.name;
-
-		pr_err("driver %s didn't provide SDW probe routine\n", name);
+		pr_err("driver %s didn't provide SDW probe routine\n",
+				drv->driver.name);
 		return -EINVAL;
 	}
 
diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h
index 13e96d8b7423..5e133dfec8f2 100644
--- a/include/linux/soundwire/sdw.h
+++ b/include/linux/soundwire/sdw.h
@@ -704,8 +704,6 @@ struct sdw_master_device {
 	container_of(d, struct sdw_master_device, dev)
 
 struct sdw_driver {
-	const char *name;
-
 	int (*probe)(struct sdw_slave *sdw,
 			const struct sdw_device_id *id);
 	int (*remove)(struct sdw_slave *sdw);
-- 
2.44.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v3 3/3] soundwire: bus: clean up probe warnings
  2024-07-12 14:07 [PATCH v3 0/3] soundwire: bus: suppress probe deferral errors Johan Hovold
  2024-07-12 14:07 ` [PATCH v3 1/3] " Johan Hovold
  2024-07-12 14:08 ` [PATCH v3 2/3] soundwire: bus: drop unused driver name field Johan Hovold
@ 2024-07-12 14:08 ` Johan Hovold
  2 siblings, 0 replies; 6+ messages in thread
From: Johan Hovold @ 2024-07-12 14:08 UTC (permalink / raw)
  To: Vinod Koul, Bard Liao
  Cc: Pierre-Louis Bossart, Sanyog Kale, alsa-devel, linux-kernel,
	Johan Hovold

Clean up the probe warning messages by using a common succinct and
greppable format (e.g. without __func__ and with a space after ':').

Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 drivers/soundwire/bus_type.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/soundwire/bus_type.c b/drivers/soundwire/bus_type.c
index 3979be0f8b65..3930b245008d 100644
--- a/drivers/soundwire/bus_type.c
+++ b/drivers/soundwire/bus_type.c
@@ -123,7 +123,7 @@ static int sdw_drv_probe(struct device *dev)
 	/* init the dynamic sysfs attributes we need */
 	ret = sdw_slave_sysfs_dpn_init(slave);
 	if (ret < 0)
-		dev_warn(dev, "Slave sysfs init failed:%d\n", ret);
+		dev_warn(dev, "failed to initialise sysfs: %d\n", ret);
 
 	/*
 	 * Check for valid clk_stop_timeout, use DisCo worst case value of
@@ -147,7 +147,7 @@ static int sdw_drv_probe(struct device *dev)
 	if (drv->ops && drv->ops->update_status) {
 		ret = drv->ops->update_status(slave, slave->status);
 		if (ret < 0)
-			dev_warn(dev, "%s: update_status failed with status %d\n", __func__, ret);
+			dev_warn(dev, "failed to update status at probe: %d\n", ret);
 	}
 
 	mutex_unlock(&slave->sdw_dev_lock);
-- 
2.44.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 1/3] soundwire: bus: suppress probe deferral errors
  2024-07-12 14:07 ` [PATCH v3 1/3] " Johan Hovold
@ 2024-07-15  9:23   ` Pierre-Louis Bossart
  0 siblings, 0 replies; 6+ messages in thread
From: Pierre-Louis Bossart @ 2024-07-15  9:23 UTC (permalink / raw)
  To: Johan Hovold, Vinod Koul, Bard Liao; +Cc: Sanyog Kale, alsa-devel, linux-kernel



On 7/12/24 16:07, Johan Hovold wrote:
> Soundwire driver probe errors are currently being logged both by the bus
> code and driver core:
> 
> 	wsa884x-codec sdw:4:0:0217:0204:00:0: Probe of wsa884x-codec failed: -12
> 	wsa884x-codec sdw:4:0:0217:0204:00:0: probe with driver wsa884x-codec failed with error -12
> 
> Drop the redundant bus error message, which is also incorrectly being
> logged on probe deferral:
> 
> 	wsa884x-codec sdw:4:0:0217:0204:00:0: Probe of wsa884x-codec failed: -517
> 
> Note that no soundwire driver uses the driver struct name field, which
> will be removed by a follow-on change.
> 
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>

> ---
>  drivers/soundwire/bus_type.c | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/drivers/soundwire/bus_type.c b/drivers/soundwire/bus_type.c
> index c32faace618f..85fa5970d98a 100644
> --- a/drivers/soundwire/bus_type.c
> +++ b/drivers/soundwire/bus_type.c
> @@ -83,7 +83,6 @@ static int sdw_drv_probe(struct device *dev)
>  	struct sdw_slave *slave = dev_to_sdw_dev(dev);
>  	struct sdw_driver *drv = drv_to_sdw_driver(dev->driver);
>  	const struct sdw_device_id *id;
> -	const char *name;
>  	int ret;
>  
>  	/*
> @@ -108,11 +107,6 @@ static int sdw_drv_probe(struct device *dev)
>  
>  	ret = drv->probe(slave, id);
>  	if (ret) {
> -		name = drv->name;
> -		if (!name)
> -			name = drv->driver.name;
> -
> -		dev_err(dev, "Probe of %s failed: %d\n", name, ret);
>  		dev_pm_domain_detach(dev, false);
>  		return ret;
>  	}

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 2/3] soundwire: bus: drop unused driver name field
  2024-07-12 14:08 ` [PATCH v3 2/3] soundwire: bus: drop unused driver name field Johan Hovold
@ 2024-07-15  9:24   ` Pierre-Louis Bossart
  0 siblings, 0 replies; 6+ messages in thread
From: Pierre-Louis Bossart @ 2024-07-15  9:24 UTC (permalink / raw)
  To: Johan Hovold, Vinod Koul, Bard Liao; +Cc: Sanyog Kale, alsa-devel, linux-kernel



On 7/12/24 16:08, Johan Hovold wrote:
> The soundwire driver name field is not currently used by any driver (and
> even appears to never have been used) so drop it.
> 
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>

> ---
>  drivers/soundwire/bus_type.c  | 9 ++-------
>  include/linux/soundwire/sdw.h | 2 --
>  2 files changed, 2 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/soundwire/bus_type.c b/drivers/soundwire/bus_type.c
> index 85fa5970d98a..3979be0f8b65 100644
> --- a/drivers/soundwire/bus_type.c
> +++ b/drivers/soundwire/bus_type.c
> @@ -198,16 +198,11 @@ static void sdw_drv_shutdown(struct device *dev)
>   */
>  int __sdw_register_driver(struct sdw_driver *drv, struct module *owner)
>  {
> -	const char *name;
> -
>  	drv->driver.bus = &sdw_bus_type;
>  
>  	if (!drv->probe) {
> -		name = drv->name;
> -		if (!name)
> -			name = drv->driver.name;
> -
> -		pr_err("driver %s didn't provide SDW probe routine\n", name);
> +		pr_err("driver %s didn't provide SDW probe routine\n",
> +				drv->driver.name);
>  		return -EINVAL;
>  	}
>  
> diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h
> index 13e96d8b7423..5e133dfec8f2 100644
> --- a/include/linux/soundwire/sdw.h
> +++ b/include/linux/soundwire/sdw.h
> @@ -704,8 +704,6 @@ struct sdw_master_device {
>  	container_of(d, struct sdw_master_device, dev)
>  
>  struct sdw_driver {
> -	const char *name;
> -
>  	int (*probe)(struct sdw_slave *sdw,
>  			const struct sdw_device_id *id);
>  	int (*remove)(struct sdw_slave *sdw);

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-07-15 10:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-12 14:07 [PATCH v3 0/3] soundwire: bus: suppress probe deferral errors Johan Hovold
2024-07-12 14:07 ` [PATCH v3 1/3] " Johan Hovold
2024-07-15  9:23   ` Pierre-Louis Bossart
2024-07-12 14:08 ` [PATCH v3 2/3] soundwire: bus: drop unused driver name field Johan Hovold
2024-07-15  9:24   ` Pierre-Louis Bossart
2024-07-12 14:08 ` [PATCH v3 3/3] soundwire: bus: clean up probe warnings Johan Hovold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox