作家
登录

Linux平台总线驱动设备模型

作者: 来源: 2017-11-16 16:05:49 阅读 我要评论

  •             printk(KERN_ERR   
  •                    "%s: failed to claim resource %d\n",   
  •                    dev_name(&pdev->dev), i);   
  •             ret = -EBUSY;   
  •             goto failed;   
  •         }   
  •     }   
  •    
  •     pr_debug("Registering platform device '%s'. Parent at %s\n",   
  •          dev_name(&pdev->dev), dev_name(pdev->dev.parent));   
  •    
  •     /* 向内核添加一个device */   
  •     ret = device_add(&pdev->dev);   
  •     if (ret == 0)   
  •         return ret;   
  •    
  •  failed:   
  •     while (--i >= 0) {   
  •         struct resource *r = &pdev->resource[i];   
  •         unsigned long type = resource_type(r);   
  •    
  •         if (type == IORESOURCE_MEM || type == IORESOURCE_IO)   
  •             release_resource(r);   
  •     }   
  •    
  •     return ret;   
  • }   
    1. struct platform_device_id {   
    2.     char name[PLATFORM_NAME_SIZE];   
    3.     kernel_ulong_t driver_data   
    4.             __attribute__((aligned(sizeof(kernel_ulong_t))));   
    5. };   

    平台驱动的注册应用platform_driver_register函数

    1. struct resource {   
    2.     resource_size_t start;      //资本的肇端值   
    3.     resource_size_t end;        //资本的停止值   
    4.     const char *name;   
    5.     unsigned long flags;        //资本的类型,如IORESOURCE_IO,IORESOURCE_MEM,IORESOURCE_IRQ,IORESOURCE_DMA   
    6.     struct resource *parent, *sibling, *child;   

        推荐阅读

        Linux Lite第一个支持Linux 4.14及如何安装

      Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践 Linux Lite保护者Jerry Bezencon再次初次在Twitter上宣布他的基于Ubuntu的发行版的软件库中最新的Linux内>>>详细阅读


      本文标题:Linux平台总线驱动设备模型

      地址:http://www.17bianji.com/lsqh/38937.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)