annotate e1000_rework_without_explicit_call.patch @ 34:62fba8b9db06

Minor fixes
author Thomas Sanchez <thomas.sanchz@gmail.com>
date Sun, 08 Jan 2012 01:02:43 +0100
parents 60a59bf708df
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
33
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
1 # HG changeset patch
34
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
2 # Parent 1cfa6a46c673fae191ce982e2ebd471f9a53ee90
33
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
3 rathaxes: initialize the e1000 sepcific code in an elegant implicit way
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
4
34
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
5 diff -r 1cfa6a46c673 rathaxes/samples/lkm/e1000.blt
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
6 --- a/rathaxes/samples/lkm/e1000.blt Sun Jan 08 01:01:14 2012 +0100
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
7 +++ b/rathaxes/samples/lkm/e1000.blt Sun Jan 08 01:02:13 2012 +0100
33
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
8 @@ -27,9 +27,9 @@
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
9 }
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
10 }
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
11
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
12 - template sequence e1000::create()
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
13 + template sequence e1000::create_device()
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
14 {
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
15 - chunk ::CALL
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
16 + chunk Ethernet::create_device()
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
17 {
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
18 rtx_ether_ctx->hw_ctx.bars = pci_select_bars(pdev, IORESOURCE_MEM);
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
19 if (pci_enable_device_mem(pdev))
34
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
20 @@ -54,18 +54,25 @@
33
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
21 ${Log::info("e1000::create: pci_ioremap_bar failed")};
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
22 }
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
23 }
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
24 +
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
25 + chunk ::CALL
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
26 + {
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
27 + }
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
28 }
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
29
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
30 - template sequence e1000::destroy()
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
31 + template sequence e1000::destroy_device()
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
32 {
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
33 - chunk ::CALL
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
34 + chunk Ethernet::destroy_device
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
35 {
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
36 // XXX: add a check in order to avoid freeing none allocated
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
37 // resources.
34
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
38 struct rtx_ethernet_dev* rtx_ether_ctx = netdev_priv(net_dev);
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
39 iounmap(rtx_ether_ctx->hw_ctx.ioaddr);
33
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
40 pci_release_selected_regions(pdev, rtx_ether_ctx->hw_ctx.bars);
34
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
41 - pci_release_region(pdev, 0);
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
42 + }
33
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
43 +
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
44 + chunk ::CALL
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
45 + {
34
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
46 }
33
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
47 }
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
48 }
34
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
49 diff -r 1cfa6a46c673 rathaxes/samples/lkm/e1000.rti
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
50 --- a/rathaxes/samples/lkm/e1000.rti Sun Jan 08 01:01:14 2012 +0100
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
51 +++ b/rathaxes/samples/lkm/e1000.rti Sun Jan 08 01:02:13 2012 +0100
33
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
52 @@ -3,13 +3,15 @@
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
53 provided type e1000::Context;
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
54
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
55 /* Not sure if we need the argument */
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
56 - provided sequence e1000::create()
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
57 + provided sequence e1000::create_device()
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
58 {
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
59 + provided chunk Ethernet::create_device;
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
60 provided chunk ::CALL;
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
61 }
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
62
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
63 - provided sequence e1000::destroy()
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
64 + provided sequence e1000::destroy_device()
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
65 {
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
66 + provided chunk Ethernet::destroy_device;
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
67 provided chunk ::CALL;
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
68 }
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
69 }
34
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
70 diff -r 1cfa6a46c673 rathaxes/samples/lkm/ethernet.blt
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
71 --- a/rathaxes/samples/lkm/ethernet.blt Sun Jan 08 01:01:14 2012 +0100
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
72 +++ b/rathaxes/samples/lkm/ethernet.blt Sun Jan 08 01:02:13 2012 +0100
33
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
73 @@ -173,6 +173,7 @@
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
74 /* same problem as above with ${pdev} */
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
75 //pci_set_drvdata(${pdev}, net_dev);
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
76 pci_set_drvdata(pdev, net_dev);
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
77 + ${pointcut Ethernet::create_device};
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
78 }
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
79
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
80 chunk ::CALL
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
81 @@ -186,6 +187,8 @@
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
82 {
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
83 struct net_device *net_dev = pci_get_drvdata(pdev);
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
84
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
85 + ${pointcut Ethernet::destroy_device};
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
86 +
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
87 unregister_netdev(net_dev);
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
88 /*
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
89 * If we had some cleanup todo with struct rtx_ether_ctx we would
34
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
90 diff -r 1cfa6a46c673 rathaxes/samples/lkm/ethernet.rti
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
91 --- a/rathaxes/samples/lkm/ethernet.rti Sun Jan 08 01:01:14 2012 +0100
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
92 +++ b/rathaxes/samples/lkm/ethernet.rti Sun Jan 08 01:02:13 2012 +0100
33
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
93 @@ -33,6 +33,8 @@
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
94 provided chunk LKM::data;
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
95 provided chunk PCI::pci_probe_hook;
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
96 provided chunk ::CALL;
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
97 +
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
98 + provided pointcut Ethernet::create_device;
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
99 }
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
100
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
101 /* Likely extends PCI::remove */
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
102 @@ -40,5 +42,7 @@
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
103 {
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
104 provided chunk ::CALL;
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
105 provided chunk PCI::pci_remove_hook;
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
106 +
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
107 + provided pointcut Ethernet::destroy_device;
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
108 }
Thomas Sanchez <thomas.sanchz@gmail.com>
parents:
diff changeset
109 }
34
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
110 diff -r 1cfa6a46c673 rathaxes/samples/lkm/lkm.rtx
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
111 --- a/rathaxes/samples/lkm/lkm.rtx Sun Jan 08 01:01:14 2012 +0100
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
112 +++ b/rathaxes/samples/lkm/lkm.rtx Sun Jan 08 01:02:13 2012 +0100
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
113 @@ -20,30 +20,14 @@
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
114 Log::info("We have one packet to transmit!");
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
115 }
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
116
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
117 -// PCI::probe(PCI::Device dev)
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
118 -// {
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
119 -// Log::info("Probe the device");
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
120 -// Ethernet::init(dev);
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
121 -// e1000::create();
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
122 -// }
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
123 -
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
124 -// PCI::remove(PCI::Device dev)
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
125 -// {
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
126 -// Log::info("Remove the pci device");
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
127 -// e1000::destroy();
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
128 -// Ethernet::exit(dev);
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
129 -// }
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
130 -
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
131 LKM::init()
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
132 {
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
133 Log::info("Hello this is LKM");
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
134 - // PCI::register();
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
135 }
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
136
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
137 LKM::exit()
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
138 {
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
139 Log::info("Good bye this was LKM");
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
140 - // PCI::unregister();
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
141 }
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
142 }
62fba8b9db06 Minor fixes
Thomas Sanchez <thomas.sanchz@gmail.com>
parents: 33
diff changeset
143