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

From: Johan Hovold
Date: Tue Jun 04 2024 - 10:19:08 EST


On Tue, Jun 04, 2024 at 03:43:46PM +0200, Pierre-Louis Bossart wrote:
> 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.

Error message should be self-contained and give user's some idea of what
went wrong and not leak implementation details like function names (and
be greppable, which "%s:" is not).

> >> 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.

A quick grep seems to suggest you're in a small minority here with some
5k of 65k dev_err() including __func__.

[ And there's only 55 out of 750 dev_err() like that in
drivers/soundwire, which is inconsistent at best. ]

Johan