mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 10:47:04 +07:00
ed3cafa79e
Let's change the function signature to return the pointer to memory or an error pointer on failure, and take an argument that lets us return the size of the aux data read. This way we can remove the cmd_db_read_aux_data_len() API entirely and also get rid of the memcpy operation from cmd_db to the caller. Updating the only user of this code shows that making this change allows us to remove a function and put the lookup where the user is. Cc: Mahesh Sivasubramanian <msivasub@codeaurora.org> Cc: Lina Iyer <ilina@codeaurora.org> Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Cc: Evan Green <evgreen@chromium.org> Cc: Jordan Crouse <jcrouse@codeaurora.org> Cc: Rob Clark <robdclark@gmail.com> Signed-off-by: Stephen Boyd <swboyd@chromium.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
40 lines
1.0 KiB
C
40 lines
1.0 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. */
|
|
|
|
#ifndef __QCOM_COMMAND_DB_H__
|
|
#define __QCOM_COMMAND_DB_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);
|
|
|
|
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 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__ */
|