diff options
author | Kristian Høgsberg <krh@redhat.com> | 2007-03-07 12:12:36 -0500 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-03-09 22:03:05 +0100 |
commit | 937f687969f77bfeee5efd71cadfa6f1a813665e (patch) | |
tree | b9b691299676369ffb1882ba668fa89e9675312b /drivers/firewire/fw-transaction.c | |
parent | 65efffa8f0cd86a199bf19ede5c91552d35c5a38 (diff) | |
download | kernel-crypto-937f687969f77bfeee5efd71cadfa6f1a813665e.tar.gz kernel-crypto-937f687969f77bfeee5efd71cadfa6f1a813665e.tar.xz kernel-crypto-937f687969f77bfeee5efd71cadfa6f1a813665e.zip |
firewire: Let an fw_descriptor specify a leading immediate key/value pair.
This lets us break out "Juju" as the model name in the config rom.
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire/fw-transaction.c')
-rw-r--r-- | drivers/firewire/fw-transaction.c | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/drivers/firewire/fw-transaction.c b/drivers/firewire/fw-transaction.c index abc37fa5249..8e2b9455739 100644 --- a/drivers/firewire/fw-transaction.c +++ b/drivers/firewire/fw-transaction.c @@ -720,23 +720,37 @@ MODULE_AUTHOR("Kristian Hoegsberg <krh@bitplanet.net>"); MODULE_DESCRIPTION("Core IEEE1394 transaction logic"); MODULE_LICENSE("GPL"); -static const u32 vendor_textual_descriptor_data[] = { +static const u32 vendor_textual_descriptor[] = { /* textual descriptor leaf () */ - 0x00080000, + 0x00060000, 0x00000000, 0x00000000, 0x4c696e75, /* L i n u */ 0x78204669, /* x F i */ 0x72657769, /* r e w i */ - 0x72652028, /* r e ( */ - 0x4a554a55, /* J U J U */ - 0x29000000, /* ) */ + 0x72650000, /* r e */ }; -static struct fw_descriptor vendor_textual_descriptor = { - .length = ARRAY_SIZE(vendor_textual_descriptor_data), +static const u32 model_textual_descriptor[] = { + /* model descriptor leaf () */ + 0x00030000, + 0x00000000, + 0x00000000, + 0x4a756a75, /* J u j u */ +}; + +static struct fw_descriptor vendor_id_descriptor = { + .length = ARRAY_SIZE(vendor_textual_descriptor), + .immediate = 0x03d00d1e, .key = 0x81000000, - .data = vendor_textual_descriptor_data, + .data = vendor_textual_descriptor, +}; + +static struct fw_descriptor model_id_descriptor = { + .length = ARRAY_SIZE(model_textual_descriptor), + .immediate = 0x17000001, + .key = 0x81000000, + .data = model_textual_descriptor, }; static int __init fw_core_init(void) @@ -748,7 +762,9 @@ static int __init fw_core_init(void) return retval; /* Add the vendor textual descriptor. */ - retval = fw_core_add_descriptor(&vendor_textual_descriptor); + retval = fw_core_add_descriptor(&vendor_id_descriptor); + BUG_ON(retval < 0); + retval = fw_core_add_descriptor(&model_id_descriptor); BUG_ON(retval < 0); return 0; |