drivers/gpu/drm/amd/display/dc/sspl/spl_os_types.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/dc/sspl/spl_os_types.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/display/dc/sspl/spl_os_types.h
Extension
.h
Size
1468 bytes
Lines
66
Domain
Driver Families
Bucket
drivers/gpu
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _SPL_OS_TYPES_H_
#define _SPL_OS_TYPES_H_

#include "spl_debug.h"

#include <linux/slab.h>
#include <linux/kgdb.h>
#include <linux/kref.h>
#include <linux/types.h>
#include <linux/delay.h>
#include <linux/mm.h>

/*
 *
 * general debug capabilities
 *
 */

static inline uint64_t spl_div_u64_rem(uint64_t dividend, uint32_t divisor, uint32_t *remainder)
{
	return div_u64_rem(dividend, divisor, remainder);
}

static inline uint64_t spl_div_u64(uint64_t dividend, uint32_t divisor)
{
	return div_u64(dividend, divisor);
}

static inline uint64_t spl_div64_u64(uint64_t dividend, uint64_t divisor)
{
	return div64_u64(dividend, divisor);
}

static inline uint64_t spl_div64_u64_rem(uint64_t dividend, uint64_t divisor, uint64_t *remainder)
{
	return div64_u64_rem(dividend, divisor, remainder);
}

static inline int64_t spl_div64_s64(int64_t dividend, int64_t divisor)
{
	return div64_s64(dividend, divisor);
}

#define spl_swap(a, b) \
	do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0)

#ifndef spl_min
#define spl_min(a, b)    (((a) < (b)) ? (a):(b))
#endif

/* SPL namespace macros */
#ifndef SPL_PFX_
#define SPL_PFX_
#endif

#define SPL_EXPAND2(a, b)         a##b
#define SPL_EXPAND(a, b)          SPL_EXPAND2(a, b)
#define SPL_NAMESPACE(symbol)     SPL_EXPAND(SPL_PFX_, symbol)

#endif /* _SPL_OS_TYPES_H_ */

Annotation

Implementation Notes