aboutsummaryrefslogtreecommitdiffstats
path: root/bad/shot-accross-the-bow.patch
blob: d655dfcdf018583f083473c533538ae3e3cfe08b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
Subject: PCI: fix up the exported symbols to be the proper license.

Ok, now that I have everyone's attention, no I'm not serious about
submitting this patch, I'm not a fool.  I know the rules about existing
kernel symbols.

But, what if this patch really did go in?  Who would be affected by
this?  Nothing that is currently in the kernel.org kernel tree, right,
so what's the big deal?

Oh yeah, closed source drivers that are out side of the tree, but who
cares about them?

Oh yeah, _very_ large companies rely on them right now, and are working
on creating more and more closed source drivers.  Why?  Don't they know
that their legal departments do not agree with this?  Are they
approaching Linux development in the same way they used to with the old
Unix systems, i.e. fork and "add value"?

Well, consider this a warning shot for anyone who is relying on closed
source modules.  What you are doing is trying to take from Linux and not
give anything back..  The GPL explicitly forbids this, and Linux would
not be good enough today for you to be using it without that protection.
There is a reason why you are wanting to use Linux for your internal
use, and why your customers are asking for it.

If you, or your company is relying on closed source kernel modules, your
days are numbered.  And what are you going to do, and how are you going
to explain things to your bosses and your customers, if possibly,
something like this patch were to be accepted?

Something to think about...


Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>

---
 drivers/pci/access.c     |   12 +++++------
 drivers/pci/bus.c        |    6 ++---
 drivers/pci/msi.c        |    8 +++----
 drivers/pci/pci-acpi.c   |    4 +--
 drivers/pci/pci-driver.c |   16 +++++++--------
 drivers/pci/pci.c        |   50 +++++++++++++++++++++++------------------------
 drivers/pci/probe.c      |   14 ++++++-------
 drivers/pci/proc.c       |    4 +--
 drivers/pci/quirks.c     |    4 +--
 drivers/pci/remove.c     |    6 ++---
 drivers/pci/rom.c        |    8 +++----
 drivers/pci/search.c     |   20 +++++++++---------
 drivers/pci/setup-bus.c  |    6 ++---
 13 files changed, 79 insertions(+), 79 deletions(-)

--- gregkh-2.6.orig/drivers/pci/access.c
+++ gregkh-2.6/drivers/pci/access.c
@@ -56,12 +56,12 @@ PCI_OP_WRITE(byte, u8, 1)
 PCI_OP_WRITE(word, u16, 2)
 PCI_OP_WRITE(dword, u32, 4)
 
-EXPORT_SYMBOL(pci_bus_read_config_byte);
-EXPORT_SYMBOL(pci_bus_read_config_word);
-EXPORT_SYMBOL(pci_bus_read_config_dword);
-EXPORT_SYMBOL(pci_bus_write_config_byte);
-EXPORT_SYMBOL(pci_bus_write_config_word);
-EXPORT_SYMBOL(pci_bus_write_config_dword);
+EXPORT_SYMBOL_GPL(pci_bus_read_config_byte);
+EXPORT_SYMBOL_GPL(pci_bus_read_config_word);
+EXPORT_SYMBOL_GPL(pci_bus_read_config_dword);
+EXPORT_SYMBOL_GPL(pci_bus_write_config_byte);
+EXPORT_SYMBOL_GPL(pci_bus_write_config_word);
+EXPORT_SYMBOL_GPL(pci_bus_write_config_dword);
 
 static u32 pci_user_cached_config(struct pci_dev *dev, int pos)
 {
--- gregkh-2.6.orig/drivers/pci/bus.c
+++ gregkh-2.6/drivers/pci/bus.c
@@ -199,7 +199,7 @@ void pci_walk_bus(struct pci_bus *top, v
 }
 EXPORT_SYMBOL_GPL(pci_walk_bus);
 
-EXPORT_SYMBOL(pci_bus_alloc_resource);
+EXPORT_SYMBOL_GPL(pci_bus_alloc_resource);
 EXPORT_SYMBOL_GPL(pci_bus_add_device);
-EXPORT_SYMBOL(pci_bus_add_devices);
-EXPORT_SYMBOL(pci_enable_bridges);
+EXPORT_SYMBOL_GPL(pci_bus_add_devices);
+EXPORT_SYMBOL_GPL(pci_enable_bridges);
--- gregkh-2.6.orig/drivers/pci/msi.c
+++ gregkh-2.6/drivers/pci/msi.c
@@ -1121,7 +1121,7 @@ void msi_remove_pci_irq_vectors(struct p
 	}
 }
 
