Chinaunix首页 | 论坛 | 博客
  • 博客访问: 623720
  • 博文数量: 75
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-25 16:47
个人简介

嵌入式linux爱好者

文章分类
文章存档

2020年(1)

2019年(39)

2018年(3)

2017年(20)

2016年(7)

2015年(1)

2014年(4)

我的朋友

分类: LINUX

2019-03-24 23:13:29

原文地址:任意位置访问pci设备 作者:deep_pro




没啥技术含量,只是技巧。
一般来说,linux 访问pci设备,只能在pci设备驱动的probe里得到关键的 struct pci_dev * pdev;
偶尔遇到点急事,想走个后门,靠pci_get_device能在任意位置根据厂商和设备id得到这个pdev。


while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)))
ide_scan_pcidev(dev);



static void check_1a(void)
{
struct pci_dev *ls1a = NULL;
int i;
ls1a = pci_get_device(0x104a,0x0000, NULL);
if(ls1a==NULL)
{
printk("pci_get_device find ls1a error\n");
}
for(i=0;i<6;i++)
{
printk("--- bar %d:start %x length %x flags %x \n",i,pci_resource_start(ls1a, i),pci_resource_len(ls1a, i),pci_resource_flags(ls1a, i));
}
}


阅读(2067) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~