Re: [PATCH v2 3/4] soundwire: bus: clean up probe warnings

From: Pierre-Louis Bossart
Date: Tue Jun 04 2024 - 09:44:47 EST




On 6/4/24 11:17, Johan Hovold wrote:
> On Tue, Jun 04, 2024 at 10:33:02AM +0200, Pierre-Louis Bossart wrote:
>> On 6/4/24 02:52, Johan Hovold wrote:
>>> Clean up the probe warning messages by using a common succinct format
>>> (e.g. without __func__ and with a space after ':').
>
>>> @@ -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: %d\n", ret);
>>
>> the __func__ does help IMHO, 'failed to update status' is way too general...
>
> Error messages printed with dev_warn will include the device and driver
> names so this message will be quite specific still.

The goal isn't to be 'quite specific' but rather 'completely
straightforward'. Everyone can lookup a function name in a xref tool and
quickly find out what happened. Doing 'git grep' on message logs isn't
great really, and over time logs tend to be copy-pasted. Just look at
the number of patches where we had to revisit the dev_err logs to make
then really unique/useful.

>> Replacing 'with status' by ":" is fine, but do we really care about 10
>> chars in a log?
>
> It's not primarily about the numbers of characters but about consistency.

I am advocating for inclusion of __func__ everywhere...It's simpler for
remote support and bug chasing.

The exception to the rule would be dev_dbg where you can get the
function name with module options.