On 28/03/2024 18:01, Krzysztof Kozlowski wrote: > On 28/03/2024 14:36, Krzysztof Kozlowski wrote: >>> + >>> +static UNIVERSAL_DEV_PM_OPS(exyswd_rng_pm_ops, exyswd_rng_suspend, >>> + exyswd_rng_resume, NULL); >>> + >>> +static struct platform_driver exyswd_rng_driver = { >>> + .probe = exyswd_rng_probe, >>> + .remove = exyswd_rng_remove, >>> + .driver = { >>> + .name = DRVNAME, >>> + .owner = THIS_MODULE, >> >> So this was fixed ~8-10 years ago. Yet it re-appears. Please do not use >> downstream code as template. >> >> Take upstream driver and either change it or customize it. > > Alex Elder pointed out that some of my comments might not be precise or > not helping enough. Let me clarify then: > > Please run all standard, open-source tools when submitting new driver, > which is: > 1. Coccinelle, which points to this specific line since 2014, > 2. smatch, > 3. sparse, > 4. checkpatch, > 5. If changing bindings: dt_binding_check, > 6. If changing DTS or bindings: dtbs_check. And I forgot: 7. make W=1 Many of these, including W=1 above, can be with target, e.g. `make W=1 drivers/char/hw_random/` to reduce the scope of tests/warnings etc. Best regards, Krzysztof