mirror of https://gitee.com/openkylin/linux.git
d983c59775
Check for attribute_group structures that are only passed as a second argument to the functions sysfs_remove_group and sysfs_create_group. As these arguments are constant so, attribute_group structures having this property can also be made constant. Done using coccinelle: @r1 disable optional_qualifier @ identifier i; position p; @@ static struct attribute_group i@p = {...}; @ok1@ identifier r1.i; position p; expression e1,e2; @@ ( sysfs_remove_group(e1,&i@p) | sysfs_create_group(e1,&i@p) ) @bad@ position p!={r1.p,ok1.p}; identifier r1.i; @@ i@p @depends on !bad disable optional_qualifier@ identifier r1.i; @@ static +const struct attribute_group i={...}; @depends on !bad disable optional_qualifier@ identifier r1.i; @@ +const struct attribute_group i; File size before: text data bss dec hex filename 509 160 0 669 29d drivers/staging/most/hdm-dim2/dim2_sysfs.o File size after: text data bss dec hex filename 565 96 0 661 295 drivers/staging/most/hdm-dim2/dim2_sysfs.o Signed-off-by: Bhumika Goyal <bhumirks@gmail.com> Acked-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
---|---|---|
.. | ||
Documentation | ||
aim-cdev | ||
aim-network | ||
aim-sound | ||
aim-v4l2 | ||
hdm-dim2 | ||
hdm-i2c | ||
hdm-usb | ||
mostcore | ||
Kconfig | ||
Makefile | ||
TODO |