以下是注册一个平台设备的简单代码
#include "linux/module.h"
#include "linux/init.h"
//#include <linux/irq.h>
#include "linux/platform_device.h"
//#include <asm/irq.h>
#define LED_GPC0_CONF 0XE0200060
#define LED_GPC0_SIZE 8
struct resource led_pdev_resource[] =
{
[0] =
{
.start = LED_GPC0_CONF,
.end = LED_GPC0_CONF+LED_GPC0_SIZE-1,
.name = "key1",
.flags = IORESOURCE_MEM,
},
};
void led_pdev_release(struct device *dev)
{
}
struct platform_device led_pdev =
{
.name = "led_pdev_test",
.id = -1,
.num_resources = ARRAY_SIZE(led_pdev_resource),
.resource = led_pdev_resource,
.dev =
{
.release = led_pdev_release,
},
};
int __init led_dev_init(void)
{
return( platform_device_register(&led_pdev) );
}
void __exit led_dev_exit(void)
{
platform_device_unregister(&led_pdev);
}