Merge branch 'upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
[linux-2.6] / drivers / net / starfire_firmware.pl
1 #!/usr/bin/perl
2
3 # This script can be used to generate a new starfire_firmware.h
4 # from GFP_RX.DAT and GFP_TX.DAT, files included with the DDK
5 # and also with the Novell drivers.
6
7 open FW, "GFP_RX.DAT" || die;
8 open FWH, ">starfire_firmware.h" || die;
9
10 printf(FWH "static u32 firmware_rx[] = {\n");
11 $counter = 0;
12 while ($foo = <FW>) {
13   chomp;
14   printf(FWH "  0x%s, 0x0000%s,\n", substr($foo, 4, 8), substr($foo, 0, 4));
15   $counter++;
16 }
17
18 close FW;
19 open FW, "GFP_TX.DAT" || die;
20
21 printf(FWH "};\t/* %d Rx instructions */\n#define FIRMWARE_RX_SIZE %d\n\nstatic u32 firmware_tx[] = {\n", $counter, $counter);
22 $counter = 0;
23 while ($foo = <FW>) {
24   chomp;
25   printf(FWH "  0x%s, 0x0000%s,\n", substr($foo, 4, 8), substr($foo, 0, 4));
26   $counter++;
27 }
28
29 close FW;
30 printf(FWH "};\t/* %d Tx instructions */\n#define FIRMWARE_TX_SIZE %d\n", $counter, $counter);
31 close(FWH);