• Julia Lawall's avatar
    drm/sun4i: constify component_ops structures · dfeb693d
    Julia Lawall authored
    These component_ops structures are only used as the second argument to
    component_add and component_del, which are declared as const, so the
    structures can be declared as const as well.
    
    The semantic patch that makes this change is as follows:
    (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @r disable optional_qualifier@
    identifier i;
    position p;
    @@
    
    static struct component_ops i@p = { ... };
    
    @ok1@
    identifier r.i;
    expression e1;
    position p;
    @@
    
    component_add(e1,&i@p)
    
    @ok2@
    identifier r.i;
    expression e1;
    position p;
    @@
    
    component_del(e1, &i@p)
    
    @bad@
    position p != {r.p,ok1.p,ok2.p};
    identifier r.i;
    struct component_ops e;
    @@
    
    e@i@p
    
    @depends on !bad disable optional_qualifier@
    identifier r.i;
    @@
    
    static
    +const
     struct component_ops i = { ... };
    // </smpl>
    
    The result of the size command before the change is (arm):
    
       text       data         bss     dec      hex filename
       5266        236           8    5510     1586 sun4i_backend.o
       6393        236           8    6637     19ed sun4i_tcon.o
       3700        368           8    4076      fec sun4i_tv.o
       1668        108           0    1776      6f0 sun6i_drc.o
    
    and after the change:
    
       text       data         bss     dec     hex filename
       5274        228           8    5510    1586 sun4i_backend.o
       6401        228           8    6637    19ed sun4i_tcon.o
       3708        360           8    4076     fec sun4i_tv.o
       1676        100           0    1776     6f0 sun6i_drc.o
    Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Link: http://patchwork.freedesktop.org/patch/msgid/1478971198-3659-1-git-send-email-Julia.Lawall@lip6.fr
    dfeb693d
sun4i_backend.c 11.6 KB