49 строки
1.3 KiB
C
49 строки
1.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
|
|
* Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
|
|
*/
|
|
|
|
#ifndef __QCOM_COMMAND_DB_H__
|
|
#define __QCOM_COMMAND_DB_H__
|
|
|
|
#include <linux/err.h>
|
|
|
|
enum cmd_db_hw_type {
|
|
CMD_DB_HW_INVALID = 0,
|
|
CMD_DB_HW_MIN = 3,
|
|
CMD_DB_HW_ARC = CMD_DB_HW_MIN,
|
|
CMD_DB_HW_VRM = 4,
|
|
CMD_DB_HW_BCM = 5,
|
|
CMD_DB_HW_MAX = CMD_DB_HW_BCM,
|
|
CMD_DB_HW_ALL = 0xff,
|
|
};
|
|
|
|
#if IS_ENABLED(CONFIG_QCOM_COMMAND_DB)
|
|
u32 cmd_db_read_addr(const char *resource_id);
|
|
|
|
const void *cmd_db_read_aux_data(const char *resource_id, size_t *len);
|
|
|
|
bool cmd_db_match_resource_addr(u32 addr1, u32 addr2);
|
|
|
|
enum cmd_db_hw_type cmd_db_read_slave_id(const char *resource_id);
|
|
|
|
int cmd_db_ready(void);
|
|
#else
|
|
static inline u32 cmd_db_read_addr(const char *resource_id)
|
|
{ return 0; }
|
|
|
|
static inline const void *cmd_db_read_aux_data(const char *resource_id, size_t *len)
|
|
{ return ERR_PTR(-ENODEV); }
|
|
|
|
static inline bool cmd_db_match_resource_addr(u32 addr1, u32 addr2)
|
|
{ return false; }
|
|
|
|
static inline enum cmd_db_hw_type cmd_db_read_slave_id(const char *resource_id)
|
|
{ return -ENODEV; }
|
|
|
|
static inline int cmd_db_ready(void)
|
|
{ return -ENODEV; }
|
|
#endif /* CONFIG_QCOM_COMMAND_DB */
|
|
#endif /* __QCOM_COMMAND_DB_H__ */
|