[PATCH] drm/i915/gvt: use ARRAY_SIZE
Zhi Wang
zhi.a.wang at intel.com
Mon Oct 23 16:38:37 UTC 2017
Thanks, applied!
On 10/16/17 10:32, Jérémy Lefaure wrote:
> Using the ARRAY_SIZE macro improves the readability of the code. Also,
> it's useless to use a variable to store this constant calculated at
> compile time.
>
> Found with Coccinelle with the following semantic patch:
> @r depends on (org || report)@
> type T;
> T[] E;
> position p;
> @@
> (
> (sizeof(E)@p /sizeof(*E))
> |
> (sizeof(E)@p /sizeof(E[...]))
> |
> (sizeof(E)@p /sizeof(T))
> )
>
> Signed-off-by: Jérémy Lefaure <jeremy.lefaure at lse.epita.fr>
> ---
> This patch was part of a bigger patch [1].
>
> [1]: https://patchwork.kernel.org/patch/9979843/
>
> drivers/gpu/drm/i915/gvt/vgpu.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gvt/vgpu.c b/drivers/gpu/drm/i915/gvt/vgpu.c
> index 02c61a1ad56a..b32c1c889ea8 100644
> --- a/drivers/gpu/drm/i915/gvt/vgpu.c
> +++ b/drivers/gpu/drm/i915/gvt/vgpu.c
> @@ -31,6 +31,7 @@
> *
> */
>
> +#include <linux/kernel.h>
> #include "i915_drv.h"
> #include "gvt.h"
> #include "i915_pvinfo.h"
> @@ -98,7 +99,6 @@ static struct {
> */
> int intel_gvt_init_vgpu_types(struct intel_gvt *gvt)
> {
> - unsigned int num_types;
> unsigned int i, low_avail, high_avail;
> unsigned int min_low;
>
> @@ -116,15 +116,14 @@ int intel_gvt_init_vgpu_types(struct intel_gvt *gvt)
> */
> low_avail = gvt_aperture_sz(gvt) - HOST_LOW_GM_SIZE;
> high_avail = gvt_hidden_sz(gvt) - HOST_HIGH_GM_SIZE;
> - num_types = sizeof(vgpu_types) / sizeof(vgpu_types[0]);
>
> - gvt->types = kzalloc(num_types * sizeof(struct intel_vgpu_type),
> - GFP_KERNEL);
> + gvt->types = kzalloc(ARRAY_SIZE(vgpu_types) *
> + sizeof(struct intel_vgpu_type), GFP_KERNEL);
> if (!gvt->types)
> return -ENOMEM;
>
> min_low = MB_TO_BYTES(32);
> - for (i = 0; i < num_types; ++i) {
> + for (i = 0; i < ARRAY_SIZE(vgpu_types); ++i) {
> if (low_avail / vgpu_types[i].low_mm == 0)
> break;
>
>
More information about the dri-devel
mailing list