mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-06 22:58:29 +00:00
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: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
This commit is contained in:
parent
c2a163c830
commit
8fdff1dc26
3 changed files with 75 additions and 1 deletions
30
arch/sh/include/cpu-common/cpu/pfc.h
Normal file
30
arch/sh/include/cpu-common/cpu/pfc.h
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
/*
|
||||||
|
* 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__ */
|
|
@ -18,4 +18,4 @@ obj-$(CONFIG_ARCH_SHMOBILE) += shmobile/
|
||||||
obj-$(CONFIG_SH_ADC) += adc.o
|
obj-$(CONFIG_SH_ADC) += adc.o
|
||||||
obj-$(CONFIG_SH_CLK_CPG_LEGACY) += clock-cpg.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
arch/sh/kernel/cpu/pfc.c
Normal file
44
arch/sh/kernel/cpu/pfc.c
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
/*
|
||||||
|
* 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);
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue