diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp
index c00b997eb2..359040ec74 100644
--- a/src/ipa/libipa/camera_sensor_helper.cpp
+++ b/src/ipa/libipa/camera_sensor_helper.cpp
@@ -358,11 +358,13 @@ std::vector<CameraSensorHelperFactoryBase *> &CameraSensorHelperFactoryBase::fac
 
 #ifndef __DOXYGEN__
 
+namespace {
+
 /*
  * Helper function to compute the m parameter of the exponential gain model
  * when the gain code is expressed in dB.
  */
-static constexpr double expGainDb(double step)
+constexpr double expGainDb(double step)
 {
 	constexpr double log2_10 = 3.321928094887362;
 
@@ -465,9 +467,6 @@ public:
 
 		return m * (1 << coarse) / (1.0 - (fine / d1) / d2);
 	}
-
-private:
-	static constexpr double kStep_ = 16;
 };
 REGISTER_CAMERA_SENSOR_HELPER("ar0144", CameraSensorHelperAr0144)
 
@@ -912,6 +911,8 @@ public:
 };
 REGISTER_CAMERA_SENSOR_HELPER("vd56g3", CameraSensorHelperVd56g3)
 
+} /* namespace */
+
 #endif /* __DOXYGEN__ */
 
 } /* namespace ipa */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx219.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx219.cpp
index c9e5479aa6..a43ddcf681 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_imx219.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_imx219.cpp
@@ -21,6 +21,8 @@
 #include "md_parser.h"
 #endif
 
+namespace {
+
 using namespace RPiController;
 
 /*
@@ -107,9 +109,11 @@ void CamHelperImx219::populateMetadata(const MdParser::RegisterMap &registers,
 	metadata.set("device.status", deviceStatus);
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperImx219();
 }
 
-static RegisterCamHelper reg("imx219", &create);
+RegisterCamHelper reg("imx219", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx283.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx283.cpp
index 073f3910e4..0035c4ad6c 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_imx283.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_imx283.cpp
@@ -9,6 +9,8 @@
 
 #include "cam_helper.h"
 
+namespace {
+
 using namespace RPiController;
 
 class CamHelperImx283 : public CamHelper
@@ -53,9 +55,11 @@ unsigned int CamHelperImx283::hideFramesModeSwitch() const
 	return 1;
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperImx283();
 }
 
-static RegisterCamHelper reg("imx283", &create);
+RegisterCamHelper reg("imx283", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp
index b69d38c318..d9542efd40 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp
@@ -9,6 +9,8 @@
 
 #include "cam_helper.h"
 
+namespace {
+
 using namespace RPiController;
 
 class CamHelperImx290 : public CamHelper
@@ -56,12 +58,14 @@ unsigned int CamHelperImx290::hideFramesModeSwitch() const
 	return 1;
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperImx290();
 }
 
-static RegisterCamHelper reg("imx290", &create);
-static RegisterCamHelper reg327("imx327", &create);
-static RegisterCamHelper reg462("imx462", &create);
-static RegisterCamHelper reg662("imx662", &create);
+RegisterCamHelper reg("imx290", &create);
+RegisterCamHelper reg327("imx327", &create);
+RegisterCamHelper reg462("imx462", &create);
+RegisterCamHelper reg662("imx662", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx296.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx296.cpp
index 2d193863ea..bbcab0dcd0 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_imx296.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_imx296.cpp
@@ -13,6 +13,8 @@
 
 #include "cam_helper.h"
 
+namespace {
+
 using namespace RPiController;
 using libcamera::utils::Duration;
 using namespace std::literals::chrono_literals;
@@ -122,9 +124,11 @@ void CamHelperImx296::populateMetadata(const MdParser::RegisterMap &registers,
 	metadata.set("device.status", deviceStatus);
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperImx296();
 }
 
-static RegisterCamHelper reg("imx296", &create);
+RegisterCamHelper reg("imx296", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx355.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx355.cpp
index e6cac83be3..c16b76aba6 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_imx355.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_imx355.cpp
@@ -12,6 +12,8 @@
 
 #include "cam_helper.h"
 
+namespace {
+
 using namespace RPiController;
 
 class CamHelperImx355 : public CamHelper
@@ -61,9 +63,11 @@ bool CamHelperImx355::sensorEmbeddedDataPresent() const
 	return 0;
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperImx355();
 }
 
-static RegisterCamHelper reg("imx355", &create);
+RegisterCamHelper reg("imx355", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx415.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx415.cpp
index c0a09eee3d..a2a8f361d2 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_imx415.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_imx415.cpp
@@ -9,6 +9,8 @@
 
 #include "cam_helper.h"
 
+namespace {
+
 using namespace RPiController;
 
 class CamHelperImx415 : public CamHelper
@@ -56,9 +58,11 @@ unsigned int CamHelperImx415::hideFramesModeSwitch() const
 	return 1;
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperImx415();
 }
 
-static RegisterCamHelper reg("imx415", &create);
+RegisterCamHelper reg("imx415", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx477.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx477.cpp
index 3f2c93c401..dcfe29b146 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_imx477.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_imx477.cpp
@@ -17,14 +17,16 @@
 #include "cam_helper.h"
 #include "md_parser.h"
 
-using namespace RPiController;
-using namespace libcamera;
-using libcamera::utils::Duration;
-
 namespace libcamera {
 LOG_DECLARE_CATEGORY(IPARPI)
 }
 
+namespace {
+
+using namespace RPiController;
+using namespace libcamera;
+using libcamera::utils::Duration;
+
 /*
  * We care about two gain registers and a pair of exposure registers. Their
  * I2C addresses from the Sony IMX477 datasheet:
@@ -184,9 +186,11 @@ void CamHelperImx477::populateMetadata(const MdParser::RegisterMap &registers,
 	metadata.set("device.status", deviceStatus);
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperImx477();
 }
 
-static RegisterCamHelper reg("imx477", &create);
+RegisterCamHelper reg("imx477", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx519.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx519.cpp
index f722428c94..d5643ede1b 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_imx519.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_imx519.cpp
@@ -18,14 +18,16 @@
 #include "cam_helper.h"
 #include "md_parser.h"
 
-using namespace RPiController;
-using namespace libcamera;
-using libcamera::utils::Duration;
-
 namespace libcamera {
 LOG_DECLARE_CATEGORY(IPARPI)
 }
 
+namespace {
+
+using namespace RPiController;
+using namespace libcamera;
+using libcamera::utils::Duration;
+
 /*
  * We care about two gain registers and a pair of exposure registers. Their
  * I2C addresses from the Sony IMX519 datasheet:
@@ -177,9 +179,11 @@ void CamHelperImx519::populateMetadata(const MdParser::RegisterMap &registers,
 	metadata.set("device.status", deviceStatus);
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperImx519();
 }
 
-static RegisterCamHelper reg("imx519", &create);
+RegisterCamHelper reg("imx519", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx678.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx678.cpp
index 916433bf6d..5be1fa7953 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_imx678.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_imx678.cpp
@@ -10,6 +10,8 @@
 
 #include "cam_helper.h"
 
+namespace {
+
 using namespace RPiController;
 
 class CamHelperImx678 : public CamHelper
@@ -48,9 +50,11 @@ double CamHelperImx678::gain(uint32_t gainCode) const
 	return std::pow(10, 0.015 * gainCode);
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperImx678();
 }
 
-static RegisterCamHelper reg("imx678", &create);
+RegisterCamHelper reg("imx678", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx708.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx708.cpp
index 2b61a83011..a53b5c8fe5 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_imx708.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_imx708.cpp
@@ -17,16 +17,18 @@
 #include "cam_helper.h"
 #include "md_parser.h"
 
+namespace libcamera {
+LOG_DECLARE_CATEGORY(IPARPI)
+}
+
+namespace {
+
 using namespace RPiController;
 using namespace libcamera;
 using libcamera::utils::Duration;
 
 using namespace std::literals::chrono_literals;
 
-namespace libcamera {
-LOG_DECLARE_CATEGORY(IPARPI)
-}
-
 /*
  * We care about two gain registers and a pair of exposure registers. Their
  * I2C addresses from the Sony imx708 datasheet:
@@ -367,12 +369,14 @@ void CamHelperImx708::putAGCStatistics(StatisticsPtr stats)
 	}
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperImx708();
 }
 
-static RegisterCamHelper reg("imx708", &create);
-static RegisterCamHelper regWide("imx708_wide", &create);
-static RegisterCamHelper regNoIr("imx708_noir", &create);
-static RegisterCamHelper regWideNoIr("imx708_wide_noir", &create);
+RegisterCamHelper reg("imx708", &create);
+RegisterCamHelper regWide("imx708_wide", &create);
+RegisterCamHelper regNoIr("imx708_noir", &create);
+RegisterCamHelper regWideNoIr("imx708_wide_noir", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_mira220.cpp b/src/ipa/rpi/cam_helper/cam_helper_mira220.cpp
index 6ab1489012..39fe90d940 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_mira220.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_mira220.cpp
@@ -9,6 +9,8 @@
 
 #include "cam_helper.h"
 
+namespace {
+
 using namespace RPiController;
 
 class CamHelperMira220 : public CamHelper
@@ -50,9 +52,11 @@ double CamHelperMira220::gain(uint32_t gainCode) const
 	return static_cast<double>(2048.0 / (2048 - gainCode));
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperMira220();
 }
 
-static RegisterCamHelper reg("mira220", &create);
+RegisterCamHelper reg("mira220", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_ov5647.cpp b/src/ipa/rpi/cam_helper/cam_helper_ov5647.cpp
index 3b6fbb17ad..e79739e3f7 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_ov5647.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_ov5647.cpp
@@ -9,6 +9,8 @@
 
 #include "cam_helper.h"
 
+namespace {
+
 using namespace RPiController;
 
 class CamHelperOv5647 : public CamHelper
@@ -86,9 +88,11 @@ unsigned int CamHelperOv5647::mistrustMetadataModeSwitch() const
 	return 2;
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperOv5647();
 }
 
-static RegisterCamHelper reg("ov5647", &create);
+RegisterCamHelper reg("ov5647", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_ov64a40.cpp b/src/ipa/rpi/cam_helper/cam_helper_ov64a40.cpp
index 980495a8a5..d6b80f2858 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_ov64a40.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_ov64a40.cpp
@@ -10,6 +10,8 @@
 
 #include "cam_helper.h"
 
+namespace {
+
 using namespace RPiController;
 
 class CamHelperOv64a40 : public CamHelper
@@ -54,9 +56,11 @@ double CamHelperOv64a40::getModeSensitivity(const CameraMode &mode) const
 	}
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperOv64a40();
 }
 
-static RegisterCamHelper reg("ov64a40", &create);
+RegisterCamHelper reg("ov64a40", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_ov7251.cpp b/src/ipa/rpi/cam_helper/cam_helper_ov7251.cpp
index fc7b999f41..47f5114067 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_ov7251.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_ov7251.cpp
@@ -9,6 +9,8 @@
 
 #include "cam_helper.h"
 
+namespace {
+
 using namespace RPiController;
 
 class CamHelperOv7251 : public CamHelper
@@ -46,9 +48,11 @@ double CamHelperOv7251::gain(uint32_t gainCode) const
 	return static_cast<double>(gainCode) / 16.0;
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperOv7251();
 }
 
-static RegisterCamHelper reg("ov7251", &create);
+RegisterCamHelper reg("ov7251", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_ov9281.cpp b/src/ipa/rpi/cam_helper/cam_helper_ov9281.cpp
index e93a4691b8..2ee2c9d02b 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_ov9281.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_ov9281.cpp
@@ -9,6 +9,8 @@
 
 #include "cam_helper.h"
 
+namespace {
+
 using namespace RPiController;
 
 class CamHelperOv9281 : public CamHelper
@@ -46,9 +48,11 @@ double CamHelperOv9281::gain(uint32_t gainCode) const
 	return static_cast<double>(gainCode) / 16.0;
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperOv9281();
 }
 
-static RegisterCamHelper reg("ov9281", &create);
+RegisterCamHelper reg("ov9281", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_vd55g1.cpp b/src/ipa/rpi/cam_helper/cam_helper_vd55g1.cpp
index 7a262e2332..53113d32a6 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_vd55g1.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_vd55g1.cpp
@@ -9,6 +9,8 @@
 
 #include "cam_helper.h"
 
+namespace {
+
 using namespace RPiController;
 
 class CamHelperVd55g1 : public CamHelper
@@ -41,9 +43,11 @@ double CamHelperVd55g1::gain(uint32_t gainCode) const
 	return 32.0 / (32.0 - static_cast<double>(gainCode));
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperVd55g1();
 }
 
-static RegisterCamHelper reg("vd55g1", &create);
+RegisterCamHelper reg("vd55g1", &create);
+
+} /* namespace */
diff --git a/src/ipa/rpi/cam_helper/cam_helper_vd56g3.cpp b/src/ipa/rpi/cam_helper/cam_helper_vd56g3.cpp
index 8a58bc7467..6c60a75a37 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_vd56g3.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_vd56g3.cpp
@@ -9,6 +9,8 @@
 
 #include "cam_helper.h"
 
+namespace {
+
 using namespace RPiController;
 
 class CamHelperVd56g3 : public CamHelper
@@ -41,9 +43,11 @@ double CamHelperVd56g3::gain(uint32_t gainCode) const
 	return static_cast<double>(32.0 / (32 - gainCode));
 }
 
-static CamHelper *create()
+CamHelper *create()
 {
 	return new CamHelperVd56g3();
 }
 
-static RegisterCamHelper reg("vd56g3", &create);
+RegisterCamHelper reg("vd56g3", &create);
+
+} /* namespace */
