It's been a relatively calm cycle in docsland. We do have:
- Some initial page-table documentation from Linus (the other Linus)
- Regression-handling documentation improvements from Thorsten
- Addition of kerneldoc documentation for the ERR_PTR() and related
macros from James Seo
...and the usual collection of fixes and updates.
-----BEGIN PGP SIGNATURE-----
iQFDBAABCAAtFiEEIw+MvkEiF49krdp9F0NaE2wMflgFAmSbC9wPHGNvcmJldEBs
d24ubmV0AAoJEBdDWhNsDH5Yw7YH/Rcd2oVQ/B8ui9TYcXTQid0ly5GvLl/ot0zf
pml725bZSKodcdtmLvQ6CzMGRdzxhQpVfzy21zHAlQWiBMdheWeu0Etmpspn8fCI
wnJIlUbGdp5Aq4ZtoJPTtE3vXvWEQ32gVytGjbTVNtSLRLXQ1bc+A/IvmRj3jdkV
dwPfN7hPLVhBt5770pHMywlFVBQ9FUjUNC+uX0JkcNZJ3598c4ZzndBEaLdqfPHC
DtWucRdnHubTncKECgYbspsfH6zuntFk8FgsD1gZ1K9izMAwVBsKSS+MeOz8oxx8
rPq4Tscqs/9mpist/PqxEu0fvTC3xsyMbxLA4hAORmgpdnbWIaQ=
=q2B4
-----END PGP SIGNATURE-----
Merge tag 'docs-6.5' of git://git.lwn.net/linux
Pull documentation updates from Jonathan Corbet:
"It's been a relatively calm cycle in docsland. We do have:
- Some initial page-table documentation from Linus (the other Linus)
- Regression-handling documentation improvements from Thorsten
- Addition of kerneldoc documentation for the ERR_PTR() and related
macros from James Seo
... and the usual collection of fixes and updates"
* tag 'docs-6.5' of git://git.lwn.net/linux:
docs: consolidate storage interfaces
Documentation: update git configuration for Link: tag
Documentation: KVM: make corrections to vcpu-requests.rst
Documentation: KVM: make corrections to ppc-pv.rst
Documentation: KVM: make corrections to locking.rst
Documentation: KVM: make corrections to halt-polling.rst
Documentation: virt: correct location of haltpoll module params
Documentation/mm: Initial page table documentation
docs: crypto: async-tx-api: fix typo in struct name
docs/doc-guide: Clarify how to write tables
docs: handling-regressions: rework section about fixing procedures
docs: process: fix a typoed cross-reference
docs: submitting-patches: Discuss interleaved replies
MAINTAINERS: direct process doc changes to a dedicated ML
Documentation: core-api: Add error pointer functions to kernel-api
err.h: Add missing kerneldocs for error pointer functions
Documentation: conf.py: Add __force to c_id_attributes
docs: clarify KVM related kernel parameters' descriptions
docs: consolidate human interface subsystems
docs: admin-guide: Add information about intel_pstate active mode
This commit is contained in:
commit
a354049532
18 changed files with 446 additions and 128 deletions
|
|
@ -19,23 +19,54 @@
|
|||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/**
|
||||
* IS_ERR_VALUE - Detect an error pointer.
|
||||
* @x: The pointer to check.
|
||||
*
|
||||
* Like IS_ERR(), but does not generate a compiler warning if result is unused.
|
||||
*/
|
||||
#define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)
|
||||
|
||||
/**
|
||||
* ERR_PTR - Create an error pointer.
|
||||
* @error: A negative error code.
|
||||
*
|
||||
* Encodes @error into a pointer value. Users should consider the result
|
||||
* opaque and not assume anything about how the error is encoded.
|
||||
*
|
||||
* Return: A pointer with @error encoded within its value.
|
||||
*/
|
||||
static inline void * __must_check ERR_PTR(long error)
|
||||
{
|
||||
return (void *) error;
|
||||
}
|
||||
|
||||
/**
|
||||
* PTR_ERR - Extract the error code from an error pointer.
|
||||
* @ptr: An error pointer.
|
||||
* Return: The error code within @ptr.
|
||||
*/
|
||||
static inline long __must_check PTR_ERR(__force const void *ptr)
|
||||
{
|
||||
return (long) ptr;
|
||||
}
|
||||
|
||||
/**
|
||||
* IS_ERR - Detect an error pointer.
|
||||
* @ptr: The pointer to check.
|
||||
* Return: true if @ptr is an error pointer, false otherwise.
|
||||
*/
|
||||
static inline bool __must_check IS_ERR(__force const void *ptr)
|
||||
{
|
||||
return IS_ERR_VALUE((unsigned long)ptr);
|
||||
}
|
||||
|
||||
/**
|
||||
* IS_ERR_OR_NULL - Detect an error pointer or a null pointer.
|
||||
* @ptr: The pointer to check.
|
||||
*
|
||||
* Like IS_ERR(), but also returns true for a null pointer.
|
||||
*/
|
||||
static inline bool __must_check IS_ERR_OR_NULL(__force const void *ptr)
|
||||
{
|
||||
return unlikely(!ptr) || IS_ERR_VALUE((unsigned long)ptr);
|
||||
|
|
@ -54,6 +85,23 @@ static inline void * __must_check ERR_CAST(__force const void *ptr)
|
|||
return (void *) ptr;
|
||||
}
|
||||
|
||||
/**
|
||||
* PTR_ERR_OR_ZERO - Extract the error code from a pointer if it has one.
|
||||
* @ptr: A potential error pointer.
|
||||
*
|
||||
* Convenience function that can be used inside a function that returns
|
||||
* an error code to propagate errors received as error pointers.
|
||||
* For example, ``return PTR_ERR_OR_ZERO(ptr);`` replaces:
|
||||
*
|
||||
* .. code-block:: c
|
||||
*
|
||||
* if (IS_ERR(ptr))
|
||||
* return PTR_ERR(ptr);
|
||||
* else
|
||||
* return 0;
|
||||
*
|
||||
* Return: The error code within @ptr if it is an error pointer; 0 otherwise.
|
||||
*/
|
||||
static inline int __must_check PTR_ERR_OR_ZERO(__force const void *ptr)
|
||||
{
|
||||
if (IS_ERR(ptr))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue