platform总线三种匹配方式
1.id匹配
代码:
#include<linux/init.h>
#include<linux/module.h>
#include<linux/platform_device.h>
#include<linux/mod_devicetable.h>
struct resource *res;
int irqno;
int pdrv_probe(struct platform_device *pdev)
{
res=platform_get_resource(pdev,IORESOURCE_MEM,0);
if(res==NULL)
{
return ENODATA;
}
irqno=platform_get_irq(pdev,0);
if(irqno<0)
{
return ENODATA;
}
printk("addr:%#llx,irqno:%d\n",res->start,irqno);
return 0;
}
int pdrv_remove(struct platform_device *pdev)
{
printk("%s:%d\n",__func__,__LINE__);
return 0;
}
struct platform_driver pdrv={
.probe=pdrv_probe,
.remove=pdrv_remove,
.driver={
.name="aaaaa",
},
};
module_platform_driver(pdrv);
MODULE_LICENSE("GPL");
现象: