Messages in this thread |  | | From | "Zhang, Rui" <> | Subject | RE: [PATCH] thermal: int340x: Use IMOK independently | Date | Tue, 27 Jul 2021 02:32:23 +0000 |
| |
> -----Original Message----- > From: Pawnikar, Sumeet R <sumeet.r.pawnikar@intel.com> > Sent: Saturday, July 17, 2021 12:40 AM > To: Zhang, Rui <rui.zhang@intel.com>; srinivas.pandruvada@linux.intel.com; > daniel.lezcano@linaro.org; linux-pm@vger.kernel.org; linux- > kernel@vger.kernel.org > Cc: Pawnikar, Sumeet R <sumeet.r.pawnikar@intel.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@intel.com>
Acked-by: Zhang Rui <rui.zhang@intel.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
|  |