[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CH0PR11MB5313739D44B3F79388183DDEF5E99@CH0PR11MB5313.namprd11.prod.outlook.com>
Date: Tue, 27 Jul 2021 02:32:23 +0000
From: "Zhang, Rui" <rui.zhang@...el.com>
To: "Pawnikar, Sumeet R" <sumeet.r.pawnikar@...el.com>,
"srinivas.pandruvada@...ux.intel.com"
<srinivas.pandruvada@...ux.intel.com>,
"daniel.lezcano@...aro.org" <daniel.lezcano@...aro.org>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] thermal: int340x: Use IMOK independently
> -----Original Message-----
> From: Pawnikar, Sumeet R <sumeet.r.pawnikar@...el.com>
> Sent: Saturday, July 17, 2021 12:40 AM
> To: Zhang, Rui <rui.zhang@...el.com>; srinivas.pandruvada@...ux.intel.com;
> daniel.lezcano@...aro.org; linux-pm@...r.kernel.org; linux-
> kernel@...r.kernel.org
> Cc: Pawnikar, Sumeet R <sumeet.r.pawnikar@...el.com>
> Subject: [PATCH] thermal: int340x: Use IMOK independently
> Importance: High
>
> Some chrome platform requires IMOK method in coreboot. But these
> platforms don't use GDDV data vault in coreboot. As per current code flow,
> to enable and use IMOK only, we need to have GDDV support as well in
> coreboot. This patch removes the dependency for IMOK from GDDV to
> enable and use IMOK independently.
>
> Signed-off-by: Sumeet Pawnikar <sumeet.r.pawnikar@...el.com>
Acked-by: Zhang Rui <rui.zhang@...el.com>
Thanks,
Rui
> ---
> .../intel/int340x_thermal/int3400_thermal.c | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
> b/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
> index 823354a1a91a..19926beeb3b7 100644
> --- a/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
> +++ b/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
> @@ -108,9 +108,12 @@ static struct attribute *imok_attr[] = {
> NULL
> };
>
> +static const struct attribute_group imok_attribute_group = {
> + .attrs = imok_attr,
> +};
> +
> static const struct attribute_group data_attribute_group = {
> .bin_attrs = data_attributes,
> - .attrs = imok_attr,
> };
>
> static ssize_t available_uuids_show(struct device *dev, @@ -522,6 +525,12
> @@ static int int3400_thermal_probe(struct platform_device *pdev)
> if (result)
> goto free_rel_misc;
>
> + if (acpi_has_method(priv->adev->handle, "IMOK")) {
> + result = sysfs_create_group(&pdev->dev.kobj,
> &imok_attribute_group);
> + if (result)
> + goto free_imok;
> + }
> +
> if (priv->data_vault) {
> result = sysfs_create_group(&pdev->dev.kobj,
> &data_attribute_group);
> @@ -545,6 +554,8 @@ static int int3400_thermal_probe(struct
> platform_device *pdev)
> }
> free_uuid:
> sysfs_remove_group(&pdev->dev.kobj, &uuid_attribute_group);
> +free_imok:
> + sysfs_remove_group(&pdev->dev.kobj, &imok_attribute_group);
> free_rel_misc:
> if (!priv->rel_misc_dev_res)
> acpi_thermal_rel_misc_device_remove(priv->adev->handle);
> @@ -573,6 +584,7 @@ static int int3400_thermal_remove(struct
> platform_device *pdev)
> if (priv->data_vault)
> sysfs_remove_group(&pdev->dev.kobj,
> &data_attribute_group);
> sysfs_remove_group(&pdev->dev.kobj, &uuid_attribute_group);
> + sysfs_remove_group(&pdev->dev.kobj, &imok_attribute_group);
> thermal_zone_device_unregister(priv->thermal);
> kfree(priv->data_vault);
> kfree(priv->trts);
> --
> 2.17.1
Powered by blists - more mailing lists