@@ -61,7 +61,6 @@ enum mbox_cmd {
};
struct mox_rwtm {
- struct device *dev;
struct mbox_client mbox_client;
struct mbox_chan *mbox;
struct hwrng hwrng;
@@ -96,6 +95,11 @@ struct mox_rwtm {
#endif
};
+static inline struct device *rwtm_dev(struct mox_rwtm *rwtm)
+{
+ return rwtm->mbox_client.dev;
+}
+
#define MOX_ATTR_RO(name, format, cat) \
static ssize_t \
name##_show(struct device *dev, struct device_attribute *a, \
@@ -164,6 +168,7 @@ static void reply_to_mac_addr(u8 *mac, u32 t1, u32 t2)
static int mox_get_board_info(struct mox_rwtm *rwtm)
{
+ struct device *dev = rwtm_dev(rwtm);
struct armada_37xx_rwtm_tx_msg msg;
struct armada_37xx_rwtm_rx_msg *reply = &rwtm->reply;
int ret;
@@ -178,10 +183,10 @@ static int mox_get_board_info(struct mox_rwtm *rwtm)
ret = mox_get_status(MBOX_CMD_BOARD_INFO, reply->retval);
if (ret == -ENODATA) {
- dev_warn(rwtm->dev,
+ dev_warn(dev,
"Board does not have manufacturing information burned!\n");
} else if (ret == -ENOSYS) {
- dev_notice(rwtm->dev,
+ dev_notice(dev,
"Firmware does not support the BOARD_INFO command\n");
} else if (ret < 0) {
return ret;
@@ -213,9 +218,9 @@ static int mox_get_board_info(struct mox_rwtm *rwtm)
ret = mox_get_status(MBOX_CMD_ECDSA_PUB_KEY, reply->retval);
if (ret == -ENODATA) {
- dev_warn(rwtm->dev, "Board has no public key burned!\n");
+ dev_warn(dev, "Board has no public key burned!\n");
} else if (ret == -ENOSYS) {
- dev_notice(rwtm->dev,
+ dev_notice(dev,
"Firmware does not support the ECDSA_PUB_KEY command\n");
} else if (ret < 0) {
return ret;
@@ -416,7 +421,7 @@ static void rwtm_register_debugfs(struct mox_rwtm *rwtm)
debugfs_create_file_unsafe("do_sign", 0600, root, rwtm, &do_sign_fops);
- devm_add_action_or_reset(rwtm->dev, rwtm_debugfs_release, root);
+ devm_add_action_or_reset(rwtm_dev(rwtm), rwtm_debugfs_release, root);
}
#else
static inline void rwtm_register_debugfs(struct mox_rwtm *rwtm)
@@ -444,7 +449,6 @@ static int turris_mox_rwtm_probe(struct platform_device *pdev)
if (!rwtm)
return -ENOMEM;
- rwtm->dev = dev;
rwtm->buf = dmam_alloc_coherent(dev, RWTM_DMA_BUFFER_SIZE,
&rwtm->buf_phys, GFP_KERNEL);
if (!rwtm->buf)