Lee, Chun-Yi 60c9fd
From: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com>
Lee, Chun-Yi 60c9fd
Date: Sun, 12 Dec 2021 23:35:25 +0530
Lee, Chun-Yi 60c9fd
Subject: ACPI: APD: Add a fmw property clk-name
Lee, Chun-Yi 60c9fd
Patch-mainline: v5.17-rc1
Lee, Chun-Yi 60c9fd
Git-commit: 7fdb98e8a768b3ccc05494d3ea4436047f512b9d
Lee, Chun-Yi 60c9fd
References: jsc#PED-1408
Lee, Chun-Yi 60c9fd
Lee, Chun-Yi 60c9fd
Add a new device property to fetch clk-name from firmware.
Lee, Chun-Yi 60c9fd
Lee, Chun-Yi 60c9fd
Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com>
Lee, Chun-Yi 60c9fd
Reviewed-by: Mario Limonciello <Mario.Limonciello@amd.com>
Lee, Chun-Yi 60c9fd
Link: https://lore.kernel.org/r/20211212180527.1641362-4-AjitKumar.Pandey@amd.com
Lee, Chun-Yi 60c9fd
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Lee, Chun-Yi 60c9fd
Acked-by: Lee, Chun-Yi <jlee@suse.com>
Lee, Chun-Yi 60c9fd
---
Lee, Chun-Yi 60c9fd
 drivers/acpi/acpi_apd.c               |   10 ++++++++++
Lee, Chun-Yi 60c9fd
 include/linux/platform_data/clk-fch.h |    1 +
Lee, Chun-Yi 60c9fd
 2 files changed, 11 insertions(+)
Lee, Chun-Yi 60c9fd
Lee, Chun-Yi 60c9fd
--- a/drivers/acpi/acpi_apd.c
Lee, Chun-Yi 60c9fd
+++ b/drivers/acpi/acpi_apd.c
Lee, Chun-Yi 60c9fd
@@ -87,6 +87,16 @@ static int fch_misc_setup(struct apd_pri
Lee, Chun-Yi 60c9fd
 	if (ret < 0)
Lee, Chun-Yi 60c9fd
 		return -ENOENT;
Lee, Chun-Yi 60c9fd
 
Lee, Chun-Yi 60c9fd
+	if (!acpi_dev_get_property(adev, "clk-name", ACPI_TYPE_STRING, &obj)) {
Lee, Chun-Yi 60c9fd
+		clk_data->name = devm_kzalloc(&adev->dev, obj->string.length,
Lee, Chun-Yi 60c9fd
+					      GFP_KERNEL);
Lee, Chun-Yi 60c9fd
+
Lee, Chun-Yi 60c9fd
+		strcpy(clk_data->name, obj->string.pointer);
Lee, Chun-Yi 60c9fd
+	} else {
Lee, Chun-Yi 60c9fd
+		/* Set default name to mclk if entry missing in firmware */
Lee, Chun-Yi 60c9fd
+		clk_data->name = "mclk";
Lee, Chun-Yi 60c9fd
+	}
Lee, Chun-Yi 60c9fd
+
Lee, Chun-Yi 60c9fd
 	list_for_each_entry(rentry, &resource_list, node) {
Lee, Chun-Yi 60c9fd
 		clk_data->base = devm_ioremap(&adev->dev, rentry->res->start,
Lee, Chun-Yi 60c9fd
 					      resource_size(rentry->res));
Lee, Chun-Yi 60c9fd
--- a/include/linux/platform_data/clk-fch.h
Lee, Chun-Yi 60c9fd
+++ b/include/linux/platform_data/clk-fch.h
Lee, Chun-Yi 60c9fd
@@ -12,6 +12,7 @@
Lee, Chun-Yi 60c9fd
 
Lee, Chun-Yi 60c9fd
 struct fch_clk_data {
Lee, Chun-Yi 60c9fd
 	void __iomem *base;
Lee, Chun-Yi 60c9fd
+	char *name;
Lee, Chun-Yi 60c9fd
 };
Lee, Chun-Yi 60c9fd
 
Lee, Chun-Yi 60c9fd
 #endif /* __CLK_FCH_H */