mailbox: constify mbox_chan_ops structures
authorBhumika Goyal <bhumirks@gmail.com>
Thu, 5 Jan 2017 07:30:43 +0000 (13:00 +0530)
committerJassi Brar <jaswinder.singh@linaro.org>
Tue, 28 Mar 2017 17:57:32 +0000 (23:27 +0530)
Check for mbox_chan_ops structures that are only stored in the ops field
of a mbox_controller structure. This field is of type const struct
mbox_chan_ops *, so mbox_chan_ops structures having this property can be
declared as const.
Done using Coccinelle:

@r1 disable optional_qualifier @
identifier i;
position p;
@@
struct mbox_chan_ops i@p = {...};

@ok1@
identifier r1.i;
struct hi6220_mbox mbox;
struct slimpro_mbox ctx;
position p;
@@
(
mbox.controller.ops=&i@p
|
ctx.mb_ctrl.ops=&i@p
)

@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p

@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct mbox_chan_ops i;

File size details:

   text    data     bss     dec     hex filename
   2310     248       0    2558     9fe drivers/mailbox/hi6220-mailbox.o
   2366     192       0    2558     9fe drivers/mailbox/hi6220-mailbox.o

   1500     248       0    1748     6d4 mailbox/mailbox-xgene-slimpro.o
   1556     192       0    1748     6d4 mailbox/mailbox-xgene-slimpro.o

Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
drivers/mailbox/hi6220-mailbox.c
drivers/mailbox/mailbox-xgene-slimpro.c

index 613722db5daf314fd376e96ec18209b7d2132fd5..519376d3534cfa05d623819b4ceb3f5a398e0cf3 100644 (file)
@@ -221,7 +221,7 @@ static void hi6220_mbox_shutdown(struct mbox_chan *chan)
        mbox->irq_map_chan[mchan->ack_irq] = NULL;
 }
 
-static struct mbox_chan_ops hi6220_mbox_ops = {
+static const struct mbox_chan_ops hi6220_mbox_ops = {
        .send_data    = hi6220_mbox_send_data,
        .startup      = hi6220_mbox_startup,
        .shutdown     = hi6220_mbox_shutdown,
index dd2afbca51c9b8d2c155003548d31da28f81c3ce..a7040163dd43983d26071faec7ac9f815db9b799 100644 (file)
@@ -174,7 +174,7 @@ static void slimpro_mbox_shutdown(struct mbox_chan *chan)
        devm_free_irq(mb_chan->dev, mb_chan->irq, mb_chan);
 }
 
-static struct mbox_chan_ops slimpro_mbox_ops = {
+static const struct mbox_chan_ops slimpro_mbox_ops = {
        .send_data = slimpro_mbox_send_data,
        .startup = slimpro_mbox_startup,
        .shutdown = slimpro_mbox_shutdown,