-EXPORT_SYMBOL(pci_enable_msi);
-EXPORT_SYMBOL(pci_disable_msi);
-EXPORT_SYMBOL(pci_enable_msix);
-EXPORT_SYMBOL(pci_disable_msix);
+EXPORT_SYMBOL_GPL(pci_enable_msi);
+EXPORT_SYMBOL_GPL(pci_disable_msi);
+EXPORT_SYMBOL_GPL(pci_enable_msix);
+EXPORT_SYMBOL_GPL(pci_disable_msix);
--- gregkh-2.6.orig/drivers/pci/pci-acpi.c
+++ gregkh-2.6/drivers/pci/pci-acpi.c
@@ -174,7 +174,7 @@ acpi_status pci_osc_support_set(u32 flag
 	ctrlset_buf[OSC_CONTROL_TYPE] = temp;
 	return AE_OK;
 }
-EXPORT_SYMBOL(pci_osc_support_set);
+EXPORT_SYMBOL_GPL(pci_osc_support_set);
 
 /**
  * pci_osc_control_set - commit requested control to Firmware
@@ -204,7 +204,7 @@ acpi_status pci_osc_control_set(acpi_han
 	
 	return status;
 }
-EXPORT_SYMBOL(pci_osc_control_set);
+EXPORT_SYMBOL_GPL(pci_osc_control_set);
 
 /*
  * _SxD returns the D-state with the highest power
--- gregkh-2.6.orig/drivers/pci/pci-driver.c
+++ gregkh-2.6/drivers/pci/pci-driver.c
@@ -525,11 +525,11 @@ static int __init pci_driver_init(void)
 
 postcore_initcall(pci_driver_init);
 
-EXPORT_SYMBOL(pci_match_id);
-EXPORT_SYMBOL(pci_match_device);
-EXPORT_SYMBOL(__pci_register_driver);
-EXPORT_SYMBOL(pci_unregister_driver);
-EXPORT_SYMBOL(pci_dev_driver);
-EXPORT_SYMBOL(pci_bus_type);
-EXPORT_SYMBOL(pci_dev_get);
-EXPORT_SYMBOL(pci_dev_put);
+EXPORT_SYMBOL_GPL(pci_match_id);
+EXPORT_SYMBOL_GPL(pci_match_device);
+EXPORT_SYMBOL_GPL(__pci_register_driver);
+EXPORT_SYMBOL_GPL(pci_unregister_driver);
+EXPORT_SYMBOL_GPL(pci_dev_driver);
+EXPORT_SYMBOL_GPL(pci_bus_type);
+EXPORT_SYMBOL_GPL(pci_dev_get);
+EXPORT_SYMBOL_GPL(pci_dev_put);
--- gregkh-2.6.orig/drivers/pci/pci.c
+++ gregkh-2.6/drivers/pci/pci.c
@@ -430,7 +430,7 @@ pci_power_t pci_choose_state(struct pci_
 	return PCI_D0;
 }
 
-EXPORT_SYMBOL(pci_choose_state);
+EXPORT_SYMBOL_GPL(pci_choose_state);
 
 /**
  * pci_save_state - save the PCI configuration space of a device before suspending
@@ -915,34 +915,34 @@ __setup("pci=", pci_setup);
 #if defined(CONFIG_ISA) || defined(CONFIG_EISA)
 /* FIXME: Some boxes have multiple ISA bridges! */
 struct pci_dev *isa_bridge;
-EXPORT_SYMBOL(isa_bridge);
+EXPORT_SYMBOL_GPL(isa_bridge);
 #endif
 
 EXPORT_SYMBOL_GPL(pci_restore_bars);
-EXPORT_SYMBOL(pci_enable_device_bars);
-EXPORT_SYMBOL(pci_enable_device);
-EXPORT_SYMBOL(pci_disable_device);
-EXPORT_SYMBOL(pci_find_capability);
-EXPORT_SYMBOL(pci_bus_find_capability);
-EXPORT_SYMBOL(pci_release_regions);
-EXPORT_SYMBOL(pci_request_regions);
-EXPORT_SYMBOL(pci_release_region);
-EXPORT_SYMBOL(pci_request_region);
-EXPORT_SYMBOL(pci_set_master);
-EXPORT_SYMBOL(pci_set_mwi);
-EXPORT_SYMBOL(pci_clear_mwi);
+EXPORT_SYMBOL_GPL(pci_enable_device_bars);
+EXPORT_SYMBOL_GPL(pci_enable_device);
+EXPORT_SYMBOL_GPL(pci_disable_device);
+EXPORT_SYMBOL_GPL(pci_find_capability);
+EXPORT_SYMBOL_GPL(pci_bus_find_capability);
+EXPORT_SYMBOL_GPL(pci_release_regions);
+EXPORT_SYMBOL_GPL(pci_request_regions);
+EXPORT_SYMBOL_GPL(pci_release_region);
+EXPORT_SYMBOL_GPL(pci_request_region);
+EXPORT_SYMBOL_GPL(pci_set_master);
+EXPORT_SYMBOL_GPL(pci_set_mwi);
+EXPORT_SYMBOL_GPL(pci_clear_mwi);
 EXPORT_SYMBOL_GPL(pci_intx);
