RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
cpukit
include
rtems
confdefs
libpci.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
11
12
/*
13
* Copyright (C) 2011 Cobham Gaisler AB
14
*
15
* Redistribution and use in source and binary forms, with or without
16
* modification, are permitted provided that the following conditions
17
* are met:
18
* 1. Redistributions of source code must retain the above copyright
19
* notice, this list of conditions and the following disclaimer.
20
* 2. Redistributions in binary form must reproduce the above copyright
21
* notice, this list of conditions and the following disclaimer in the
22
* documentation and/or other materials provided with the distribution.
23
*
24
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
28
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34
* POSSIBILITY OF SUCH DAMAGE.
35
*/
36
37
#ifndef _RTEMS_CONFDEFS_LIBPCI_H
38
#define _RTEMS_CONFDEFS_LIBPCI_H
39
40
#ifndef __CONFIGURATION_TEMPLATE_h
41
#error "Do not include this file directly, use <rtems/confdefs.h> instead"
42
#endif
43
44
#ifdef __cplusplus
45
extern
"C"
{
46
#endif
/* __cplusplus */
47
48
/*
49
* Select PCI Configuration Library
50
*/
51
#ifdef RTEMS_PCI_CONFIG_LIB
52
#ifdef CONFIGURE_INIT
53
#define PCI_LIB_NONE 0
54
#define PCI_LIB_AUTO 1
55
#define PCI_LIB_STATIC 2
56
#define PCI_LIB_READ 3
57
#define PCI_LIB_PERIPHERAL 4
58
#if CONFIGURE_PCI_LIB == PCI_LIB_AUTO
59
#define PCI_CFG_AUTO_LIB
60
#include <
pci/cfg.h
>
61
struct
pci_bus
pci_hb;
62
#define PCI_LIB_INIT pci_config_auto
63
#define PCI_LIB_CONFIG pci_config_auto_register
64
#elif CONFIGURE_PCI_LIB == PCI_LIB_STATIC
65
#define PCI_CFG_STATIC_LIB
66
#include <
pci/cfg.h
>
67
#define PCI_LIB_INIT pci_config_static
68
#define PCI_LIB_CONFIG NULL
69
/* Let user define PCI configuration (struct pci_bus pci_hb) */
70
#elif CONFIGURE_PCI_LIB == PCI_LIB_READ
71
#define PCI_CFG_READ_LIB
72
#include <
pci/cfg.h
>
73
#define PCI_LIB_INIT pci_config_read
74
#define PCI_LIB_CONFIG NULL
75
struct
pci_bus
pci_hb;
76
#elif CONFIGURE_PCI_LIB == PCI_LIB_PERIPHERAL
77
#define PCI_LIB_INIT pci_config_peripheral
78
#define PCI_LIB_CONFIG NULL
79
/* Let user define PCI configuration (struct pci_bus pci_hb) */
80
#elif CONFIGURE_PCI_LIB == PCI_LIB_NONE
81
#define PCI_LIB_INIT NULL
82
#define PCI_LIB_CONFIG NULL
83
/* No PCI Configuration at all, user can use/debug access routines */
84
#else
85
#error NO PCI LIBRARY DEFINED
86
#endif
87
88
const
int
pci_config_lib_type = CONFIGURE_PCI_LIB;
89
int (*pci_config_lib_init)(void) = PCI_LIB_INIT;
90
void (*pci_config_lib_register)(
void
*config) = PCI_LIB_CONFIG;
91
#endif
92
#endif
93
94
#ifdef __cplusplus
95
}
96
#endif
/* __cplusplus */
97
98
#endif
/* _RTEMS_CONFDEFS_LIBPCI_H */
cfg.h
PCI Configuration Library.
pci_bus
Definition
pci.h:75
Generated by
1.18.0