Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fe7d3685 authored by Christophe Ricard's avatar Christophe Ricard Committed by Peter Huewe
Browse files

tpm/tpm_i2c_stm_st33: Replace access to io_lpcpd from struct st33zp24_platform_data to tpm_stm_dev



io_lpcpd is accessible from struct tpm_stm_dev.
struct st33zp24_platform_data is only valid when using static platform
configuration data, not when using dts.

Reviewed-by: default avatarJason Gunthorpe <jason.gunthorpe@obsidianresearch.com>
Signed-off-by: default avatarChristophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: default avatarPeter Huewe <peterhuewe@gmx.de>
parent 34d47b63
Loading
Loading
Loading
Loading
+11 −7
Original line number Diff line number Diff line
@@ -837,11 +837,14 @@ static int tpm_stm_i2c_remove(struct i2c_client *client)
 */
static int tpm_stm_i2c_pm_suspend(struct device *dev)
{
	struct st33zp24_platform_data *pin_infos = dev->platform_data;
	struct tpm_chip *chip = dev_get_drvdata(dev);
	struct tpm_stm_dev *tpm_dev;
	int ret = 0;

	if (gpio_is_valid(pin_infos->io_lpcpd))
		gpio_set_value(pin_infos->io_lpcpd, 0);
	tpm_dev = (struct tpm_stm_dev *)TPM_VPRIV(chip);

	if (gpio_is_valid(tpm_dev->io_lpcpd))
		gpio_set_value(tpm_dev->io_lpcpd, 0);
	else
		ret = tpm_pm_suspend(dev);

@@ -856,12 +859,13 @@ static int tpm_stm_i2c_pm_suspend(struct device *dev)
static int tpm_stm_i2c_pm_resume(struct device *dev)
{
	struct tpm_chip *chip = dev_get_drvdata(dev);
	struct st33zp24_platform_data *pin_infos = dev->platform_data;

	struct tpm_stm_dev *tpm_dev;
	int ret = 0;

	if (gpio_is_valid(pin_infos->io_lpcpd)) {
		gpio_set_value(pin_infos->io_lpcpd, 1);
	tpm_dev = (struct tpm_stm_dev *)TPM_VPRIV(chip);

	if (gpio_is_valid(tpm_dev->io_lpcpd)) {
		gpio_set_value(tpm_dev->io_lpcpd, 1);
		ret = wait_for_stat(chip,
				TPM_STS_VALID, chip->vendor.timeout_b,
				&chip->vendor.read_queue, false);