-EXPORT_SYMBOL(pci_set_dma_mask);
-EXPORT_SYMBOL(pci_set_consistent_dma_mask);
-EXPORT_SYMBOL(pci_assign_resource);
-EXPORT_SYMBOL(pci_find_parent_resource);
-
-EXPORT_SYMBOL(pci_set_power_state);
-EXPORT_SYMBOL(pci_save_state);
-EXPORT_SYMBOL(pci_restore_state);
-EXPORT_SYMBOL(pci_enable_wake);
+EXPORT_SYMBOL_GPL(pci_set_dma_mask);
+EXPORT_SYMBOL_GPL(pci_set_consistent_dma_mask);
+EXPORT_SYMBOL_GPL(pci_assign_resource);
+EXPORT_SYMBOL_GPL(pci_find_parent_resource);
+
+EXPORT_SYMBOL_GPL(pci_set_power_state);
+EXPORT_SYMBOL_GPL(pci_save_state);
+EXPORT_SYMBOL_GPL(pci_restore_state);
+EXPORT_SYMBOL_GPL(pci_enable_wake);
 
 /* Quirk info */
 
-EXPORT_SYMBOL(isa_dma_bridge_buggy);
-EXPORT_SYMBOL(pci_pci_problems);
+EXPORT_SYMBOL_GPL(isa_dma_bridge_buggy);
+EXPORT_SYMBOL_GPL(pci_pci_problems);
--- gregkh-2.6.orig/drivers/pci/probe.c
+++ gregkh-2.6/drivers/pci/probe.c
@@ -18,7 +18,7 @@
 
 /* Ugh.  Need to stop exporting this to modules. */
 LIST_HEAD(pci_root_buses);
-EXPORT_SYMBOL(pci_root_buses);
+EXPORT_SYMBOL_GPL(pci_root_buses);
 
 LIST_HEAD(pci_devices);
 
@@ -1031,13 +1031,13 @@ struct pci_bus * __devinit pci_scan_bus_
 		b->subordinate = pci_scan_child_bus(b);
 	return b;
 }
-EXPORT_SYMBOL(pci_scan_bus_parented);
+EXPORT_SYMBOL_GPL(pci_scan_bus_parented);
 
 #ifdef CONFIG_HOTPLUG
-EXPORT_SYMBOL(pci_add_new_bus);
-EXPORT_SYMBOL(pci_do_scan_bus);
-EXPORT_SYMBOL(pci_scan_slot);
-EXPORT_SYMBOL(pci_scan_bridge);
-EXPORT_SYMBOL(pci_scan_single_device);
+EXPORT_SYMBOL_GPL(pci_add_new_bus);
+EXPORT_SYMBOL_GPL(pci_do_scan_bus);
+EXPORT_SYMBOL_GPL(pci_scan_slot);
+EXPORT_SYMBOL_GPL(pci_scan_bridge);
+EXPORT_SYMBOL_GPL(pci_scan_single_device);
 EXPORT_SYMBOL_GPL(pci_scan_child_bus);
 #endif
--- gregkh-2.6.orig/drivers/pci/proc.c
+++ gregkh-2.6/drivers/pci/proc.c
@@ -613,7 +613,7 @@ static int __init pci_proc_init(void)
 __initcall(pci_proc_init);
 
 #ifdef CONFIG_HOTPLUG
-EXPORT_SYMBOL(pci_proc_attach_device);
-EXPORT_SYMBOL(pci_proc_detach_bus);
+EXPORT_SYMBOL_GPL(pci_proc_attach_device);
+EXPORT_SYMBOL_GPL(pci_proc_detach_bus);
 #endif
 
--- gregkh-2.6.orig/drivers/pci/quirks.c
+++ gregkh-2.6/drivers/pci/quirks.c
@@ -1368,7 +1368,7 @@ static void __devinit quirk_p64h2_1k_io(
 }
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,	0x1460,		quirk_p64h2_1k_io);
 
-EXPORT_SYMBOL(pcie_mch_quirk);
+EXPORT_SYMBOL_GPL(pcie_mch_quirk);
 #ifdef CONFIG_HOTPLUG
