* [PATCH for-next v2 00/10] Fix symbol export for _SIMPLE_ variants of _PM_OPS()
@ 2023-09-18 8:09 Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 01/10] PM: Introduce export macros " Raag Jadav
` (9 more replies)
0 siblings, 10 replies; 14+ messages in thread
From: Raag Jadav @ 2023-09-18 8:09 UTC (permalink / raw)
To: rafael, len.brown, pavel, Jonathan.Cameron, paul,
andriy.shevchenko, lars, rmfrfs, jean-baptiste.maneyrol, lee,
laurentiu.palcu, l.stach, james.schulman, david.rhodes, rf
Cc: linux-pm, linux-kernel, linux-iio, dri-devel, patches,
mallikarjunappa.sangannavar, bala.senthil, Raag Jadav
Currently EXPORT_*_SIMPLE_DEV_PM_OPS() use EXPORT_*_DEV_PM_OPS() set of
macros to export dev_pm_ops symbol, which export the symbol in case
CONFIG_PM=y but don't take CONFIG_PM_SLEEP into consideration.
Since _SIMPLE_ variants of _PM_OPS() do not include runtime PM handles
and are only used in case CONFIG_PM_SLEEP=y, we should not be exporting
dev_pm_ops symbol for them in case CONFIG_PM_SLEEP=n.
This can be fixed by having two distinct set of export macros for both
_RUNTIME_ and _SIMPLE_ variants of _PM_OPS(), such that the export of
dev_pm_ops symbol used in each variant depends on CONFIG_PM and
CONFIG_PM_SLEEP respectively.
Changes since v1:
- Update drivers to new set of macros
Raag Jadav (10):
PM: Introduce export macros for _SIMPLE_ variants of _PM_OPS()
PM: Update EXPORT_*_DEV_PM_OPS() to EXPORT_*_RUNTIME_PM_OPS()
iio: accel: fxls8962af: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS()
iio: gyro: fxas21002c: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS()
iio: imu: inv_icm42600: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS()
iio: imu: inv_mpu: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS()
drm/imx/dcss: convert to EXPORT_GPL_RUNTIME_PM_OPS()
mfd: arizona: convert to EXPORT_GPL_RUNTIME_PM_OPS()
mfd: cs42l43: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS()
ASoC: cs35l41: convert to EXPORT_GPL_RUNTIME_PM_OPS()
drivers/gpu/drm/imx/dcss/dcss-dev.c | 2 +-
drivers/iio/accel/fxls8962af-core.c | 2 +-
drivers/iio/gyro/fxas21002c_core.c | 2 +-
.../iio/imu/inv_icm42600/inv_icm42600_core.c | 2 +-
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 2 +-
drivers/mfd/arizona-core.c | 2 +-
drivers/mfd/cs42l43.c | 2 +-
include/linux/pm.h | 38 ++++++++++++-------
include/linux/pm_runtime.h | 13 +++++--
sound/soc/codecs/cs35l41.c | 2 +-
10 files changed, 41 insertions(+), 26 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH for-next v2 01/10] PM: Introduce export macros for _SIMPLE_ variants of _PM_OPS()
2023-09-18 8:09 [PATCH for-next v2 00/10] Fix symbol export for _SIMPLE_ variants of _PM_OPS() Raag Jadav
@ 2023-09-18 8:09 ` Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 02/10] PM: Update EXPORT_*_DEV_PM_OPS() to EXPORT_*_RUNTIME_PM_OPS() Raag Jadav
` (8 subsequent siblings)
9 siblings, 0 replies; 14+ messages in thread
From: Raag Jadav @ 2023-09-18 8:09 UTC (permalink / raw)
To: rafael, len.brown, pavel, Jonathan.Cameron, paul,
andriy.shevchenko, lars, rmfrfs, jean-baptiste.maneyrol, lee,
laurentiu.palcu, l.stach, james.schulman, david.rhodes, rf
Cc: linux-pm, linux-kernel, linux-iio, dri-devel, patches,
mallikarjunappa.sangannavar, bala.senthil, Raag Jadav
Introduce a new set of export macros for _SIMPLE_ variants of _PM_OPS(),
which export dev_pm_ops symbol only in case CONFIG_PM_SLEEP=y and discard
it otherwise.
Fixes: 34e1ed189fab ("PM: Improve EXPORT_*_DEV_PM_OPS macros")
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
---
include/linux/pm.h | 43 +++++++++++++++++++++++++++++--------------
1 file changed, 29 insertions(+), 14 deletions(-)
diff --git a/include/linux/pm.h b/include/linux/pm.h
index 1400c37b29c7..6e7ab6950ad1 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -374,24 +374,39 @@ const struct dev_pm_ops name = { \
RUNTIME_PM_OPS(runtime_suspend_fn, runtime_resume_fn, idle_fn) \
}
-#ifdef CONFIG_PM
-#define _EXPORT_DEV_PM_OPS(name, license, ns) \
+#define _EXPORT_PM_OPS(name, license, ns) \
const struct dev_pm_ops name; \
__EXPORT_SYMBOL(name, license, ns); \
const struct dev_pm_ops name
-#define EXPORT_PM_FN_GPL(name) EXPORT_SYMBOL_GPL(name)
-#define EXPORT_PM_FN_NS_GPL(name, ns) EXPORT_SYMBOL_NS_GPL(name, ns)
-#else
-#define _EXPORT_DEV_PM_OPS(name, license, ns) \
+
+#define _PM_OPS(name, license, ns) \
static __maybe_unused const struct dev_pm_ops __static_##name
+
+#ifdef CONFIG_PM
+#define _EXPORT_RUNTIME_PM_OPS(name, license, ns) _EXPORT_PM_OPS(name, license, ns)
+#define EXPORT_PM_FN_GPL(name) EXPORT_SYMBOL_GPL(name)
+#define EXPORT_PM_FN_NS_GPL(name, ns) EXPORT_SYMBOL_NS_GPL(name, ns)
+#else
+#define _EXPORT_RUNTIME_PM_OPS(name, license, ns) _PM_OPS(name, license, ns)
#define EXPORT_PM_FN_GPL(name)
#define EXPORT_PM_FN_NS_GPL(name, ns)
#endif
-#define EXPORT_DEV_PM_OPS(name) _EXPORT_DEV_PM_OPS(name, "", "")
-#define EXPORT_GPL_DEV_PM_OPS(name) _EXPORT_DEV_PM_OPS(name, "GPL", "")
-#define EXPORT_NS_DEV_PM_OPS(name, ns) _EXPORT_DEV_PM_OPS(name, "", #ns)
-#define EXPORT_NS_GPL_DEV_PM_OPS(name, ns) _EXPORT_DEV_PM_OPS(name, "GPL", #ns)
+#ifdef CONFIG_PM_SLEEP
+#define _EXPORT_SIMPLE_PM_OPS(name, license, ns) _EXPORT_PM_OPS(name, license, ns)
+#else
+#define _EXPORT_SIMPLE_PM_OPS(name, license, ns) _PM_OPS(name, license, ns)
+#endif
+
+#define EXPORT_DEV_PM_OPS(name) _EXPORT_RUNTIME_PM_OPS(name, "", "")
+#define EXPORT_GPL_DEV_PM_OPS(name) _EXPORT_RUNTIME_PM_OPS(name, "GPL", "")
+#define EXPORT_NS_DEV_PM_OPS(name, ns) _EXPORT_RUNTIME_PM_OPS(name, "", #ns)
+#define EXPORT_NS_GPL_DEV_PM_OPS(name, ns) _EXPORT_RUNTIME_PM_OPS(name, "GPL", #ns)
+
+#define EXPORT_SIMPLE_PM_OPS(name) _EXPORT_SIMPLE_PM_OPS(name, "", "")
+#define EXPORT_GPL_SIMPLE_PM_OPS(name) _EXPORT_SIMPLE_PM_OPS(name, "GPL", "")
+#define EXPORT_NS_SIMPLE_PM_OPS(name, ns) _EXPORT_SIMPLE_PM_OPS(name, "", #ns)
+#define EXPORT_NS_GPL_SIMPLE_PM_OPS(name, ns) _EXPORT_SIMPLE_PM_OPS(name, "GPL", #ns)
/*
* Use this if you want to use the same suspend and resume callbacks for suspend
@@ -404,19 +419,19 @@ const struct dev_pm_ops name = { \
_DEFINE_DEV_PM_OPS(name, suspend_fn, resume_fn, NULL, NULL, NULL)
#define EXPORT_SIMPLE_DEV_PM_OPS(name, suspend_fn, resume_fn) \
- EXPORT_DEV_PM_OPS(name) = { \
+ EXPORT_SIMPLE_PM_OPS(name) = { \
SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \
}
#define EXPORT_GPL_SIMPLE_DEV_PM_OPS(name, suspend_fn, resume_fn) \
- EXPORT_GPL_DEV_PM_OPS(name) = { \
+ EXPORT_GPL_SIMPLE_PM_OPS(name) = { \
SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \
}
#define EXPORT_NS_SIMPLE_DEV_PM_OPS(name, suspend_fn, resume_fn, ns) \
- EXPORT_NS_DEV_PM_OPS(name, ns) = { \
+ EXPORT_NS_SIMPLE_PM_OPS(name, ns) = { \
SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \
}
#define EXPORT_NS_GPL_SIMPLE_DEV_PM_OPS(name, suspend_fn, resume_fn, ns) \
- EXPORT_NS_GPL_DEV_PM_OPS(name, ns) = { \
+ EXPORT_NS_GPL_SIMPLE_PM_OPS(name, ns) = { \
SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \
}
--
2.17.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH for-next v2 02/10] PM: Update EXPORT_*_DEV_PM_OPS() to EXPORT_*_RUNTIME_PM_OPS()
2023-09-18 8:09 [PATCH for-next v2 00/10] Fix symbol export for _SIMPLE_ variants of _PM_OPS() Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 01/10] PM: Introduce export macros " Raag Jadav
@ 2023-09-18 8:09 ` Raag Jadav
2023-09-18 8:20 ` Paul Cercueil
2023-09-18 8:09 ` [PATCH for-next v2 03/10] iio: accel: fxls8962af: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS() Raag Jadav
` (7 subsequent siblings)
9 siblings, 1 reply; 14+ messages in thread
From: Raag Jadav @ 2023-09-18 8:09 UTC (permalink / raw)
To: rafael, len.brown, pavel, Jonathan.Cameron, paul,
andriy.shevchenko, lars, rmfrfs, jean-baptiste.maneyrol, lee,
laurentiu.palcu, l.stach, james.schulman, david.rhodes, rf
Cc: linux-pm, linux-kernel, linux-iio, dri-devel, patches,
mallikarjunappa.sangannavar, bala.senthil, Raag Jadav
Rename EXPORT_*_DEV_PM_OPS() macros to EXPORT_*_RUNTIME_PM_OPS()
and while at it, move them to pm_runtime.h.
This is done in conjunction with the introduction of
EXPORT_*_SIMPLE_PM_OPS() set of macros, to make things less confusing.
This makes both _RUNTIME_ and _SIMPLE_ variants of export macros more
distinguishable and self explanatory.
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
---
include/linux/pm.h | 5 -----
include/linux/pm_runtime.h | 13 +++++++++----
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/include/linux/pm.h b/include/linux/pm.h
index 6e7ab6950ad1..9ab051f3a351 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -398,11 +398,6 @@ const struct dev_pm_ops name = { \
#define _EXPORT_SIMPLE_PM_OPS(name, license, ns) _PM_OPS(name, license, ns)
#endif
-#define EXPORT_DEV_PM_OPS(name) _EXPORT_RUNTIME_PM_OPS(name, "", "")
-#define EXPORT_GPL_DEV_PM_OPS(name) _EXPORT_RUNTIME_PM_OPS(name, "GPL", "")
-#define EXPORT_NS_DEV_PM_OPS(name, ns) _EXPORT_RUNTIME_PM_OPS(name, "", #ns)
-#define EXPORT_NS_GPL_DEV_PM_OPS(name, ns) _EXPORT_RUNTIME_PM_OPS(name, "GPL", #ns)
-
#define EXPORT_SIMPLE_PM_OPS(name) _EXPORT_SIMPLE_PM_OPS(name, "", "")
#define EXPORT_GPL_SIMPLE_PM_OPS(name) _EXPORT_SIMPLE_PM_OPS(name, "GPL", "")
#define EXPORT_NS_SIMPLE_PM_OPS(name, ns) _EXPORT_SIMPLE_PM_OPS(name, "", #ns)
diff --git a/include/linux/pm_runtime.h b/include/linux/pm_runtime.h
index 7c9b35448563..0b73b00bd59f 100644
--- a/include/linux/pm_runtime.h
+++ b/include/linux/pm_runtime.h
@@ -22,6 +22,11 @@
usage_count */
#define RPM_AUTO 0x08 /* Use autosuspend_delay */
+#define EXPORT_RUNTIME_PM_OPS(name) _EXPORT_RUNTIME_PM_OPS(name, "", "")
+#define EXPORT_GPL_RUNTIME_PM_OPS(name) _EXPORT_RUNTIME_PM_OPS(name, "GPL", "")
+#define EXPORT_NS_RUNTIME_PM_OPS(name, ns) _EXPORT_RUNTIME_PM_OPS(name, "", #ns)
+#define EXPORT_NS_GPL_RUNTIME_PM_OPS(name, ns) _EXPORT_RUNTIME_PM_OPS(name, "GPL", #ns)
+
/*
* Use this for defining a set of PM operations to be used in all situations
* (system suspend, hibernation or runtime PM).
@@ -40,19 +45,19 @@
resume_fn, idle_fn)
#define EXPORT_RUNTIME_DEV_PM_OPS(name, suspend_fn, resume_fn, idle_fn) \
- EXPORT_DEV_PM_OPS(name) = { \
+ EXPORT_RUNTIME_PM_OPS(name) = { \
RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \
}
#define EXPORT_GPL_RUNTIME_DEV_PM_OPS(name, suspend_fn, resume_fn, idle_fn) \
- EXPORT_GPL_DEV_PM_OPS(name) = { \
+ EXPORT_GPL_RUNTIME_PM_OPS(name) = { \
RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \
}
#define EXPORT_NS_RUNTIME_DEV_PM_OPS(name, suspend_fn, resume_fn, idle_fn, ns) \
- EXPORT_NS_DEV_PM_OPS(name, ns) = { \
+ EXPORT_NS_RUNTIME_PM_OPS(name, ns) = { \
RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \
}
#define EXPORT_NS_GPL_RUNTIME_DEV_PM_OPS(name, suspend_fn, resume_fn, idle_fn, ns) \
- EXPORT_NS_GPL_DEV_PM_OPS(name, ns) = { \
+ EXPORT_NS_GPL_RUNTIME_PM_OPS(name, ns) = { \
RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \
}
--
2.17.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH for-next v2 03/10] iio: accel: fxls8962af: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS()
2023-09-18 8:09 [PATCH for-next v2 00/10] Fix symbol export for _SIMPLE_ variants of _PM_OPS() Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 01/10] PM: Introduce export macros " Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 02/10] PM: Update EXPORT_*_DEV_PM_OPS() to EXPORT_*_RUNTIME_PM_OPS() Raag Jadav
@ 2023-09-18 8:09 ` Raag Jadav
2023-09-18 9:40 ` Richard Fitzgerald
2023-09-18 8:09 ` [PATCH for-next v2 04/10] iio: gyro: fxas21002c: " Raag Jadav
` (6 subsequent siblings)
9 siblings, 1 reply; 14+ messages in thread
From: Raag Jadav @ 2023-09-18 8:09 UTC (permalink / raw)
To: rafael, len.brown, pavel, Jonathan.Cameron, paul,
andriy.shevchenko, lars, rmfrfs, jean-baptiste.maneyrol, lee,
laurentiu.palcu, l.stach, james.schulman, david.rhodes, rf
Cc: linux-pm, linux-kernel, linux-iio, dri-devel, patches,
mallikarjunappa.sangannavar, bala.senthil, Raag Jadav
With original macro being renamed to EXPORT_NS_GPL_RUNTIME_PM_OPS(),
use the new macro.
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
---
drivers/iio/accel/fxls8962af-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/accel/fxls8962af-core.c b/drivers/iio/accel/fxls8962af-core.c
index be8a15cb945f..69e73c54047e 100644
--- a/drivers/iio/accel/fxls8962af-core.c
+++ b/drivers/iio/accel/fxls8962af-core.c
@@ -1282,7 +1282,7 @@ static int fxls8962af_resume(struct device *dev)
return 0;
}
-EXPORT_NS_GPL_DEV_PM_OPS(fxls8962af_pm_ops, IIO_FXLS8962AF) = {
+EXPORT_NS_GPL_RUNTIME_PM_OPS(fxls8962af_pm_ops, IIO_FXLS8962AF) = {
SYSTEM_SLEEP_PM_OPS(fxls8962af_suspend, fxls8962af_resume)
RUNTIME_PM_OPS(fxls8962af_runtime_suspend, fxls8962af_runtime_resume, NULL)
};
--
2.17.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH for-next v2 04/10] iio: gyro: fxas21002c: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS()
2023-09-18 8:09 [PATCH for-next v2 00/10] Fix symbol export for _SIMPLE_ variants of _PM_OPS() Raag Jadav
` (2 preceding siblings ...)
2023-09-18 8:09 ` [PATCH for-next v2 03/10] iio: accel: fxls8962af: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS() Raag Jadav
@ 2023-09-18 8:09 ` Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 05/10] iio: imu: inv_icm42600: " Raag Jadav
` (5 subsequent siblings)
9 siblings, 0 replies; 14+ messages in thread
From: Raag Jadav @ 2023-09-18 8:09 UTC (permalink / raw)
To: rafael, len.brown, pavel, Jonathan.Cameron, paul,
andriy.shevchenko, lars, rmfrfs, jean-baptiste.maneyrol, lee,
laurentiu.palcu, l.stach, james.schulman, david.rhodes, rf
Cc: linux-pm, linux-kernel, linux-iio, dri-devel, patches,
mallikarjunappa.sangannavar, bala.senthil, Raag Jadav
With original macro being renamed to EXPORT_NS_GPL_RUNTIME_PM_OPS(),
use the new macro.
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
---
drivers/iio/gyro/fxas21002c_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/gyro/fxas21002c_core.c b/drivers/iio/gyro/fxas21002c_core.c
index c28d17ca6f5e..ccea3dd7be28 100644
--- a/drivers/iio/gyro/fxas21002c_core.c
+++ b/drivers/iio/gyro/fxas21002c_core.c
@@ -1047,7 +1047,7 @@ static int fxas21002c_runtime_resume(struct device *dev)
return fxas21002c_mode_set(data, FXAS21002C_MODE_ACTIVE);
}
-EXPORT_NS_GPL_DEV_PM_OPS(fxas21002c_pm_ops, IIO_FXAS21002C) = {
+EXPORT_NS_GPL_RUNTIME_PM_OPS(fxas21002c_pm_ops, IIO_FXAS21002C) = {
SYSTEM_SLEEP_PM_OPS(fxas21002c_suspend, fxas21002c_resume)
RUNTIME_PM_OPS(fxas21002c_runtime_suspend, fxas21002c_runtime_resume,
NULL)
--
2.17.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH for-next v2 05/10] iio: imu: inv_icm42600: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS()
2023-09-18 8:09 [PATCH for-next v2 00/10] Fix symbol export for _SIMPLE_ variants of _PM_OPS() Raag Jadav
` (3 preceding siblings ...)
2023-09-18 8:09 ` [PATCH for-next v2 04/10] iio: gyro: fxas21002c: " Raag Jadav
@ 2023-09-18 8:09 ` Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 06/10] iio: imu: inv_mpu: " Raag Jadav
` (4 subsequent siblings)
9 siblings, 0 replies; 14+ messages in thread
From: Raag Jadav @ 2023-09-18 8:09 UTC (permalink / raw)
To: rafael, len.brown, pavel, Jonathan.Cameron, paul,
andriy.shevchenko, lars, rmfrfs, jean-baptiste.maneyrol, lee,
laurentiu.palcu, l.stach, james.schulman, david.rhodes, rf
Cc: linux-pm, linux-kernel, linux-iio, dri-devel, patches,
mallikarjunappa.sangannavar, bala.senthil, Raag Jadav
With original macro being renamed to EXPORT_NS_GPL_RUNTIME_PM_OPS(),
use the new macro.
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
---
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
index a5e81906e37e..d0c7e4702981 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
@@ -790,7 +790,7 @@ static int inv_icm42600_runtime_resume(struct device *dev)
return ret;
}
-EXPORT_NS_GPL_DEV_PM_OPS(inv_icm42600_pm_ops, IIO_ICM42600) = {
+EXPORT_NS_GPL_RUNTIME_PM_OPS(inv_icm42600_pm_ops, IIO_ICM42600) = {
SYSTEM_SLEEP_PM_OPS(inv_icm42600_suspend, inv_icm42600_resume)
RUNTIME_PM_OPS(inv_icm42600_runtime_suspend,
inv_icm42600_runtime_resume, NULL)
--
2.17.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH for-next v2 06/10] iio: imu: inv_mpu: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS()
2023-09-18 8:09 [PATCH for-next v2 00/10] Fix symbol export for _SIMPLE_ variants of _PM_OPS() Raag Jadav
` (4 preceding siblings ...)
2023-09-18 8:09 ` [PATCH for-next v2 05/10] iio: imu: inv_icm42600: " Raag Jadav
@ 2023-09-18 8:09 ` Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 07/10] drm/imx/dcss: convert to EXPORT_GPL_RUNTIME_PM_OPS() Raag Jadav
` (3 subsequent siblings)
9 siblings, 0 replies; 14+ messages in thread
From: Raag Jadav @ 2023-09-18 8:09 UTC (permalink / raw)
To: rafael, len.brown, pavel, Jonathan.Cameron, paul,
andriy.shevchenko, lars, rmfrfs, jean-baptiste.maneyrol, lee,
laurentiu.palcu, l.stach, james.schulman, david.rhodes, rf
Cc: linux-pm, linux-kernel, linux-iio, dri-devel, patches,
mallikarjunappa.sangannavar, bala.senthil, Raag Jadav
With original macro being renamed to EXPORT_NS_GPL_RUNTIME_PM_OPS(),
use the new macro.
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
---
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
index 29f906c884bd..3872514538b7 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
@@ -1795,7 +1795,7 @@ static int inv_mpu_runtime_resume(struct device *dev)
return inv_mpu6050_set_power_itg(st, true);
}
-EXPORT_NS_GPL_DEV_PM_OPS(inv_mpu_pmops, IIO_MPU6050) = {
+EXPORT_NS_GPL_RUNTIME_PM_OPS(inv_mpu_pmops, IIO_MPU6050) = {
SYSTEM_SLEEP_PM_OPS(inv_mpu_suspend, inv_mpu_resume)
RUNTIME_PM_OPS(inv_mpu_runtime_suspend, inv_mpu_runtime_resume, NULL)
};
--
2.17.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH for-next v2 07/10] drm/imx/dcss: convert to EXPORT_GPL_RUNTIME_PM_OPS()
2023-09-18 8:09 [PATCH for-next v2 00/10] Fix symbol export for _SIMPLE_ variants of _PM_OPS() Raag Jadav
` (5 preceding siblings ...)
2023-09-18 8:09 ` [PATCH for-next v2 06/10] iio: imu: inv_mpu: " Raag Jadav
@ 2023-09-18 8:09 ` Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 08/10] mfd: arizona: " Raag Jadav
` (2 subsequent siblings)
9 siblings, 0 replies; 14+ messages in thread
From: Raag Jadav @ 2023-09-18 8:09 UTC (permalink / raw)
To: rafael, len.brown, pavel, Jonathan.Cameron, paul,
andriy.shevchenko, lars, rmfrfs, jean-baptiste.maneyrol, lee,
laurentiu.palcu, l.stach, james.schulman, david.rhodes, rf
Cc: linux-pm, linux-kernel, linux-iio, dri-devel, patches,
mallikarjunappa.sangannavar, bala.senthil, Raag Jadav
With original macro being renamed to EXPORT_GPL_RUNTIME_PM_OPS(),
use the new macro.
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
---
drivers/gpu/drm/imx/dcss/dcss-dev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/imx/dcss/dcss-dev.c b/drivers/gpu/drm/imx/dcss/dcss-dev.c
index 4f3af0dfb344..8544c2db4187 100644
--- a/drivers/gpu/drm/imx/dcss/dcss-dev.c
+++ b/drivers/gpu/drm/imx/dcss/dcss-dev.c
@@ -318,7 +318,7 @@ static int dcss_dev_runtime_resume(struct device *dev)
return 0;
}
-EXPORT_GPL_DEV_PM_OPS(dcss_dev_pm_ops) = {
+EXPORT_GPL_RUNTIME_PM_OPS(dcss_dev_pm_ops) = {
RUNTIME_PM_OPS(dcss_dev_runtime_suspend, dcss_dev_runtime_resume, NULL)
SYSTEM_SLEEP_PM_OPS(dcss_dev_suspend, dcss_dev_resume)
};
--
2.17.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH for-next v2 08/10] mfd: arizona: convert to EXPORT_GPL_RUNTIME_PM_OPS()
2023-09-18 8:09 [PATCH for-next v2 00/10] Fix symbol export for _SIMPLE_ variants of _PM_OPS() Raag Jadav
` (6 preceding siblings ...)
2023-09-18 8:09 ` [PATCH for-next v2 07/10] drm/imx/dcss: convert to EXPORT_GPL_RUNTIME_PM_OPS() Raag Jadav
@ 2023-09-18 8:09 ` Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 09/10] mfd: cs42l43: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS() Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 10/10] ASoC: cs35l41: convert to EXPORT_GPL_RUNTIME_PM_OPS() Raag Jadav
9 siblings, 0 replies; 14+ messages in thread
From: Raag Jadav @ 2023-09-18 8:09 UTC (permalink / raw)
To: rafael, len.brown, pavel, Jonathan.Cameron, paul,
andriy.shevchenko, lars, rmfrfs, jean-baptiste.maneyrol, lee,
laurentiu.palcu, l.stach, james.schulman, david.rhodes, rf
Cc: linux-pm, linux-kernel, linux-iio, dri-devel, patches,
mallikarjunappa.sangannavar, bala.senthil, Raag Jadav
With original macro being renamed to EXPORT_GPL_RUNTIME_PM_OPS(),
use the new macro.
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
---
drivers/mfd/arizona-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
index 19a0adf8ce3d..1d36deb1b79f 100644
--- a/drivers/mfd/arizona-core.c
+++ b/drivers/mfd/arizona-core.c
@@ -781,7 +781,7 @@ static int arizona_resume(struct device *dev)
return 0;
}
-EXPORT_GPL_DEV_PM_OPS(arizona_pm_ops) = {
+EXPORT_GPL_RUNTIME_PM_OPS(arizona_pm_ops) = {
RUNTIME_PM_OPS(arizona_runtime_suspend,
arizona_runtime_resume,
NULL)
--
2.17.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH for-next v2 09/10] mfd: cs42l43: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS()
2023-09-18 8:09 [PATCH for-next v2 00/10] Fix symbol export for _SIMPLE_ variants of _PM_OPS() Raag Jadav
` (7 preceding siblings ...)
2023-09-18 8:09 ` [PATCH for-next v2 08/10] mfd: arizona: " Raag Jadav
@ 2023-09-18 8:09 ` Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 10/10] ASoC: cs35l41: convert to EXPORT_GPL_RUNTIME_PM_OPS() Raag Jadav
9 siblings, 0 replies; 14+ messages in thread
From: Raag Jadav @ 2023-09-18 8:09 UTC (permalink / raw)
To: rafael, len.brown, pavel, Jonathan.Cameron, paul,
andriy.shevchenko, lars, rmfrfs, jean-baptiste.maneyrol, lee,
laurentiu.palcu, l.stach, james.schulman, david.rhodes, rf
Cc: linux-pm, linux-kernel, linux-iio, dri-devel, patches,
mallikarjunappa.sangannavar, bala.senthil, Raag Jadav
With original macro being renamed to EXPORT_NS_GPL_RUNTIME_PM_OPS(),
use the new macro.
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
---
drivers/mfd/cs42l43.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mfd/cs42l43.c b/drivers/mfd/cs42l43.c
index 37b23e9bae82..b84adde9f89e 100644
--- a/drivers/mfd/cs42l43.c
+++ b/drivers/mfd/cs42l43.c
@@ -1177,7 +1177,7 @@ static int cs42l43_runtime_resume(struct device *dev)
return ret;
}
-EXPORT_NS_GPL_DEV_PM_OPS(cs42l43_pm_ops, MFD_CS42L43) = {
+EXPORT_NS_GPL_RUNTIME_PM_OPS(cs42l43_pm_ops, MFD_CS42L43) = {
SET_SYSTEM_SLEEP_PM_OPS(cs42l43_suspend, cs42l43_resume)
SET_RUNTIME_PM_OPS(cs42l43_runtime_suspend, cs42l43_runtime_resume, NULL)
};
--
2.17.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH for-next v2 10/10] ASoC: cs35l41: convert to EXPORT_GPL_RUNTIME_PM_OPS()
2023-09-18 8:09 [PATCH for-next v2 00/10] Fix symbol export for _SIMPLE_ variants of _PM_OPS() Raag Jadav
` (8 preceding siblings ...)
2023-09-18 8:09 ` [PATCH for-next v2 09/10] mfd: cs42l43: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS() Raag Jadav
@ 2023-09-18 8:09 ` Raag Jadav
9 siblings, 0 replies; 14+ messages in thread
From: Raag Jadav @ 2023-09-18 8:09 UTC (permalink / raw)
To: rafael, len.brown, pavel, Jonathan.Cameron, paul,
andriy.shevchenko, lars, rmfrfs, jean-baptiste.maneyrol, lee,
laurentiu.palcu, l.stach, james.schulman, david.rhodes, rf
Cc: linux-pm, linux-kernel, linux-iio, dri-devel, patches,
mallikarjunappa.sangannavar, bala.senthil, Raag Jadav
With original macro being renamed to EXPORT_GPL_RUNTIME_PM_OPS(),
use the new macro.
Signed-off-by: Raag Jadav <raag.jadav@intel.com>
---
sound/soc/codecs/cs35l41.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/cs35l41.c b/sound/soc/codecs/cs35l41.c
index 4bc64ba71cd6..651aeaa6a5c4 100644
--- a/sound/soc/codecs/cs35l41.c
+++ b/sound/soc/codecs/cs35l41.c
@@ -1454,7 +1454,7 @@ static int cs35l41_sys_resume(struct device *dev)
return 0;
}
-EXPORT_GPL_DEV_PM_OPS(cs35l41_pm_ops) = {
+EXPORT_GPL_RUNTIME_PM_OPS(cs35l41_pm_ops) = {
RUNTIME_PM_OPS(cs35l41_runtime_suspend, cs35l41_runtime_resume, NULL)
SYSTEM_SLEEP_PM_OPS(cs35l41_sys_suspend, cs35l41_sys_resume)
--
2.17.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH for-next v2 02/10] PM: Update EXPORT_*_DEV_PM_OPS() to EXPORT_*_RUNTIME_PM_OPS()
2023-09-18 8:09 ` [PATCH for-next v2 02/10] PM: Update EXPORT_*_DEV_PM_OPS() to EXPORT_*_RUNTIME_PM_OPS() Raag Jadav
@ 2023-09-18 8:20 ` Paul Cercueil
2023-09-18 8:55 ` Raag Jadav
0 siblings, 1 reply; 14+ messages in thread
From: Paul Cercueil @ 2023-09-18 8:20 UTC (permalink / raw)
To: Raag Jadav, rafael, len.brown, pavel, Jonathan.Cameron,
andriy.shevchenko, lars, rmfrfs, jean-baptiste.maneyrol, lee,
laurentiu.palcu, l.stach, james.schulman, david.rhodes, rf
Cc: linux-pm, linux-kernel, linux-iio, dri-devel, patches,
mallikarjunappa.sangannavar, bala.senthil
Hi Raag,
Le lundi 18 septembre 2023 à 13:39 +0530, Raag Jadav a écrit :
> Rename EXPORT_*_DEV_PM_OPS() macros to EXPORT_*_RUNTIME_PM_OPS()
> and while at it, move them to pm_runtime.h.
> This is done in conjunction with the introduction of
> EXPORT_*_SIMPLE_PM_OPS() set of macros, to make things less
> confusing.
> This makes both _RUNTIME_ and _SIMPLE_ variants of export macros more
> distinguishable and self explanatory.
Well I don't really agree with this one. The EXPORT_*_DEV_PM_OPS() can
be used with any callback you need, not just the typical runtime-PM
callbacks. They are generic PM macros.
Cheers,
-Paul
>
> Signed-off-by: Raag Jadav <raag.jadav@intel.com>
> ---
> include/linux/pm.h | 5 -----
> include/linux/pm_runtime.h | 13 +++++++++----
> 2 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/include/linux/pm.h b/include/linux/pm.h
> index 6e7ab6950ad1..9ab051f3a351 100644
> --- a/include/linux/pm.h
> +++ b/include/linux/pm.h
> @@ -398,11 +398,6 @@ const struct dev_pm_ops name = { \
> #define _EXPORT_SIMPLE_PM_OPS(name, license, ns) _PM_OPS(name,
> license, ns)
> #endif
>
> -#define
> EXPORT_DEV_PM_OPS(name) _EXPORT_RUNTIM
> E_PM_OPS(name, "", "")
> -#define
> EXPORT_GPL_DEV_PM_OPS(name) _EXPORT_RUNTIME_PM_OPS
> (name, "GPL", "")
> -#define EXPORT_NS_DEV_PM_OPS(name,
> ns) _EXPORT_RUNTIME_PM_OPS(name, "", #ns)
> -#define EXPORT_NS_GPL_DEV_PM_OPS(name,
> ns) _EXPORT_RUNTIME_PM_OPS(name, "GPL", #ns)
> -
> #define
> EXPORT_SIMPLE_PM_OPS(name) _EXPORT_SIMPLE_PM_OPS(
> name, "", "")
> #define
> EXPORT_GPL_SIMPLE_PM_OPS(name) _EXPORT_SIMPLE_PM_OPS(
> name, "GPL", "")
> #define EXPORT_NS_SIMPLE_PM_OPS(name,
> ns) _EXPORT_SIMPLE_PM_OPS(name, "", #ns)
> diff --git a/include/linux/pm_runtime.h b/include/linux/pm_runtime.h
> index 7c9b35448563..0b73b00bd59f 100644
> --- a/include/linux/pm_runtime.h
> +++ b/include/linux/pm_runtime.h
> @@ -22,6 +22,11 @@
> usage_count */
> #define RPM_AUTO 0x08 /* Use autosuspend_delay */
>
> +#define
> EXPORT_RUNTIME_PM_OPS(name) _EXPORT_RUNTIME_PM_OPS
> (name, "", "")
> +#define
> EXPORT_GPL_RUNTIME_PM_OPS(name) _EXPORT_RUNTIM
> E_PM_OPS(name, "GPL", "")
> +#define EXPORT_NS_RUNTIME_PM_OPS(name,
> ns) _EXPORT_RUNTIME_PM_OPS(name, "", #ns)
> +#define EXPORT_NS_GPL_RUNTIME_PM_OPS(name,
> ns) _EXPORT_RUNTIME_PM_OPS(name, "GPL", #ns)
> +
> /*
> * Use this for defining a set of PM operations to be used in all
> situations
> * (system suspend, hibernation or runtime PM).
> @@ -40,19 +45,19 @@
> resume_fn, idle_fn)
>
> #define EXPORT_RUNTIME_DEV_PM_OPS(name, suspend_fn, resume_fn,
> idle_fn) \
> - EXPORT_DEV_PM_OPS(name) = { \
> + EXPORT_RUNTIME_PM_OPS(name) = { \
> RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \
> }
> #define EXPORT_GPL_RUNTIME_DEV_PM_OPS(name, suspend_fn, resume_fn,
> idle_fn) \
> - EXPORT_GPL_DEV_PM_OPS(name) = { \
> + EXPORT_GPL_RUNTIME_PM_OPS(name) = { \
> RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \
> }
> #define EXPORT_NS_RUNTIME_DEV_PM_OPS(name, suspend_fn, resume_fn,
> idle_fn, ns) \
> - EXPORT_NS_DEV_PM_OPS(name, ns) = { \
> + EXPORT_NS_RUNTIME_PM_OPS(name, ns) = { \
> RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \
> }
> #define EXPORT_NS_GPL_RUNTIME_DEV_PM_OPS(name, suspend_fn,
> resume_fn, idle_fn, ns) \
> - EXPORT_NS_GPL_DEV_PM_OPS(name, ns) = { \
> + EXPORT_NS_GPL_RUNTIME_PM_OPS(name, ns) = { \
> RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \
> }
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH for-next v2 02/10] PM: Update EXPORT_*_DEV_PM_OPS() to EXPORT_*_RUNTIME_PM_OPS()
2023-09-18 8:20 ` Paul Cercueil
@ 2023-09-18 8:55 ` Raag Jadav
0 siblings, 0 replies; 14+ messages in thread
From: Raag Jadav @ 2023-09-18 8:55 UTC (permalink / raw)
To: Paul Cercueil
Cc: rafael, len.brown, pavel, Jonathan.Cameron, andriy.shevchenko,
lars, rmfrfs, jean-baptiste.maneyrol, lee, laurentiu.palcu,
l.stach, james.schulman, david.rhodes, rf, linux-pm, linux-kernel,
linux-iio, dri-devel, patches, mallikarjunappa.sangannavar,
bala.senthil
On Mon, Sep 18, 2023 at 10:20:29AM +0200, Paul Cercueil wrote:
> Le lundi 18 septembre 2023 à 13:39 +0530, Raag Jadav a écrit :
> > Rename EXPORT_*_DEV_PM_OPS() macros to EXPORT_*_RUNTIME_PM_OPS()
> > and while at it, move them to pm_runtime.h.
> > This is done in conjunction with the introduction of
> > EXPORT_*_SIMPLE_PM_OPS() set of macros, to make things less
> > confusing.
> > This makes both _RUNTIME_ and _SIMPLE_ variants of export macros more
> > distinguishable and self explanatory.
>
> Well I don't really agree with this one. The EXPORT_*_DEV_PM_OPS() can
> be used with any callback you need, not just the typical runtime-PM
> callbacks. They are generic PM macros.
I agree on the usage part. But with the introduction of export macros for
_SIMPLE_ variants, current naming scheme would make things unnecessarily
confusing to the users in my opinion.
Perhaps we can have it simplified some other way?
Raag
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH for-next v2 03/10] iio: accel: fxls8962af: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS()
2023-09-18 8:09 ` [PATCH for-next v2 03/10] iio: accel: fxls8962af: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS() Raag Jadav
@ 2023-09-18 9:40 ` Richard Fitzgerald
0 siblings, 0 replies; 14+ messages in thread
From: Richard Fitzgerald @ 2023-09-18 9:40 UTC (permalink / raw)
To: Raag Jadav, rafael, len.brown, pavel, Jonathan.Cameron, paul,
andriy.shevchenko, lars, rmfrfs, jean-baptiste.maneyrol, lee,
laurentiu.palcu, l.stach, james.schulman, david.rhodes
Cc: linux-pm, linux-kernel, linux-iio, dri-devel, patches,
mallikarjunappa.sangannavar, bala.senthil
On 18/9/23 09:09, Raag Jadav wrote:
> With original macro being renamed to EXPORT_NS_GPL_RUNTIME_PM_OPS(),
> use the new macro.
>
> Signed-off-by: Raag Jadav <raag.jadav@intel.com>
> ---
> drivers/iio/accel/fxls8962af-core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/accel/fxls8962af-core.c b/drivers/iio/accel/fxls8962af-core.c
> index be8a15cb945f..69e73c54047e 100644
> --- a/drivers/iio/accel/fxls8962af-core.c
> +++ b/drivers/iio/accel/fxls8962af-core.c
> @@ -1282,7 +1282,7 @@ static int fxls8962af_resume(struct device *dev)
> return 0;
> }
>
> -EXPORT_NS_GPL_DEV_PM_OPS(fxls8962af_pm_ops, IIO_FXLS8962AF) = {
> +EXPORT_NS_GPL_RUNTIME_PM_OPS(fxls8962af_pm_ops, IIO_FXLS8962AF) = {
> SYSTEM_SLEEP_PM_OPS(fxls8962af_suspend, fxls8962af_resume)
> RUNTIME_PM_OPS(fxls8962af_runtime_suspend, fxls8962af_runtime_resume, NULL)
> };
This change doesn't make sense. It changes the struct definition to use
a EXPORT_*_RUNTIME_PM_OPS() macro, which leads me to expect this is
exporting runtime pm ops. But then the struct has both SYSTEM and
RUNTIME functions.
Maybe the underlying implementations of the macros result in "doing the
right thing", but the source reads like it must be a mistake.
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2023-09-18 9:43 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-18 8:09 [PATCH for-next v2 00/10] Fix symbol export for _SIMPLE_ variants of _PM_OPS() Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 01/10] PM: Introduce export macros " Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 02/10] PM: Update EXPORT_*_DEV_PM_OPS() to EXPORT_*_RUNTIME_PM_OPS() Raag Jadav
2023-09-18 8:20 ` Paul Cercueil
2023-09-18 8:55 ` Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 03/10] iio: accel: fxls8962af: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS() Raag Jadav
2023-09-18 9:40 ` Richard Fitzgerald
2023-09-18 8:09 ` [PATCH for-next v2 04/10] iio: gyro: fxas21002c: " Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 05/10] iio: imu: inv_icm42600: " Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 06/10] iio: imu: inv_mpu: " Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 07/10] drm/imx/dcss: convert to EXPORT_GPL_RUNTIME_PM_OPS() Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 08/10] mfd: arizona: " Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 09/10] mfd: cs42l43: convert to EXPORT_NS_GPL_RUNTIME_PM_OPS() Raag Jadav
2023-09-18 8:09 ` [PATCH for-next v2 10/10] ASoC: cs35l41: convert to EXPORT_GPL_RUNTIME_PM_OPS() Raag Jadav
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).