2023-11-22 12:58:21

by Viacheslav

[permalink] [raw]
Subject: [PATCH 2/5] soc: amlogic: meson-gx-socinfo: move common code to exported function

Move common code fill soc_device_attribute to common function for
later use

Signed-off-by: Viacheslav Bocharov <[email protected]>
---
.../soc/amlogic/meson-gx-socinfo-internal.h | 3 +++
drivers/soc/amlogic/meson-gx-socinfo.c | 26 ++++++++++++-------
2 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/drivers/soc/amlogic/meson-gx-socinfo-internal.h b/drivers/soc/amlogic/meson-gx-socinfo-internal.h
index 884cf8fb580f..5a742cc16fc8 100644
--- a/drivers/soc/amlogic/meson-gx-socinfo-internal.h
+++ b/drivers/soc/amlogic/meson-gx-socinfo-internal.h
@@ -95,5 +95,8 @@ static inline unsigned int socinfo_to_misc(u32 socinfo)
return FIELD_GET(SOCINFO_MISC, socinfo);
}

+int meson_gx_socinfo_prepare_soc_driver_attr(struct soc_device_attribute *soc_dev_attr,
+ unsigned int socattr);
+
#endif /* _MESON_GX_SOCINFO_INTERNAL_H_ */

diff --git a/drivers/soc/amlogic/meson-gx-socinfo.c b/drivers/soc/amlogic/meson-gx-socinfo.c
index 9d7921c0fb91..8cf69dd238ee 100644
--- a/drivers/soc/amlogic/meson-gx-socinfo.c
+++ b/drivers/soc/amlogic/meson-gx-socinfo.c
@@ -47,6 +47,22 @@ static const char *socinfo_to_soc_id(u32 socinfo)
return "Unknown";
}

+int meson_gx_socinfo_prepare_soc_driver_attr(struct soc_device_attribute *soc_dev_attr,
+ unsigned int socattr)
+{
+ soc_dev_attr->family = "Amlogic Meson";
+ soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%x:%x - %x:%x",
+ socinfo_to_major(socattr),
+ socinfo_to_minor(socattr),
+ socinfo_to_pack(socattr),
+ socinfo_to_misc(socattr));
+ soc_dev_attr->soc_id = kasprintf(GFP_KERNEL, "%s (%s)",
+ socinfo_to_soc_id(socattr),
+ socinfo_to_package_id(socattr));
+ return 0;
+}
+EXPORT_SYMBOL(meson_gx_socinfo_prepare_soc_driver_attr);
+
static int __init meson_gx_socinfo_init(void)
{
struct soc_device_attribute *soc_dev_attr;
@@ -95,15 +111,7 @@ static int __init meson_gx_socinfo_init(void)
if (!soc_dev_attr)
return -ENODEV;

- soc_dev_attr->family = "Amlogic Meson";
- soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%x:%x - %x:%x",
- socinfo_to_major(socinfo),
- socinfo_to_minor(socinfo),
- socinfo_to_pack(socinfo),
- socinfo_to_misc(socinfo));
- soc_dev_attr->soc_id = kasprintf(GFP_KERNEL, "%s (%s)",
- socinfo_to_soc_id(socinfo),
- socinfo_to_package_id(socinfo));
+ meson_gx_socinfo_prepare_soc_driver_attr(soc_dev_attr, socinfo);

soc_dev = soc_device_register(soc_dev_attr);
if (IS_ERR(soc_dev)) {
--
2.34.1