diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2013-03-11 05:45:14 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-03-24 11:57:02 -0400 |
commit | 0ee3d4d53e4e170e9a9a70214de54b9f5d18d30c (patch) | |
tree | 56b5f38fb3f7e60f428cec1c0fead3949e72b8fc | |
parent | e129c97494096fbda451619d746d661a05abba64 (diff) |
[media] go7007-loader: add support for the other devices and move fw files
Add support for the other devices that need to load the boot firmware.
All firmware files are now placed in a single go7007 directory.
Also remove the device_extension_s stuff: this is clearly a left-over from
the olden days.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/staging/media/go7007/go7007-driver.c | 4 | ||||
-rw-r--r-- | drivers/staging/media/go7007/go7007-loader.c | 131 | ||||
-rw-r--r-- | drivers/staging/media/go7007/go7007-usb.c | 22 | ||||
-rw-r--r-- | drivers/staging/media/go7007/saa7134-go7007.c | 3 |
4 files changed, 68 insertions, 92 deletions
diff --git a/drivers/staging/media/go7007/go7007-driver.c b/drivers/staging/media/go7007/go7007-driver.c index 0fd3f108be12..4378223d8bb8 100644 --- a/drivers/staging/media/go7007/go7007-driver.c +++ b/drivers/staging/media/go7007/go7007-driver.c | |||
@@ -90,7 +90,7 @@ EXPORT_SYMBOL(go7007_read_addr); | |||
90 | static int go7007_load_encoder(struct go7007 *go) | 90 | static int go7007_load_encoder(struct go7007 *go) |
91 | { | 91 | { |
92 | const struct firmware *fw_entry; | 92 | const struct firmware *fw_entry; |
93 | char fw_name[] = "go7007fw.bin"; | 93 | char fw_name[] = "go7007/go7007fw.bin"; |
94 | void *bounce; | 94 | void *bounce; |
95 | int fw_len, rv = 0; | 95 | int fw_len, rv = 0; |
96 | u16 intr_val, intr_data; | 96 | u16 intr_val, intr_data; |
@@ -126,7 +126,7 @@ static int go7007_load_encoder(struct go7007 *go) | |||
126 | return rv; | 126 | return rv; |
127 | } | 127 | } |
128 | 128 | ||
129 | MODULE_FIRMWARE("go7007fw.bin"); | 129 | MODULE_FIRMWARE("go7007/go7007fw.bin"); |
130 | 130 | ||
131 | /* | 131 | /* |
132 | * Boot the encoder and register the I2C adapter if requested. Do the | 132 | * Boot the encoder and register the I2C adapter if requested. Do the |
diff --git a/drivers/staging/media/go7007/go7007-loader.c b/drivers/staging/media/go7007/go7007-loader.c index 730a4f8a3e07..4ce53d6e8528 100644 --- a/drivers/staging/media/go7007/go7007-loader.c +++ b/drivers/staging/media/go7007/go7007-loader.c | |||
@@ -22,86 +22,67 @@ | |||
22 | #include <linux/firmware.h> | 22 | #include <linux/firmware.h> |
23 | #include <cypress_firmware.h> | 23 | #include <cypress_firmware.h> |
24 | 24 | ||
25 | #define S2250_LOADER_FIRMWARE "s2250_loader.fw" | 25 | struct fw_config { |
26 | #define S2250_FIRMWARE "2250.fw" | 26 | u16 vendor; |
27 | 27 | u16 product; | |
28 | typedef struct device_extension_s { | 28 | const char * const fw_name1; |
29 | struct kref kref; | 29 | const char * const fw_name2; |
30 | int minor; | 30 | }; |
31 | struct usb_device *usbdev; | ||
32 | } device_extension_t, *pdevice_extension_t; | ||
33 | |||
34 | #define USB_go7007_loader_MAJOR 240 | ||
35 | #define USB_go7007_loader_MINOR_BASE 0 | ||
36 | #define MAX_DEVICES 256 | ||
37 | |||
38 | static pdevice_extension_t go7007_dev_table[MAX_DEVICES]; | ||
39 | static DEFINE_MUTEX(go7007_dev_table_mutex); | ||
40 | 31 | ||
41 | #define to_go7007_loader_dev_common(d) container_of(d, device_extension_t, kref) | 32 | struct fw_config fw_configs[] = { |
42 | static void go7007_loader_delete(struct kref *kref) | 33 | { 0x1943, 0xa250, "go7007/s2250-1.fw", "go7007/s2250-2.fw" }, |
43 | { | 34 | { 0x093b, 0xa002, "go7007/px-m402u.fw", NULL }, |
44 | pdevice_extension_t s = to_go7007_loader_dev_common(kref); | 35 | { 0x093b, 0xa004, "go7007/px-tv402u.fw", NULL }, |
45 | go7007_dev_table[s->minor] = NULL; | 36 | { 0x0eb1, 0x6666, "go7007/lr192.fw", NULL }, |
46 | kfree(s); | 37 | { 0x0eb1, 0x6668, "go7007/wis-startrek.fw", NULL }, |
47 | } | 38 | { 0, 0, NULL, NULL } |
39 | }; | ||
40 | MODULE_FIRMWARE("go7007/s2250-1.fw"); | ||
41 | MODULE_FIRMWARE("go7007/s2250-2.fw"); | ||
42 | MODULE_FIRMWARE("go7007/px-m402u.fw"); | ||
43 | MODULE_FIRMWARE("go7007/px-tv402u.fw"); | ||
44 | MODULE_FIRMWARE("go7007/lr192.fw"); | ||
45 | MODULE_FIRMWARE("go7007/wis-startrek.fw"); | ||
48 | 46 | ||
49 | static int go7007_loader_probe(struct usb_interface *interface, | 47 | static int go7007_loader_probe(struct usb_interface *interface, |
50 | const struct usb_device_id *id) | 48 | const struct usb_device_id *id) |
51 | { | 49 | { |
52 | struct usb_device *usbdev; | 50 | struct usb_device *usbdev; |
53 | int minor, ret; | ||
54 | pdevice_extension_t s = NULL; | ||
55 | const struct firmware *fw; | 51 | const struct firmware *fw; |
52 | u16 vendor, product; | ||
53 | const char *fw1, *fw2; | ||
54 | int ret; | ||
55 | int i; | ||
56 | 56 | ||
57 | usbdev = usb_get_dev(interface_to_usbdev(interface)); | 57 | usbdev = usb_get_dev(interface_to_usbdev(interface)); |
58 | if (!usbdev) { | 58 | if (!usbdev) |
59 | dev_err(&interface->dev, "Enter go7007_loader_probe failed\n"); | 59 | goto failed2; |
60 | return -1; | ||
61 | } | ||
62 | dev_info(&interface->dev, "vendor id 0x%x, device id 0x%x devnum:%d\n", | ||
63 | usbdev->descriptor.idVendor, usbdev->descriptor.idProduct, | ||
64 | usbdev->devnum); | ||
65 | 60 | ||
66 | if (usbdev->descriptor.bNumConfigurations != 1) { | 61 | if (usbdev->descriptor.bNumConfigurations != 1) { |
67 | dev_err(&interface->dev, "can't handle multiple config\n"); | 62 | dev_err(&interface->dev, "can't handle multiple config\n"); |
68 | return -1; | 63 | return -ENODEV; |
69 | } | ||
70 | mutex_lock(&go7007_dev_table_mutex); | ||
71 | |||
72 | for (minor = 0; minor < MAX_DEVICES; minor++) { | ||
73 | if (go7007_dev_table[minor] == NULL) | ||
74 | break; | ||
75 | } | 64 | } |
76 | 65 | ||
77 | if (minor < 0 || minor >= MAX_DEVICES) { | 66 | vendor = le16_to_cpu(usbdev->descriptor.idVendor); |
78 | dev_err(&interface->dev, "Invalid minor: %d\n", minor); | 67 | product = le16_to_cpu(usbdev->descriptor.idProduct); |
79 | goto failed; | ||
80 | } | ||
81 | |||
82 | /* Allocate dev data structure */ | ||
83 | s = kmalloc(sizeof(device_extension_t), GFP_KERNEL); | ||
84 | if (s == NULL) | ||
85 | goto failed; | ||
86 | |||
87 | go7007_dev_table[minor] = s; | ||
88 | 68 | ||
89 | dev_info(&interface->dev, | 69 | for (i = 0; fw_configs[i].fw_name1; i++) |
90 | "Device %d on Bus %d Minor %d\n", | 70 | if (fw_configs[i].vendor == vendor && |
91 | usbdev->devnum, usbdev->bus->busnum, minor); | 71 | fw_configs[i].product == product) |
72 | break; | ||
92 | 73 | ||
93 | memset(s, 0, sizeof(device_extension_t)); | 74 | /* Should never happen */ |
94 | s->usbdev = usbdev; | 75 | if (fw_configs[i].fw_name1 == NULL) |
95 | dev_info(&interface->dev, "loading go7007-loader\n"); | 76 | goto failed2; |
96 | 77 | ||
97 | kref_init(&(s->kref)); | 78 | fw1 = fw_configs[i].fw_name1; |
79 | fw2 = fw_configs[i].fw_name2; | ||
98 | 80 | ||
99 | mutex_unlock(&go7007_dev_table_mutex); | 81 | dev_info(&interface->dev, "loading firmware %s\n", fw1); |
100 | 82 | ||
101 | if (request_firmware(&fw, S2250_LOADER_FIRMWARE, &usbdev->dev)) { | 83 | if (request_firmware(&fw, fw1, &usbdev->dev)) { |
102 | dev_err(&interface->dev, | 84 | dev_err(&interface->dev, |
103 | "unable to load firmware from file \"%s\"\n", | 85 | "unable to load firmware from file \"%s\"\n", fw1); |
104 | S2250_LOADER_FIRMWARE); | ||
105 | goto failed2; | 86 | goto failed2; |
106 | } | 87 | } |
107 | ret = usbv2_cypress_load_firmware(usbdev, fw, CYPRESS_FX2); | 88 | ret = usbv2_cypress_load_firmware(usbdev, fw, CYPRESS_FX2); |
@@ -111,10 +92,12 @@ static int go7007_loader_probe(struct usb_interface *interface, | |||
111 | goto failed2; | 92 | goto failed2; |
112 | } | 93 | } |
113 | 94 | ||
114 | if (request_firmware(&fw, S2250_FIRMWARE, &usbdev->dev)) { | 95 | if (fw2 == NULL) |
96 | return 0; | ||
97 | |||
98 | if (request_firmware(&fw, fw2, &usbdev->dev)) { | ||
115 | dev_err(&interface->dev, | 99 | dev_err(&interface->dev, |
116 | "unable to load firmware from file \"%s\"\n", | 100 | "unable to load firmware from file \"%s\"\n", fw2); |
117 | S2250_FIRMWARE); | ||
118 | goto failed2; | 101 | goto failed2; |
119 | } | 102 | } |
120 | ret = usbv2_cypress_load_firmware(usbdev, fw, CYPRESS_FX2); | 103 | ret = usbv2_cypress_load_firmware(usbdev, fw, CYPRESS_FX2); |
@@ -123,31 +106,25 @@ static int go7007_loader_probe(struct usb_interface *interface, | |||
123 | dev_err(&interface->dev, "firmware download failed\n"); | 106 | dev_err(&interface->dev, "firmware download failed\n"); |
124 | goto failed2; | 107 | goto failed2; |
125 | } | 108 | } |
126 | |||
127 | usb_set_intfdata(interface, s); | ||
128 | return 0; | 109 | return 0; |
129 | 110 | ||
130 | failed: | ||
131 | mutex_unlock(&go7007_dev_table_mutex); | ||
132 | failed2: | 111 | failed2: |
133 | if (s) | ||
134 | kref_put(&(s->kref), go7007_loader_delete); | ||
135 | |||
136 | dev_err(&interface->dev, "probe failed\n"); | 112 | dev_err(&interface->dev, "probe failed\n"); |
137 | return -1; | 113 | return -ENODEV; |
138 | } | 114 | } |
139 | 115 | ||
140 | static void go7007_loader_disconnect(struct usb_interface *interface) | 116 | static void go7007_loader_disconnect(struct usb_interface *interface) |
141 | { | 117 | { |
142 | pdevice_extension_t s; | ||
143 | dev_info(&interface->dev, "disconnect\n"); | 118 | dev_info(&interface->dev, "disconnect\n"); |
144 | s = usb_get_intfdata(interface); | ||
145 | usb_set_intfdata(interface, NULL); | 119 | usb_set_intfdata(interface, NULL); |
146 | kref_put(&(s->kref), go7007_loader_delete); | ||
147 | } | 120 | } |
148 | 121 | ||
149 | static const struct usb_device_id go7007_loader_ids[] = { | 122 | static const struct usb_device_id go7007_loader_ids[] = { |
150 | {USB_DEVICE(0x1943, 0xa250)}, | 123 | { USB_DEVICE(0x1943, 0xa250) }, |
124 | { USB_DEVICE(0x093b, 0xa002) }, | ||
125 | { USB_DEVICE(0x093b, 0xa004) }, | ||
126 | { USB_DEVICE(0x0eb1, 0x6666) }, | ||
127 | { USB_DEVICE(0x0eb1, 0x6668) }, | ||
151 | {} /* Terminating entry */ | 128 | {} /* Terminating entry */ |
152 | }; | 129 | }; |
153 | 130 | ||
@@ -163,7 +140,5 @@ static struct usb_driver go7007_loader_driver = { | |||
163 | module_usb_driver(go7007_loader_driver); | 140 | module_usb_driver(go7007_loader_driver); |
164 | 141 | ||
165 | MODULE_AUTHOR(""); | 142 | MODULE_AUTHOR(""); |
166 | MODULE_DESCRIPTION("firmware loader for go7007 USB devices"); | 143 | MODULE_DESCRIPTION("firmware loader for go7007-usb"); |
167 | MODULE_LICENSE("GPL v2"); | 144 | MODULE_LICENSE("GPL v2"); |
168 | MODULE_FIRMWARE(S2250_LOADER_FIRMWARE); | ||
169 | MODULE_FIRMWARE(S2250_FIRMWARE); | ||
diff --git a/drivers/staging/media/go7007/go7007-usb.c b/drivers/staging/media/go7007/go7007-usb.c index 2a1cda22118d..bd23d7d3e067 100644 --- a/drivers/staging/media/go7007/go7007-usb.c +++ b/drivers/staging/media/go7007/go7007-usb.c | |||
@@ -76,7 +76,7 @@ struct go7007_usb { | |||
76 | static struct go7007_usb_board board_matrix_ii = { | 76 | static struct go7007_usb_board board_matrix_ii = { |
77 | .flags = GO7007_USB_EZUSB, | 77 | .flags = GO7007_USB_EZUSB, |
78 | .main_info = { | 78 | .main_info = { |
79 | .firmware = "go7007tv.bin", | 79 | .firmware = "go7007/go7007tv.bin", |
80 | .flags = GO7007_BOARD_HAS_AUDIO | | 80 | .flags = GO7007_BOARD_HAS_AUDIO | |
81 | GO7007_BOARD_USE_ONBOARD_I2C, | 81 | GO7007_BOARD_USE_ONBOARD_I2C, |
82 | .audio_flags = GO7007_AUDIO_I2S_MODE_1 | | 82 | .audio_flags = GO7007_AUDIO_I2S_MODE_1 | |
@@ -117,7 +117,7 @@ static struct go7007_usb_board board_matrix_ii = { | |||
117 | static struct go7007_usb_board board_matrix_reload = { | 117 | static struct go7007_usb_board board_matrix_reload = { |
118 | .flags = GO7007_USB_EZUSB, | 118 | .flags = GO7007_USB_EZUSB, |
119 | .main_info = { | 119 | .main_info = { |
120 | .firmware = "go7007tv.bin", | 120 | .firmware = "go7007/go7007tv.bin", |
121 | .flags = GO7007_BOARD_HAS_AUDIO | | 121 | .flags = GO7007_BOARD_HAS_AUDIO | |
122 | GO7007_BOARD_USE_ONBOARD_I2C, | 122 | GO7007_BOARD_USE_ONBOARD_I2C, |
123 | .audio_flags = GO7007_AUDIO_I2S_MODE_1 | | 123 | .audio_flags = GO7007_AUDIO_I2S_MODE_1 | |
@@ -155,7 +155,7 @@ static struct go7007_usb_board board_matrix_reload = { | |||
155 | static struct go7007_usb_board board_star_trek = { | 155 | static struct go7007_usb_board board_star_trek = { |
156 | .flags = GO7007_USB_EZUSB | GO7007_USB_EZUSB_I2C, | 156 | .flags = GO7007_USB_EZUSB | GO7007_USB_EZUSB_I2C, |
157 | .main_info = { | 157 | .main_info = { |
158 | .firmware = "go7007tv.bin", | 158 | .firmware = "go7007/go7007tv.bin", |
159 | .flags = GO7007_BOARD_HAS_AUDIO, /* | | 159 | .flags = GO7007_BOARD_HAS_AUDIO, /* | |
160 | GO7007_BOARD_HAS_TUNER, */ | 160 | GO7007_BOARD_HAS_TUNER, */ |
161 | .sensor_flags = GO7007_SENSOR_656 | | 161 | .sensor_flags = GO7007_SENSOR_656 | |
@@ -203,7 +203,7 @@ static struct go7007_usb_board board_star_trek = { | |||
203 | static struct go7007_usb_board board_px_tv402u = { | 203 | static struct go7007_usb_board board_px_tv402u = { |
204 | .flags = GO7007_USB_EZUSB | GO7007_USB_EZUSB_I2C, | 204 | .flags = GO7007_USB_EZUSB | GO7007_USB_EZUSB_I2C, |
205 | .main_info = { | 205 | .main_info = { |
206 | .firmware = "go7007tv.bin", | 206 | .firmware = "go7007/go7007tv.bin", |
207 | .flags = GO7007_BOARD_HAS_AUDIO | | 207 | .flags = GO7007_BOARD_HAS_AUDIO | |
208 | GO7007_BOARD_HAS_TUNER, | 208 | GO7007_BOARD_HAS_TUNER, |
209 | .sensor_flags = GO7007_SENSOR_656 | | 209 | .sensor_flags = GO7007_SENSOR_656 | |
@@ -278,7 +278,7 @@ static struct go7007_usb_board board_px_tv402u = { | |||
278 | static struct go7007_usb_board board_xmen = { | 278 | static struct go7007_usb_board board_xmen = { |
279 | .flags = 0, | 279 | .flags = 0, |
280 | .main_info = { | 280 | .main_info = { |
281 | .firmware = "go7007tv.bin", | 281 | .firmware = "go7007/go7007tv.bin", |
282 | .flags = GO7007_BOARD_USE_ONBOARD_I2C, | 282 | .flags = GO7007_BOARD_USE_ONBOARD_I2C, |
283 | .hpi_buffer_cap = 0, | 283 | .hpi_buffer_cap = 0, |
284 | .sensor_flags = GO7007_SENSOR_VREF_POLAR, | 284 | .sensor_flags = GO7007_SENSOR_VREF_POLAR, |
@@ -313,7 +313,7 @@ static struct go7007_usb_board board_xmen = { | |||
313 | static struct go7007_usb_board board_matrix_revolution = { | 313 | static struct go7007_usb_board board_matrix_revolution = { |
314 | .flags = GO7007_USB_EZUSB, | 314 | .flags = GO7007_USB_EZUSB, |
315 | .main_info = { | 315 | .main_info = { |
316 | .firmware = "go7007tv.bin", | 316 | .firmware = "go7007/go7007tv.bin", |
317 | .flags = GO7007_BOARD_HAS_AUDIO | | 317 | .flags = GO7007_BOARD_HAS_AUDIO | |
318 | GO7007_BOARD_USE_ONBOARD_I2C, | 318 | GO7007_BOARD_USE_ONBOARD_I2C, |
319 | .audio_flags = GO7007_AUDIO_I2S_MODE_1 | | 319 | .audio_flags = GO7007_AUDIO_I2S_MODE_1 | |
@@ -351,7 +351,7 @@ static struct go7007_usb_board board_matrix_revolution = { | |||
351 | static struct go7007_usb_board board_lifeview_lr192 = { | 351 | static struct go7007_usb_board board_lifeview_lr192 = { |
352 | .flags = GO7007_USB_EZUSB, | 352 | .flags = GO7007_USB_EZUSB, |
353 | .main_info = { | 353 | .main_info = { |
354 | .firmware = "go7007tv.bin", | 354 | .firmware = "go7007/go7007tv.bin", |
355 | .flags = GO7007_BOARD_HAS_AUDIO | | 355 | .flags = GO7007_BOARD_HAS_AUDIO | |
356 | GO7007_BOARD_USE_ONBOARD_I2C, | 356 | GO7007_BOARD_USE_ONBOARD_I2C, |
357 | .audio_flags = GO7007_AUDIO_I2S_MODE_1 | | 357 | .audio_flags = GO7007_AUDIO_I2S_MODE_1 | |
@@ -379,7 +379,7 @@ static struct go7007_usb_board board_lifeview_lr192 = { | |||
379 | static struct go7007_usb_board board_endura = { | 379 | static struct go7007_usb_board board_endura = { |
380 | .flags = 0, | 380 | .flags = 0, |
381 | .main_info = { | 381 | .main_info = { |
382 | .firmware = "go7007tv.bin", | 382 | .firmware = "go7007/go7007tv.bin", |
383 | .flags = 0, | 383 | .flags = 0, |
384 | .audio_flags = GO7007_AUDIO_I2S_MODE_1 | | 384 | .audio_flags = GO7007_AUDIO_I2S_MODE_1 | |
385 | GO7007_AUDIO_I2S_MASTER | | 385 | GO7007_AUDIO_I2S_MASTER | |
@@ -404,7 +404,7 @@ static struct go7007_usb_board board_endura = { | |||
404 | static struct go7007_usb_board board_adlink_mpg24 = { | 404 | static struct go7007_usb_board board_adlink_mpg24 = { |
405 | .flags = 0, | 405 | .flags = 0, |
406 | .main_info = { | 406 | .main_info = { |
407 | .firmware = "go7007tv.bin", | 407 | .firmware = "go7007/go7007tv.bin", |
408 | .flags = GO7007_BOARD_USE_ONBOARD_I2C, | 408 | .flags = GO7007_BOARD_USE_ONBOARD_I2C, |
409 | .audio_flags = GO7007_AUDIO_I2S_MODE_1 | | 409 | .audio_flags = GO7007_AUDIO_I2S_MODE_1 | |
410 | GO7007_AUDIO_I2S_MASTER | | 410 | GO7007_AUDIO_I2S_MASTER | |
@@ -437,7 +437,7 @@ static struct go7007_usb_board board_adlink_mpg24 = { | |||
437 | static struct go7007_usb_board board_sensoray_2250 = { | 437 | static struct go7007_usb_board board_sensoray_2250 = { |
438 | .flags = GO7007_USB_EZUSB | GO7007_USB_EZUSB_I2C, | 438 | .flags = GO7007_USB_EZUSB | GO7007_USB_EZUSB_I2C, |
439 | .main_info = { | 439 | .main_info = { |
440 | .firmware = "go7007tv.bin", | 440 | .firmware = "go7007/go7007tv.bin", |
441 | .audio_flags = GO7007_AUDIO_I2S_MODE_1 | | 441 | .audio_flags = GO7007_AUDIO_I2S_MODE_1 | |
442 | GO7007_AUDIO_I2S_MASTER | | 442 | GO7007_AUDIO_I2S_MASTER | |
443 | GO7007_AUDIO_WORD_16, | 443 | GO7007_AUDIO_WORD_16, |
@@ -486,7 +486,7 @@ static struct go7007_usb_board board_sensoray_2250 = { | |||
486 | }, | 486 | }, |
487 | }; | 487 | }; |
488 | 488 | ||
489 | MODULE_FIRMWARE("go7007tv.bin"); | 489 | MODULE_FIRMWARE("go7007/go7007tv.bin"); |
490 | 490 | ||
491 | static const struct usb_device_id go7007_usb_id_table[] = { | 491 | static const struct usb_device_id go7007_usb_id_table[] = { |
492 | { | 492 | { |
diff --git a/drivers/staging/media/go7007/saa7134-go7007.c b/drivers/staging/media/go7007/saa7134-go7007.c index 752f1bd6b5a1..d56f4fc44a93 100644 --- a/drivers/staging/media/go7007/saa7134-go7007.c +++ b/drivers/staging/media/go7007/saa7134-go7007.c | |||
@@ -65,7 +65,7 @@ struct saa7134_go7007 { | |||
65 | }; | 65 | }; |
66 | 66 | ||
67 | static struct go7007_board_info board_voyager = { | 67 | static struct go7007_board_info board_voyager = { |
68 | .firmware = "go7007tv.bin", | 68 | .firmware = "go7007/go7007tv.bin", |
69 | .flags = 0, | 69 | .flags = 0, |
70 | .sensor_flags = GO7007_SENSOR_656 | | 70 | .sensor_flags = GO7007_SENSOR_656 | |
71 | GO7007_SENSOR_VALID_ENABLE | | 71 | GO7007_SENSOR_VALID_ENABLE | |
@@ -430,6 +430,7 @@ static struct go7007_hpi_ops saa7134_go7007_hpi_ops = { | |||
430 | .send_firmware = saa7134_go7007_send_firmware, | 430 | .send_firmware = saa7134_go7007_send_firmware, |
431 | .send_command = saa7134_go7007_send_command, | 431 | .send_command = saa7134_go7007_send_command, |
432 | }; | 432 | }; |
433 | MODULE_FIRMWARE("go7007/go7007tv.bin"); | ||
433 | 434 | ||
434 | /********************* Add/remove functions *********************/ | 435 | /********************* Add/remove functions *********************/ |
435 | 436 | ||