Message ID | 20250410070623.3676647-4-sakari.ailus@linux.intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Use a local device pointer for hwrng drivers instead of casting constantly | expand |
Hi Sakari, kernel test robot noticed the following build errors: [auto build test ERROR on char-misc/char-misc-testing] [also build test ERROR on char-misc/char-misc-next char-misc/char-misc-linus herbert-cryptodev-2.6/master linus/master v6.15-rc1 next-20250410] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Sakari-Ailus/hwrng-atmel-Add-a-local-variable-for-struct-device-pointer/20250410-151223 base: char-misc/char-misc-testing patch link: https://lore.kernel.org/r/20250410070623.3676647-4-sakari.ailus%40linux.intel.com patch subject: [PATCH 3/3] hwrng: npcm - Add a local variable for struct device pointer config: csky-randconfig-001-20250410 (https://download.01.org/0day-ci/archive/20250410/202504101705.PeW9QC3m-lkp@intel.com/config) compiler: csky-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250410/202504101705.PeW9QC3m-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202504101705.PeW9QC3m-lkp@intel.com/ All error/warnings (new ones prefixed by >>): drivers/char/hw_random/npcm-rng.c: In function 'npcm_rng_read': >> drivers/char/hw_random/npcm-rng.c:58:9: error: expected ',' or ';' before 'int' 58 | int retval = 0; | ^~~ >> drivers/char/hw_random/npcm-rng.c:78:17: error: 'retval' undeclared (first use in this function) 78 | retval++; | ^~~~~~ drivers/char/hw_random/npcm-rng.c:78:17: note: each undeclared identifier is reported only once for each function it appears in >> drivers/char/hw_random/npcm-rng.c:87:1: warning: control reaches end of non-void function [-Wreturn-type] 87 | } | ^ vim +58 drivers/char/hw_random/npcm-rng.c c98429297d8b25a Tomer Maimon 2019-09-12 53 c98429297d8b25a Tomer Maimon 2019-09-12 54 static int npcm_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) c98429297d8b25a Tomer Maimon 2019-09-12 55 { c98429297d8b25a Tomer Maimon 2019-09-12 56 struct npcm_rng *priv = to_npcm_rng(rng); 11fd03b27c8824f Sakari Ailus 2025-04-10 57 struct device *dev = (struct device *)priv->rng.priv c98429297d8b25a Tomer Maimon 2019-09-12 @58 int retval = 0; c98429297d8b25a Tomer Maimon 2019-09-12 59 int ready; c98429297d8b25a Tomer Maimon 2019-09-12 60 11fd03b27c8824f Sakari Ailus 2025-04-10 61 pm_runtime_get_sync(dev); c98429297d8b25a Tomer Maimon 2019-09-12 62 c2fb644638ae45c Tomer Maimon 2020-09-24 63 while (max) { c98429297d8b25a Tomer Maimon 2019-09-12 64 if (wait) { c2fb644638ae45c Tomer Maimon 2020-09-24 65 if (readb_poll_timeout(priv->base + NPCM_RNGCS_REG, c98429297d8b25a Tomer Maimon 2019-09-12 66 ready, c98429297d8b25a Tomer Maimon 2019-09-12 67 ready & NPCM_RNG_DATA_VALID, c98429297d8b25a Tomer Maimon 2019-09-12 68 NPCM_RNG_POLL_USEC, c98429297d8b25a Tomer Maimon 2019-09-12 69 NPCM_RNG_TIMEOUT_USEC)) c98429297d8b25a Tomer Maimon 2019-09-12 70 break; c98429297d8b25a Tomer Maimon 2019-09-12 71 } else { c2fb644638ae45c Tomer Maimon 2020-09-24 72 if ((readb(priv->base + NPCM_RNGCS_REG) & c98429297d8b25a Tomer Maimon 2019-09-12 73 NPCM_RNG_DATA_VALID) == 0) c98429297d8b25a Tomer Maimon 2019-09-12 74 break; c98429297d8b25a Tomer Maimon 2019-09-12 75 } c98429297d8b25a Tomer Maimon 2019-09-12 76 c2fb644638ae45c Tomer Maimon 2020-09-24 77 *(u8 *)buf = readb(priv->base + NPCM_RNGD_REG); c2fb644638ae45c Tomer Maimon 2020-09-24 @78 retval++; c2fb644638ae45c Tomer Maimon 2020-09-24 79 buf++; c2fb644638ae45c Tomer Maimon 2020-09-24 80 max--; c98429297d8b25a Tomer Maimon 2019-09-12 81 } c98429297d8b25a Tomer Maimon 2019-09-12 82 11fd03b27c8824f Sakari Ailus 2025-04-10 83 pm_runtime_mark_last_busy(dev); 11fd03b27c8824f Sakari Ailus 2025-04-10 84 pm_runtime_put_sync_autosuspend(dev); c98429297d8b25a Tomer Maimon 2019-09-12 85 c98429297d8b25a Tomer Maimon 2019-09-12 86 return retval || !wait ? retval : -EIO; c98429297d8b25a Tomer Maimon 2019-09-12 @87 } c98429297d8b25a Tomer Maimon 2019-09-12 88
Hi Sakari, kernel test robot noticed the following build errors: [auto build test ERROR on char-misc/char-misc-testing] [also build test ERROR on char-misc/char-misc-next char-misc/char-misc-linus herbert-cryptodev-2.6/master linus/master v6.15-rc1 next-20250410] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Sakari-Ailus/hwrng-atmel-Add-a-local-variable-for-struct-device-pointer/20250410-151223 base: char-misc/char-misc-testing patch link: https://lore.kernel.org/r/20250410070623.3676647-4-sakari.ailus%40linux.intel.com patch subject: [PATCH 3/3] hwrng: npcm - Add a local variable for struct device pointer config: arm-randconfig-001-20250410 (https://download.01.org/0day-ci/archive/20250410/202504102028.H0evWtkl-lkp@intel.com/config) compiler: clang version 19.1.1 (https://github.com/llvm/llvm-project d401987fe349a87c53fe25829215b080b70c0c1a) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250410/202504102028.H0evWtkl-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202504102028.H0evWtkl-lkp@intel.com/ All errors (new ones prefixed by >>): >> drivers/char/hw_random/npcm-rng.c:57:54: error: expected ';' at end of declaration 57 | struct device *dev = (struct device *)priv->rng.priv | ^ | ; 1 error generated. vim +57 drivers/char/hw_random/npcm-rng.c 53 54 static int npcm_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) 55 { 56 struct npcm_rng *priv = to_npcm_rng(rng); > 57 struct device *dev = (struct device *)priv->rng.priv 58 int retval = 0; 59 int ready; 60 61 pm_runtime_get_sync(dev); 62 63 while (max) { 64 if (wait) { 65 if (readb_poll_timeout(priv->base + NPCM_RNGCS_REG, 66 ready, 67 ready & NPCM_RNG_DATA_VALID, 68 NPCM_RNG_POLL_USEC, 69 NPCM_RNG_TIMEOUT_USEC)) 70 break; 71 } else { 72 if ((readb(priv->base + NPCM_RNGCS_REG) & 73 NPCM_RNG_DATA_VALID) == 0) 74 break; 75 } 76 77 *(u8 *)buf = readb(priv->base + NPCM_RNGD_REG); 78 retval++; 79 buf++; 80 max--; 81 } 82 83 pm_runtime_mark_last_busy(dev); 84 pm_runtime_put_sync_autosuspend(dev); 85 86 return retval || !wait ? retval : -EIO; 87 } 88
diff --git a/drivers/char/hw_random/npcm-rng.c b/drivers/char/hw_random/npcm-rng.c index 9ff00f096f38..beec96391af7 100644 --- a/drivers/char/hw_random/npcm-rng.c +++ b/drivers/char/hw_random/npcm-rng.c @@ -54,10 +54,11 @@ static void npcm_rng_cleanup(struct hwrng *rng) static int npcm_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) { struct npcm_rng *priv = to_npcm_rng(rng); + struct device *dev = (struct device *)priv->rng.priv int retval = 0; int ready; - pm_runtime_get_sync((struct device *)priv->rng.priv); + pm_runtime_get_sync(dev); while (max) { if (wait) { @@ -79,8 +80,8 @@ static int npcm_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) max--; } - pm_runtime_mark_last_busy((struct device *)priv->rng.priv); - pm_runtime_put_sync_autosuspend((struct device *)priv->rng.priv); + pm_runtime_mark_last_busy(dev); + pm_runtime_put_sync_autosuspend(dev); return retval || !wait ? retval : -EIO; }
Add a local variable for a struct device pointer instead of obtaining the hwrng priv field and casting it as a struct device pointer whenever it's needed. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> --- drivers/char/hw_random/npcm-rng.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)