Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/arm/mach-mmp/include/mach/devices.h
15162 views
1
#ifndef __MACH_DEVICE_H
2
#define __MACH_DEVICE_H
3
4
#include <linux/types.h>
5
6
#define MAX_RESOURCE_DMA 2
7
8
/* structure for describing the on-chip devices */
9
struct pxa_device_desc {
10
const char *dev_name;
11
const char *drv_name;
12
int id;
13
int irq;
14
unsigned long start;
15
unsigned long size;
16
int dma[MAX_RESOURCE_DMA];
17
};
18
19
#define PXA168_DEVICE(_name, _drv, _id, _irq, _start, _size, _dma...) \
20
struct pxa_device_desc pxa168_device_##_name __initdata = { \
21
.dev_name = "pxa168-" #_name, \
22
.drv_name = _drv, \
23
.id = _id, \
24
.irq = IRQ_PXA168_##_irq, \
25
.start = _start, \
26
.size = _size, \
27
.dma = { _dma }, \
28
};
29
30
#define PXA910_DEVICE(_name, _drv, _id, _irq, _start, _size, _dma...) \
31
struct pxa_device_desc pxa910_device_##_name __initdata = { \
32
.dev_name = "pxa910-" #_name, \
33
.drv_name = _drv, \
34
.id = _id, \
35
.irq = IRQ_PXA910_##_irq, \
36
.start = _start, \
37
.size = _size, \
38
.dma = { _dma }, \
39
};
40
41
#define MMP2_DEVICE(_name, _drv, _id, _irq, _start, _size, _dma...) \
42
struct pxa_device_desc mmp2_device_##_name __initdata = { \
43
.dev_name = "mmp2-" #_name, \
44
.drv_name = _drv, \
45
.id = _id, \
46
.irq = IRQ_MMP2_##_irq, \
47
.start = _start, \
48
.size = _size, \
49
.dma = { _dma }, \
50
}
51
52
extern int pxa_register_device(struct pxa_device_desc *, void *, size_t);
53
#endif /* __MACH_DEVICE_H */
54
55