[RESEND PATCH v5 3/5] drivers core: allow probe_err accept integer and pointer types
Andy Shevchenko
andy.shevchenko at gmail.com
Wed Jun 24 12:53:06 UTC 2020
On Wed, Jun 24, 2020 at 2:41 PM Andrzej Hajda <a.hajda at samsung.com> wrote:
>
> Many resource acquisition functions return error value encapsulated in
> pointer instead of integer value. To simplify coding we can use macro
> which will accept both types of error.
> With this patch user can use:
> probe_err(dev, ptr, ...)
> instead of:
> probe_err(dev, PTR_ERR(ptr), ...)
> Without loosing old functionality:
> probe_err(dev, err, ...)
...
> + * This helper implements common pattern present in probe functions for error
> + * checking: print message if the error is not -EPROBE_DEFER and propagate it.
> + * In case of -EPROBE_DEFER it sets defer probe reason, which can be checked
> + * later by reading devices_deferred debugfs attribute.
> + * It replaces code sequence:
> + * if (err != -EPROBE_DEFER)
> + * dev_err(dev, ...);
Btw, we have now %pe. Can you consider to use it?
> + * return err;
> + * with
> + * return probe_err(dev, err, ...);
> + *
> + * Returns @err.
> + *
> + */
> +#define probe_err(dev, err, args...) __probe_err(dev, (long)(err), args)
Can't we use PTR_ERR() here?
--
With Best Regards,
Andy Shevchenko
More information about the dri-devel
mailing list