Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 032e57f0 authored by Behan Webster's avatar Behan Webster Committed by Tomi Valkeinen
Browse files

arm, fbdev, omap2, LLVMLinux: Remove nested function from omap2 dss



Replace the use of nested functions where a normal function will suffice.

Nested functions are not liked by upstream kernel developers in general. Their
use breaks the use of clang as a compiler, and doesn't make the code any
better.

This code now works for both gcc and clang.

Signed-off-by: default avatarBehan Webster <behanw@converseincode.com>
Suggested-by: default avatarArnd Bergmann <arnd@arndb.de>
Cc: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: default avatarFelipe Balbi <balbi@ti.com>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 8251434b
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -634,14 +634,15 @@ void dispc_mgr_disable_sync(enum omap_channel channel)
		WARN_ON(1);
}

int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask,
		unsigned long timeout)
{
	void dispc_irq_wait_handler(void *data, u32 mask)
static inline void dispc_irq_wait_handler(void *data, u32 mask)
{
	complete((struct completion *)data);
}

int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask,
		unsigned long timeout)
{

	int r;
	DECLARE_COMPLETION_ONSTACK(completion);

+9 −7
Original line number Diff line number Diff line
@@ -44,6 +44,13 @@ static ssize_t manager_display_show(struct omap_overlay_manager *mgr, char *buf)
			dssdev->name : "<none>");
}

static int manager_display_match(struct omap_dss_device *dssdev, void *data)
{
	const char *str = data;

	return sysfs_streq(dssdev->name, str);
}

static ssize_t manager_display_store(struct omap_overlay_manager *mgr,
		const char *buf, size_t size)
{
@@ -52,17 +59,12 @@ static ssize_t manager_display_store(struct omap_overlay_manager *mgr,
	struct omap_dss_device *dssdev = NULL;
	struct omap_dss_device *old_dssdev;

	int match(struct omap_dss_device *dssdev, void *data)
	{
		const char *str = data;
		return sysfs_streq(dssdev->name, str);
	}

	if (buf[size-1] == '\n')
		--len;

	if (len > 0)
		dssdev = omap_dss_find_device((void *)buf, match);
		dssdev = omap_dss_find_device((void *)buf,
			manager_display_match);

	if (len > 0 && dssdev == NULL)
		return -EINVAL;