mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
mm: cma: make mm/cma.h self-contained and conditionalize includes
mm/cma.h uses types from <linux/spinlock.h>, <linux/mutex.h>, <linux/atomic.h> and <linux/list.h> without explicitly including them, violating the kernel header self-containment guidelines. <linux/debugfs.h> and <linux/kobject.h> are also included unconditionally even though they are only needed under CONFIG_CMA_DEBUGFS and CONFIG_CMA_SYSFS respectively. Move the struct cma_kobject definition and <linux/kobject.h> inside the CONFIG_CMA_SYSFS block, and move <linux/debugfs.h> inside CONFIG_CMA_DEBUGFS. Remove spurious trailing semicolons after the empty inline function bodies in the CONFIG_CMA_SYSFS #else branch. Add <linux/cma.h> so that MAX_CMA_AREAS and CMA_MAX_NAME are always available when this header is included. Link: https://lore.kernel.org/20260815103246.5315-1-eamon112009@gmail.com Signed-off-by: Eamon Sippy <eamon112009@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Reviewed-by: Barry Song <baohua@kernel.org>
This commit is contained in:
parent
8e7caac55a
commit
4886cec0b2
23
mm/cma.h
23
mm/cma.h
|
|
@ -2,14 +2,24 @@
|
|||
#ifndef __MM_CMA_H__
|
||||
#define __MM_CMA_H__
|
||||
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/cma.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/spinlock.h>
|
||||
|
||||
#ifdef CONFIG_CMA_DEBUGFS
|
||||
#include <linux/debugfs.h>
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_CMA_SYSFS
|
||||
#include <linux/kobject.h>
|
||||
|
||||
struct cma_kobject {
|
||||
struct kobject kobj;
|
||||
struct cma *cma;
|
||||
};
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Multi-range support. This can be useful if the size of the allocation
|
||||
|
|
@ -38,10 +48,10 @@ struct cma_memrange {
|
|||
#define CMA_MAX_RANGES 8
|
||||
|
||||
struct cma {
|
||||
unsigned long count;
|
||||
unsigned long available_count;
|
||||
unsigned long count;
|
||||
unsigned long available_count;
|
||||
unsigned int order_per_bit; /* Order of pages represented by one bit */
|
||||
spinlock_t lock;
|
||||
spinlock_t lock;
|
||||
struct mutex alloc_mutex;
|
||||
#ifdef CONFIG_CMA_DEBUGFS
|
||||
struct hlist_head mem_head;
|
||||
|
|
@ -87,10 +97,11 @@ void cma_sysfs_account_fail_pages(struct cma *cma, unsigned long nr_pages);
|
|||
void cma_sysfs_account_release_pages(struct cma *cma, unsigned long nr_pages);
|
||||
#else
|
||||
static inline void cma_sysfs_account_success_pages(struct cma *cma,
|
||||
unsigned long nr_pages) {};
|
||||
unsigned long nr_pages) {}
|
||||
static inline void cma_sysfs_account_fail_pages(struct cma *cma,
|
||||
unsigned long nr_pages) {};
|
||||
unsigned long nr_pages) {}
|
||||
static inline void cma_sysfs_account_release_pages(struct cma *cma,
|
||||
unsigned long nr_pages) {};
|
||||
unsigned long nr_pages) {}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user