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

Commit eccc9bb8 authored by Stefan Berger's avatar Stefan Berger Committed by Jarkko Sakkinen
Browse files

tpm: Convert tpm_find_get_ops() to use tpm_default_chip()



Convert tpm_find_get_ops() to use tpm_default_chip() in case no chip
is passed in.

Signed-off-by: default avatarStefan Berger <stefanb@linux.vnet.ibm.com>
Reviewed-by: default avatarJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Tested-by: default avatarJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: default avatarJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
parent aaae8153
Loading
Loading
Loading
Loading
+13 −19
Original line number Diff line number Diff line
@@ -124,29 +124,23 @@ EXPORT_SYMBOL_GPL(tpm_default_chip);
 */
struct tpm_chip *tpm_find_get_ops(struct tpm_chip *chip)
{
	struct tpm_chip *res = NULL;
	int chip_num = 0;
	int chip_prev;

	mutex_lock(&idr_lock);
	int rc;

	if (!chip) {
		do {
			chip_prev = chip_num;
			chip = idr_get_next(&dev_nums_idr, &chip_num);
			if (chip && !tpm_try_get_ops(chip)) {
				res = chip;
				break;
			}
		} while (chip_prev != chip_num);
	} else {
	if (chip) {
		if (!tpm_try_get_ops(chip))
			res = chip;
			return chip;
		return NULL;
	}

	mutex_unlock(&idr_lock);

	return res;
	chip = tpm_default_chip();
	if (!chip)
		return NULL;
	rc = tpm_try_get_ops(chip);
	/* release additional reference we got from tpm_default_chip() */
	put_device(&chip->dev);
	if (rc)
		return NULL;
	return chip;
}

/**