aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx25840/cx25840-firmware.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/cx25840/cx25840-firmware.c')
-rw-r--r--drivers/media/video/cx25840/cx25840-firmware.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/video/cx25840/cx25840-firmware.c b/drivers/media/video/cx25840/cx25840-firmware.c
index e852024a5ea3..1ddf724a2c74 100644
--- a/drivers/media/video/cx25840/cx25840-firmware.c
+++ b/drivers/media/video/cx25840/cx25840-firmware.c
@@ -24,6 +24,7 @@
24#include "cx25840-core.h" 24#include "cx25840-core.h"
25 25
26#define FWFILE "v4l-cx25840.fw" 26#define FWFILE "v4l-cx25840.fw"
27#define FWFILE_CX23885 "v4l-cx23885-avcore-01.fw"
27 28
28/* 29/*
29 * Mike Isely <isely@pobox.com> - The FWSEND parameter controls the 30 * Mike Isely <isely@pobox.com> - The FWSEND parameter controls the
@@ -92,10 +93,14 @@ static int fw_write(struct i2c_client *client, u8 * data, int size)
92 93
93int cx25840_loadfw(struct i2c_client *client) 94int cx25840_loadfw(struct i2c_client *client)
94{ 95{
96 struct cx25840_state *state = i2c_get_clientdata(client);
95 const struct firmware *fw = NULL; 97 const struct firmware *fw = NULL;
96 u8 buffer[4], *ptr; 98 u8 buffer[4], *ptr;
97 int size, send, retval; 99 int size, send, retval;
98 100
101 if (state->is_cx23885)
102 firmware = FWFILE_CX23885;
103
99 if (request_firmware(&fw, firmware, FWDEV(client)) != 0) { 104 if (request_firmware(&fw, firmware, FWDEV(client)) != 0) {
100 v4l_err(client, "unable to open firmware %s\n", firmware); 105 v4l_err(client, "unable to open firmware %s\n", firmware);
101 return -EINVAL; 106 return -EINVAL;