kernel/include/linux/rh_flags.h

35 lines
917 B
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* rh_flags.h -- Red Hat flags tracking
*
* Copyright (c) 2018 Red Hat, Inc. -- Jiri Benc <jbenc@redhat.com>
*
* The intent of the flag tracking is to provide better and more focused
* support. Only those flags that are of a special interest for customer
* support should be tracked.
*
* THE FLAGS DO NOT EXPRESS ANY SUPPORT POLICIES.
*/
#ifndef _LINUX_RH_FLAGS_H
#define _LINUX_RH_FLAGS_H
#if defined CONFIG_RHEL_DIFFERENCES
bool __rh_add_flag(const char *flag_name);
void rh_print_flags(void);
#define rh_add_flag(flag_name) \
({ \
static bool __mark_once __read_mostly; \
bool __ret_mark_once = !__mark_once; \
\
if (!__mark_once) \
__mark_once = __rh_add_flag(flag_name); \
unlikely(__ret_mark_once); \
})
#else
static void rh_print_flags(void) { }
static void rh_add_flag(const char *flag_name) { }
#endif
#endif