On Wed, Sep 17, 2025 at 10:09:00AM -0700, Nathan Chancellor wrote:
> Commit 5c83b07df9c5 ("tpm: Add a driver for Loongson TPM device") has a
> semantic conflict with commit 07d8004d6fb9 ("tpm: add bufsiz parameter
> in the .send callback"), as the former change was developed against a
> tree without the latter change. This results in a build error:
>
> drivers/char/tpm/tpm_loongson.c:48:17: error: initialization of 'int
> (*)(struct tpm_chip *, u8 *, size_t, size_t)' {aka 'int (*)(struct tpm_chip
> *, unsigned char *, long unsigned int, long unsigned int)'} from
> incompatible pointer type 'int (*)(struct tpm_chip *, u8 *, size_t)' {aka
> 'int (*)(struct tpm_chip *, unsigned char *, long unsigned int)'}
> [-Wincompatible-pointer-types]
> 48 | .send = tpm_loongson_send,
> | ^~~~~~~~~~~~~~~~~
> drivers/char/tpm/tpm_loongson.c:48:17: note: (near initialization for
> 'tpm_loongson_ops.send')
> drivers/char/tpm/tpm_loongson.c:31:12: note: 'tpm_loongson_send' declared
> here
> 31 | static int tpm_loongson_send(struct tpm_chip *chip, u8 *buf, size_t
> count)
> | ^~~~~~~~~~~~~~~~~
>
> Add the expected bufsiz parameter to tpm_loongson_send() to resolve the
> error.
>
> Fixes: 5c83b07df9c5 ("tpm: Add a driver for Loongson TPM device")
> Signed-off-by: Nathan Chancellor <[email protected]>
> ---
> This is in Lee's ib-mfd-char-crypto-6.18 [1] so he will need to take it
> but I have CC'd the TPM folks as an FYI.
>
> [1]: https://lore.kernel.org/[email protected]/
> ---
> drivers/char/tpm/tpm_loongson.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/char/tpm/tpm_loongson.c b/drivers/char/tpm/tpm_loongson.c
> index a4ec23639911..9e50250763d1 100644
> --- a/drivers/char/tpm/tpm_loongson.c
> +++ b/drivers/char/tpm/tpm_loongson.c
> @@ -28,7 +28,7 @@ static int tpm_loongson_recv(struct tpm_chip *chip, u8
> *buf, size_t count)
> return cmd_ret->data_len;
> }
>
> -static int tpm_loongson_send(struct tpm_chip *chip, u8 *buf, size_t count)
> +static int tpm_loongson_send(struct tpm_chip *chip, u8 *buf, size_t bufsiz,
> size_t count)
> {
> struct loongson_se_engine *tpm_engine = dev_get_drvdata(&chip->dev);
> struct tpm_loongson_cmd *cmd = tpm_engine->command;
>
> ---
> base-commit: 74fddd5fbab879a7d039d9fb49af923927a64811
> change-id: 20250917-tpm-loongson-add-bufsiz-e43f60016cca
>
> Best regards,
> --
> Nathan Chancellor <[email protected]>
>
Thank you I applied and it's still in time for first 6.18 PR.
BR, Jarkko