Staging: wilc1000: constify cfg80211_ops structures
authorBhumika Goyal <bhumirks@gmail.com>
Mon, 26 Sep 2016 14:33:06 +0000 (20:03 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Sep 2016 11:02:06 +0000 (13:02 +0200)
Check for cfg80211_ops structures that are only passed as the first
argument to the function wiphy_new. As this argument is constant, so
cfg80211_ops structures having this property can also be declared
constant.
Done using coccinelle:

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

@ok1@
identifier r1.i;
position p;
expression e1;
@@
wiphy_new(&i@p,e1)

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

@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
static
+const
struct cfg80211_ops i={...};

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

File size before:
   text    data     bss     dec     hex filename
  17468    2417   14912   34797    87ed
drivers/staging/wilc1000/wilc_wfi_cfgoperations.o

File size after:
   text    data     bss     dec     hex filename
  18204    1681   14912   34797    87ed
drivers/staging/wilc1000/wilc_wfi_cfgoperations.o

Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wilc1000/wilc_wfi_cfgoperations.c

index 2c2e8aca8305d3f77f15b9d637b544dbd7c4ac83..60d8b055bb2f0e2d7d2bd99abe595e4c74ed65a3 100644 (file)
@@ -2200,7 +2200,7 @@ static int get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev,
        return ret;
 }
 
-static struct cfg80211_ops wilc_cfg80211_ops = {
+static const struct cfg80211_ops wilc_cfg80211_ops = {
        .set_monitor_channel = set_channel,
        .scan = scan,
        .connect = connect,