-EXPORT_SYMBOL(pci_fixup_device);
+EXPORT_SYMBOL_GPL(pci_fixup_device);
 #endif
--- gregkh-2.6.orig/drivers/pci/remove.c
+++ gregkh-2.6/drivers/pci/remove.c
@@ -71,7 +71,7 @@ void pci_remove_bus(struct pci_bus *pci_
 	sysfs_remove_link(&pci_bus->class_dev.kobj, "bridge");
 	class_device_unregister(&pci_bus->class_dev);
 }
-EXPORT_SYMBOL(pci_remove_bus);
+EXPORT_SYMBOL_GPL(pci_remove_bus);
 
 /**
  * pci_remove_bus_device - remove a PCI device and any children
@@ -119,5 +119,5 @@ void pci_remove_behind_bridge(struct pci
 	}
 }
 
-EXPORT_SYMBOL(pci_remove_bus_device);
-EXPORT_SYMBOL(pci_remove_behind_bridge);
+EXPORT_SYMBOL_GPL(pci_remove_bus_device);
+EXPORT_SYMBOL_GPL(pci_remove_behind_bridge);
--- gregkh-2.6.orig/drivers/pci/rom.c
+++ gregkh-2.6/drivers/pci/rom.c
@@ -234,7 +234,7 @@ void pci_cleanup_rom(struct pci_dev *pde
 	}
 }
 
-EXPORT_SYMBOL(pci_map_rom);
-EXPORT_SYMBOL(pci_map_rom_copy);
-EXPORT_SYMBOL(pci_unmap_rom);
-EXPORT_SYMBOL(pci_remove_rom);
+EXPORT_SYMBOL_GPL(pci_map_rom);
+EXPORT_SYMBOL_GPL(pci_map_rom_copy);
+EXPORT_SYMBOL_GPL(pci_unmap_rom);
+EXPORT_SYMBOL_GPL(pci_remove_rom);
--- gregkh-2.6.orig/drivers/pci/search.c
+++ gregkh-2.6/drivers/pci/search.c
@@ -376,14 +376,14 @@ exit:				
 	spin_unlock(&pci_bus_lock);
 	return found;
 }
-EXPORT_SYMBOL(pci_dev_present);
+EXPORT_SYMBOL_GPL(pci_dev_present);
 
-EXPORT_SYMBOL(pci_find_bus);
-EXPORT_SYMBOL(pci_find_next_bus);
-EXPORT_SYMBOL(pci_find_device);
-EXPORT_SYMBOL(pci_find_device_reverse);
-EXPORT_SYMBOL(pci_find_slot);
-EXPORT_SYMBOL(pci_get_device);
-EXPORT_SYMBOL(pci_get_subsys);
-EXPORT_SYMBOL(pci_get_slot);
-EXPORT_SYMBOL(pci_get_class);
+EXPORT_SYMBOL_GPL(pci_find_bus);
+EXPORT_SYMBOL_GPL(pci_find_next_bus);
+EXPORT_SYMBOL_GPL(pci_find_device);
+EXPORT_SYMBOL_GPL(pci_find_device_reverse);
+EXPORT_SYMBOL_GPL(pci_find_slot);
+EXPORT_SYMBOL_GPL(pci_get_device);
+EXPORT_SYMBOL_GPL(pci_get_subsys);
+EXPORT_SYMBOL_GPL(pci_get_slot);
+EXPORT_SYMBOL_GPL(pci_get_class);
--- gregkh-2.6.orig/drivers/pci/setup-bus.c
+++ gregkh-2.6/drivers/pci/setup-bus.c
@@ -129,7 +129,7 @@ void pci_setup_cardbus(struct pci_bus *b
 					region.end);
 	}
 }
-EXPORT_SYMBOL(pci_setup_cardbus);
+EXPORT_SYMBOL_GPL(pci_setup_cardbus);
 
 /* Initialize bridges with base/limit values we have collected.
    PCI-to-PCI Bridge Architecture Specification rev. 1.1 (1998)
@@ -493,7 +493,7 @@ pci_bus_size_bridges(struct pci_bus *bus
 		break;
 	}
 }
-EXPORT_SYMBOL(pci_bus_size_bridges);
+EXPORT_SYMBOL_GPL(pci_bus_size_bridges);
 
 void __devinit
 pci_bus_assign_resources(struct pci_bus *bus)
@@ -526,7 +526,7 @@ pci_bus_assign_resources(struct pci_bus 
 		}
 	}
 }
-EXPORT_SYMBOL(pci_bus_assign_resources);
+EXPORT_SYMBOL_GPL(pci_bus_assign_resources);
 
 void __init
 pci_assign_unassigned_resources(void)