* [PATCH v1 1/2] driver core: add a wrapper to device probe log helper to return pointer
@ 2022-02-14 14:32 Andy Shevchenko
2022-02-14 14:32 ` [PATCH v1 2/2] serial: sh-sci: Switch to use dev_err_probe_ptr() Andy Shevchenko
2022-02-14 14:55 ` [PATCH v1 1/2] driver core: add a wrapper to device probe log helper to return pointer Geert Uytterhoeven
0 siblings, 2 replies; 7+ messages in thread
From: Andy Shevchenko @ 2022-02-14 14:32 UTC (permalink / raw)
To: Greg Kroah-Hartman, linux-serial, linux-kernel
Cc: Jiri Slaby, Javier Martinez Canillas, Geert Uytterhoeven,
Andy Shevchenko
Sometimes the ->probe() function can be split to the core and actual probe
parts. In such cases the core one may return a pointer to the allocated
resource, or error pointer in unsuccessful scenario. Allow that kind of
core function to use dev_err_probe_ptr(), so the following excerpt
ret = bar(...);
if (ret) {
dev_err_probe(dev, ret, ...);
return ERR_PTR(ret);
}
can be replaced with
ret = bar(...);
if (ret)
return dev_err_probe_ptr(dev, ret, ...);
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
include/linux/device.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/linux/device.h b/include/linux/device.h
index 93459724dcde..8650d3afbe7c 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -14,6 +14,7 @@
#include <linux/dev_printk.h>
#include <linux/energy_model.h>
+#include <linux/err.h>
#include <linux/ioport.h>
#include <linux/kobject.h>
#include <linux/klist.h>
@@ -982,6 +983,13 @@ void device_links_supplier_sync_state_resume(void);
extern __printf(3, 4)
int dev_err_probe(const struct device *dev, int err, const char *fmt, ...);
+/* As above, but returns error pointer */
+static inline __printf(3, 0)
+void *dev_err_probe_ptr(const struct device *dev, int err, const char *fmt, va_list args)
+{
+ return ERR_PTR(dev_err_probe(dev, err, fmt, args));
+}
+
/* Create alias, so I can be autoloaded. */
#define MODULE_ALIAS_CHARDEV(major,minor) \
MODULE_ALIAS("char-major-" __stringify(major) "-" __stringify(minor))
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v1 2/2] serial: sh-sci: Switch to use dev_err_probe_ptr()
2022-02-14 14:32 [PATCH v1 1/2] driver core: add a wrapper to device probe log helper to return pointer Andy Shevchenko
@ 2022-02-14 14:32 ` Andy Shevchenko
2022-02-14 14:57 ` Geert Uytterhoeven
` (3 more replies)
2022-02-14 14:55 ` [PATCH v1 1/2] driver core: add a wrapper to device probe log helper to return pointer Geert Uytterhoeven
1 sibling, 4 replies; 7+ messages in thread
From: Andy Shevchenko @ 2022-02-14 14:32 UTC (permalink / raw)
To: Greg Kroah-Hartman, linux-serial, linux-kernel
Cc: Jiri Slaby, Javier Martinez Canillas, Geert Uytterhoeven,
Andy Shevchenko
Instead of
return ERR_PTR(dev_err_probe(...));
call
return dev_err_probe_ptr(...);
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/tty/serial/sh-sci.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
index b610b27893a8..0fce09c13847 100644
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
@@ -3199,8 +3199,7 @@ static struct plat_sci_port *sci_parse_dt(struct platform_device *pdev,
rstc = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL);
if (IS_ERR(rstc))
- return ERR_PTR(dev_err_probe(&pdev->dev, PTR_ERR(rstc),
- "failed to get reset ctrl\n"));
+ return dev_err_probe_ptr(&pdev->dev, PTR_ERR(rstc), "failed to get reset ctrl\n");
ret = reset_control_deassert(rstc);
if (ret) {
--
2.34.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/2] driver core: add a wrapper to device probe log helper to return pointer
2022-02-14 14:32 [PATCH v1 1/2] driver core: add a wrapper to device probe log helper to return pointer Andy Shevchenko
2022-02-14 14:32 ` [PATCH v1 2/2] serial: sh-sci: Switch to use dev_err_probe_ptr() Andy Shevchenko
@ 2022-02-14 14:55 ` Geert Uytterhoeven
1 sibling, 0 replies; 7+ messages in thread
From: Geert Uytterhoeven @ 2022-02-14 14:55 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Greg Kroah-Hartman, linux-serial, linux-kernel, Jiri Slaby,
Javier Martinez Canillas
Hi Andy,
On Mon, Feb 14, 2022 at 3:32 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
> Sometimes the ->probe() function can be split to the core and actual probe
> parts. In such cases the core one may return a pointer to the allocated
> resource, or error pointer in unsuccessful scenario. Allow that kind of
> core function to use dev_err_probe_ptr(), so the following excerpt
>
> ret = bar(...);
> if (ret) {
> dev_err_probe(dev, ret, ...);
> return ERR_PTR(ret);
> }
>
> can be replaced with
>
> ret = bar(...);
> if (ret)
> return dev_err_probe_ptr(dev, ret, ...);
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Thanks for your patch!
> --- a/include/linux/device.h
> +++ b/include/linux/device.h
> @@ -14,6 +14,7 @@
>
> #include <linux/dev_printk.h>
> #include <linux/energy_model.h>
> +#include <linux/err.h>
> #include <linux/ioport.h>
> #include <linux/kobject.h>
> #include <linux/klist.h>
> @@ -982,6 +983,13 @@ void device_links_supplier_sync_state_resume(void);
> extern __printf(3, 4)
> int dev_err_probe(const struct device *dev, int err, const char *fmt, ...);
>
> +/* As above, but returns error pointer */
> +static inline __printf(3, 0)
> +void *dev_err_probe_ptr(const struct device *dev, int err, const char *fmt, va_list args)
Shouldn't this be a varargs function, like dev_err_probe()?
> +{
> + return ERR_PTR(dev_err_probe(dev, err, fmt, args));
> +}
> +
> /* Create alias, so I can be autoloaded. */
> #define MODULE_ALIAS_CHARDEV(major,minor) \
> MODULE_ALIAS("char-major-" __stringify(major) "-" __stringify(minor))
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 2/2] serial: sh-sci: Switch to use dev_err_probe_ptr()
2022-02-14 14:32 ` [PATCH v1 2/2] serial: sh-sci: Switch to use dev_err_probe_ptr() Andy Shevchenko
@ 2022-02-14 14:57 ` Geert Uytterhoeven
2022-02-14 19:12 ` kernel test robot
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Geert Uytterhoeven @ 2022-02-14 14:57 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Greg Kroah-Hartman, linux-serial, linux-kernel, Jiri Slaby,
Javier Martinez Canillas
Hi Andy,
On Mon, Feb 14, 2022 at 3:33 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
> Instead of
> return ERR_PTR(dev_err_probe(...));
> call
> return dev_err_probe_ptr(...);
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Thanks for your patch!
> --- a/drivers/tty/serial/sh-sci.c
> +++ b/drivers/tty/serial/sh-sci.c
> @@ -3199,8 +3199,7 @@ static struct plat_sci_port *sci_parse_dt(struct platform_device *pdev,
>
> rstc = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL);
> if (IS_ERR(rstc))
> - return ERR_PTR(dev_err_probe(&pdev->dev, PTR_ERR(rstc),
> - "failed to get reset ctrl\n"));
> + return dev_err_probe_ptr(&pdev->dev, PTR_ERR(rstc), "failed to get reset ctrl\n");
I think the joined line is too long, so please keep it split.
drivers/tty/serial/sh-sci.c:3824:10: error: too few arguments to
function ‘dev_err_probe_ptr’
Indeed, dev_err_probe_ptr() is not a varargs function.
BTW, I do like the general idea.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 2/2] serial: sh-sci: Switch to use dev_err_probe_ptr()
2022-02-14 14:32 ` [PATCH v1 2/2] serial: sh-sci: Switch to use dev_err_probe_ptr() Andy Shevchenko
2022-02-14 14:57 ` Geert Uytterhoeven
@ 2022-02-14 19:12 ` kernel test robot
2022-02-15 1:40 ` kernel test robot
2023-06-11 9:17 ` Andi Shyti
3 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2022-02-14 19:12 UTC (permalink / raw)
To: Andy Shevchenko, Greg Kroah-Hartman, linux-serial, linux-kernel
Cc: llvm, kbuild-all, Jiri Slaby, Javier Martinez Canillas,
Geert Uytterhoeven, Andy Shevchenko
Hi Andy,
I love your patch! Yet something to improve:
[auto build test ERROR on tty/tty-testing]
[also build test ERROR on usb/usb-testing linux/master linus/master v5.17-rc4 next-20220214]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Andy-Shevchenko/driver-core-add-a-wrapper-to-device-probe-log-helper-to-return-pointer/20220214-223425
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing
config: hexagon-buildonly-randconfig-r001-20220214 (https://download.01.org/0day-ci/archive/20220215/202202150314.3Ybl4jns-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project ea071884b0cc7210b3cc5fe858f0e892a779a23b)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/810910d324cc80b092207d043651de696d293cbd
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Andy-Shevchenko/driver-core-add-a-wrapper-to-device-probe-log-helper-to-return-pointer/20220214-223425
git checkout 810910d324cc80b092207d043651de696d293cbd
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/tty/serial/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> drivers/tty/serial/sh-sci.c:3205:83: error: too few arguments to function call, expected 4, have 3
return dev_err_probe_ptr(&pdev->dev, PTR_ERR(rstc), "failed to get reset ctrl\n");
~~~~~~~~~~~~~~~~~ ^
include/linux/device.h:988:7: note: 'dev_err_probe_ptr' declared here
void *dev_err_probe_ptr(const struct device *dev, int err, const char *fmt, va_list args)
^
1 error generated.
vim +3205 drivers/tty/serial/sh-sci.c
3187
3188 static struct plat_sci_port *sci_parse_dt(struct platform_device *pdev,
3189 unsigned int *dev_id)
3190 {
3191 struct device_node *np = pdev->dev.of_node;
3192 struct reset_control *rstc;
3193 struct plat_sci_port *p;
3194 struct sci_port *sp;
3195 const void *data;
3196 int id, ret;
3197
3198 if (!IS_ENABLED(CONFIG_OF) || !np)
3199 return ERR_PTR(-EINVAL);
3200
3201 data = of_device_get_match_data(&pdev->dev);
3202
3203 rstc = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL);
3204 if (IS_ERR(rstc))
> 3205 return dev_err_probe_ptr(&pdev->dev, PTR_ERR(rstc), "failed to get reset ctrl\n");
3206
3207 ret = reset_control_deassert(rstc);
3208 if (ret) {
3209 dev_err(&pdev->dev, "failed to deassert reset %d\n", ret);
3210 return ERR_PTR(ret);
3211 }
3212
3213 ret = devm_add_action_or_reset(&pdev->dev, sci_reset_control_assert, rstc);
3214 if (ret) {
3215 dev_err(&pdev->dev, "failed to register assert devm action, %d\n",
3216 ret);
3217 return ERR_PTR(ret);
3218 }
3219
3220 p = devm_kzalloc(&pdev->dev, sizeof(struct plat_sci_port), GFP_KERNEL);
3221 if (!p)
3222 return ERR_PTR(-ENOMEM);
3223
3224 /* Get the line number from the aliases node. */
3225 id = of_alias_get_id(np, "serial");
3226 if (id < 0 && ~sci_ports_in_use)
3227 id = ffz(sci_ports_in_use);
3228 if (id < 0) {
3229 dev_err(&pdev->dev, "failed to get alias id (%d)\n", id);
3230 return ERR_PTR(-EINVAL);
3231 }
3232 if (id >= ARRAY_SIZE(sci_ports)) {
3233 dev_err(&pdev->dev, "serial%d out of range\n", id);
3234 return ERR_PTR(-EINVAL);
3235 }
3236
3237 sp = &sci_ports[id];
3238 *dev_id = id;
3239
3240 p->type = SCI_OF_TYPE(data);
3241 p->regtype = SCI_OF_REGTYPE(data);
3242
3243 sp->has_rtscts = of_property_read_bool(np, "uart-has-rtscts");
3244
3245 return p;
3246 }
3247
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 2/2] serial: sh-sci: Switch to use dev_err_probe_ptr()
2022-02-14 14:32 ` [PATCH v1 2/2] serial: sh-sci: Switch to use dev_err_probe_ptr() Andy Shevchenko
2022-02-14 14:57 ` Geert Uytterhoeven
2022-02-14 19:12 ` kernel test robot
@ 2022-02-15 1:40 ` kernel test robot
2023-06-11 9:17 ` Andi Shyti
3 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2022-02-15 1:40 UTC (permalink / raw)
To: Andy Shevchenko, Greg Kroah-Hartman, linux-serial, linux-kernel
Cc: kbuild-all, Jiri Slaby, Javier Martinez Canillas,
Geert Uytterhoeven, Andy Shevchenko
Hi Andy,
I love your patch! Yet something to improve:
[auto build test ERROR on tty/tty-testing]
[also build test ERROR on usb/usb-testing linux/master linus/master v5.17-rc4 next-20220214]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Andy-Shevchenko/driver-core-add-a-wrapper-to-device-probe-log-helper-to-return-pointer/20220214-223425
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing
config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20220215/202202150928.sqyjprfB-lkp@intel.com/config)
compiler: arceb-elf-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/810910d324cc80b092207d043651de696d293cbd
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Andy-Shevchenko/driver-core-add-a-wrapper-to-device-probe-log-helper-to-return-pointer/20220214-223425
git checkout 810910d324cc80b092207d043651de696d293cbd
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/tty/serial/sh-sci.c: In function 'sci_parse_dt':
>> drivers/tty/serial/sh-sci.c:3205:24: error: too few arguments to function 'dev_err_probe_ptr'
3205 | return dev_err_probe_ptr(&pdev->dev, PTR_ERR(rstc), "failed to get reset ctrl\n");
| ^~~~~~~~~~~~~~~~~
In file included from include/linux/node.h:18,
from include/linux/cpu.h:17,
from include/linux/cpufreq.h:12,
from drivers/tty/serial/sh-sci.c:23:
include/linux/device.h:988:7: note: declared here
988 | void *dev_err_probe_ptr(const struct device *dev, int err, const char *fmt, va_list args)
| ^~~~~~~~~~~~~~~~~
vim +/dev_err_probe_ptr +3205 drivers/tty/serial/sh-sci.c
3187
3188 static struct plat_sci_port *sci_parse_dt(struct platform_device *pdev,
3189 unsigned int *dev_id)
3190 {
3191 struct device_node *np = pdev->dev.of_node;
3192 struct reset_control *rstc;
3193 struct plat_sci_port *p;
3194 struct sci_port *sp;
3195 const void *data;
3196 int id, ret;
3197
3198 if (!IS_ENABLED(CONFIG_OF) || !np)
3199 return ERR_PTR(-EINVAL);
3200
3201 data = of_device_get_match_data(&pdev->dev);
3202
3203 rstc = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL);
3204 if (IS_ERR(rstc))
> 3205 return dev_err_probe_ptr(&pdev->dev, PTR_ERR(rstc), "failed to get reset ctrl\n");
3206
3207 ret = reset_control_deassert(rstc);
3208 if (ret) {
3209 dev_err(&pdev->dev, "failed to deassert reset %d\n", ret);
3210 return ERR_PTR(ret);
3211 }
3212
3213 ret = devm_add_action_or_reset(&pdev->dev, sci_reset_control_assert, rstc);
3214 if (ret) {
3215 dev_err(&pdev->dev, "failed to register assert devm action, %d\n",
3216 ret);
3217 return ERR_PTR(ret);
3218 }
3219
3220 p = devm_kzalloc(&pdev->dev, sizeof(struct plat_sci_port), GFP_KERNEL);
3221 if (!p)
3222 return ERR_PTR(-ENOMEM);
3223
3224 /* Get the line number from the aliases node. */
3225 id = of_alias_get_id(np, "serial");
3226 if (id < 0 && ~sci_ports_in_use)
3227 id = ffz(sci_ports_in_use);
3228 if (id < 0) {
3229 dev_err(&pdev->dev, "failed to get alias id (%d)\n", id);
3230 return ERR_PTR(-EINVAL);
3231 }
3232 if (id >= ARRAY_SIZE(sci_ports)) {
3233 dev_err(&pdev->dev, "serial%d out of range\n", id);
3234 return ERR_PTR(-EINVAL);
3235 }
3236
3237 sp = &sci_ports[id];
3238 *dev_id = id;
3239
3240 p->type = SCI_OF_TYPE(data);
3241 p->regtype = SCI_OF_REGTYPE(data);
3242
3243 sp->has_rtscts = of_property_read_bool(np, "uart-has-rtscts");
3244
3245 return p;
3246 }
3247
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 2/2] serial: sh-sci: Switch to use dev_err_probe_ptr()
2022-02-14 14:32 ` [PATCH v1 2/2] serial: sh-sci: Switch to use dev_err_probe_ptr() Andy Shevchenko
` (2 preceding siblings ...)
2022-02-15 1:40 ` kernel test robot
@ 2023-06-11 9:17 ` Andi Shyti
3 siblings, 0 replies; 7+ messages in thread
From: Andi Shyti @ 2023-06-11 9:17 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Greg Kroah-Hartman, linux-serial, linux-kernel, Jiri Slaby,
Javier Martinez Canillas, Geert Uytterhoeven
Hi Andy,
On Mon, Feb 14, 2022 at 04:32:48PM +0200, Andy Shevchenko wrote:
> Instead of
> return ERR_PTR(dev_err_probe(...));
> call
> return dev_err_probe_ptr(...);
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> drivers/tty/serial/sh-sci.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
> index b610b27893a8..0fce09c13847 100644
> --- a/drivers/tty/serial/sh-sci.c
> +++ b/drivers/tty/serial/sh-sci.c
> @@ -3199,8 +3199,7 @@ static struct plat_sci_port *sci_parse_dt(struct platform_device *pdev,
>
> rstc = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL);
> if (IS_ERR(rstc))
> - return ERR_PTR(dev_err_probe(&pdev->dev, PTR_ERR(rstc),
> - "failed to get reset ctrl\n"));
> + return dev_err_probe_ptr(&pdev->dev, PTR_ERR(rstc), "failed to get reset ctrl\n");
I think this is a great idea. Like Geert, however, I believe that
this could be more effective as a vararg function. Furthermore,
wouldn't it be easier if the PTR_ERR conversion was carried out
directly within dev_err_probe_ptr?
Wouldn't this approach be more compact and convenient?
return dev_err_probe_ptr(&pdev->dev, rstc,
"failed to get reset ctrl\n");
Now, things start to get a bit more complicated as we will have
four different combinations of dev_err_probes. They could either
take a pointer with an error or an error integer, and they could
either return an error or a pointer with an error. All four cases
are utilized.
Please include me in your next batch of patches as I am also
working on something similar in the background.
Thanks,
Andi
>
> ret = reset_control_deassert(rstc);
> if (ret) {
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-06-11 9:17 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-14 14:32 [PATCH v1 1/2] driver core: add a wrapper to device probe log helper to return pointer Andy Shevchenko
2022-02-14 14:32 ` [PATCH v1 2/2] serial: sh-sci: Switch to use dev_err_probe_ptr() Andy Shevchenko
2022-02-14 14:57 ` Geert Uytterhoeven
2022-02-14 19:12 ` kernel test robot
2022-02-15 1:40 ` kernel test robot
2023-06-11 9:17 ` Andi Shyti
2022-02-14 14:55 ` [PATCH v1 1/2] driver core: add a wrapper to device probe log helper to return pointer Geert Uytterhoeven
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).