firmware: xilinx: Remove eemi ops for get_chipid
Use direct function call instead of eemi ops for get_chipid. Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Link: https://lore.kernel.org/r/1587761887-4279-3-git-send-email-jolly.shah@xilinx.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b9b3a8be28
commit
21cd93bab9
|
@ -247,7 +247,7 @@ EXPORT_SYMBOL_GPL(zynqmp_pm_get_api_version);
|
||||||
* Return: Returns the status of the operation and the idcode and version
|
* Return: Returns the status of the operation and the idcode and version
|
||||||
* registers in @idcode and @version.
|
* registers in @idcode and @version.
|
||||||
*/
|
*/
|
||||||
static int zynqmp_pm_get_chipid(u32 *idcode, u32 *version)
|
int zynqmp_pm_get_chipid(u32 *idcode, u32 *version)
|
||||||
{
|
{
|
||||||
u32 ret_payload[PAYLOAD_ARG_CNT];
|
u32 ret_payload[PAYLOAD_ARG_CNT];
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -261,6 +261,7 @@ static int zynqmp_pm_get_chipid(u32 *idcode, u32 *version)
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(zynqmp_pm_get_chipid);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* zynqmp_pm_get_trustzone_version() - Get secure trustzone firmware version
|
* zynqmp_pm_get_trustzone_version() - Get secure trustzone firmware version
|
||||||
|
@ -735,7 +736,6 @@ static int zynqmp_pm_aes_engine(const u64 address, u32 *out)
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct zynqmp_eemi_ops eemi_ops = {
|
static const struct zynqmp_eemi_ops eemi_ops = {
|
||||||
.get_chipid = zynqmp_pm_get_chipid,
|
|
||||||
.query_data = zynqmp_pm_query_data,
|
.query_data = zynqmp_pm_query_data,
|
||||||
.clock_enable = zynqmp_pm_clock_enable,
|
.clock_enable = zynqmp_pm_clock_enable,
|
||||||
.clock_disable = zynqmp_pm_clock_disable,
|
.clock_disable = zynqmp_pm_clock_disable,
|
||||||
|
|
|
@ -16,8 +16,6 @@ struct zynqmp_nvmem_data {
|
||||||
struct nvmem_device *nvmem;
|
struct nvmem_device *nvmem;
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct zynqmp_eemi_ops *eemi_ops;
|
|
||||||
|
|
||||||
static int zynqmp_nvmem_read(void *context, unsigned int offset,
|
static int zynqmp_nvmem_read(void *context, unsigned int offset,
|
||||||
void *val, size_t bytes)
|
void *val, size_t bytes)
|
||||||
{
|
{
|
||||||
|
@ -25,10 +23,7 @@ static int zynqmp_nvmem_read(void *context, unsigned int offset,
|
||||||
int idcode, version;
|
int idcode, version;
|
||||||
struct zynqmp_nvmem_data *priv = context;
|
struct zynqmp_nvmem_data *priv = context;
|
||||||
|
|
||||||
if (!eemi_ops->get_chipid)
|
ret = zynqmp_pm_get_chipid(&idcode, &version);
|
||||||
return -ENXIO;
|
|
||||||
|
|
||||||
ret = eemi_ops->get_chipid(&idcode, &version);
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -61,10 +56,6 @@ static int zynqmp_nvmem_probe(struct platform_device *pdev)
|
||||||
if (!priv)
|
if (!priv)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
eemi_ops = zynqmp_pm_get_eemi_ops();
|
|
||||||
if (IS_ERR(eemi_ops))
|
|
||||||
return PTR_ERR(eemi_ops);
|
|
||||||
|
|
||||||
priv->dev = dev;
|
priv->dev = dev;
|
||||||
econfig.dev = dev;
|
econfig.dev = dev;
|
||||||
econfig.reg_read = zynqmp_nvmem_read;
|
econfig.reg_read = zynqmp_nvmem_read;
|
||||||
|
|
|
@ -294,7 +294,6 @@ struct zynqmp_pm_query_data {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct zynqmp_eemi_ops {
|
struct zynqmp_eemi_ops {
|
||||||
int (*get_chipid)(u32 *idcode, u32 *version);
|
|
||||||
int (*fpga_load)(const u64 address, const u32 size, const u32 flags);
|
int (*fpga_load)(const u64 address, const u32 size, const u32 flags);
|
||||||
int (*fpga_get_status)(u32 *value);
|
int (*fpga_get_status)(u32 *value);
|
||||||
int (*query_data)(struct zynqmp_pm_query_data qdata, u32 *out);
|
int (*query_data)(struct zynqmp_pm_query_data qdata, u32 *out);
|
||||||
|
@ -331,6 +330,7 @@ int zynqmp_pm_invoke_fn(u32 pm_api_id, u32 arg0, u32 arg1,
|
||||||
#if IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE)
|
#if IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE)
|
||||||
const struct zynqmp_eemi_ops *zynqmp_pm_get_eemi_ops(void);
|
const struct zynqmp_eemi_ops *zynqmp_pm_get_eemi_ops(void);
|
||||||
int zynqmp_pm_get_api_version(u32 *version);
|
int zynqmp_pm_get_api_version(u32 *version);
|
||||||
|
int zynqmp_pm_get_chipid(u32 *idcode, u32 *version);
|
||||||
#else
|
#else
|
||||||
static inline struct zynqmp_eemi_ops *zynqmp_pm_get_eemi_ops(void)
|
static inline struct zynqmp_eemi_ops *zynqmp_pm_get_eemi_ops(void)
|
||||||
{
|
{
|
||||||
|
@ -340,6 +340,10 @@ static inline int zynqmp_pm_get_api_version(u32 *version)
|
||||||
{
|
{
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
static inline int zynqmp_pm_get_chipid(u32 *idcode, u32 *version)
|
||||||
|
{
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __FIRMWARE_ZYNQMP_H__ */
|
#endif /* __FIRMWARE_ZYNQMP_H__ */
|
||||||
|
|
Loading…
Reference in New Issue