On Thu, Feb 27, 2020 at 03:29:14PM -0800, Gayatri Kammela wrote: > Currently pmc_core_lpm_display() uses array of struct pointers i.e., > tgl_lpm_maps for Tiger Lake directly to iterate through and to get the > number of status/live status registers which is hardcoded and cannot > be re-used for future platforms that support sub-states. To maintain > readability, make pmc_core_lpm_display() generic, so that it can re-used > for future platforms. This patch need more work, see below. That said, I would prefer to see it last in the series for next version. ... > + lpm_regs = kmalloc_array(arr_size, sizeof(*lpm_regs), GFP_KERNEL); No error check? Besides that it is obvious memory leak. > + for (index = 0; maps[index]; index++) { > lpm_regs[index] = pmc_core_reg_read(pmcdev, offset); > offset += 4; > } -- With Best Regards, Andy Shevchenko