• Julia Lawall's avatar
    pinctrl: ns2: constify pinctrl_ops and pinmux_ops structures · f3b4b7c4
    Julia Lawall authored
    Check for pinctrl_ops and pinmux_ops structures that are only stored in the
    pctlops field and the pmxops field, respectively, of a pinctrl_desc
    structure.  These fields are declared const, so pinctrl_ops and pinmux_ops
    structures that have this property can be declared as const also.
    
    The semantic patch that makes this change in the pinctrl_ops is as
    follows.  The pinmux_ops case is similar.  (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @r disable optional_qualifier@
    identifier i;
    position p;
    @@
    static struct pinctrl_ops i@p = { ... };
    
    @ok@
    identifier r.i;
    struct pinctrl_desc e;
    position p;
    @@
    e.pctlops = &i@p;
    
    @bad@
    position p != {r.p,ok.p};
    identifier r.i;
    struct pinctrl_ops e;
    @@
    e@i@p
    
    @depends on !bad disable optional_qualifier@
    identifier r.i;
    @@
    static
    +const
     struct pinctrl_ops i = { ... };
    // </smpl>
    Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    f3b4b7c4
pinctrl-ns2-mux.c 33.2 KB