linux/drivers/platform/x86/hp/hp-bioscfg/enum-attributes.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Functions corresponding to enumeration type attributes under
 * BIOS Enumeration GUID for use with hp-bioscfg driver.
 *
 * Copyright (c) 2022 HP Development Company, L.P.
 */

#include "bioscfg.h"

GET_INSTANCE_ID(enumeration);

static ssize_t current_value_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf)
{}

/**
 * validate_enumeration_input() -
 * Validate input of current_value against possible values
 *
 * @instance_id: The instance on which input is validated
 * @buf: Input value
 */
static int validate_enumeration_input(int instance_id, const char *buf)
{}

static void update_enumeration_value(int instance_id, char *attr_value)
{}

ATTRIBUTE_S_COMMON_PROPERTY_SHOW(display_name, enumeration);
static struct kobj_attribute enumeration_display_name =;

ATTRIBUTE_PROPERTY_STORE(current_value, enumeration);
static struct kobj_attribute enumeration_current_val =;

ATTRIBUTE_VALUES_PROPERTY_SHOW(possible_values, enumeration, SEMICOLON_SEP);
static struct kobj_attribute enumeration_poss_val =;

static ssize_t type_show(struct kobject *kobj, struct kobj_attribute *attr,
			 char *buf)
{}

static struct kobj_attribute enumeration_type =;

static struct attribute *enumeration_attrs[] =;

static const struct attribute_group enumeration_attr_group =;

int hp_alloc_enumeration_data(void)
{}

/* Expected Values types associated with each element */
static const acpi_object_type expected_enum_types[] =;

static int hp_populate_enumeration_elements_from_package(union acpi_object *enum_obj,
							 int enum_obj_count,
							 int instance_id)
{}

/**
 * hp_populate_enumeration_package_data() -
 * Populate all properties of an instance under enumeration attribute
 *
 * @enum_obj: ACPI object with enumeration data
 * @instance_id: The instance to enumerate
 * @attr_name_kobj: The parent kernel object
 */
int hp_populate_enumeration_package_data(union acpi_object *enum_obj,
					 int instance_id,
					 struct kobject *attr_name_kobj)
{}

static int hp_populate_enumeration_elements_from_buffer(u8 *buffer_ptr, u32 *buffer_size,
							int instance_id)
{}

/**
 * hp_populate_enumeration_buffer_data() -
 * Populate all properties of an instance under enumeration attribute
 *
 * @buffer_ptr: Buffer pointer
 * @buffer_size: Buffer size
 * @instance_id: The instance to enumerate
 * @attr_name_kobj: The parent kernel object
 */
int hp_populate_enumeration_buffer_data(u8 *buffer_ptr, u32 *buffer_size,
					int instance_id,
					struct kobject *attr_name_kobj)
{}

/**
 * hp_exit_enumeration_attributes() - Clear all attribute data
 *
 * Clears all data allocated for this group of attributes
 */
void hp_exit_enumeration_attributes(void)
{}