本文讲述linux中设备与驱动分离的原理与方法:
为什么要进行设备与驱动的分离?
方便驱动对设备资源的调度,利用回调的方法使得驱动获取资源,不用进行对驱动的编译,节省了时间,并且位资源的改变提供了便利
下图为具体原理图:
下方为代码模板:
驱动:
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/version.h>
#include <linux/io.h>
#include <linux/platform_device.h>
MODULE_LICENSE("Dual BSD/GPL");
int myprobe(struct platform_device *mydev)
{
struct resource *ret;
struct resource *ret1;
/*
*这里是最关键的,他调度资源
*资源存储在platform_get_resource的返回值中
*
*/
ret = platform_get_resource(mydev, IORESOURCE_MEM, 0);
printk("ret: %x %x\n&#