The first 5 patches restructure the code to make it easier to support ACPI and platform device based probing. The 6th patch adds the ACPI support, reading the ACPI table and decoding the data. The 7th patch adds support for non-ACPI based probing on family 0x1A and model 0x00-0x0F as we support both methods. The 8th patch checks if number of sockets is not more than maximum supported sockets in the system. The 9th patch replaces devm_kzalloc() with devm_kcalloc() and few cosemetic changes. Patch 1: In case of ACPI based probing, mailbox registers are read from ACPI table which is possible only in the probe(). So, message HSMP_TEST will not succeed during platform init time. Hence, move hsmp_test() to probe. Patch 2: Cache pci device object of root complex in struct hsmp_socket. This will make amd_hsmp_rdrw() work with both the methods. Patch 3: Move platform_device_alloc() and add() to a function to make it easier to add a condition check for non acpi. Patch 4: Create struct hsmp_mbaddr_info to contain all the mailbox register information for ACPI and non-ACPI methods. Patch 5: Move struct device pointer to struct hsmp_socket to isolate multiple probes in multi socket system. Patch 6: Convert probe to ACPI based probing with maintinaing support for platform device probing. Patch 7: Support non-ACPI based BIOS on family 0x1A model 0~Fh. Patch 8: Check plat_dev.num_sockets against MAX_AMD_SOCKETS. Patch 9: Replace devm_kzalloc() to devm_kcalloc() and cosmetic changes. The patches are rebased on https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans No issue found. Suma Hegde (9): platform/x86/amd/hsmp: Move hsmp_test to probe platform/x86/amd/hsmp: Cache pci_dev in struct hsmp_socket platform/x86/amd/hsmp: Create static func to handle platdev platform/x86/amd/hsmp: Define a struct to hold mailbox regs platform/x86/amd/hsmp: Move dev from platdev to hsmp_socket platform/x86/amd/hsmp: Add support for ACPI based probing platform/x86/amd/hsmp: Non-ACPI support for AMD F1A_M00~0Fh platform/x86/amd/hsmp: Check num_sockets against MAX_AMD_SOCKETS platform/x86/amd/hsmp: Change devm_kzalloc() to devm_kcalloc() drivers/platform/x86/amd/hsmp.c | 579 +++++++++++++++++++++++++------- 1 file changed, 463 insertions(+), 116 deletions(-) -- 2.25.1