socinfo
platform_set_drvdata(pdev, socinfo);
struct platform_device *socinfo = platform_get_drvdata(pdev);
if (!IS_ERR_OR_NULL(socinfo))
platform_device_unregister(socinfo);
struct platform_device *socinfo;
socinfo = platform_device_register_data(&pdev->dev, "mtk-socinfo",
if (IS_ERR(socinfo))
return FIELD_GET(SOCINFO_MAJOR, socinfo);
static inline unsigned int socinfo_to_minor(u32 socinfo)
return FIELD_GET(SOCINFO_MINOR, socinfo);
static inline unsigned int socinfo_to_pack(u32 socinfo)
return FIELD_GET(SOCINFO_PACK, socinfo);
static inline unsigned int socinfo_to_misc(u32 socinfo)
return FIELD_GET(SOCINFO_MISC, socinfo);
static const char *socinfo_to_package_id(u32 socinfo)
unsigned int pack = socinfo_to_pack(socinfo);
unsigned int major = socinfo_to_major(socinfo);
static const char *socinfo_to_soc_id(u32 socinfo)
unsigned int id = socinfo_to_major(socinfo);
unsigned int socinfo;
ret = regmap_read(regmap, AO_SEC_SOCINFO_OFFSET, &socinfo);
if (!socinfo) {
socinfo_to_major(socinfo),
socinfo_to_minor(socinfo),
socinfo_to_pack(socinfo),
socinfo_to_misc(socinfo));
socinfo_to_soc_id(socinfo),
socinfo_to_package_id(socinfo));
socinfo_to_major(socinfo),
socinfo_to_minor(socinfo),
socinfo_to_pack(socinfo),
socinfo_to_misc(socinfo));
static inline unsigned int socinfo_to_major(u32 socinfo)
smem->socinfo = platform_device_register_data(&pdev->dev, "qcom-socinfo",
if (IS_ERR(smem->socinfo))
platform_device_unregister(__smem->socinfo);
struct platform_device *socinfo;
struct socinfo *info;
struct socinfo *info;
struct socinfo *socinfo = seq->private;
seq_printf(seq, "%s\n", socinfo->build_id);
struct socinfo *socinfo = seq->private;
int model = SOCINFO_MINOR(le32_to_cpu(socinfo->pmic_model));
struct socinfo *socinfo = seq->private;
unsigned int num_pmics = le32_to_cpu(socinfo->num_pmics);
unsigned int pmic_array_offset = le32_to_cpu(socinfo->pmic_array_offset);
void *ptr = socinfo;
struct socinfo *socinfo = seq->private;
SOCINFO_MAJOR(le32_to_cpu(socinfo->pmic_die_rev)),
SOCINFO_MINOR(le32_to_cpu(socinfo->pmic_die_rev)));
struct socinfo *socinfo = seq->private;
seq_printf(seq, "%s\n", socinfo->chip_id);
struct socinfo *info, size_t info_size)
struct socinfo *info, size_t info_size)
struct socinfo *info;
if (offsetofend(struct socinfo, serial_num) <= item_size) {