firmware: imx: scu: use soc name for soc_id
authorPeng Fan <peng.fan@nxp.com>
Mon, 7 Aug 2023 12:14:27 +0000 (20:14 +0800)
committerShawn Guo <shawnguo@kernel.org>
Fri, 11 Aug 2023 14:13:58 +0000 (22:13 +0800)
Same as soc-imx8m and soc-imx driver, use soc name for soc_id which is
user friendly.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
drivers/firmware/imx/imx-scu-soc.c

index 2f32353..4971923 100644 (file)
@@ -78,6 +78,22 @@ static int imx_scu_soc_id(void)
        return msg.data.resp.id;
 }
 
+static const char *imx_scu_soc_name(u32 id)
+{
+       switch (id) {
+       case 0x1:
+               return "i.MX8QM";
+       case 0x2:
+               return "i.MX8QXP";
+       case 0xe:
+               return "i.MX8DXL";
+       default:
+               break;
+       }
+
+       return "NULL";
+}
+
 int imx_scu_soc_init(struct device *dev)
 {
        struct soc_device_attribute *soc_dev_attr;
@@ -113,9 +129,7 @@ int imx_scu_soc_init(struct device *dev)
 
        /* format soc_id value passed from SCU firmware */
        val = id & 0x1f;
-       soc_dev_attr->soc_id = devm_kasprintf(dev, GFP_KERNEL, "0x%x", val);
-       if (!soc_dev_attr->soc_id)
-               return -ENOMEM;
+       soc_dev_attr->soc_id = imx_scu_soc_name(val);
 
        /* format revision value passed from SCU firmware */
        val = (id >> 5) & 0xf;