Commit 393f05f1 authored by Lee Jones's avatar Lee Jones
Browse files

mfd: Provide MACRO to declare commonly defined MFD cell attributes

parent f20781e5
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -12,6 +12,35 @@

#include <linux/platform_device.h>

#define MFD_RES_SIZE(arr) (sizeof(arr) / sizeof(struct resource))

#define MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, _compat, _match)\
	{								\
		.name = (_name),					\
		.resources = (_res),					\
		.num_resources = MFD_RES_SIZE((_res)),			\
		.platform_data = (_pdata),				\
		.pdata_size = (_pdsize),				\
		.of_compatible = (_compat),				\
		.acpi_match = (_match),					\
		.id = (_id),						\
	}

#define OF_MFD_CELL(_name, _res, _pdata, _pdsize,_id, _compat)		\
	MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, _compat, NULL)	\

#define ACPI_MFD_CELL(_name, _res, _pdata, _pdsize, _id, _match)	\
	MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, NULL, _match)	\

#define MFD_CELL_BASIC(_name, _res, _pdata, _pdsize, _id)		\
	MFD_CELL_ALL(_name, _res, _pdata, _pdsize, _id, NULL, NULL)	\

#define MFD_CELL_RES(_name, _res)					\
	MFD_CELL_ALL(_name, _res, NULL, 0, 0, NULL, NULL)		\

#define MFD_CELL_NAME(_name)						\
	MFD_CELL_ALL(_name, NULL, NULL, 0, 0, NULL, NULL)		\

struct irq_domain;
struct property_entry;