File Index
Files and directories
Sign in
FILE

mdt_loader.h

File preview with syntax highlighting.

linux-6.19.14/include/linux/soc/qcom/mdt_loader.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef __QCOM_MDT_LOADER_H__
 3#define __QCOM_MDT_LOADER_H__
 4
 5#include <linux/types.h>
 6
 7#define QCOM_MDT_TYPE_MASK	(7 << 24)
 8#define QCOM_MDT_TYPE_HASH	(2 << 24)
 9#define QCOM_MDT_RELOCATABLE	BIT(27)
10
11struct device;
12struct firmware;
13struct qcom_scm_pas_metadata;
14
15#if IS_ENABLED(CONFIG_QCOM_MDT_LOADER)
16
17ssize_t qcom_mdt_get_size(const struct firmware *fw);
18int qcom_mdt_pas_init(struct device *dev, const struct firmware *fw,
19		      const char *fw_name, int pas_id, phys_addr_t mem_phys,
20		      struct qcom_scm_pas_metadata *pas_metadata_ctx);
21int qcom_mdt_load(struct device *dev, const struct firmware *fw,
22		  const char *fw_name, int pas_id, void *mem_region,
23		  phys_addr_t mem_phys, size_t mem_size,
24		  phys_addr_t *reloc_base);
25
26int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw,
27			  const char *fw_name, void *mem_region,
28			  phys_addr_t mem_phys, size_t mem_size,
29			  phys_addr_t *reloc_base);
30void *qcom_mdt_read_metadata(const struct firmware *fw, size_t *data_len,
31			     const char *fw_name, struct device *dev);
32
33#else /* !IS_ENABLED(CONFIG_QCOM_MDT_LOADER) */
34
35static inline ssize_t qcom_mdt_get_size(const struct firmware *fw)
36{
37	return -ENODEV;
38}
39
40static inline int qcom_mdt_pas_init(struct device *dev, const struct firmware *fw,
41				    const char *fw_name, int pas_id, phys_addr_t mem_phys,
42				    struct qcom_scm_pas_metadata *pas_metadata_ctx)
43{
44	return -ENODEV;
45}
46
47static inline int qcom_mdt_load(struct device *dev, const struct firmware *fw,
48				const char *fw_name, int pas_id,
49				void *mem_region, phys_addr_t mem_phys,
50				size_t mem_size, phys_addr_t *reloc_base)
51{
52	return -ENODEV;
53}
54
55static inline int qcom_mdt_load_no_init(struct device *dev,
56					const struct firmware *fw,
57					const char *fw_name, void *mem_region,
58					phys_addr_t mem_phys, size_t mem_size,
59					phys_addr_t *reloc_base)
60{
61	return -ENODEV;
62}
63
64static inline void *qcom_mdt_read_metadata(const struct firmware *fw,
65					   size_t *data_len, const char *fw_name,
66					   struct device *dev)
67{
68	return ERR_PTR(-ENODEV);
69}
70
71#endif /* !IS_ENABLED(CONFIG_QCOM_MDT_LOADER) */
72
73#endif
~/ Read-only file preview.