Commit be60348a authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge back earlier int340x thermal driver changes for 5.19.

parents d0f6cfb2 ad47f834
Loading
Loading
Loading
Loading
+9 −15
Original line number Diff line number Diff line
@@ -169,27 +169,24 @@ static int int3400_thermal_run_osc(acpi_handle handle, char *uuid_str, int *enab
	acpi_status status;
	int result = 0;
	struct acpi_osc_context context = {
		.uuid_str = NULL,
		.uuid_str = uuid_str,
		.rev = 1,
		.cap.length = 8,
		.cap.pointer = buf,
	};

	context.uuid_str = uuid_str;

	buf[OSC_QUERY_DWORD] = 0;
	buf[OSC_SUPPORT_DWORD] = *enable;

	context.cap.pointer = buf;

	status = acpi_run_osc(handle, &context);
	if (ACPI_SUCCESS(status)) {
		ret = *((u32 *)(context.ret.pointer + 4));
		if (ret != *enable)
			result = -EPERM;
	} else
		result = -EPERM;

		kfree(context.ret.pointer);
	} else
		result = -EPERM;

	return result;
}
@@ -508,21 +505,18 @@ static void int3400_setup_gddv(struct int3400_thermal_priv *priv)

	obj = buffer.pointer;
	if (obj->type != ACPI_TYPE_PACKAGE || obj->package.count != 1
	    || obj->package.elements[0].type != ACPI_TYPE_BUFFER) {
		kfree(buffer.pointer);
		return;
	}
	    || obj->package.elements[0].type != ACPI_TYPE_BUFFER)
		goto out_free;

	priv->data_vault = kmemdup(obj->package.elements[0].buffer.pointer,
				   obj->package.elements[0].buffer.length,
				   GFP_KERNEL);
	if (!priv->data_vault) {
		kfree(buffer.pointer);
		return;
	}
	if (!priv->data_vault)
		goto out_free;

	bin_attr_data_vault.private = priv->data_vault;
	bin_attr_data_vault.size = obj->package.elements[0].buffer.length;
out_free:
	kfree(buffer.pointer);
}