RE: [PATCH 2/3] hwrng: starfive - Add TRNG driver for StarFive SoC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> Sent: Wednesday, December 21, 2022 5:49 PM
> To: JiaJie Ho <jiajie.ho@xxxxxxxxxxxxxxxx>; Olivia Mackall
> <olivia@xxxxxxxxxxx>; Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>; Rob
> Herring <robh+dt@xxxxxxxxxx>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@xxxxxxxxxx>
> Cc: Emil Renner Berthing <kernel@xxxxxxxx>; Conor Dooley
> <conor.dooley@xxxxxxxxxxxxx>; linux-crypto@xxxxxxxxxxxxxxx;
> devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-
> riscv@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [PATCH 2/3] hwrng: starfive - Add TRNG driver for StarFive SoC
> 
> On 21/12/2022 10:08, Jia Jie Ho wrote:
> > This adds driver support for the hardware random number generator in
> > Starfive SoCs and adds StarFive TRNG entry to MAINTAINERS.
> >
> > Co-developed-by: Jenny Zhang <jenny.zhang@xxxxxxxxxxxxxxxx>
> > Signed-off-by: Jenny Zhang <jenny.zhang@xxxxxxxxxxxxxxxx>
> > Signed-off-by: Jia Jie Ho <jiajie.ho@xxxxxxxxxxxxxxxx>
> > ---
> >  MAINTAINERS                            |   6 +
> >  drivers/char/hw_random/Kconfig         |  11 +
> >  drivers/char/hw_random/Makefile        |   1 +
> >  drivers/char/hw_random/starfive-trng.c | 403
> > +++++++++++++++++++++++++
> >  4 files changed, 421 insertions(+)
> >  create mode 100644 drivers/char/hw_random/starfive-trng.c
> >
> 
> (...)
> 
> > +static const struct of_device_id trng_dt_ids[] = {
> > +	{ .compatible = "starfive,jh7110-trng" },
> > +	{ }
> > +};
> > +MODULE_DEVICE_TABLE(of, trng_dt_ids);
> > +
> > +static struct platform_driver starfive_trng_driver = {
> > +	.probe	= starfive_trng_probe,
> > +	.driver	= {
> > +		.name		= "starfive-trng",
> > +		.pm		= &starfive_trng_pm_ops,
> > +		.of_match_table	= of_match_ptr(trng_dt_ids),
> 
> of_match_ptr goes with __maybe_unused. You will have now warnings, so
> please test more your patches (W=1, sparse, smatch).
> 

Hi Krzysztof,

Thanks for reviewing this patch.
How do I properly handle __maybe_unused functions in this scenario?
Will it help if I add #define as follows:

#ifdef CONFIG_PM
#define STARFIVE_RNG_PM_OPS (&starfive_rng_pm_ops)
#else
#define STARFIVE_RNG_PM_OPS NULL
#endif

static struct platform_driver starfive_trng_driver = {
        .probe  = starfive_trng_probe,
        .driver = {
                .name           = "starfive-trng",
                .pm             = STARFIVE_RNG_PM_OPS,
                .of_match_table = of_match_ptr(trng_dt_ids),
        },
};

I did build the patches with the tools mentioned but did not get warnings.
Do I need a specific version, or have I done something wrong?

make C=2 drivers/char/hw_random/
  CHECK   scripts/mod/empty.c
  CALL    scripts/checksyscalls.sh
  CHECK   arch/riscv/kernel/vdso/vgettimeofday.c
  CHECK   drivers/char/hw_random/core.c
  CHECK   drivers/char/hw_random/starfive-trng.c

Regards,
Jia Jie




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux