xref: /minix3/minix/lib/libsys/pci_first_dev.c (revision 6afe26749abc49c059b9b20284d55aaa3e3ef981)
1433d6423SLionel Sambuc /*
2433d6423SLionel Sambuc pci_first_dev.c
3433d6423SLionel Sambuc */
4433d6423SLionel Sambuc 
5433d6423SLionel Sambuc #include "pci.h"
6433d6423SLionel Sambuc #include "syslib.h"
7433d6423SLionel Sambuc #include <minix/sysutil.h>
8433d6423SLionel Sambuc 
9433d6423SLionel Sambuc /*===========================================================================*
10433d6423SLionel Sambuc  *				pci_first_dev				     *
11433d6423SLionel Sambuc  *===========================================================================*/
pci_first_dev(devindp,vidp,didp)12433d6423SLionel Sambuc int pci_first_dev(devindp, vidp, didp)
13433d6423SLionel Sambuc int *devindp;
14433d6423SLionel Sambuc u16_t *vidp;
15433d6423SLionel Sambuc u16_t *didp;
16433d6423SLionel Sambuc {
17433d6423SLionel Sambuc 	int r;
18433d6423SLionel Sambuc 	message m;
19433d6423SLionel Sambuc 
20433d6423SLionel Sambuc 	m.m_type= BUSC_PCI_FIRST_DEV;
21433d6423SLionel Sambuc 	r= ipc_sendrec(pci_procnr, &m);
22433d6423SLionel Sambuc 	if (r != 0)
23433d6423SLionel Sambuc 		panic("pci_first_dev: can't talk to PCI: %d", r);
24433d6423SLionel Sambuc 	if (m.m_type == 1)
25433d6423SLionel Sambuc 	{
26433d6423SLionel Sambuc 		*devindp= m.m1_i1;
27433d6423SLionel Sambuc 		*vidp= m.m1_i2;
28433d6423SLionel Sambuc 		*didp= m.m1_i3;
29*6afe2674SJean-Baptiste Boric #ifdef DEBUG
30433d6423SLionel Sambuc 		printf("pci_first_dev: got device %d, %04x/%04x\n",
31433d6423SLionel Sambuc 			*devindp, *vidp, *didp);
32433d6423SLionel Sambuc #endif
33433d6423SLionel Sambuc 		return 1;
34433d6423SLionel Sambuc 	}
35433d6423SLionel Sambuc 	if (m.m_type != 0)
36433d6423SLionel Sambuc 		panic("pci_first_dev: got bad reply from PCI: %d", m.m_type);
37433d6423SLionel Sambuc 
38*6afe2674SJean-Baptiste Boric #ifdef DEBUG
39433d6423SLionel Sambuc 	printf("pci_first_dev: got nothing\n");
40433d6423SLionel Sambuc #endif
41433d6423SLionel Sambuc 	return 0;
42433d6423SLionel Sambuc }
43