Linux内核分析

内存资 源 int pcirequestregion s struct pcidev

This preview shows page 64 - 67 out of 71 pages.

内存资 int pci_request_region s (struct pci_dev * pdev, char * res_name) pdev PCI 设备,它的资 源要被保留 res_name 与 资 源 相 关 的名字。 把所有与 PCI 设备 pdev 相关联的 PCI 区进行标记,设备 pdev 是 由 属 主 res_name 保留的。 除非这次调用成功 返回,否则不要访 PCI 内的任何地 址。 成功返回 0 ,出错返 EBUSY ,失败时 也打印警告信息。
Image of page 64

Subscribe to view the full document.

pci_register_driv er 注册一 PCI 设备 int pci_register_driver (struct pci_driver * drv) drv 为要注册 的 驱 动 程 序 结构。 把驱动程序结构增 加到已注册驱动程 序链表,返回驱动 程序注册期间所声 明的 PCI 设备号。 即使返回值为 0 ,驱 动程序仍然是已注 册。 pci_unregister_dr iver 注销一 PCI 设备 void pci_unregister_dri ver (struct pci_driver * drv) drv 为要注销 的 驱 动 程 序 结构。 从已注册的 PCI 动程序链表中删除 驱动程序结构,对 每个驱动程序所驱 动的设备,通过调 用驱动程序的删除 函数,给它一个清 理的机会,把把这 些设备标记为无驱 动程序的。 pci_insert_device 插入一 个热插 拔设备 void pci_insert_device (struct pci_dev * dev, struct pci_bus * bus) dev 为要插入 的设备, bus PCI 总线 设 备 就 插 入 到该总线。 把一个新设备插入 到设备列表,并向 /sbin/hotplug )发 出通知。 pci_remove_devi ce 删除一 个热插 拔设备 void pci_remove_devic e (struct pci_dev * dev) dev 为要删除 的设备 把一个新设备从设 备列表删除,并向 /sbin/hotplug )发 出通知。 pci_dev_driver 获得一 个设备 pci_dri ver struct pci_driver * pci_dev_driver (const struct pci_dev * dev) dev 为要查询 的设备 pci_driver 结构,如 果一个设备没有注 册的驱动程序,则 返回 NULL pci_set_master 为设备 dev 用总线 控制 void pci_set_master (struct pci_dev * dev) dev 为要启用 的设备 启用设备上的总线 控 制 , 并 调 用 pcibios_set_master 对特定的体系结构 进行设置。
Image of page 65
pci_setup_device 填充一 个设备 的类和 映射信 int pci_setup_device (struct pci_dev * dev) dev 为要填充 的设备结构 用 有 关 设 备 的 商 家、类型、内存及 IO 空间地址, IRO 线等初始化设备结 构。在 PCI 子系统 初始化时调用该函 数。成功返回 0 ,设 备类型未知返回 -1 10 块设备 函数名 功能 函数形式 参数 描述 其他 blk_cleanup_qu eue 当 不 再 需 要 一 个 请 时 , 释 放 request_qu eue_t void blk_cleanup_qu eue (request_queue_ t * q); q 为 要 释 放 的 请 求 队 列。 blk_cleanup_qu eue blk_init_queue 是成对出现的 应 该 在 释 放 请 求 队 列 时 调 用 该函数;典型的 情 况 是 块 设 备 正 被 注 销 时 调 用。该函数目前 的 主 要 任 务 是 释 放 分 配 到 队 列 中 所 有 的
Image of page 66

Subscribe to view the full document.

Image of page 67
  • Winter '10
  • A.W

{[ snackBarMessage ]}

Get FREE access by uploading your study materials

Upload your study materials now and get free access to over 25 million documents.

Upload now for FREE access Or pay now for instant access
Christopher Reinemann
"Before using Course Hero my grade was at 78%. By the end of the semester my grade was at 90%. I could not have done it without all the class material I found."
— Christopher R., University of Rhode Island '15, Course Hero Intern

Ask a question for free

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern