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

Commit 8fdff1dc authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Simon Horman
Browse files

sh: Add PFC platform device registration helper function



The sh_pfc_register() function can be called by boards or SoC setup code
to register the PFC platform device.

Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
parent c2a163c8
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
/*
 * SH Pin Function Control Initialization
 *
 * Copyright (C) 2012  Renesas Solutions Corp.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 2 of the License.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#ifndef __ARCH_SH_CPU_PFC_H__
#define __ARCH_SH_CPU_PFC_H__

#include <linux/types.h>

struct pinmux_info;
struct resource;

int sh_pfc_register(const char *name,
		    struct resource *resource, u32 num_resources);
int sh_pfc_register_info(const char *name,
			 struct resource *resource, u32 num_resources,
			 struct pinmux_info *pdata);

#endif /* __ARCH_SH_CPU_PFC_H__ */
+1 −1
Original line number Diff line number Diff line
@@ -18,4 +18,4 @@ obj-$(CONFIG_ARCH_SHMOBILE) += shmobile/
obj-$(CONFIG_SH_ADC)		+= adc.o
obj-$(CONFIG_SH_CLK_CPG_LEGACY)	+= clock-cpg.o

obj-y	+= irq/ init.o clock.o fpu.o proc.o
obj-y	+= irq/ init.o clock.o fpu.o pfc.o proc.o
+44 −0
Original line number Diff line number Diff line
/*
 * SH Pin Function Control Initialization
 *
 * Copyright (C) 2012  Renesas Solutions Corp.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 2 of the License.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#include <linux/init.h>
#include <linux/platform_device.h>

#include <cpu/pfc.h>

static struct platform_device sh_pfc_device = {
	.name		= "sh-pfc",
	.id		= -1,
};

int __init sh_pfc_register(const char *name,
			   struct resource *resource, u32 num_resources)
{
	if (name)
		sh_pfc_device.name = name;
	sh_pfc_device.num_resources = num_resources;
	sh_pfc_device.resource = resource;

	return platform_device_register(&sh_pfc_device);
}

int __init sh_pfc_register_info(const char *name,
				struct resource *resource, u32 num_resources,
				struct pinmux_info *pdata)
{
	sh_pfc_device.dev.platform_data = pdata;

	return sh_pfc_register(name, resource, num_resources);
}