Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
tapasco
tapasco
Commits
439d6f2b
Commit
439d6f2b
authored
Jul 19, 2017
by
Jaco Hofmann
Browse files
Replaces interrupt lookup with dedicated functions
parent
451e93e3
Changes
4
Hide whitespace changes
Inline
Side-by-side
platform/vc709/module/char_device_dma.c
View file @
439d6f2b
...
...
@@ -315,7 +315,6 @@ static int dma_initialize(void) {
open_failed_deinit:
dma_free_pbufs
(
priv_data
.
kvirt_h2l
,
priv_data
.
dma_handle_h2l
,
PCI_DMA_TODEVICE
);
dma_free_pbufs
(
priv_data
.
kvirt_l2h
,
priv_data
.
dma_handle_l2h
,
PCI_DMA_FROMDEVICE
);
open_failed:
return
err_return
;
}
...
...
platform/vc709/module/char_device_user.c
View file @
439d6f2b
...
...
@@ -309,19 +309,143 @@ static int user_mmap(struct file *filp, struct vm_area_struct *vma)
* @param dev_id magic number for interrupt sharing (not needed)
* @return Tells OS, that irq is handled properly
* */
irqreturn_t
intr_handler_user
(
int
irq
,
void
*
dev_id
)
{
int
irq_translated
=
pcie_translate_irq_number
(
irq
)
-
4
;
if
(
irq_translated
!=
-
1
)
{
fflink_info
(
"User interrupt for IRQ %d called with irq %d
\n
"
,
irq_translated
,
irq
);
priv_data
.
user_condition
[
irq_translated
]
+=
1
;
wake_up_interruptible_sync
(
&
priv_data
.
user_wait_queue
[
irq_translated
]);
}
else
{
fflink_info
(
"Illegal interrupt %d
\n
"
,
irq
);
}
return
IRQ_HANDLED
;
#define DEFINE_USER_INTR_HANDLER(nr) \
irqreturn_t intr_handler_user_ ## nr(int irq, void * dev_id) \
{ \
priv_data.user_condition[nr] += 1; \
wake_up_interruptible_sync(&priv_data.user_wait_queue[nr]); \
return IRQ_HANDLED; \
}
DEFINE_USER_INTR_HANDLER
(
0
);
DEFINE_USER_INTR_HANDLER
(
1
);
DEFINE_USER_INTR_HANDLER
(
2
);
DEFINE_USER_INTR_HANDLER
(
3
);
DEFINE_USER_INTR_HANDLER
(
4
);
DEFINE_USER_INTR_HANDLER
(
5
);
DEFINE_USER_INTR_HANDLER
(
6
);
DEFINE_USER_INTR_HANDLER
(
7
);
DEFINE_USER_INTR_HANDLER
(
8
);
DEFINE_USER_INTR_HANDLER
(
9
);
DEFINE_USER_INTR_HANDLER
(
10
);
DEFINE_USER_INTR_HANDLER
(
11
);
DEFINE_USER_INTR_HANDLER
(
12
);
DEFINE_USER_INTR_HANDLER
(
13
);
DEFINE_USER_INTR_HANDLER
(
14
);
DEFINE_USER_INTR_HANDLER
(
15
);
DEFINE_USER_INTR_HANDLER
(
16
);
DEFINE_USER_INTR_HANDLER
(
17
);
DEFINE_USER_INTR_HANDLER
(
18
);
DEFINE_USER_INTR_HANDLER
(
19
);
DEFINE_USER_INTR_HANDLER
(
20
);
DEFINE_USER_INTR_HANDLER
(
21
);
DEFINE_USER_INTR_HANDLER
(
22
);
DEFINE_USER_INTR_HANDLER
(
23
);
DEFINE_USER_INTR_HANDLER
(
24
);
DEFINE_USER_INTR_HANDLER
(
25
);
DEFINE_USER_INTR_HANDLER
(
26
);
DEFINE_USER_INTR_HANDLER
(
27
);
DEFINE_USER_INTR_HANDLER
(
28
);
DEFINE_USER_INTR_HANDLER
(
29
);
DEFINE_USER_INTR_HANDLER
(
30
);
DEFINE_USER_INTR_HANDLER
(
31
);
DEFINE_USER_INTR_HANDLER
(
32
);
DEFINE_USER_INTR_HANDLER
(
33
);
DEFINE_USER_INTR_HANDLER
(
34
);
DEFINE_USER_INTR_HANDLER
(
35
);
DEFINE_USER_INTR_HANDLER
(
36
);
DEFINE_USER_INTR_HANDLER
(
37
);
DEFINE_USER_INTR_HANDLER
(
38
);
DEFINE_USER_INTR_HANDLER
(
39
);
DEFINE_USER_INTR_HANDLER
(
40
);
DEFINE_USER_INTR_HANDLER
(
41
);
DEFINE_USER_INTR_HANDLER
(
42
);
DEFINE_USER_INTR_HANDLER
(
43
);
DEFINE_USER_INTR_HANDLER
(
44
);
DEFINE_USER_INTR_HANDLER
(
45
);
DEFINE_USER_INTR_HANDLER
(
46
);
DEFINE_USER_INTR_HANDLER
(
47
);
DEFINE_USER_INTR_HANDLER
(
48
);
DEFINE_USER_INTR_HANDLER
(
49
);
DEFINE_USER_INTR_HANDLER
(
50
);
DEFINE_USER_INTR_HANDLER
(
51
);
DEFINE_USER_INTR_HANDLER
(
52
);
DEFINE_USER_INTR_HANDLER
(
53
);
DEFINE_USER_INTR_HANDLER
(
54
);
DEFINE_USER_INTR_HANDLER
(
55
);
DEFINE_USER_INTR_HANDLER
(
56
);
DEFINE_USER_INTR_HANDLER
(
57
);
DEFINE_USER_INTR_HANDLER
(
58
);
DEFINE_USER_INTR_HANDLER
(
59
);
DEFINE_USER_INTR_HANDLER
(
60
);
DEFINE_USER_INTR_HANDLER
(
61
);
DEFINE_USER_INTR_HANDLER
(
62
);
DEFINE_USER_INTR_HANDLER
(
63
);
DEFINE_USER_INTR_HANDLER
(
64
);
DEFINE_USER_INTR_HANDLER
(
65
);
DEFINE_USER_INTR_HANDLER
(
66
);
DEFINE_USER_INTR_HANDLER
(
67
);
DEFINE_USER_INTR_HANDLER
(
68
);
DEFINE_USER_INTR_HANDLER
(
69
);
DEFINE_USER_INTR_HANDLER
(
70
);
DEFINE_USER_INTR_HANDLER
(
71
);
DEFINE_USER_INTR_HANDLER
(
72
);
DEFINE_USER_INTR_HANDLER
(
73
);
DEFINE_USER_INTR_HANDLER
(
74
);
DEFINE_USER_INTR_HANDLER
(
75
);
DEFINE_USER_INTR_HANDLER
(
76
);
DEFINE_USER_INTR_HANDLER
(
77
);
DEFINE_USER_INTR_HANDLER
(
78
);
DEFINE_USER_INTR_HANDLER
(
79
);
DEFINE_USER_INTR_HANDLER
(
80
);
DEFINE_USER_INTR_HANDLER
(
81
);
DEFINE_USER_INTR_HANDLER
(
82
);
DEFINE_USER_INTR_HANDLER
(
83
);
DEFINE_USER_INTR_HANDLER
(
84
);
DEFINE_USER_INTR_HANDLER
(
85
);
DEFINE_USER_INTR_HANDLER
(
86
);
DEFINE_USER_INTR_HANDLER
(
87
);
DEFINE_USER_INTR_HANDLER
(
88
);
DEFINE_USER_INTR_HANDLER
(
89
);
DEFINE_USER_INTR_HANDLER
(
90
);
DEFINE_USER_INTR_HANDLER
(
91
);
DEFINE_USER_INTR_HANDLER
(
92
);
DEFINE_USER_INTR_HANDLER
(
93
);
DEFINE_USER_INTR_HANDLER
(
94
);
DEFINE_USER_INTR_HANDLER
(
95
);
DEFINE_USER_INTR_HANDLER
(
96
);
DEFINE_USER_INTR_HANDLER
(
97
);
DEFINE_USER_INTR_HANDLER
(
98
);
DEFINE_USER_INTR_HANDLER
(
99
);
DEFINE_USER_INTR_HANDLER
(
100
);
DEFINE_USER_INTR_HANDLER
(
101
);
DEFINE_USER_INTR_HANDLER
(
102
);
DEFINE_USER_INTR_HANDLER
(
103
);
DEFINE_USER_INTR_HANDLER
(
104
);
DEFINE_USER_INTR_HANDLER
(
105
);
DEFINE_USER_INTR_HANDLER
(
106
);
DEFINE_USER_INTR_HANDLER
(
107
);
DEFINE_USER_INTR_HANDLER
(
108
);
DEFINE_USER_INTR_HANDLER
(
109
);
DEFINE_USER_INTR_HANDLER
(
110
);
DEFINE_USER_INTR_HANDLER
(
111
);
DEFINE_USER_INTR_HANDLER
(
112
);
DEFINE_USER_INTR_HANDLER
(
113
);
DEFINE_USER_INTR_HANDLER
(
114
);
DEFINE_USER_INTR_HANDLER
(
115
);
DEFINE_USER_INTR_HANDLER
(
116
);
DEFINE_USER_INTR_HANDLER
(
117
);
DEFINE_USER_INTR_HANDLER
(
118
);
DEFINE_USER_INTR_HANDLER
(
119
);
DEFINE_USER_INTR_HANDLER
(
120
);
DEFINE_USER_INTR_HANDLER
(
121
);
DEFINE_USER_INTR_HANDLER
(
122
);
DEFINE_USER_INTR_HANDLER
(
123
);
DEFINE_USER_INTR_HANDLER
(
124
);
DEFINE_USER_INTR_HANDLER
(
125
);
DEFINE_USER_INTR_HANDLER
(
126
);
DEFINE_USER_INTR_HANDLER
(
127
);
/******************************************************************************/
/* helper functions externally called e.g. to (un/)load this char device */
...
...
platform/vc709/module/common/device_user.h
View file @
439d6f2b
...
...
@@ -35,7 +35,136 @@ void char_user_unregister(void);
/******************************************************************************/
/* interrupt handler used by user cores registered in pcie_device.c */
irqreturn_t
intr_handler_user
(
int
irq
,
void
*
dev_id
);
#define DECLARE_INTR_HANDLER_USER(nr) irqreturn_t intr_handler_user_ ## nr(int irq, void * dev_id)
DECLARE_INTR_HANDLER_USER
(
0
);
DECLARE_INTR_HANDLER_USER
(
1
);
DECLARE_INTR_HANDLER_USER
(
2
);
DECLARE_INTR_HANDLER_USER
(
3
);
DECLARE_INTR_HANDLER_USER
(
4
);
DECLARE_INTR_HANDLER_USER
(
5
);
DECLARE_INTR_HANDLER_USER
(
6
);
DECLARE_INTR_HANDLER_USER
(
7
);
DECLARE_INTR_HANDLER_USER
(
8
);
DECLARE_INTR_HANDLER_USER
(
9
);
DECLARE_INTR_HANDLER_USER
(
10
);
DECLARE_INTR_HANDLER_USER
(
11
);
DECLARE_INTR_HANDLER_USER
(
12
);
DECLARE_INTR_HANDLER_USER
(
13
);
DECLARE_INTR_HANDLER_USER
(
14
);
DECLARE_INTR_HANDLER_USER
(
15
);
DECLARE_INTR_HANDLER_USER
(
16
);
DECLARE_INTR_HANDLER_USER
(
17
);
DECLARE_INTR_HANDLER_USER
(
18
);
DECLARE_INTR_HANDLER_USER
(
19
);
DECLARE_INTR_HANDLER_USER
(
20
);
DECLARE_INTR_HANDLER_USER
(
21
);
DECLARE_INTR_HANDLER_USER
(
22
);
DECLARE_INTR_HANDLER_USER
(
23
);
DECLARE_INTR_HANDLER_USER
(
24
);
DECLARE_INTR_HANDLER_USER
(
25
);
DECLARE_INTR_HANDLER_USER
(
26
);
DECLARE_INTR_HANDLER_USER
(
27
);
DECLARE_INTR_HANDLER_USER
(
28
);
DECLARE_INTR_HANDLER_USER
(
29
);
DECLARE_INTR_HANDLER_USER
(
30
);
DECLARE_INTR_HANDLER_USER
(
31
);
DECLARE_INTR_HANDLER_USER
(
32
);
DECLARE_INTR_HANDLER_USER
(
33
);
DECLARE_INTR_HANDLER_USER
(
34
);
DECLARE_INTR_HANDLER_USER
(
35
);
DECLARE_INTR_HANDLER_USER
(
36
);
DECLARE_INTR_HANDLER_USER
(
37
);
DECLARE_INTR_HANDLER_USER
(
38
);
DECLARE_INTR_HANDLER_USER
(
39
);
DECLARE_INTR_HANDLER_USER
(
40
);
DECLARE_INTR_HANDLER_USER
(
41
);
DECLARE_INTR_HANDLER_USER
(
42
);
DECLARE_INTR_HANDLER_USER
(
43
);
DECLARE_INTR_HANDLER_USER
(
44
);
DECLARE_INTR_HANDLER_USER
(
45
);
DECLARE_INTR_HANDLER_USER
(
46
);
DECLARE_INTR_HANDLER_USER
(
47
);
DECLARE_INTR_HANDLER_USER
(
48
);
DECLARE_INTR_HANDLER_USER
(
49
);
DECLARE_INTR_HANDLER_USER
(
50
);
DECLARE_INTR_HANDLER_USER
(
51
);
DECLARE_INTR_HANDLER_USER
(
52
);
DECLARE_INTR_HANDLER_USER
(
53
);
DECLARE_INTR_HANDLER_USER
(
54
);
DECLARE_INTR_HANDLER_USER
(
55
);
DECLARE_INTR_HANDLER_USER
(
56
);
DECLARE_INTR_HANDLER_USER
(
57
);
DECLARE_INTR_HANDLER_USER
(
58
);
DECLARE_INTR_HANDLER_USER
(
59
);
DECLARE_INTR_HANDLER_USER
(
60
);
DECLARE_INTR_HANDLER_USER
(
61
);
DECLARE_INTR_HANDLER_USER
(
62
);
DECLARE_INTR_HANDLER_USER
(
63
);
DECLARE_INTR_HANDLER_USER
(
64
);
DECLARE_INTR_HANDLER_USER
(
65
);
DECLARE_INTR_HANDLER_USER
(
66
);
DECLARE_INTR_HANDLER_USER
(
67
);
DECLARE_INTR_HANDLER_USER
(
68
);
DECLARE_INTR_HANDLER_USER
(
69
);
DECLARE_INTR_HANDLER_USER
(
70
);
DECLARE_INTR_HANDLER_USER
(
71
);
DECLARE_INTR_HANDLER_USER
(
72
);
DECLARE_INTR_HANDLER_USER
(
73
);
DECLARE_INTR_HANDLER_USER
(
74
);
DECLARE_INTR_HANDLER_USER
(
75
);
DECLARE_INTR_HANDLER_USER
(
76
);
DECLARE_INTR_HANDLER_USER
(
77
);
DECLARE_INTR_HANDLER_USER
(
78
);
DECLARE_INTR_HANDLER_USER
(
79
);
DECLARE_INTR_HANDLER_USER
(
80
);
DECLARE_INTR_HANDLER_USER
(
81
);
DECLARE_INTR_HANDLER_USER
(
82
);
DECLARE_INTR_HANDLER_USER
(
83
);
DECLARE_INTR_HANDLER_USER
(
84
);
DECLARE_INTR_HANDLER_USER
(
85
);
DECLARE_INTR_HANDLER_USER
(
86
);
DECLARE_INTR_HANDLER_USER
(
87
);
DECLARE_INTR_HANDLER_USER
(
88
);
DECLARE_INTR_HANDLER_USER
(
89
);
DECLARE_INTR_HANDLER_USER
(
90
);
DECLARE_INTR_HANDLER_USER
(
91
);
DECLARE_INTR_HANDLER_USER
(
92
);
DECLARE_INTR_HANDLER_USER
(
93
);
DECLARE_INTR_HANDLER_USER
(
94
);
DECLARE_INTR_HANDLER_USER
(
95
);
DECLARE_INTR_HANDLER_USER
(
96
);
DECLARE_INTR_HANDLER_USER
(
97
);
DECLARE_INTR_HANDLER_USER
(
98
);
DECLARE_INTR_HANDLER_USER
(
99
);
DECLARE_INTR_HANDLER_USER
(
100
);
DECLARE_INTR_HANDLER_USER
(
101
);
DECLARE_INTR_HANDLER_USER
(
102
);
DECLARE_INTR_HANDLER_USER
(
103
);
DECLARE_INTR_HANDLER_USER
(
104
);
DECLARE_INTR_HANDLER_USER
(
105
);
DECLARE_INTR_HANDLER_USER
(
106
);
DECLARE_INTR_HANDLER_USER
(
107
);
DECLARE_INTR_HANDLER_USER
(
108
);
DECLARE_INTR_HANDLER_USER
(
109
);
DECLARE_INTR_HANDLER_USER
(
110
);
DECLARE_INTR_HANDLER_USER
(
111
);
DECLARE_INTR_HANDLER_USER
(
112
);
DECLARE_INTR_HANDLER_USER
(
113
);
DECLARE_INTR_HANDLER_USER
(
114
);
DECLARE_INTR_HANDLER_USER
(
115
);
DECLARE_INTR_HANDLER_USER
(
116
);
DECLARE_INTR_HANDLER_USER
(
117
);
DECLARE_INTR_HANDLER_USER
(
118
);
DECLARE_INTR_HANDLER_USER
(
119
);
DECLARE_INTR_HANDLER_USER
(
120
);
DECLARE_INTR_HANDLER_USER
(
121
);
DECLARE_INTR_HANDLER_USER
(
122
);
DECLARE_INTR_HANDLER_USER
(
123
);
DECLARE_INTR_HANDLER_USER
(
124
);
DECLARE_INTR_HANDLER_USER
(
125
);
DECLARE_INTR_HANDLER_USER
(
126
);
DECLARE_INTR_HANDLER_USER
(
127
);
/******************************************************************************/
...
...
platform/vc709/module/pcie_device.c
View file @
439d6f2b
...
...
@@ -97,16 +97,16 @@ static int configure_device(struct pci_dev *pdev)
{
fflink_info
(
"Settings of MPS: %d and Maximum Read Request %d
\n
"
,
pcie_get_mps
(
pdev
),
pcie_get_readrq
(
pdev
));
if
(
!
dma_set_mask
(
&
pdev
->
dev
,
DMA_BIT_MASK
(
64
)))
{
fflink_info
(
"dma_set_mask: Using 64 bit dma addresses
\n
"
);
dma_set_coherent_mask
(
&
pdev
->
dev
,
DMA_BIT_MASK
(
64
));
}
else
if
(
!
dma_set_mask
(
&
pdev
->
dev
,
DMA_BIT_MASK
(
32
)))
{
fflink_info
(
"dma_set_mask: Using 32 bit dma addresses
\n
"
);
dma_set_coherent_mask
(
&
pdev
->
dev
,
DMA_BIT_MASK
(
32
));
}
else
{
fflink_warn
(
"No suitable dma available
\n
"
);
goto
mask_error
;
}
if
(
!
dma_set_mask
(
&
pdev
->
dev
,
DMA_BIT_MASK
(
64
)))
{
fflink_info
(
"dma_set_mask: Using 64 bit dma addresses
\n
"
);
dma_set_coherent_mask
(
&
pdev
->
dev
,
DMA_BIT_MASK
(
64
));
}
else
if
(
!
dma_set_mask
(
&
pdev
->
dev
,
DMA_BIT_MASK
(
32
)))
{
fflink_info
(
"dma_set_mask: Using 32 bit dma addresses
\n
"
);
dma_set_coherent_mask
(
&
pdev
->
dev
,
DMA_BIT_MASK
(
32
));
}
else
{
fflink_warn
(
"No suitable dma available
\n
"
);
goto
mask_error
;
}
return
0
;
...
...
@@ -131,8 +131,135 @@ static int register_intr_handler(struct pci_dev *pdev, int c)
if
(
c
==
1
||
c
==
2
||
c
==
3
)
err
=
-
2
;
if
(
c
>=
4
)
{
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
switch
(
c
)
{
case
4
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_0
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
5
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_1
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
6
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_2
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
7
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_3
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
8
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_4
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
9
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_5
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
10
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_6
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
11
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_7
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
12
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_8
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
13
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_9
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
14
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_10
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
15
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_11
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
16
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_12
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
17
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_13
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
18
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_14
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
19
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_15
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
20
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_16
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
21
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_17
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
22
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_18
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
23
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_19
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
24
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_20
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
25
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_21
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
26
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_22
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
27
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_23
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
28
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_24
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
29
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_25
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
30
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_26
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
31
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_27
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
32
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_28
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
33
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_29
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
34
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_30
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
35
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_31
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
36
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_32
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
37
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_33
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
38
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_34
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
39
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_35
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
40
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_36
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
41
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_37
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
42
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_38
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
43
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_39
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
44
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_40
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
45
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_41
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
46
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_42
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
47
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_43
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
48
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_44
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
49
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_45
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
50
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_46
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
51
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_47
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
52
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_48
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
53
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_49
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
54
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_50
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
55
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_51
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
56
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_52
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
57
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_53
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
58
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_54
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
59
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_55
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
60
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_56
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
61
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_57
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
62
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_58
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
63
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_59
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
64
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_60
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
65
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_61
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
66
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_62
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
67
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_63
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
68
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_64
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
69
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_65
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
70
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_66
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
71
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_67
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
72
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_68
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
73
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_69
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
74
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_70
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
75
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_71
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
76
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_72
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
77
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_73
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
78
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_74
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
79
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_75
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
80
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_76
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
81
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_77
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
82
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_78
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
83
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_79
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
84
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_80
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
85
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_81
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
86
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_82
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
87
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_83
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
88
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_84
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
89
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_85
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
90
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_86
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
91
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_87
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
92
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_88
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
93
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_89
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
94
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_90
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
95
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_91
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
96
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_92
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
97
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_93
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
98
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_94
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
99
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_95
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
100
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_96
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
101
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_97
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
102
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_98
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
103
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_99
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
104
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_100
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
105
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_101
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
106
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_102
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
107
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_103
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
108
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_104
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
109
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_105
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
110
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_106
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
111
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_107
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
112
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_108
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
113
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_109
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
114
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_110
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
115
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_111
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
116
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_112
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
117
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_113
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
118
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_114
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
119
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_115
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
120
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_116
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
121
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_117
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
122
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_118
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
123
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_119
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
124
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_120
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
125
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_121
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
126
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_122
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
127
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_123
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
128
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_124
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
129
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_125
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
130
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_126
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
case
131
:
err
=
request_irq
(
pci_irq_vector
(
pdev
,
c
),
intr_handler_user_127
,
IRQF_EARLY_RESUME
,
FFLINK_PCI_NAME
,
pdev
);
break
;
}
// Save the c to irq mapping for later use
...
...
Jaco Hofmann
@jah
mentioned in commit
9487b61b
·
Jul 19, 2017
mentioned in commit
9487b61b
mentioned in commit 9487b61b23242bc66532c0f5178e86c71e258c09
Toggle commit list
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment