basic/psi-util: add lookup table for PressureType

This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2026-08-21 09:17:51 +02:00
parent c44e9527b7
commit 9b6911d2e6
2 changed files with 12 additions and 7 deletions
+9 -7
View File
@@ -19,7 +19,7 @@ int read_resource_pressure(const char *path, PressureType type, ResourcePressure
_cleanup_fclose_ FILE *f = NULL;
unsigned field_filled = 0;
ResourcePressure rp = {};
const char *t, *cline;
const char *cline;
char *word;
int r;
@@ -27,12 +27,7 @@ int read_resource_pressure(const char *path, PressureType type, ResourcePressure
assert(IN_SET(type, PRESSURE_TYPE_SOME, PRESSURE_TYPE_FULL));
assert(ret);
if (type == PRESSURE_TYPE_SOME)
t = "some";
else if (type == PRESSURE_TYPE_FULL)
t = "full";
else
return -EINVAL;
const char *t = ASSERT_PTR(pressure_type_to_string(type));
r = fopen_unlocked(path, "re", &f);
if (r < 0)
@@ -131,6 +126,13 @@ static const char* const pressure_resource_table[_PRESSURE_RESOURCE_MAX] = {
DEFINE_STRING_TABLE_LOOKUP(pressure_resource, PressureResource);
static const char* const pressure_type_table[_PRESSURE_TYPE_MAX] = {
[PRESSURE_TYPE_SOME] = "some",
[PRESSURE_TYPE_FULL] = "full",
};
DEFINE_STRING_TABLE_LOOKUP(pressure_type, PressureType);
int is_pressure_supported(void) {
static thread_local int cached = -1;
int r;
+3
View File
@@ -7,6 +7,8 @@
typedef enum PressureType {
PRESSURE_TYPE_SOME,
PRESSURE_TYPE_FULL,
_PRESSURE_TYPE_MAX,
_PRESSURE_TYPE_INVALID = -EINVAL,
} PressureType;
typedef enum PressureResource {
@@ -50,6 +52,7 @@ static inline const PressureResourceInfo* pressure_resource_get_info(PressureRes
}
DECLARE_STRING_TABLE_LOOKUP(pressure_resource, PressureResource);
DECLARE_STRING_TABLE_LOOKUP(pressure_type, PressureType);
/* Default parameters for pressure watch logic in sd-event and PID 1 */
#define PRESSURE_DEFAULT_TYPE "some"