1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _LINUX_STRING_CHOICES_H_ 3#define _LINUX_STRING_CHOICES_H_ 4 5#include <linux/types.h> 6 7static inline const char *str_enable_disable(bool v) 8{ 9 return v ? "enable" : "disable"; 10} 11 12static inline const char *str_enabled_disabled(bool v) 13{ 14 return v ? "enabled" : "disabled"; 15} 16 17static inline const char *str_hi_lo(bool v) 18{ 19 return v ? "hi" : "lo"; 20} 21#define str_lo_hi(v) str_hi_lo(!(v)) 22 23static inline const char *str_high_low(bool v) 24{ 25 return v ? "high" : "low"; 26} 27#define str_low_high(v) str_high_low(!(v)) 28 29static inline const char *str_read_write(bool v) 30{ 31 return v ? "read" : "write"; 32} 33#define str_write_read(v) str_read_write(!(v)) 34 35static inline const char *str_on_off(bool v) 36{ 37 return v ? "on" : "off"; 38} 39 40static inline const char *str_yes_no(bool v) 41{ 42 return v ? "yes" : "no"; 43} 44 45/** 46 * str_plural - Return the simple pluralization based on English counts 47 * @num: Number used for deciding pluralization 48 * 49 * If @num is 1, returns empty string, otherwise returns "s". 50 */ 51static inline const char *str_plural(size_t num) 52{ 53 return num == 1 ? "" : "s"; 54} 55 56#endif 57