platform_device: add platform_device for arm7 arch.
[tinyx.git] / arch / arm7 / common / platform_device.c
blobf7626a36ff9b73ff4ffdc3bf986a61fc73046dcb
1 #include <tinyx/device.h>
2 #include <tinyx/kernel.h>
3 #include <asm/io.h>
4 #include <asm/platform_device.h>
6 static void platform_writeb(struct device *dev,
7 unsigned char val, unsigned long addr)
9 __raw_writeb(val, addr);
12 static void platform_writew(struct device *dev,
13 unsigned int val, unsigned long addr)
15 __raw_writew(val, addr);
18 static void platform_writel(struct device *dev,
19 unsigned long val, unsigned long addr)
21 __raw_writel(val, addr);
24 static unsigned char platform_readb(struct device *dev, unsigned long addr)
26 return __raw_readb(addr);
29 static unsigned int platform_readw(struct device *dev, unsigned long addr)
31 return __raw_readb(addr);
34 static unsigned long platform_readl(struct device *dev, unsigned long addr)
36 return __raw_readb(addr);
39 static struct bus_type platform_bus = {
40 .name = "platform",
41 .writeb = platform_writeb,
42 .writew = platform_writew,
43 .writel = platform_writel,
44 .readb = platform_readb,
45 .readw = platform_readw,
46 .readl = platform_readl,
49 int register_platform_device(struct device *dev)
51 return register_device(dev, &platform_bus);
54 static int __init init_platform(void)
56 register_bus_type(&platform_bus);
58 return 0;
61 early_init(init_platform);