1
linux/drivers/media/video/pvrusb2
Wolfram Sang 12765517d9 device_attributes: add sysfs_attr_init() for dynamic attributes
Made necessary by 6992f53349 ("sysfs: Use
one lockdep class per sysfs attribute").

Prevents further "key xxx not in .data" bug-reports.  Although some
attributes could probably be converted to static ones, this is left for
people having hardware to test.

Found by this semantic patch:

@ init @
type T;
identifier A;
@@

        T {
                ...
                struct device_attribute A;
                ...
        };

@ main extends init @
expression E;
statement S;
identifier err;
T *name;
@@

        ... when != sysfs_attr_init(&name->A.attr);
(
+       sysfs_attr_init(&name->A.attr);
        if (device_create_file(E, &name->A))
                S
|
+       sysfs_attr_init(&name->A.attr);
        err = device_create_file(E, &name->A);
)

While reviewing, I put the initialization to apropriate places.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Greg KH <gregkh@suse.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Mike Isely <isely@pobox.com>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Sujith Thomas <sujith.thomas@intel.com>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Len Brown <len.brown@intel.com>
Cc: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-04-07 08:38:03 -07:00
..
Kconfig
Makefile
pvrusb2-audio.c
pvrusb2-audio.h
pvrusb2-context.c
pvrusb2-context.h
pvrusb2-cs53l32a.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pvrusb2-cs53l32a.h
pvrusb2-ctrl.c
pvrusb2-ctrl.h
pvrusb2-cx2584x-v4l.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pvrusb2-cx2584x-v4l.h
pvrusb2-debug.h
pvrusb2-debugifc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pvrusb2-debugifc.h
pvrusb2-devattr.c
pvrusb2-devattr.h
pvrusb2-dvb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pvrusb2-dvb.h
pvrusb2-eeprom.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pvrusb2-eeprom.h
pvrusb2-encoder.c
pvrusb2-encoder.h
pvrusb2-fx2-cmd.h
pvrusb2-hdw-internal.h V4L/DVB: pvrusb2: Enforce a 300msec stabilization interval during stream strart 2010-02-26 15:11:05 -03:00
pvrusb2-hdw.c V4L/DVB: pvrusb2: Adjust 300msec digitizer wait to be more selective 2010-02-26 15:11:06 -03:00
pvrusb2-hdw.h V4L/DVB: pvrusb2: Enforce a 300msec stabilization interval during stream strart 2010-02-26 15:11:05 -03:00
pvrusb2-i2c-core.c
pvrusb2-i2c-core.h
pvrusb2-io.c
pvrusb2-io.h
pvrusb2-ioread.c
pvrusb2-ioread.h
pvrusb2-main.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pvrusb2-std.c
pvrusb2-std.h
pvrusb2-sysfs.c device_attributes: add sysfs_attr_init() for dynamic attributes 2010-04-07 08:38:03 -07:00
pvrusb2-sysfs.h
pvrusb2-util.h
pvrusb2-v4l2.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pvrusb2-v4l2.h
pvrusb2-video-v4l.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pvrusb2-video-v4l.h
pvrusb2-wm8775.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pvrusb2-wm8775.h
pvrusb2.h