[pwrmgr/dif] Pass input argument by value
The function `dif_pwrmgr_irq_restore_all()` has an input argument
`snapshot`, which is passed as pointer, but used as normal value. It's
an integer, so we can easily pass it by value.
Change triggered by a GCC 11 warning about a maybe unitialized variable.
Signed-off-by: Philipp Wagner <phw@lowrisc.org>
diff --git a/sw/device/lib/dif/dif_pwrmgr.c b/sw/device/lib/dif/dif_pwrmgr.c
index b106f67..d94f6a1 100644
--- a/sw/device/lib/dif/dif_pwrmgr.c
+++ b/sw/device/lib/dif/dif_pwrmgr.c
@@ -585,12 +585,12 @@
}
dif_pwrmgr_result_t dif_pwrmgr_irq_restore_all(
- const dif_pwrmgr_t *pwrmgr, const dif_pwrmgr_irq_snapshot_t *snapshot) {
- if (pwrmgr == NULL || snapshot == NULL) {
+ const dif_pwrmgr_t *pwrmgr, dif_pwrmgr_irq_snapshot_t snapshot) {
+ if (pwrmgr == NULL) {
return kDifPwrmgrBadArg;
}
mmio_region_write32(pwrmgr->params.base_addr, PWRMGR_INTR_ENABLE_REG_OFFSET,
- *snapshot);
+ snapshot);
return kDifPwrmgrOk;
}
diff --git a/sw/device/lib/dif/dif_pwrmgr.h b/sw/device/lib/dif/dif_pwrmgr.h
index dccd92a..e444ae0 100644
--- a/sw/device/lib/dif/dif_pwrmgr.h
+++ b/sw/device/lib/dif/dif_pwrmgr.h
@@ -563,7 +563,7 @@
*/
DIF_WARN_UNUSED_RESULT
dif_pwrmgr_result_t dif_pwrmgr_irq_restore_all(
- const dif_pwrmgr_t *pwrmgr, const dif_pwrmgr_irq_snapshot_t *snapshot);
+ const dif_pwrmgr_t *pwrmgr, dif_pwrmgr_irq_snapshot_t snapshot);
#ifdef __cplusplus
} // extern "C"
diff --git a/sw/device/lib/dif/dif_pwrmgr_unittest.cc b/sw/device/lib/dif/dif_pwrmgr_unittest.cc
index 5a7e359..25c143e 100644
--- a/sw/device/lib/dif/dif_pwrmgr_unittest.cc
+++ b/sw/device/lib/dif/dif_pwrmgr_unittest.cc
@@ -883,11 +883,7 @@
}
TEST_F(IrqTest, RestoreAllBadArgs) {
- dif_pwrmgr_irq_snapshot_t snapshot;
-
- EXPECT_EQ(dif_pwrmgr_irq_restore_all(nullptr, &snapshot), kDifPwrmgrBadArg);
- EXPECT_EQ(dif_pwrmgr_irq_restore_all(&pwrmgr_, nullptr), kDifPwrmgrBadArg);
- EXPECT_EQ(dif_pwrmgr_irq_restore_all(nullptr, nullptr), kDifPwrmgrBadArg);
+ EXPECT_EQ(dif_pwrmgr_irq_restore_all(nullptr, 0), kDifPwrmgrBadArg);
}
TEST_F(IrqTest, RestoreAll) {
@@ -895,7 +891,7 @@
EXPECT_WRITE32(PWRMGR_INTR_ENABLE_REG_OFFSET, snapshot);
- EXPECT_EQ(dif_pwrmgr_irq_restore_all(&pwrmgr_, &snapshot), kDifPwrmgrOk);
+ EXPECT_EQ(dif_pwrmgr_irq_restore_all(&pwrmgr_, snapshot), kDifPwrmgrOk);
}
} // namespace