> > diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c > > index a353b7a..f20fcb7 100644 > > --- a/drivers/char/tpm/tpm-chip.c > > +++ b/drivers/char/tpm/tpm-chip.c > > @@ -404,8 +404,10 @@ int tpm_chip_register(struct tpm_chip *chip) > > rc = tpm2_auto_startup(chip); > > else > > rc = tpm1_auto_startup(chip); > > - if (rc) > > + if (rc < 0) > > return rc; > > + else if (rc > 0) > > + return -ENODEV; > > So what good this change makes in the end? I'm not sure I'm following.
This is just refactoring the code without changing the functionality. Before this change, tpm*_auto_startup could only return negative error codes (or 0 for success). With this change, tpm*_auto_startup can also return positive errors codes for TPM errors (but still 0 for success). Therefore, tpm_chip_register, the only caller of tpm*_auto_startup, now needs to convert positive error codes to -ENODEV, so that the external behavior is unchanged. > > } > > > > tpm_sysfs_add_device(chip); > > diff --git a/drivers/char/tpm/tpm-interface.c > > b/drivers/char/tpm/tpm-interface.c > > index 78fb41d..fe11f2a 100644 > > --- a/drivers/char/tpm/tpm-interface.c > > +++ b/drivers/char/tpm/tpm-interface.c > > @@ -1000,7 +1000,8 @@ EXPORT_SYMBOL_GPL(tpm_do_selftest); > > * sequence > > * @chip: TPM chip to use > > * > > - * Returns 0 on success, < 0 in case of fatal error. > > + * Returns 0 on success, < 0 in case of fatal error or a value > 0 > > + representing > > + * a TPM error code. > > */ > > A nitpick. > > According to https://www.kernel.org/doc/Documentation/kernel-doc-nano- > HOWTO.txt > you ought to use "Return:" keyword ;-) > > I would favor here: > > "Return: same as with tpm_transmit_cmd()" Agreed. I will fix that together with the rest, once the discussions for the other patches in the series have come to a conclusion. > > int tpm1_auto_startup(struct tpm_chip *chip) { @@ -1015,10 +1016,7 > > @@ int tpm1_auto_startup(struct tpm_chip *chip) > > goto out; > > } > > > > - return rc; > > out: > > - if (rc > 0) > > - rc = -ENODEV; > > return rc; > > } > > > > diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c > > index e1a41b7..54a3123 100644 > > --- a/drivers/char/tpm/tpm2-cmd.c > > +++ b/drivers/char/tpm/tpm2-cmd.c > > @@ -1074,7 +1074,8 @@ static int tpm2_get_cc_attrs_tbl(struct tpm_chip > *chip) > > * sequence > > * @chip: TPM chip to use > > * > > - * Returns 0 on success, < 0 in case of fatal error. > > + * Returns 0 on success, < 0 in case of fatal error or a value > 0 > > + representing > > + * a TPM error code. > > */ > > int tpm2_auto_startup(struct tpm_chip *chip) { @@ -1109,8 +1110,6 @@ > > int tpm2_auto_startup(struct tpm_chip *chip) > > rc = tpm2_get_cc_attrs_tbl(chip); > > > > out: > > - if (rc > 0) > > - rc = -ENODEV; > > return rc; > > } > > > > -- > > 2.7.4 > > > > At this point I can only see aero improvement how the driver works and a > very minor clean up. > > /Jarkko Alexander ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ tpmdd-devel mailing list tpmdd-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tpmdd-devel