#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/platform_device.h>
#include <linux/string.h>
/*******************资源结构体***************************/
static struct resource my_dev_resource[]={
[0] = {},
[1] = {},
};
struct platform_device *my_device;
/**********************配置结构体************************/
//形式自定义
//static struct my_dev_platdata
/***********************设备结构体******************/
static struct platform_device my_dev={
.name = "my_dev", //设备名
.id = -1, //只有一个设备
//.num_resources = ARRY_SIZE(my_dev_resource),
.resource = my_dev_resource,
.dev = {
// .platform_data = &my_dev_platdata,//配置结构体,形式自定义
//通过struct = pdev->dev.platform_data获得
}
};
static struct platform_device *my_devp[] = {&my_dev};
/***********************初始化函数**********************/
static int __init my_device_init(void)
{
int ret = 0;
/*采用platform_device_alloc分配一个platform_device对象
参数分别为platform_device的name,和id。
*/
//my_device = platform_device_alloc("my_dev",-1);
/*注册设备,注意不是platform_device_register,将平台设备注册到内核中*/
//参数是双指针
//ret = platform_add_devices(my_devp,1);
//或者用
//platform_device_register(my_device);
my_device = platform_device_alloc("my_dev",-1);
/*注册设备,注意不是platform_device_register,将平台设备注册到内核中*/
ret = platform_device_add(my_device);
/*如果出错释放相关的内存单元*/
/*如果出错释放相关的内存单元*/
if(ret)
{
platform_device_put(my_device);
}
return ret;
}
/*卸载处理函数*/
static void __exit my_device_exit(void)
{
platform_device_unregister(my_device);
}
module_init(my_device_init);
module_exit(my_device_exit);
MODULE_LICENSE("Dual BSD/GPL");
没有合适的资源?快使用搜索试试~ 我知道了~
platform总线下的简单驱动
共23个文件
cmd:6个
o:4个
c:4个
需积分: 50 8 下载量 70 浏览量
2014-11-21
11:17:07
上传
评论
收藏 101KB ZIP 举报
温馨提示
my_dev.c是设备文件,my_dri.c是驱动文件,使用echo可以对驱动进行调试。
资源推荐
资源详情
资源评论
收起资源包目录
my_dev.zip (23个子文件)
my_dev
my_dri.mod.o 13KB
my_dri.o 51KB
my_dev.o 20KB
.my_dri.o.cmd 16KB
my_dev.c.bak 2KB
Module.symvers 0B
.my_dev.ko.cmd 181B
.my_dev.o.cmd 14KB
.tmp_versions
my_dri.mod 67B
my_dri.ko 63KB
.my_dev.mod.o.cmd 14KB
my_dev.mod.o 13KB
.my_dri.mod.o.cmd 14KB
my_dev.c 2KB
Makefile 141B
my_dev.mod.c 444B
my_dri.c.bak 2KB
modules.order 41B
my_dev.ko 32KB
my_dri.c 2KB
.my_dri.ko.cmd 181B
my_dri.mod.c 444B
Makefile.bak 141B
共 23 条
- 1
资源评论
南国品红豆
- 粉丝: 4
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功