Move common code fill soc_device_attribute to common function for later use Signed-off-by: Viacheslav Bocharov <adeep@xxxxxxxxx> --- .../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