Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751917AbdHELMn (ORCPT ); Sat, 5 Aug 2017 07:12:43 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:53862 "EHLO mail3-relais-sop.national.inria.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751334AbdHELMl (ORCPT ); Sat, 5 Aug 2017 07:12:41 -0400 X-IronPort-AV: E=Sophos;i="5.41,325,1498514400"; d="scan'208";a="233735497" From: Julia Lawall To: linux-kernel@vger.kernel.org, linux-media@vger.kernel.org Cc: bhumirks@gmail.com, kernel-janitors@vger.kernel.org Subject: [PATCH 1/6] [media] v4l2-pci-skeleton: constify vb2_ops structures Date: Sat, 5 Aug 2017 12:47:08 +0200 Message-Id: <1501930033-18249-2-git-send-email-Julia.Lawall@lip6.fr> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1501930033-18249-1-git-send-email-Julia.Lawall@lip6.fr> References: <1501930033-18249-1-git-send-email-Julia.Lawall@lip6.fr> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1342 Lines: 56 These vb2_ops structures are only stored in the ops field of a vb2_queue structure, which is declared as const. Thus the vb2_ops structures themselves can be const. Done with the help of Coccinelle. // @r disable optional_qualifier@ identifier i; position p; @@ static struct vb2_ops i@p = { ... }; @ok@ identifier r.i; struct vb2_queue e; position p; @@ e.ops = &i@p; @bad@ position p != {r.p,ok.p}; identifier r.i; struct vb2_ops e; @@ e@i@p @depends on !bad disable optional_qualifier@ identifier r.i; @@ static +const struct vb2_ops i = { ... }; // Signed-off-by: Julia Lawall --- There doesn't seem to be a maintainer for this file. samples/v4l/v4l2-pci-skeleton.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/v4l/v4l2-pci-skeleton.c b/samples/v4l/v4l2-pci-skeleton.c index 93b76c3..483e9bca 100644 --- a/samples/v4l/v4l2-pci-skeleton.c +++ b/samples/v4l/v4l2-pci-skeleton.c @@ -282,7 +282,7 @@ static void stop_streaming(struct vb2_queue *vq) * vb2_ops_wait_prepare/finish helper functions. If q->lock would be NULL, * then this driver would have to provide these ops. */ -static struct vb2_ops skel_qops = { +static const struct vb2_ops skel_qops = { .queue_setup = queue_setup, .buf_prepare = buffer_prepare, .buf_queue = buffer_queue,