1
linux/drivers/video
Zhang Rui 91a6902958 sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes
Well, first of all, I don't want to change so many files either.

What I do:
Adding a new parameter "struct bin_attribute *" in the
.read/.write methods for the sysfs binary attributes.

In fact, only the four lines change in fs/sysfs/bin.c and
include/linux/sysfs.h do the real work.
But I have to update all the files that use binary attributes
to make them compatible with the new .read and .write methods.
I'm not sure if I missed any. :(

Why I do this:
For a sysfs attribute, we can get a pointer pointing to the
struct attribute in the .show/.store method,
while we can't do this for the binary attributes.
I don't know why this is different, but this does make it not
so handy to use the binary attributes as the regular ones.
So I think this patch is reasonable. :)

Who benefits from it:
The patch that exposes ACPI tables in sysfs
requires such an improvement.
All the table binary attributes share the same .read method.
Parameter "struct bin_attribute *" is used to get
the table signature and instance number which are used to
distinguish different ACPI table binary attributes.

Without this parameter, we need to offer different .read methods
for different ACPI table binary attributes.
This is impossible as there are various ACPI tables on different
platforms, and we don't know what they are until they are loaded.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-11 16:09:09 -07:00
..
aty sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes 2007-07-11 16:09:09 -07:00
backlight sysfs: kill unnecessary attribute->owner 2007-07-11 16:09:06 -07:00
console Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6 2007-06-14 18:36:21 -07:00
display make drivers/video/display/display-sysfs.c:display_class static 2007-05-08 11:15:26 -07:00
geode [PATCH] Recognize video=gx1fb:... option 2007-02-12 09:48:42 -08:00
i810 Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
intelfb intelfb: fix ring space calculation 2007-05-08 11:15:26 -07:00
kyro [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
logo Use menuconfig objects II: video/logo 2007-05-08 11:15:33 -07:00
matrox Fix misspellings collected by members of KJ list. 2007-05-09 07:14:03 +02:00
mbx [PATCH] mark struct file_operations const 6 2007-02-12 09:48:45 -08:00
nvidia nvidiafb: Enable debugging messages a Kconfig option 2007-05-11 08:29:37 -07:00
pnx4008
riva rivafb: Fix I2C getscl callback function 2007-05-11 08:29:37 -07:00
savage savagefb: VGA state save and restore 2007-05-08 11:15:29 -07:00
sis drivers/video/sis/: remove more kernel 2.4 code 2007-05-08 11:15:33 -07:00
vermilion vmlfb: framebuffer driver for Intel Vermilion Range 2007-05-08 11:15:32 -07:00
68328fb.c
acornfb.c
acornfb.h
amba-clcd.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
amifb.c [PATCH] fbdev: remove references to non-existent fbmon_valid_timings() 2006-12-13 09:05:55 -08:00
arcfb.c arcfb: use fb_sys_read() 2007-05-08 11:15:30 -07:00
arkfb.c vt8623fb: arkfb: null pointer dereference fix 2007-06-01 08:18:28 -07:00
asiliantfb.c
atafb_iplan2p2.c m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb_iplan2p4.c m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb_iplan2p8.c m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb_mfb.c m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb_utils.h m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb.c m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb.h m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atmel_lcdfb.c atmel_lcdfb: AT91/AT32 LCD Controller framebuffer driver 2007-05-11 08:29:37 -07:00
au1100fb.c [PATCH] Video: fb, kzalloc changes 2007-02-12 09:48:43 -08:00
au1100fb.h [PATCH] au11oofb: fix to remove flickering 2006-12-08 08:29:06 -08:00
au1200fb.c
au1200fb.h
bt431.h
bt455.h
bw2.c [BW2]: Fix section mismatch warnings. 2007-03-09 23:11:05 -08:00
c2p.c
c2p.h
cfbcopyarea.c fbdev: consolidate common drawing functions into a header file 2007-05-08 11:15:30 -07:00
cfbfillrect.c fbdev: consolidate common drawing functions into a header file 2007-05-08 11:15:30 -07:00
cfbimgblt.c [PATCH] various fbdev files: mark structs and array read-only 2006-12-08 08:29:05 -08:00
cg3.c [SPARC/64] constify of_get_property return: drivers 2007-04-26 01:54:27 -07:00
cg6.c [SPARC64]: Fix of_iounmap() region release. 2006-12-31 14:06:05 -08:00
cg14.c [CG14]: Fix section mismatch warnings. 2007-03-09 23:10:56 -08:00
chipsfb.c fix section mismatch in chipsfb 2007-06-28 11:34:54 -07:00
cirrusfb.c cirrusfb: convert to generic boolean 2007-05-08 11:15:28 -07:00
clps711xfb.c
controlfb.c [POWERPC] Remove old interface find_devices 2007-04-24 22:09:02 +10:00
controlfb.h
cyber2000fb.c [PATCH] cyber2010 framebuffer on ARM Netwinder fix 2007-02-12 09:48:42 -08:00
cyber2000fb.h
cyblafb.c
dnfb.c
edid.h
epson1355fb.c fbdev: pass struct fb_info to fb_read and fb_write 2007-05-08 11:15:30 -07:00
fb_ddc.c
fb_defio.c fbdev: kill sparse warning in deferred IO 2007-05-08 11:15:29 -07:00
fb_draw.h fbdev: consolidate common drawing functions into a header file 2007-05-08 11:15:30 -07:00
fb_notify.c
fb_sys_fops.c fbdev: add fb_read/fb_write functions for framebuffers in system RAM 2007-05-08 11:15:30 -07:00
fbcmap.c [PATCH] fbcmap.c: mark structs const or __read_mostly 2006-12-08 08:29:05 -08:00
fbcvt.c [PATCH] various fbdev files: mark structs and array read-only 2006-12-08 08:29:05 -08:00
fbmem.c fbdev: add support for AVR32 2007-05-09 12:30:57 -07:00
fbmon.c fbdev: add Ultrasharp UXGA to broken monitor database 2007-05-08 11:15:26 -07:00
fbsysfs.c fbdev: fix obvious bug in show_pan() 2007-05-08 11:15:26 -07:00
ffb.c [VIDEO] ffb: The pseudo_palette is only 16 elements long 2007-06-05 13:14:33 -07:00
fm2fb.c [PATCH] ioremap balanced with iounmap for drivers/video/fm2fb 2006-12-08 08:29:04 -08:00
g364fb.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
gbefb.c
gxt4500.c [PATCH] gxt4500: Fix colormap and PLL setting, support GXT6000P 2006-12-22 08:55:50 -08:00
hecubafb.c hecubafb: use fb_sys_read() 2007-05-08 11:15:30 -07:00
hgafb.c
hitfb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
hpfb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
igafb.c [IGAFB]: Use pci_device_to_OF_node() on sparc. 2007-04-26 01:55:03 -07:00
imacfb.c
imsttfb.c
imxfb.c imxfb: fix memory hole 2007-05-23 20:14:13 -07:00
imxfb.h
Kconfig [VIDEO]: XVR500 and XVR2500 require FB=y 2007-06-03 18:09:40 -07:00
leo.c [SPARC64]: Fix of_iounmap() region release. 2006-12-31 14:06:05 -08:00
macfb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
macmodes.c
macmodes.h
Makefile atmel_lcdfb: AT91/AT32 LCD Controller framebuffer driver 2007-05-11 08:29:37 -07:00
maxinefb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
modedb.c VIDEO: add spaces on either side of the case "..." operator 2007-05-08 11:15:28 -07:00
neofb.c neofb: Fix pseudo_palette array overrun in neofb_setcolreg 2007-05-31 07:48:27 -07:00
offb.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
output.c output: Add display output class support 2006-12-20 01:46:41 -05:00
p9100.c [SPARC64]: Fix of_iounmap() region release. 2006-12-31 14:06:05 -08:00
platinumfb.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
platinumfb.h
pm2fb.c pm2fb: RDAC_WR barriers clean up 2007-05-23 20:14:13 -07:00
pm3fb.c pm3fb: switching between X and fb fix 2007-06-01 08:18:30 -07:00
pmag-aa-fb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
pmag-ba-fb.c [TC] mips: pmag-ba-fb: Convert to the driver model 2007-02-09 16:23:17 +00:00
pmagb-b-fb.c [TC] pmagb-b-fb: Convert to the driver model 2007-02-09 16:23:18 +00:00
ps3fb.c ps3fb: use FB_SYS_* instead of FB_CFB_* 2007-05-23 20:14:13 -07:00
pvr2fb.c fbdev: pass struct fb_info to fb_read and fb_write 2007-05-08 11:15:30 -07:00
pxafb.c VIDEO: add spaces on either side of the case "..." operator 2007-05-08 11:15:28 -07:00
pxafb.h
q40fb.c
s1d13xxxfb.c
s3c2410fb.c [PATCH] s3c2410fb: fix un-initialised dev field 2007-02-16 08:14:01 -08:00
s3c2410fb.h
s3fb.c svgalib: move fb_get_caps to svgalib 2007-05-09 12:30:57 -07:00
sa1100fb.c [ARM] 4035/1: fix collie compilation 2006-12-17 23:37:47 +00:00
sa1100fb.h [PATCH] Replace regular code with appropriate calls to container_of() 2007-02-11 11:18:06 -08:00
sbuslib.c
sbuslib.h
sgivwfb.c
skeletonfb.c skeletonfb: fix of xxxfb_setup ifdef 2007-06-01 08:18:28 -07:00
sm501fb.c sm501fb printk warning fixes 2007-05-08 11:15:34 -07:00
sstfb.c [PATCH] sstfb: fix pixclock setting on Voodoo 1/2 cards 2007-03-16 19:25:04 -07:00
sticore.h
stifb.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
sunxvr500.c [VIDEO] sunxvr500fb: Fix pseudo_palette array size 2007-06-05 13:15:26 -07:00
sunxvr2500.c [VIDEO] sunxvr2500fb: Fix pseudo_palette array size 2007-06-05 13:15:01 -07:00
svgalib.c svgalib: move fb_get_caps to svgalib 2007-05-09 12:30:57 -07:00
syscopyarea.c fbdev: consolidate common drawing functions into a header file 2007-05-08 11:15:30 -07:00
sysfillrect.c fbdev: consolidate common drawing functions into a header file 2007-05-08 11:15:30 -07:00
sysimgblt.c fbdev: add drawing functions for framebuffers in system RAM 2007-05-08 11:15:30 -07:00
tcx.c [SPARC64]: Fix of_iounmap() region release. 2006-12-31 14:06:05 -08:00
tdfxfb.c
tgafb.c tgafb accelerated code 2007-05-08 11:15:27 -07:00
tridentfb.c [PATCH] ioremap balanced with iounmap for drivers/video/tridentfb 2006-12-08 08:29:04 -08:00
tx3912fb.c
valkyriefb.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
valkyriefb.h
vesafb.c [PATCH] annotate some variables in vesafb driver as __read_mostly 2006-12-08 08:29:06 -08:00
vfb.c vfb: use fb_sys_read() and fb_sys_write() 2007-05-08 11:15:30 -07:00
vga16fb.c vga16fb: actually support widths in multiples of 8 2007-05-08 11:15:33 -07:00
vgastate.c vga: vgastate fix 2007-05-08 11:15:32 -07:00
vt8623fb.c vt8623fb: arkfb: null pointer dereference fix 2007-06-01 08:18:28 -07:00
w100fb.c w100fb: fix compile warnings 2007-05-23 20:14:13 -07:00
w100fb.h
xilinxfb.c xilinxfb: xilinx framebuffer device driver 2007-05-08 11:15:34 -07:00