Michael Brown
e14c739d2d
Imported from Etherboot 5.4 tree
2005-05-19 16:51:32 +00:00
Michael Brown
4e87543c74
Synced across updates from Etherboot 5.4 tree
2005-05-19 16:47:19 +00:00
Michael Brown
e91c65bea1
Make PCI ID tables const so as not to trigger a warning about a large
...
symbol.
2005-05-03 12:36:06 +00:00
Michael Brown
24c0498cbc
Move tulip_private structure into shared data.
2005-05-03 12:29:32 +00:00
Michael Brown
42eb786ced
D'oh
2005-05-03 12:18:31 +00:00
Michael Brown
4bcd42699b
Use __shared
2005-05-03 12:16:49 +00:00
Michael Brown
303ff86c75
Added example of how to use __shared.
...
Moved transmit before poll, since typically transmit will be implemented first.
2005-05-03 12:14:29 +00:00
Michael Brown
c112f12c5b
Symbol fixups
2005-05-03 11:29:33 +00:00
Michael Brown
3c2851e563
Arbitrary alignment is now available.
...
Use shared symbols.
Correct other symbol violations.
2005-05-03 09:56:57 +00:00
Michael Brown
ee15c47cb5
Use shared symbols
2005-05-02 17:45:24 +00:00
Michael Brown
3267ca5568
Use shared symbols to save space
2005-05-02 16:35:44 +00:00
Michael Brown
60b82eb5cd
Moved definition of __shared into compiler.h
2005-05-02 16:21:52 +00:00
Michael Brown
a1f50f27b0
Correct symbol violations reported by "make symcheck"
2005-05-02 15:22:32 +00:00
Michael Brown
7e534b585f
Automatically updated with
...
perl -pi -0777 -e 's/^static struct \w+_driver (\w+) =\s*(\w+_DRIVER \()/${2} ${1},/msg' *.c
2005-04-26 12:19:39 +00:00
Michael Brown
99b857559b
Added "name" field to struct bus_driver
2005-04-25 19:26:33 +00:00
Michael Brown
9dc7ebc152
Symbol errors caught by symcheck.pl
2005-04-23 14:45:37 +00:00
Michael Brown
e8f364551a
Typo
2005-04-22 16:32:29 +00:00
Michael Brown
08ff0c1d30
Ensured that all drivers call xxx_fill_nic().
2005-04-22 16:31:52 +00:00
Michael Brown
e7c177cc33
Coerced into compiling
2005-04-22 16:27:56 +00:00
Michael Brown
628444af86
Updated to new device probing API
2005-04-22 16:24:21 +00:00
Michael Brown
49fe02e501
Coerced into compiling
2005-04-22 16:09:54 +00:00
Michael Brown
ee88aacdb6
Coerced into compiling.
2005-04-22 16:07:48 +00:00
Michael Brown
fba7f011d2
Coerced into actually compiling.
2005-04-22 16:06:46 +00:00
Michael Brown
67c9385577
Fields in struct pci_device slightly changed.
2005-04-22 16:05:05 +00:00
Michael Brown
7bd88df08d
Documented where to get hold of the datasheet.
2005-04-22 16:01:51 +00:00
Michael Brown
091a579be1
Updated to new API.
2005-04-22 16:00:51 +00:00
Michael Brown
139d0fe481
Updated to new bus API, and improved using the 3c5x9 reference manual.
2005-04-22 15:55:13 +00:00
Michael Brown
8af80c6b10
disable() is a void
2005-04-22 12:07:22 +00:00
Michael Brown
e596c42ade
Updated to current API.
2005-04-22 11:57:35 +00:00
Michael Brown
329ccfdc21
Updated to new API.
2005-04-22 11:56:49 +00:00
Michael Brown
0e2dc7aa8e
Updated to new device API.
2005-04-22 11:29:40 +00:00
Michael Brown
614c39a8a4
Automatically updated with the program
...
#!/usr/bin/perl -w -pi -0777
use strict;
( my $type ) = /find_(\w+?)_boot_device/ or die "Could not find type\n";
( my $disable ) = /\.disable\s*=\s*(\w+)/ or die "Could not locate disable\n";
s/(${disable}\s*\(\s*struct\s+nic\s+\*nic)(\s*\)\s*\{)(\s*)/${1}, struct ${type}_device \*${type} __unused${2}${3}nic_disable ( nic );${3}/s;
s/(${disable}\s*\(\s*struct\s+nic\s+\*nic)(\s*\)\s*;)/${1}, struct ${type}_device \*${type}${2}/g;
s/^\s*.disable\s*=\s*${disable}\s*,\s*?$//m;
s/(_probe\s*\(\s*)struct\s+dev\s+\*dev/${1}struct nic \*nic/g;
s/^\s*struct\s+nic\s+\*nic\s*=\s*nic_device\s*\(\s*dev\s*\)\s*;\s*?$//m;
s/^(\s*)(nic->(ioaddr|irqno)\s*=\s*${type})/${1}${type}_fill_nic ( nic, ${type} );\n${1}${2}/m;
2005-04-21 19:20:39 +00:00
Michael Brown
cfe3a663af
Tweaked API to minimise changes to existing drivers even further.
2005-04-21 19:04:53 +00:00
Michael Brown
a713813596
Updated to current API
2005-04-21 18:31:31 +00:00
Michael Brown
bd2c3b0f27
Split out EISA driver into a separate file, since 3c509s can only take 16K
...
ROMs (AFAIK).
2005-04-17 17:52:33 +00:00
Michael Brown
5ca20abf95
Place the call to adjust_pci_device() back in the individual drivers,
...
since we probably shouldn't be doing this to arbitrary devices during a
PCI bus scan...
2005-04-16 17:30:37 +00:00
Michael Brown
66e54f1274
...this time with the correct syntax. :(
2005-04-16 14:54:11 +00:00
Michael Brown
8c2b42e08e
Added activate_isapnp_device() line
2005-04-16 14:53:27 +00:00
Michael Brown
9f02376409
Make isa_probe_addr a simple integer rather than a struct, to facilitate
...
specification of ISA_PROBE_ADDRS.
2005-04-16 09:30:48 +00:00
Michael Brown
d26889cb04
Don't even try to compile until the code is tidied up.
2005-04-15 16:50:36 +00:00
Michael Brown
8c082aa468
This at least compiles now. Haven't separated out the EMBEDDED code yet.
2005-04-15 16:49:46 +00:00
Michael Brown
1bd7b97e5c
Not sure why I made these cosmetic changes, but I appear to have done so.
2005-04-15 16:30:35 +00:00
Michael Brown
f61fa0dc64
Added "classical" ISA example.
2005-04-15 16:28:14 +00:00
Michael Brown
897eeee4ee
Added EISA, ISAPnP and MCA examples.
2005-04-15 16:18:56 +00:00
Michael Brown
38ea910098
Updated to new PCI bus interface.
2005-04-15 16:08:10 +00:00
Michael Brown
a26edc2eec
Updated to work with new ISAPnP bus code.
2005-04-15 15:50:27 +00:00
Michael Brown
ed92171527
Standardised debug messages to make it easy to get a bus scan printout
...
(just build debugging versions of the relevant bus objects).
2005-04-14 23:32:36 +00:00
Michael Brown
c7694a5322
Cleaner separation of find_t509_device/fill_t509_device.
2005-04-14 23:20:56 +00:00
Michael Brown
d5e1561fb8
Updated to new ISA API, but this driver probably has deeper problems.
2005-04-14 21:18:36 +00:00
Michael Brown
487574fc02
This code is unbelievably ugly, has never been fixed up to work with
...
relocation and (hence) presumably has not been used since Etherboot 5.0.
Say bye-bye!
2005-04-14 20:02:10 +00:00
Michael Brown
8165c14e71
Updated to general ISA bus API.
2005-04-14 19:25:36 +00:00
Michael Brown
a80fe976ed
Updated to common ISA bus API.
2005-04-14 19:07:53 +00:00
Michael Brown
e5b537fed0
name should be const
2005-04-14 17:52:27 +00:00
Michael Brown
cee678de7c
Fixed up automatic modifications by hand.
2005-04-14 15:09:28 +00:00
Michael Brown
2c60617836
Automatically modified by
...
perl -pi -0777 -e 's/\s*?if\s*\(\s*!\s*find_pci_device.*?,\s*\&(\w+)\s*\)\s*\)\s*return\s*0;(.*BOOT_DRIVER\s*\(.*?,)(.*?\))/$2 find_pci_boot_device, $1,$3/sm' *.c
2005-04-14 15:00:05 +00:00
Michael Brown
393969a3f8
Fix up the automatic modifications.
2005-04-14 14:59:04 +00:00
Michael Brown
476dff5bb7
Made amenable to automatic update.
2005-04-14 14:49:32 +00:00
Michael Brown
cbd5d4f849
This is the only driver that has a genuine reason to call
...
find_pci_device() directly.
2005-04-14 14:48:07 +00:00
Michael Brown
963dbefb51
Automatically updated using
...
perl -pi -0777 -e 's/(_probe\s*\(\s*struct\s+dev.*?)(\s*\)\s*{.*?$)\s*struct pci_device.*?=\s*pci_device \( dev \);$/${1}, struct pci_device *pci${2}/ms' *.c
sis900 excluded from update
2005-04-14 14:44:33 +00:00
Michael Brown
72fe23a76e
Updated to new device API.
2005-04-14 14:31:11 +00:00
Michael Brown
e0a8ee385e
Updated to current device API.
2005-04-14 13:49:58 +00:00
Michael Brown
4c0d5a0b71
Split 3c509.c into 3c509.9 and 3c529.c, with shared code in 3c5x9.c.
...
Probe mechanisms now use standard EISA and MCA bus methods, with 3c509.c
defining a custom ISA bus to handle the 3c509 contention resolution logic.
2005-04-14 12:23:12 +00:00
Michael Brown
44c7cc8c12
Standardised debug mechanism in place now.
2005-04-14 11:55:57 +00:00
Michael Brown
0dc98309b2
Stripped references to variables in C code.
2005-04-13 13:48:26 +00:00
Michael Brown
e294a1ddce
EISA support now provided by eisa.c
...
MCA support now provided by mca.c
2005-04-13 13:06:56 +00:00
Michael Brown
7cc6366a84
Finished by hand
2005-04-13 02:02:08 +00:00
Michael Brown
951e305081
Finished by hand
2005-04-13 01:45:20 +00:00
Michael Brown
f39cc6d978
Finished by hand
2005-04-13 01:31:44 +00:00
Michael Brown
9848135950
Finished by hand
2005-04-13 01:01:33 +00:00
Michael Brown
3616de915e
Hand-finished
2005-04-13 00:21:59 +00:00
Michael Brown
28590d718b
Hand-finished
2005-04-13 00:15:45 +00:00
Michael Brown
91e46ed588
Automatically updated using
...
perl -pi -0777 -e 's/^(\s*)dev->disable(\s*)=\s*(\w+)_disable;\s*nic->poll\s*=\s*(\w+);\s*nic->transmit\s*=\s*(\w+);\s*nic->irq\s*=\s*(\w+);/static struct nic_operations ${3}_operations;\nstatic struct nic_operations ${3}_operations = {\n\t.connect\t= dummy_connect,\n\t.poll\t\t= $4,\n\t.transmit\t= $5,\n\t.irq\t\t= $6,\n\t.disable\t= ${3}_disable,\n};${1}nic->nic_op\t= &${3}_operations;/msg' *.c
2005-04-13 00:02:40 +00:00
Michael Brown
d9c64c9422
Manual tweaks to get all drivers to follow the "disable, poll, transmit,
...
irq" pattern.
2005-04-12 23:47:52 +00:00
Michael Brown
881023e9ca
Automatically updated using
...
perl -pi -e 's/(_probe\s*\(\s*struct )dev \*.*?(\s*\);)/${1}dev *dev$2/' *.c
perl -pi -e 's/(_disable\s*\(\s*struct )dev \*.*?(\s*\);)/${1}nic *nic$2/' *.c
2005-04-12 23:39:16 +00:00
Michael Brown
c87ba23399
Automatically updated using
...
perl -pi -0777 -e 's/_disable\s*\(\s*struct dev \*dev\s*\)\s*{\s*struct nic \*nic.*?$/_disable ( struct nic *nic ) {/ms' *.c
perl -pi -0777 -e 's/_disable\s*\(\s*struct dev \*dev(\s*__unused)?\)\s*{/_disable ( struct nic *nic$1 ) {/ms' *.c
2005-04-12 23:31:37 +00:00
Michael Brown
bd9ae7cc70
Automatically updated using
...
perl -pi -0777 -e 's/_probe\s*\(\s*struct dev \*dev,\s*struct pci_device \*(\w+?)\s*\)\s*{(\s*)struct nic \*nic.*?$/_probe ( struct dev *dev ) {\n${2}struct nic *nic = nic_device ( dev );\n${2}struct pci_device *$1 = pci_device ( dev );/ms' *.c
2005-04-12 23:24:39 +00:00
Michael Brown
35e6f3e58a
Minor regexp tweaks to catch degenerate cases.
2005-04-12 23:13:54 +00:00
Michael Brown
4e3e389200
Auto-updated using
...
perl -pi -0777 -e 's/static struct pci_driver (\w+) __pci_driver = {.*\.name\s*=\s*(\"\S+\").*\.probe\s*=\s*(\w+).*\.ids\s*=\s*(\w+).*\.class\s*=\s*(\w+).*?};/static struct pci_driver $1 =\n\tPCI_DRIVER ( $2, $4, $5 );\n\nBOOT_DRIVER ( $2, $3 );/ms' *.c
perl -pi -e 's/(PCI_DRIVER \(.*, )0 \);/${1}PCI_NO_CLASS );/' *.c
2005-04-12 23:05:00 +00:00
Michael Brown
27a55b514c
Updated to new device API.
2005-04-12 18:23:00 +00:00
Michael Brown
8fa0e38233
Fixed up PCI-scanning code to use new PCI interface.
2005-04-12 18:13:59 +00:00
Michael Brown
b9237160ad
Almost all information in this file is now obsolete. Writing a new driver
...
should, with the new build system, just be a case of writing the .c file
and dropping it in place in drivers/net. :)
2005-04-10 23:45:55 +00:00
Michael Brown
0ff80b477d
Merged mcb30-realmode-redesign back to HEAD
2005-04-08 15:01:17 +00:00
Michael Brown
3d6123e69a
Initial revision
2005-03-08 18:53:11 +00:00