kernel_optimize_test/drivers/char/drm
Yoann Padioleau dd00cc486a some kmalloc/memset ->kzalloc (tree wide)
Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc).

Here is a short excerpt of the semantic patch performing
this transformation:

@@
type T2;
expression x;
identifier f,fld;
expression E;
expression E1,E2;
expression e1,e2,e3,y;
statement S;
@@

 x =
- kmalloc
+ kzalloc
  (E1,E2)
  ...  when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\)
- memset((T2)x,0,E1);

@@
expression E1,E2,E3;
@@

- kzalloc(E1 * E2,E3)
+ kcalloc(E1,E2,E3)

[akpm@linux-foundation.org: get kcalloc args the right way around]
Signed-off-by: Yoann Padioleau <padator@wanadoo.fr>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Acked-by: Russell King <rmk@arm.linux.org.uk>
Cc: Bryan Wu <bryan.wu@analog.com>
Acked-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Dave Airlie <airlied@linux.ie>
Acked-by: Roland Dreier <rolandd@cisco.com>
Cc: Jiri Kosina <jkosina@suse.cz>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Acked-by: Pierre Ossman <drzeus-list@drzeus.cx>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: "David S. Miller" <davem@davemloft.net>
Acked-by: Greg KH <greg@kroah.com>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-19 10:04:50 -07:00
..
ati_pcigart.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_agpsupport.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_auth.c drm: detypedef the hashtab and more of sman 2007-07-12 10:26:44 +10:00
drm_bufs.c drm: detypedef the hashtab and more of sman 2007-07-12 10:26:44 +10:00
drm_context.c drm: convert drm context code to use Linux idr 2007-07-17 11:04:33 +10:00
drm_core.h drm: add support for secondary vertical blank interrupt to DRM core 2006-12-07 15:53:28 +11:00
drm_dma.c drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs 2007-07-11 16:32:08 +10:00
drm_drawable.c drm: convert drawable code to using idr 2007-07-17 11:04:33 +10:00
drm_drv.c drm: convert drawable code to using idr 2007-07-17 11:04:33 +10:00
drm_fops.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_hashtab.c drm: detypedef the hashtab and more of sman 2007-07-12 10:26:44 +10:00
drm_hashtab.h drm: detypedef the hashtab and more of sman 2007-07-12 10:26:44 +10:00
drm_ioc32.c drm: remove core typedefs from the ioc32 wrappers 2007-07-16 13:53:57 +10:00
drm_ioctl.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_irq.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_lock.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_memory_debug.h drm: remove drm_ioremap and drm_ioremapfree 2007-02-08 13:24:26 +11:00
drm_memory.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
drm_memory.h drm: remove drm_ioremap and drm_ioremapfree 2007-02-08 13:24:26 +11:00
drm_mm.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_os_linux.h drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
drm_pci.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
drm_pciids.h Add support SiS based XGI chips to SiS DRM. 2007-06-27 09:54:49 -07:00
drm_proc.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_sarea.h drm: remove sarea typedefs 2007-07-12 10:35:02 +10:00
drm_scatter.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
drm_sman.c drm: detypedef the hashtab and more of sman 2007-07-12 10:26:44 +10:00
drm_sman.h drm: detypedef the hashtab and more of sman 2007-07-12 10:26:44 +10:00
drm_stub.c drm: add idr_init to drm_stub.c 2007-07-17 14:20:07 +10:00
drm_sysfs.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
drm_vm.c drm: detypedef the hashtab and more of sman 2007-07-12 10:26:44 +10:00
drm.h drm: remove a bunch of typedefs on the userspace interface 2007-07-11 15:27:12 +10:00
drmP.h drm: convert drawable code to using idr 2007-07-17 11:04:33 +10:00
i810_dma.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
i810_drm.h drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
i810_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
i810_drv.h drm: drop drm_buf_t typedef 2007-07-11 16:17:42 +10:00
i830_dma.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
i830_drm.h drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
i830_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
i830_drv.h drm: drop drm_buf_t typedef 2007-07-11 16:17:42 +10:00
i830_irq.c drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
i915_dma.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
i915_drm.h drm: remove a bunch of typedefs on the userspace interface 2007-07-11 15:27:12 +10:00
i915_drv.c drm: add support for secondary vertical blank interrupt to i915 2006-12-07 15:53:28 +11:00
i915_drv.h drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
i915_ioc32.c [PATCH] struct path: convert drm 2006-12-08 08:28:44 -08:00
i915_irq.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
i915_mem.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
Kconfig [SPARC]: Mark as emulating cmpxchg, add appropriate depends for DRM. 2007-05-29 02:51:24 -07:00
Makefile [DRM]: Delete sparc64 FFB driver code that never gets built. 2007-03-26 21:49:11 -07:00
mga_dma.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
mga_drm.h drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
mga_drv.c drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
mga_drv.h drm: drop drm_buf_t typedef 2007-07-11 16:17:42 +10:00
mga_ioc32.c [PATCH] struct path: convert drm 2006-12-08 08:28:44 -08:00
mga_irq.c drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
mga_state.c drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs 2007-07-11 16:32:08 +10:00
mga_ucode.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
mga_warp.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
r128_cce.c drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs 2007-07-11 16:32:08 +10:00
r128_drm.h drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
r128_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
r128_drv.h drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
r128_ioc32.c [PATCH] struct path: convert drm 2006-12-08 08:28:44 -08:00
r128_irq.c drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
r128_state.c drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs 2007-07-11 16:32:08 +10:00
r300_cmdbuf.c drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs 2007-07-11 16:32:08 +10:00
r300_reg.h r300: updates register header 2007-07-11 12:24:10 +10:00
radeon_cp.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
radeon_drm.h drm: remove a bunch of typedefs on the userspace interface 2007-07-11 15:27:12 +10:00
radeon_drv.c radeon: add support for vblank on crtc2 2007-07-11 12:16:01 +10:00
radeon_drv.h drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
radeon_ioc32.c fix radeon setparam on 32/64 systems, harder. 2007-06-16 09:39:05 -07:00
radeon_irq.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
radeon_mem.c drm: fixup comment header style 2006-12-19 17:49:08 +11:00
radeon_state.c drm: remove sarea typedefs 2007-07-12 10:35:02 +10:00
README.drm drm: update README.drm (bugzilla #7933) 2007-03-11 12:07:16 +11:00
savage_bci.c drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs 2007-07-11 16:32:08 +10:00
savage_drm.h drm: fixup other drivers for typedef removals 2007-07-11 16:09:54 +10:00
savage_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
savage_drv.h drm: drop drm_buf_t typedef 2007-07-11 16:17:42 +10:00
savage_state.c drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs 2007-07-11 16:32:08 +10:00
sis_drm.h drm: bring sis + tdfx up to latest CVS 2006-01-02 14:44:12 +11:00
sis_drv.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
sis_drv.h drm: de-typedef sman 2007-07-12 10:21:05 +10:00
sis_mm.c drm: fix problem with SiS typedef with sisfb enabled. 2007-07-17 12:55:58 +10:00
tdfx_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
tdfx_drv.h drm: bring sis + tdfx up to latest CVS 2006-01-02 14:44:12 +11:00
via_3d_reg.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
via_dma.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
via_dmablit.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
via_dmablit.h drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
via_drm.h drm: remove a bunch of typedefs on the userspace interface 2007-07-11 15:27:12 +10:00
via_drv.c drm: fix driver deadlock with AIGLX and reclaim_buffers_locked 2007-03-23 13:28:33 +11:00
via_drv.h drm: de-typedef sman 2007-07-12 10:21:05 +10:00
via_irq.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
via_map.c drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
via_mm.c drm: de-typedef sman 2007-07-12 10:21:05 +10:00
via_verifier.c drm: detypedeffing continues... 2007-07-11 16:53:40 +10:00
via_verifier.h drm: remove drm_file_t, drm_device_t and drm_head_t typedefs 2007-07-11 15:53:27 +10:00
via_video.c drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00

************************************************************
* For the very latest on DRI development, please see:      *
*     http://dri.freedesktop.org/                          *
************************************************************

The Direct Rendering Manager (drm) is a device-independent kernel-level
device driver that provides support for the XFree86 Direct Rendering
Infrastructure (DRI).

The DRM supports the Direct Rendering Infrastructure (DRI) in four major
ways:

    1. The DRM provides synchronized access to the graphics hardware via
       the use of an optimized two-tiered lock.

    2. The DRM enforces the DRI security policy for access to the graphics
       hardware by only allowing authenticated X11 clients access to
       restricted regions of memory.

    3. The DRM provides a generic DMA engine, complete with multiple
       queues and the ability to detect the need for an OpenGL context
       switch.

    4. The DRM is extensible via the use of small device-specific modules
       that rely extensively on the API exported by the DRM module.


Documentation on the DRI is available from:
    http://dri.freedesktop.org/wiki/Documentation
    http://sourceforge.net/project/showfiles.php?group_id=387
    http://dri.sourceforge.net/doc/

For specific information about kernel-level support, see:

    The Direct Rendering Manager, Kernel Support for the Direct Rendering
    Infrastructure
    http://dri.sourceforge.net/doc/drm_low_level.html

    Hardware Locking for the Direct Rendering Infrastructure
    http://dri.sourceforge.net/doc/hardware_locking_low_level.html

    A Security Analysis of the Direct Rendering Infrastructure
    http://dri.sourceforge.net/doc/security_low_level.html