diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2008-09-09 04:19:40 -0400 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2008-09-09 04:19:40 -0400 |
commit | 282b13d066927aeba7137ce3c03d2ee69b8d4940 (patch) | |
tree | e8aec3b609fdafcb1c8c09aaf71796f27d73422c /arch | |
parent | 82a28c794f27aac17d7a3ebd7f14d731a11a5532 (diff) |
MXC: add convenience function to register platform devices
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/plat-mxc/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices.c | 36 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/common.h | 3 |
3 files changed, 40 insertions, 1 deletions
diff --git a/arch/arm/plat-mxc/Makefile b/arch/arm/plat-mxc/Makefile index db66e9ae8414..8c0f06e8fd3e 100644 --- a/arch/arm/plat-mxc/Makefile +++ b/arch/arm/plat-mxc/Makefile | |||
@@ -3,6 +3,6 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | # Common support | 5 | # Common support |
6 | obj-y := irq.o clock.o gpio.o time.o | 6 | obj-y := irq.o clock.o gpio.o time.o devices.o |
7 | 7 | ||
8 | obj-$(CONFIG_ARCH_MX2) += iomux-mx1-mx2.o | 8 | obj-$(CONFIG_ARCH_MX2) += iomux-mx1-mx2.o |
diff --git a/arch/arm/plat-mxc/devices.c b/arch/arm/plat-mxc/devices.c new file mode 100644 index 000000000000..c66748267c45 --- /dev/null +++ b/arch/arm/plat-mxc/devices.c | |||
@@ -0,0 +1,36 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Sascha Hauer, kernel@pengutronix.de | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version 2 | ||
7 | * of the License, or (at your option) any later version. | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program; if not, write to the Free Software | ||
15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
16 | * Boston, MA 02110-1301, USA. | ||
17 | */ | ||
18 | |||
19 | #include <linux/kernel.h> | ||
20 | #include <linux/init.h> | ||
21 | #include <linux/platform_device.h> | ||
22 | |||
23 | int __init mxc_register_device(struct platform_device *pdev, void *data) | ||
24 | { | ||
25 | int ret; | ||
26 | |||
27 | pdev->dev.platform_data = data; | ||
28 | |||
29 | ret = platform_device_register(pdev); | ||
30 | if (ret) | ||
31 | pr_debug("Unable to register platform device '%s': %d\n", | ||
32 | pdev->name, ret); | ||
33 | |||
34 | return ret; | ||
35 | } | ||
36 | |||
diff --git a/arch/arm/plat-mxc/include/mach/common.h b/arch/arm/plat-mxc/include/mach/common.h index a6d2e24aab15..6350287a59b9 100644 --- a/arch/arm/plat-mxc/include/mach/common.h +++ b/arch/arm/plat-mxc/include/mach/common.h | |||
@@ -11,10 +11,13 @@ | |||
11 | #ifndef __ASM_ARCH_MXC_COMMON_H__ | 11 | #ifndef __ASM_ARCH_MXC_COMMON_H__ |
12 | #define __ASM_ARCH_MXC_COMMON_H__ | 12 | #define __ASM_ARCH_MXC_COMMON_H__ |
13 | 13 | ||
14 | struct platform_device; | ||
15 | |||
14 | extern void mxc_map_io(void); | 16 | extern void mxc_map_io(void); |
15 | extern void mxc_init_irq(void); | 17 | extern void mxc_init_irq(void); |
16 | extern void mxc_timer_init(const char *clk_timer); | 18 | extern void mxc_timer_init(const char *clk_timer); |
17 | extern int mxc_clocks_init(unsigned long fref); | 19 | extern int mxc_clocks_init(unsigned long fref); |
18 | extern int mxc_register_gpios(void); | 20 | extern int mxc_register_gpios(void); |
21 | extern int mxc_register_device(struct platform_device *pdev, void *data); | ||
19 | 22 | ||
20 | #endif | 23 | #endif |