diff options
| author | Davidlohr Bueso <dave@gnu.org> | 2010-08-11 09:18:52 -0400 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2010-08-11 19:12:30 -0400 |
| commit | 94e3370eb9fc00c44008ee7fd30c5cb00291c34d (patch) | |
| tree | 87d5ec184988ad6e8626585036d786dbcccb1bb1 | |
| parent | 7203425a943eb3e189ba6b512827e0deb5f23872 (diff) | |
DRM: Replace kmalloc/memset combos with kzalloc
Currently most, if not all, memory allocation in drm_bufs.c is followed by initializing the memory with 0.
Replace the use of kmalloc+memset with kzalloc.
Signed-off-by: Davidlohr Bueso <dave@gnu.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
| -rw-r--r-- | drivers/gpu/drm/drm_bufs.c | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c index a5c9ce93bbcb..3e257a50bf56 100644 --- a/drivers/gpu/drm/drm_bufs.c +++ b/drivers/gpu/drm/drm_bufs.c | |||
| @@ -328,14 +328,13 @@ static int drm_addmap_core(struct drm_device * dev, resource_size_t offset, | |||
| 328 | return -EINVAL; | 328 | return -EINVAL; |
| 329 | } | 329 | } |
| 330 | 330 | ||
| 331 | list = kmalloc(sizeof(*list), GFP_KERNEL); | 331 | list = kzalloc(sizeof(*list), GFP_KERNEL); |
| 332 | if (!list) { | 332 | if (!list) { |
| 333 | if (map->type == _DRM_REGISTERS) | 333 | if (map->type == _DRM_REGISTERS) |
| 334 | iounmap(map->handle); | 334 | iounmap(map->handle); |
| 335 | kfree(map); | 335 | kfree(map); |
| 336 | return -EINVAL; | 336 | return -EINVAL; |
| 337 | } | 337 | } |
| 338 | memset(list, 0, sizeof(*list)); | ||
| 339 | list->map = map; | 338 | list->map = map; |
| 340 | 339 | ||
| 341 | mutex_lock(&dev->struct_mutex); | 340 | mutex_lock(&dev->struct_mutex); |
| @@ -678,13 +677,12 @@ int drm_addbufs_agp(struct drm_device * dev, struct drm_buf_desc * request) | |||
| 678 | return -EINVAL; | 677 | return -EINVAL; |
| 679 | } | 678 | } |
| 680 | 679 | ||
| 681 | entry->buflist = kmalloc(count * sizeof(*entry->buflist), GFP_KERNEL); | 680 | entry->buflist = kzalloc(count * sizeof(*entry->buflist), GFP_KERNEL); |
| 682 | if (!entry->buflist) { | 681 | if (!entry->buflist) { |
| 683 | mutex_unlock(&dev->struct_mutex); | 682 | mutex_unlock(&dev->struct_mutex); |
| 684 | atomic_dec(&dev->buf_alloc); | 683 | atomic_dec(&dev->buf_alloc); |
| 685 | return -ENOMEM; | 684 | return -ENOMEM; |
| 686 | } | 685 | } |
| 687 | memset(entry->buflist, 0, count * sizeof(*entry->buflist)); | ||
| 688 | 686 | ||
| 689 | entry->buf_size = size; | 687 | entry->buf_size = size; |
| 690 | entry->page_order = page_order; | 688 | entry->page_order = page_order; |
| @@ -708,7 +706,7 @@ int drm_addbufs_agp(struct drm_device * dev, struct drm_buf_desc * request) | |||
| 708 | buf->file_priv = NULL; | 706 | buf->file_priv = NULL; |
| 709 | 707 | ||
| 710 | buf->dev_priv_size = dev->driver->dev_priv_size; | 708 | buf->dev_priv_size = dev->driver->dev_priv_size; |
| 711 | buf->dev_private = kmalloc(buf->dev_priv_size, GFP_KERNEL); | 709 | buf->dev_private = kzalloc(buf->dev_priv_size, GFP_KERNEL); |
| 712 | if (!buf->dev_private) { | 710 | if (!buf->dev_private) { |
| 713 | /* Set count correctly so we free the proper amount. */ | 711 | /* Set count correctly so we free the proper amount. */ |
| 714 | entry->buf_count = count; | 712 | entry->buf_count = count; |
| @@ -717,7 +715,6 @@ int drm_addbufs_agp(struct drm_device * dev, struct drm_buf_desc * request) | |||
| 717 | atomic_dec(&dev->buf_alloc); | 715 | atomic_dec(&dev->buf_alloc); |
| 718 | return -ENOMEM; | 716 | return -ENOMEM; |
| 719 | } | 717 | } |
| 720 | memset(buf->dev_private, 0, buf->dev_priv_size); | ||
| 721 | 718 | ||
| 722 | DRM_DEBUG("buffer %d @ %p\n", entry->buf_count, buf->address); | 719 | DRM_DEBUG("buffer %d @ %p\n", entry->buf_count, buf->address); |
| 723 | 720 | ||
| @@ -832,22 +829,20 @@ int drm_addbufs_pci(struct drm_device * dev, struct drm_buf_desc * request) | |||
| 832 | return -EINVAL; | 829 | return -EINVAL; |
| 833 | } | 830 | } |
| 834 | 831 | ||
| 835 | entry->buflist = kmalloc(count * sizeof(*entry->buflist), GFP_KERNEL); | 832 | entry->buflist = kzalloc(count * sizeof(*entry->buflist), GFP_KERNEL); |
| 836 | if (!entry->buflist) { | 833 | if (!entry->buflist) { |
| 837 | mutex_unlock(&dev->struct_mutex); | 834 | mutex_unlock(&dev->struct_mutex); |
| 838 | atomic_dec(&dev->buf_alloc); | 835 | atomic_dec(&dev->buf_alloc); |
| 839 | return -ENOMEM; | 836 | return -ENOMEM; |
| 840 | } | 837 | } |
| 841 | memset(entry->buflist, 0, count * sizeof(*entry->buflist)); | ||
| 842 | 838 | ||
| 843 | entry->seglist = kmalloc(count * sizeof(*entry->seglist), GFP_KERNEL); | 839 | entry->seglist = kzalloc(count * sizeof(*entry->seglist), GFP_KERNEL); |
| 844 | if (!entry->seglist) { | 840 | if (!entry->seglist) { |
| 845 | kfree(entry->buflist); | 841 | kfree(entry->buflist); |
| 846 | mutex_unlock(&dev->struct_mutex); | 842 | mutex_unlock(&dev->struct_mutex); |
| 847 | atomic_dec(&dev->buf_alloc); | 843 | atomic_dec(&dev->buf_alloc); |
| 848 | return -ENOMEM; | 844 | return -ENOMEM; |
| 849 | } | 845 | } |
| 850 | memset(entry->seglist, 0, count * sizeof(*entry->seglist)); | ||
| 851 | 846 | ||
| 852 | /* Keep the original pagelist until we know all the allocations | 847 | /* Keep the original pagelist until we know all the allocations |
| 853 | * have succeeded | 848 | * have succeeded |
| @@ -911,8 +906,8 @@ int drm_addbufs_pci(struct drm_device * dev, struct drm_buf_desc * request) | |||
| 911 | buf->file_priv = NULL; | 906 | buf->file_priv = NULL; |
| 912 | 907 | ||
| 913 | buf->dev_priv_size = dev->driver->dev_priv_size; | 908 | buf->dev_priv_size = dev->driver->dev_priv_size; |
| 914 | buf->dev_private = kmalloc(buf->dev_priv_size, | 909 | buf->dev_private = kzalloc(buf->dev_priv_size, |
| 915 | GFP_KERNEL); | 910 | GFP_KERNEL); |
| 916 | if (!buf->dev_private) { | 911 | if (!buf->dev_private) { |
| 917 | /* Set count correctly so we free the proper amount. */ | 912 | /* Set count correctly so we free the proper amount. */ |
| 918 | entry->buf_count = count; | 913 | entry->buf_count = count; |
| @@ -923,7 +918,6 @@ int drm_addbufs_pci(struct drm_device * dev, struct drm_buf_desc * request) | |||
| 923 | atomic_dec(&dev->buf_alloc); | 918 | atomic_dec(&dev->buf_alloc); |
| 924 | return -ENOMEM; | 919 | return -ENOMEM; |
| 925 | } | 920 | } |
| 926 | memset(buf->dev_private, 0, buf->dev_priv_size); | ||
| 927 | 921 | ||
| 928 | DRM_DEBUG("buffer %d @ %p\n", | 922 | DRM_DEBUG("buffer %d @ %p\n", |
| 929 | entry->buf_count, buf->address); | 923 | entry->buf_count, buf->address); |
| @@ -1048,14 +1042,13 @@ static int drm_addbufs_sg(struct drm_device * dev, struct drm_buf_desc * request | |||
| 1048 | return -EINVAL; | 1042 | return -EINVAL; |
| 1049 | } | 1043 | } |
| 1050 | 1044 | ||
| 1051 | entry->buflist = kmalloc(count * sizeof(*entry->buflist), | 1045 | entry->buflist = kzalloc(count * sizeof(*entry->buflist), |
| 1052 | GFP_KERNEL); | 1046 | GFP_KERNEL); |
| 1053 | if (!entry->buflist) { | 1047 | if (!entry->buflist) { |
| 1054 | mutex_unlock(&dev->struct_mutex); | 1048 | mutex_unlock(&dev->struct_mutex); |
| 1055 | atomic_dec(&dev->buf_alloc); | 1049 | atomic_dec(&dev->buf_alloc); |
| 1056 | return -ENOMEM; | 1050 | return -ENOMEM; |
| 1057 | } | 1051 | } |
| 1058 | memset(entry->buflist, 0, count * sizeof(*entry->buflist)); | ||
| 1059 | 1052 | ||
| 1060 | entry->buf_size = size; | 1053 | entry->buf_size = size; |
| 1061 | entry->page_order = page_order; | 1054 | entry->page_order = page_order; |
| @@ -1080,7 +1073,7 @@ static int drm_addbufs_sg(struct drm_device * dev, struct drm_buf_desc * request | |||
| 1080 | buf->file_priv = NULL; | 1073 | buf->file_priv = NULL; |
| 1081 | 1074 | ||
| 1082 | buf->dev_priv_size = dev->driver->dev_priv_size; | 1075 | buf->dev_priv_size = dev->driver->dev_priv_size; |
| 1083 | buf->dev_private = kmalloc(buf->dev_priv_size, GFP_KERNEL); | 1076 | buf->dev_private = kzalloc(buf->dev_priv_size, GFP_KERNEL); |
| 1084 | if (!buf->dev_private) { | 1077 | if (!buf->dev_private) { |
| 1085 | /* Set count correctly so we free the proper amount. */ | 1078 | /* Set count correctly so we free the proper amount. */ |
| 1086 | entry->buf_count = count; | 1079 | entry->buf_count = count; |
| @@ -1090,8 +1083,6 @@ static int drm_addbufs_sg(struct drm_device * dev, struct drm_buf_desc * request | |||
| 1090 | return -ENOMEM; | 1083 | return -ENOMEM; |
| 1091 | } | 1084 | } |
| 1092 | 1085 | ||
| 1093 | memset(buf->dev_private, 0, buf->dev_priv_size); | ||
| 1094 | |||
| 1095 | DRM_DEBUG("buffer %d @ %p\n", entry->buf_count, buf->address); | 1086 | DRM_DEBUG("buffer %d @ %p\n", entry->buf_count, buf->address); |
| 1096 | 1087 | ||
| 1097 | offset += alignment; | 1088 | offset += alignment; |
| @@ -1209,14 +1200,13 @@ static int drm_addbufs_fb(struct drm_device * dev, struct drm_buf_desc * request | |||
| 1209 | return -EINVAL; | 1200 | return -EINVAL; |
| 1210 | } | 1201 | } |
| 1211 | 1202 | ||
| 1212 | entry->buflist = kmalloc(count * sizeof(*entry->buflist), | 1203 | entry->buflist = kzalloc(count * sizeof(*entry->buflist), |
| 1213 | GFP_KERNEL); | 1204 | GFP_KERNEL); |
| 1214 | if (!entry->buflist) { | 1205 | if (!entry->buflist) { |
| 1215 | mutex_unlock(&dev->struct_mutex); | 1206 | mutex_unlock(&dev->struct_mutex); |
| 1216 | atomic_dec(&dev->buf_alloc); | 1207 | atomic_dec(&dev->buf_alloc); |
| 1217 | return -ENOMEM; | 1208 | return -ENOMEM; |
| 1218 | } | 1209 | } |
| 1219 | memset(entry->buflist, 0, count * sizeof(*entry->buflist)); | ||
| 1220 | 1210 | ||
| 1221 | entry->buf_size = size; | 1211 | entry->buf_size = size; |
| 1222 | entry->page_order = page_order; | 1212 | entry->page_order = page_order; |
| @@ -1240,7 +1230,7 @@ static int drm_addbufs_fb(struct drm_device * dev, struct drm_buf_desc * request | |||
| 1240 | buf->file_priv = NULL; | 1230 | buf->file_priv = NULL; |
| 1241 | 1231 | ||
| 1242 | buf->dev_priv_size = dev->driver->dev_priv_size; | 1232 | buf->dev_priv_size = dev->driver->dev_priv_size; |
| 1243 | buf->dev_private = kmalloc(buf->dev_priv_size, GFP_KERNEL); | 1233 | buf->dev_private = kzalloc(buf->dev_priv_size, GFP_KERNEL); |
| 1244 | if (!buf->dev_private) { | 1234 | if (!buf->dev_private) { |
| 1245 | /* Set count correctly so we free the proper amount. */ | 1235 | /* Set count correctly so we free the proper amount. */ |
| 1246 | entry->buf_count = count; | 1236 | entry->buf_count = count; |
| @@ -1249,7 +1239,6 @@ static int drm_addbufs_fb(struct drm_device * dev, struct drm_buf_desc * request | |||
| 1249 | atomic_dec(&dev->buf_alloc); | 1239 | atomic_dec(&dev->buf_alloc); |
| 1250 | return -ENOMEM; | 1240 | return -ENOMEM; |
| 1251 | } | 1241 | } |
| 1252 | memset(buf->dev_private, 0, buf->dev_priv_size); | ||
| 1253 | 1242 | ||
| 1254 | DRM_DEBUG("buffer %d @ %p\n", entry->buf_count, buf->address); | 1243 | DRM_DEBUG("buffer %d @ %p\n", entry->buf_count, buf->address); |
| 1255 | 1244 | ||
