Re: [PATCH 01/14] staging: fsl-mc: drop macros with possible side effects

From: Joe Perches
Date: Thu Jun 22 2017 - 12:08:07 EST


On Thu, 2017-06-22 at 16:35 +0300, laurentiu.tudor@xxxxxxx wrote:
> From: Laurentiu Tudor <laurentiu.tudor@xxxxxxx>
>
> Several macros were triggering this checkpatch.pl warning:
> "Macro argument reuse '$arg' - possible side-effects?"
> Fix the warning by turning them into real functions.

good idea and

> diff --git a/drivers/staging/fsl-mc/bus/dprc-driver.c b/drivers/staging/fsl-mc/bus/dprc-driver.c
[]
> +static bool fsl_mc_device_match(struct fsl_mc_device *mc_dev,
> + struct dprc_obj_desc *obj_desc)
> +{
> + return !strcmp(mc_dev->obj_desc.type, obj_desc->type) &&
> + mc_dev->obj_desc.id == obj_desc->id;
> +}

I'd reverse the test order and do the strcmp after the comparison

return mc_dev->obj_desc.id == obj_desc->id &&
!strcmp(mc_dev->obj_desc.type, obj_desc->type);

[]

> +static bool __must_check fsl_mc_is_allocatable(const char *obj_type)
> +{
> + return strcmp(obj_type, "dpbp") == 0 ||
> + strcmp(obj_type, "dpmcp") == 0 ||
> + strcmp(obj_type, "dpcon") == 0;
> +}

please be consistent in using either == 0 or !
when using strcmp