> > 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

Reply via email to