Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
devices.h
Go to the documentation of this file.
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 */
10  const char *dev_name;
11  const char *drv_name;
12  int id;
13  int irq;
14  unsigned long start;
15  unsigned long size;
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 extern int pxa_usb_phy_init(void __iomem *phy_reg);
54 extern void pxa_usb_phy_deinit(void __iomem *phy_reg);
55 
56 #endif /* __MACH_DEVICE_H */