Commit aa8485d6 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

media: davinci_vpfe: cleanup ipipe_[g|s]_config logic



Reduce one ident level inside those functions and use BIT()
macro.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent b2f92225
Loading
Loading
Loading
Loading
+56 −54
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@
 */

#include <linux/slab.h>
#include <linux/bitops.h>

#include "dm365_ipipe.h"
#include "dm365_ipipe_hw.h"
@@ -1255,17 +1256,19 @@ static int ipipe_s_config(struct v4l2_subdev *sd, struct vpfe_ipipe_config *cfg)
	int rval = 0;

	for (i = 0; i < ARRAY_SIZE(ipipe_modules); i++) {
		unsigned int bit = 1 << i;

		if (cfg->flag & bit) {
			const struct ipipe_module_if *module_if =
						&ipipe_modules[i];
		const struct ipipe_module_if *module_if;
		struct ipipe_module_params *params;
			void __user *from = *(void * __user *)
				((void *)cfg + module_if->config_offset);
		void __user *from;
		size_t size;
		void *to;

		if (!(cfg->flag & BIT(i)))
			continue;

		module_if = &ipipe_modules[i];
		from = *(void * __user *)
			((void *)cfg + module_if->config_offset);

		params = kmalloc(sizeof(struct ipipe_module_params),
				 GFP_KERNEL);
		to = (void *)params + module_if->param_offset;
@@ -1286,7 +1289,6 @@ static int ipipe_s_config(struct v4l2_subdev *sd, struct vpfe_ipipe_config *cfg)
		}
		kfree(params);
	}
	}
error:
	return rval;
}
@@ -1298,17 +1300,18 @@ static int ipipe_g_config(struct v4l2_subdev *sd, struct vpfe_ipipe_config *cfg)
	int rval = 0;

	for (i = 1; i < ARRAY_SIZE(ipipe_modules); i++) {
		unsigned int bit = 1 << i;

		if (cfg->flag & bit) {
			const struct ipipe_module_if *module_if =
						&ipipe_modules[i];
		const struct ipipe_module_if *module_if;
		struct ipipe_module_params *params;
			void __user *to = *(void * __user *)
				((void *)cfg + module_if->config_offset);
		void __user *to;
		size_t size;
		void *from;

		if (!(cfg->flag & BIT(i)))
			continue;

		module_if = &ipipe_modules[i];
		to = *(void * __user *)((void *)cfg + module_if->config_offset);

		params = kmalloc(sizeof(struct ipipe_module_params),
				 GFP_KERNEL);
		from = (void *)params + module_if->param_offset;
@@ -1325,7 +1328,6 @@ static int ipipe_g_config(struct v4l2_subdev *sd, struct vpfe_ipipe_config *cfg)
		}
		kfree(params);
	}
	}
error:
	return rval;
}