Linux 平台设备驱动模型

Linux 平台设备驱动模型

  一。平台总线概述

    1. 平台总线(Platform bus)是linux2.6内核加入的一种虚拟总线,

        其优势在于采用了总线的模型对设备与驱动进行了管理,这样提高了程序的可移植性

    2. Linux 平台设备驱动模型_第1张图片

  二。平台设备

    1. 平台设备使用structplatform_device来描述:

    struct platform_device

    {

      const char *name; /*设备名*/

      intid;  /*设备编号,配合设备名使用*/

      struct device dev;

      u32 num_resources;

      struct resource*resource;  /*设备资源*/

    }

    struct resource

    {

      resource_size_t start;

      resource_size_t end;

      const char *name;

      unsigned long flags;   /*资源的类型*/

      struct resource *parent, *sibling, *child;

    };

    2. 注册平台设备

      int platform_device_register(struct platform_device*pdev)

  三。平台驱动

    1. 平台驱动使用structplatform_driver描述:

     struct platform_driver

     {

       int(*probe)(struct platform_device*);

       int(*remove)(struct platform_device*);

       ……

     }

    2. 平台注册使用函数

      int platform_driver_register(struct platform_driver*)

你可能感兴趣的:(Linux 平台设备驱动模型)