1 #include <tinyx/device.h>
2 #include <tinyx/kernel.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
= {
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
);
61 early_init(init_platform
);