[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20231122125643.1717160-3-adeep@lexina.in>
Date: Wed, 22 Nov 2023 15:56:40 +0300
From: Viacheslav Bocharov <adeep@...ina.in>
To: Neil Armstrong <neil.armstrong@...aro.org>,
Jerome Brunet <jbrunet@...libre.com>,
Kevin Hilman <khilman@...libre.com>,
Martin Blumenstingl <martin.blumenstingl@...glemail.com>,
linux-amlogic@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org
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 <adeep@...ina.in>
---
.../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
Powered by blists - more mailing lists