Commit 652a86b2 authored by Christian Marangi's avatar Christian Marangi Committed by Bjorn Andersson
Browse files

err.h: add INIT_ERR_PTR() macro



Add INIT_ERR_PTR() macro to initialize static variables with error
pointers. This might be useful for specific case where there is a static
variable initialized to an error condition and then later set to the
real handle once probe finish/completes.

This is to handle compilation problems like:

error: initializer element is not constant

where ERR_PTR() can't be used.

Signed-off-by: default avatarChristian Marangi <ansuelsmth@gmail.com>
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20251031130835.7953-2-ansuelsmth@gmail.com


[bjorn: Added () suffix on macro references]
Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent dc5db350
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -41,6 +41,14 @@ static inline void * __must_check ERR_PTR(long error)
	return (void *) error;
}

/**
 * INIT_ERR_PTR - Init a const error pointer.
 * @error: A negative error code.
 *
 * Like ERR_PTR(), but usable to initialize static variables.
 */
#define INIT_ERR_PTR(error) ((void *)(error))

/* Return the pointer in the percpu address space. */
#define ERR_PTR_PCPU(error) ((void __percpu *)(unsigned long)ERR_PTR(error))