From: Jan Harkes <jaharkes@cs.cmu.edu>
To: Greg KH <greg@kroah.com>, Sven Luther <sven.luther@wanadoo.fr>,
Michael Poole <mdpoole@troilus.org>,
debian-legal@lists.debian.org, debian-kernel@lists.debian.org,
linux-kernel@vger.kernel.org
Subject: [PATCH 03/04] Load keyspan firmware with hotplug
Date: Tue, 5 Apr 2005 00:28:01 -0400 [thread overview]
Message-ID: <20050405042801.GD10171@delft.aura.cs.cmu.edu> (raw)
In-Reply-To: <20050405042701.GC10171@delft.aura.cs.cmu.edu>
Simple program to convert the keyspan firmware header files to IHEX
formatted files that can be loaded with hotplug.
This is really only needed once to convert the existing keyspan firmware
headers, which is what the next patch will do.
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
Index: linux/drivers/usb/serial/dumpfw.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux/drivers/usb/serial/dumpfw.c 2005-03-10 23:16:37.240765747 -0500
@@ -0,0 +1,98 @@
+/*
+ * Convert keyspan firmware header files to Intel HEX format
+ * cc -I/usr/src/linux/drivers/usb/serial -o dumpfw dumpfw.c
+ */
+#include <stdint.h>
+#include <stdio.h>
+
+//#include "keyspan.h" /* ezusb_hex_record */
+
+struct ezusb_hex_record {
+ uint16_t address;
+ uint8_t size;
+ uint8_t data[64];
+};
+
+#include "keyspan_usa28_fw.h"
+#include "keyspan_usa28x_fw.h"
+#include "keyspan_usa28xa_fw.h"
+#include "keyspan_usa28xb_fw.h"
+#include "keyspan_usa19_fw.h"
+#include "keyspan_usa19qi_fw.h"
+#include "keyspan_mpr_fw.h"
+#include "keyspan_usa19qw_fw.h"
+#include "keyspan_usa18x_fw.h"
+#include "keyspan_usa19w_fw.h"
+#include "keyspan_usa49w_fw.h"
+#include "keyspan_usa49wlc_fw.h"
+
+char *boilerplate = "\
+# This firmware for the Keyspan %s USB-to-Serial adapter is\n\
+#\n\
+# Copyright (C) 1999-2003\n\
+# Keyspan, A division of InnoSys Incorporated (\"Keyspan\")\n\
+#\n\
+# as an unpublished work. This notice does not imply unrestricted or\n\
+# public access to the source code from which this firmware image is\n\
+# derived. Except as noted below this firmware image may not be\n\
+# reproduced, used, sold or transferred to any third party without\n\
+# Keyspan's prior written consent. All Rights Reserved.\n\
+#\n\
+# Permission is hereby granted for the distribution of this firmware\n\
+# image as part of a Linux or other Open Source operating system kernel\n\
+# in text or binary form as required.\n\
+#\n\
+# This firmware may not be modified and may only be used with\n\
+# Keyspan hardware. Distribution of this firmware, in whole or in\n\
+# part, requires the inclusion of this statement.\n\
+#\n";
+
+void dumpfw(char *name, const struct ezusb_hex_record *record)
+{
+ char fw_name[20];
+ char NAME[10];
+ uint16_t address, i;
+ uint8_t crc;
+ FILE *f;
+
+ for (i = 0; name[i] != '\0'; i++)
+ NAME[i] = toupper(name[i]);
+ NAME[i] = '\0';
+
+ sprintf(fw_name, "keyspan-%s.fw", name);
+ printf("writing %s\n", fw_name);
+
+ f = fopen(fw_name, "w");
+ fprintf(f, boilerplate, NAME);
+
+ while (record->address != 0xffff) {
+ crc = record->size + (record->address >> 8) + record->address;
+ fprintf(f, ":%02X%04X00", record->size, record->address);
+ for (i = 0; i < record->size; i++) {
+ fprintf(f, "%02X", record->data[i]);
+ crc += record->data[i];
+ }
+ fprintf(f, "%02X\n", (uint8_t)-crc);
+ record++;
+ }
+ fprintf(f, ":00000001FF\n");
+
+ fclose(f);
+}
+
+int main(int argc, char **argv)
+{
+ dumpfw("mpr", keyspan_mpr_firmware);
+ dumpfw("usa18x", keyspan_usa18x_firmware);
+ dumpfw("usa19", keyspan_usa19_firmware);
+ dumpfw("usa19qi", keyspan_usa19qi_firmware);
+ dumpfw("usa19qw", keyspan_usa19qw_firmware);
+ dumpfw("usa19w", keyspan_usa19w_firmware);
+ dumpfw("usa28", keyspan_usa28_firmware);
+ dumpfw("usa28x", keyspan_usa28x_firmware);
+ dumpfw("usa28xa", keyspan_usa28xa_firmware);
+ dumpfw("usa28xb", keyspan_usa28xb_firmware);
+ dumpfw("usa49w", keyspan_usa49w_firmware);
+ dumpfw("usa49wlc", keyspan_usa49wlc_firmware);
+}
+
next prev parent reply other threads:[~2005-04-05 4:29 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-04 10:09 non-free firmware in kernel modules, aggregation and unclear copyright notice Sven Luther
2005-04-04 10:21 ` Arjan van de Ven
2005-04-04 10:59 ` Sven Luther
2005-04-07 7:17 ` Jes Sorensen
2005-04-07 11:27 ` Sven Luther
2005-04-04 13:26 ` Michael Poole
2005-04-04 14:16 ` Sven Luther
2005-04-04 17:51 ` Greg KH
2005-04-04 18:21 ` Sven Luther
2005-04-04 19:12 ` Ian Campbell
2005-04-04 19:24 ` Sven Luther
2005-04-04 19:36 ` Roland Dreier
2005-04-04 18:27 ` Sven Luther
2005-04-04 19:17 ` Greg KH
2005-04-04 19:29 ` Sven Luther
2005-04-04 19:58 ` Adrian Bunk
2005-04-04 20:23 ` Sven Luther
2005-04-04 21:05 ` Adrian Bunk
2005-04-04 21:16 ` Sven Luther
2005-04-04 20:55 ` Theodore Ts'o
2005-04-04 21:19 ` Sven Luther
2005-04-05 8:19 ` Ian Campbell
2005-04-05 8:32 ` Sven Luther
2005-04-05 8:49 ` Ian Campbell
2005-04-05 9:11 ` Christoph Hellwig
2005-04-05 9:28 ` Arjan van de Ven
2005-04-05 9:32 ` Christoph Hellwig
2005-04-05 9:36 ` Arjan van de Ven
2005-04-05 9:39 ` Christoph Hellwig
2005-04-05 10:42 ` Andres Salomon
2005-04-05 9:46 ` Sven Luther
2005-04-05 12:09 ` Jeff Garzik
2005-04-05 12:14 ` Arjan van de Ven
2005-04-06 19:22 ` Eric W. Biederman
2005-04-07 9:34 ` Jeff Garzik
2005-04-07 10:28 ` Christoph Hellwig
2005-04-07 11:27 ` Sven Luther
2005-04-07 11:46 ` Eric W. Biederman
2005-04-07 18:42 ` Sven Luther
2005-04-08 3:06 ` Eric W. Biederman
2005-04-08 6:41 ` Sven Luther
2005-04-05 9:30 ` Ian Campbell
2005-04-05 9:36 ` Sven Luther
2005-04-05 15:21 ` Sven Luther
2005-04-05 21:37 ` Don Armstrong
2005-04-05 4:23 ` [PATCH 00/04] Load keyspan firmware with hotplug Jan Harkes
2005-04-05 4:26 ` [PATCH 01/04] " Jan Harkes
2005-04-05 4:27 ` [PATCH 02/04] " Jan Harkes
2005-04-05 4:28 ` Jan Harkes [this message]
2005-04-05 4:51 ` [PATCH 00/04] " Dmitry Torokhov
2005-04-05 8:32 ` Kay Sievers
2005-04-05 11:39 ` Jan Harkes
2005-04-05 9:22 ` Marcel Holtmann
2005-04-05 11:45 ` Jan Harkes
2005-04-05 14:36 ` Marcel Holtmann
2005-04-05 15:28 ` Dmitry Torokhov
2005-04-05 15:37 ` Marcel Holtmann
2005-04-05 15:31 ` Jan Harkes
2005-04-05 16:46 ` Marcel Holtmann
2005-04-05 16:20 ` Dmitry Torokhov
2005-04-05 5:36 ` Sven Luther
2005-04-04 18:39 ` non-free firmware in kernel modules, aggregation and unclear copyright notice Matthew Wilcox
2005-04-04 19:55 ` Jeff Garzik
2005-04-04 20:27 ` Sven Luther
2005-04-04 20:47 ` Jeff Garzik
2005-04-04 21:24 ` Sven Luther
2005-04-04 21:58 ` Sven Luther
2005-04-05 9:33 ` Sven Luther
2005-04-07 1:05 ` Alan Cox
2005-04-07 7:28 ` Jes Sorensen
2005-04-07 7:25 ` Jes Sorensen
2005-04-07 8:04 ` David Schmitt
2005-04-07 8:17 ` Xavier Bestel
2005-04-07 8:32 ` Olivier Galibert
2005-04-07 8:46 ` Xavier Bestel
2005-04-07 8:26 ` David Schwartz
2005-04-07 20:16 ` Raul Miller
2005-04-07 23:20 ` David Schwartz
2005-04-08 3:55 ` Raul Miller
2005-04-08 7:41 ` Sven Luther
2005-04-08 12:30 ` Raul Miller
2005-04-04 19:05 ` Marco d'Itri
2005-04-04 19:14 ` Greg KH
2005-04-04 19:32 ` Adrian Bunk
2005-04-05 14:05 ` Josselin Mouette
2005-04-05 15:39 ` Sven Luther
2005-04-07 21:07 ` Adrian Bunk
2005-04-08 7:22 ` Josselin Mouette
2005-04-08 11:23 ` Jörn Engel
2005-04-08 17:34 ` Adrian Bunk
2005-04-08 17:42 ` Josselin Mouette
2005-04-08 18:01 ` Adrian Bunk
2005-04-08 18:16 ` Rich Walker
2005-04-08 18:42 ` Josselin Mouette
2005-04-10 9:24 ` Giuseppe Bilotta
2005-04-11 20:55 ` Raul Miller
2005-04-09 0:31 ` Raul Miller
2005-04-09 14:38 ` Adrian Bunk
2005-04-09 20:31 ` Raul Miller
2005-04-08 11:53 ` Sven Luther
2005-04-04 19:41 ` Sven Luther
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050405042801.GD10171@delft.aura.cs.cmu.edu \
--to=jaharkes@cs.cmu.edu \
--cc=debian-kernel@lists.debian.org \
--cc=debian-legal@lists.debian.org \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mdpoole@troilus.org \
--cc=sven.luther@wanadoo.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome