Loading drivers/soc/qcom/cmd-db.c +14 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #define MAX_SLV_ID 8 #define SLAVE_ID_MASK 0x7 #define SLAVE_ID_SHIFT 16 #define CMD_DB_STANDALONE_MASK BIT(0) /** * struct entry_header: header for each entry in cmddb Loading Loading @@ -237,6 +238,16 @@ enum cmd_db_hw_type cmd_db_read_slave_id(const char *id) } EXPORT_SYMBOL(cmd_db_read_slave_id); bool cmd_db_is_standalone(void) { int ret = cmd_db_ready(); u32 standalone = le32_to_cpu(cmd_db_header->reserved) & CMD_DB_STANDALONE_MASK; return !ret && standalone; } EXPORT_SYMBOL(cmd_db_is_standalone); static int cmd_db_dev_probe(struct platform_device *pdev) { struct reserved_mem *rmem; Loading @@ -260,6 +271,9 @@ static int cmd_db_dev_probe(struct platform_device *pdev) return -EINVAL; } if (cmd_db_is_standalone()) pr_info("Command DB is initialized in standalone mode.\n"); return 0; } Loading include/soc/qcom/cmd-db.h +5 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ 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); bool cmd_db_is_standalone(void); #else static inline u32 cmd_db_read_addr(const char *resource_id) { return 0; } Loading @@ -35,5 +37,8 @@ static inline enum cmd_db_hw_type cmd_db_read_slave_id(const char *resource_id) static inline int cmd_db_ready(void) { return -ENODEV; } static inline bool cmd_db_is_standalone(void) { return false; } #endif /* CONFIG_QCOM_COMMAND_DB */ #endif /* __QCOM_COMMAND_DB_H__ */ Loading
drivers/soc/qcom/cmd-db.c +14 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #define MAX_SLV_ID 8 #define SLAVE_ID_MASK 0x7 #define SLAVE_ID_SHIFT 16 #define CMD_DB_STANDALONE_MASK BIT(0) /** * struct entry_header: header for each entry in cmddb Loading Loading @@ -237,6 +238,16 @@ enum cmd_db_hw_type cmd_db_read_slave_id(const char *id) } EXPORT_SYMBOL(cmd_db_read_slave_id); bool cmd_db_is_standalone(void) { int ret = cmd_db_ready(); u32 standalone = le32_to_cpu(cmd_db_header->reserved) & CMD_DB_STANDALONE_MASK; return !ret && standalone; } EXPORT_SYMBOL(cmd_db_is_standalone); static int cmd_db_dev_probe(struct platform_device *pdev) { struct reserved_mem *rmem; Loading @@ -260,6 +271,9 @@ static int cmd_db_dev_probe(struct platform_device *pdev) return -EINVAL; } if (cmd_db_is_standalone()) pr_info("Command DB is initialized in standalone mode.\n"); return 0; } Loading
include/soc/qcom/cmd-db.h +5 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ 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); bool cmd_db_is_standalone(void); #else static inline u32 cmd_db_read_addr(const char *resource_id) { return 0; } Loading @@ -35,5 +37,8 @@ static inline enum cmd_db_hw_type cmd_db_read_slave_id(const char *resource_id) static inline int cmd_db_ready(void) { return -ENODEV; } static inline bool cmd_db_is_standalone(void) { return false; } #endif /* CONFIG_QCOM_COMMAND_DB */ #endif /* __QCOM_COMMAND_DB_H__ */