Re: [PATCH v2 1/4] dev_printk: add new dev_err_probe() helpers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 02, 2024 at 01:54:36PM +0200, Nuno Sá wrote:
> On Tue, 2024-04-23 at 18:45 +0300, Andy Shevchenko wrote:
> > On Tue, Apr 23, 2024 at 06:31:20PM +0300, Andy Shevchenko wrote:
> > > On Tue, Apr 23, 2024 at 05:20:30PM +0200, Nuno Sa via B4 Relay wrote:
> > > > From: Nuno Sa <nuno.sa@xxxxxxxxxx>

...

> > > > +#define dev_err_cast_probe(dev, ___err_ptr, fmt,
> > > > ...)	({			\
> > > > +	ERR_PTR(dev_err_probe(dev, PTR_ERR(___err_ptr), fmt,
> > > > ##__VA_ARGS__));	\
> > > > +})
> > 
> > After looking into the next patch I think this should be rewritten to use %pe,
> > hence should be an exported function. Or dev_err_probe() should be split to
> > a version that makes the difference between int and const void * (maybe using
> > _Generic()).
> 
> I replied a bit in the other patch but I'm of the opinion that's likely just more
> complicated than it needs to be (IMO). Why is the PTR_ERR(___err_ptr) that bad? If we
> really want to have a version that takes pointer why not just:
> 
> #define dev_err_ptr_probe(dev, ___err, fmt, ...) \
> 	dev_err_probe(dev, PTR_ERR(__err), fmt, ##__VA_ARGS__)
> 
> 
> (yes, while _Generic() could be fun I'm trying to avoid it. In this case, I think
> having explicit defines is more helpful)

It seems dev_err_probe() already uses %pe, so we are fine.

-- 
With Best Regards,
Andy Shevchenko






[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux