On Thu, 5 Oct 2023, Suma Hegde wrote: > AMD MI300 MCM provides GET_METRICS_TABLE message to retrieve > all the system management information from SMU. > > The metrics table is made available as hexadecimal sysfs binary file > under per socket sysfs directory created at > /sys/devices/platform/amd_hsmp/socket%d/metrics_bin > > Metrics table definitions will be documented as part of Public PPR. > The same is defined in the amd_hsmp.h header. > > Signed-off-by: Suma Hegde <suma.hegde@xxxxxxx> > Reviewed-by: Naveen Krishna Chatradhi <nchatrad@xxxxxxx> > +static int hsmp_create_sysfs_interface(void) > +{ > + const struct attribute_group **hsmp_attr_grps; > + struct bin_attribute **hsmp_bin_attrs; > + struct attribute_group *attr_grp; > + int ret; > + u8 i; > + > + hsmp_attr_grps = devm_kzalloc(plat_dev.dev, sizeof(struct attribute_group *) * > + (plat_dev.num_sockets + 1), GFP_KERNEL); > + if (!hsmp_attr_grps) > + return -ENOMEM; > + > + /* Create a sysfs directory for each socket */ > + for (i = 0; i < plat_dev.num_sockets; i++) { The change for i to u8 seems not very wise given num_sockets still is u16 as it can turn this into an infinite loop. -- i.