The only usage of the v4l2_m2m_ops structs is to pass their address to v4l2_m2m_init() which takes a pointer to const struct v4l2_m2m_ops as argument. Make them const to allow the compiler to put them in read-only memory. Signed-off-by: Rikard Falkeborn <rikard.falkeborn@xxxxxxxxx> --- drivers/media/platform/s5p-jpeg/jpeg-core.c | 6 +++--- drivers/media/platform/s5p-jpeg/jpeg-core.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c b/drivers/media/platform/s5p-jpeg/jpeg-core.c index ebdfd24e9cd5..a8d9159d5ed8 100644 --- a/drivers/media/platform/s5p-jpeg/jpeg-core.c +++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c @@ -2425,17 +2425,17 @@ static int s5p_jpeg_job_ready(void *priv) return 1; } -static struct v4l2_m2m_ops s5p_jpeg_m2m_ops = { +static const struct v4l2_m2m_ops s5p_jpeg_m2m_ops = { .device_run = s5p_jpeg_device_run, .job_ready = s5p_jpeg_job_ready, }; -static struct v4l2_m2m_ops exynos3250_jpeg_m2m_ops = { +static const struct v4l2_m2m_ops exynos3250_jpeg_m2m_ops = { .device_run = exynos3250_jpeg_device_run, .job_ready = s5p_jpeg_job_ready, }; -static struct v4l2_m2m_ops exynos4_jpeg_m2m_ops = { +static const struct v4l2_m2m_ops exynos4_jpeg_m2m_ops = { .device_run = exynos4_jpeg_device_run, .job_ready = s5p_jpeg_job_ready, }; diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.h b/drivers/media/platform/s5p-jpeg/jpeg-core.h index 8473a019bb5f..4a5fb1b15455 100644 --- a/drivers/media/platform/s5p-jpeg/jpeg-core.h +++ b/drivers/media/platform/s5p-jpeg/jpeg-core.h @@ -142,7 +142,7 @@ struct s5p_jpeg_variant { unsigned int hw3250_compat:1; unsigned int htbl_reinit:1; unsigned int hw_ex4_compat:1; - struct v4l2_m2m_ops *m2m_ops; + const struct v4l2_m2m_ops *m2m_ops; irqreturn_t (*jpeg_irq)(int irq, void *priv); const char *clk_names[JPEG_MAX_CLOCKS]; int num_clocks; -- 2.34.1