From: David Woodhouse <dwmw2@infradead.org>
To: linux-kernel@vger.kernel.org
Cc: sam@ravnborg.org, alan@lxorguk.ukuu.org.uk,
akpm@linux-foundation.org, Tyler Trafford <ttrafford@gmail.com>,
Hans Verkuil <hverkuil@xs4all.nl>
Subject: [PATCHv2 04/28] cx25840: treat firmware data as const
Date: Sun, 25 May 2008 11:23:33 +0100 [thread overview]
Message-ID: <E1K0DO1-0007D2-3d@shinybook.infradead.org> (raw)
In-Reply-To: <1211708969@pmac.infradead.org>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
---
drivers/media/video/cx25840/cx25840-firmware.c | 21 +++++++++++++--------
1 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/drivers/media/video/cx25840/cx25840-firmware.c b/drivers/media/video/cx25840/cx25840-firmware.c
index 620d295..5c08ede 100644
--- a/drivers/media/video/cx25840/cx25840-firmware.c
+++ b/drivers/media/video/cx25840/cx25840-firmware.c
@@ -79,7 +79,7 @@ static int check_fw_load(struct i2c_client *client, int size)
return 0;
}
-static int fw_write(struct i2c_client *client, u8 *data, int size)
+static int fw_write(struct i2c_client *client, const u8 *data, int size)
{
if (i2c_master_send(client, data, size) < size) {
v4l_err(client, "firmware load i2c failure\n");
@@ -93,7 +93,8 @@ int cx25840_loadfw(struct i2c_client *client)
{
struct cx25840_state *state = i2c_get_clientdata(client);
const struct firmware *fw = NULL;
- u8 buffer[4], *ptr;
+ u8 buffer[FWSEND];
+ const u8 *ptr;
int size, retval;
if (state->is_cx23885)
@@ -108,6 +109,8 @@ int cx25840_loadfw(struct i2c_client *client)
buffer[0] = 0x08;
buffer[1] = 0x02;
+
+ /* Do we really need to do the first two bytes first? */
buffer[2] = fw->data[0];
buffer[3] = fw->data[1];
retval = fw_write(client, buffer, 4);
@@ -118,19 +121,21 @@ int cx25840_loadfw(struct i2c_client *client)
}
size = fw->size - 2;
- ptr = fw->data;
+ ptr = fw->data + 2;
while (size > 0) {
- ptr[0] = 0x08;
- ptr[1] = 0x02;
- retval = fw_write(client, ptr, min(FWSEND, size + 2));
+ int len = min(FWSEND - 2, size);
+
+ memcpy(buffer + 2, ptr, len);
+
+ retval = fw_write(client, ptr, len + 2);
if (retval < 0) {
release_firmware(fw);
return retval;
}
- size -= FWSEND - 2;
- ptr += FWSEND - 2;
+ size -= len;
+ ptr += len;
}
end_fw_load(client);
--
1.5.4.5
next prev parent reply other threads:[~2008-05-25 10:31 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-25 10:23 [PATCHv2 00/28] Allow built-in firmware to be accessed by request_firmware() David Woodhouse
2008-05-25 10:23 ` [PATCHv2 01/28] libertas: treat firmware data as const David Woodhouse
2008-05-25 13:06 ` Alan Cox
2008-05-25 10:23 ` [PATCHv2 02/28] bluetooth: " David Woodhouse
2008-05-25 13:07 ` Alan Cox
2008-05-25 10:23 ` [PATCHv2 03/28] cyclades: " David Woodhouse
2008-05-25 13:07 ` Alan Cox
2008-05-25 10:23 ` David Woodhouse [this message]
2008-05-25 10:51 ` [PATCHv2 04/28] cx25840: " Hans Verkuil
2008-05-25 14:36 ` David Woodhouse
2008-05-25 14:56 ` David Woodhouse
2008-05-25 15:04 ` Hans Verkuil
2008-05-25 15:37 ` Mike Isely
2008-05-25 15:20 ` Mike Isely
2008-05-25 16:16 ` Tyler Trafford
2008-05-25 10:23 ` [PATCHv2 05/28] myri10ge: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 06/28] vx222: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 07/28] riptide: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 08/28] pcxhr: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 09/28] vx: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 10/28] ueagle-atm: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 11/28] cxacru: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 12/28] aic94xx: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 13/28] zd1201: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 14/28] rt2x00: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 15/28] p54: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 16/28] atmel: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 17/28] irda-usb: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 18/28] cxgb3: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 19/28] bt8xx: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 20/28] ttusb-dec: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 21/28] dvb frontends: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 22/28] cxusb: " David Woodhouse
2008-05-25 14:14 ` Michael Krufky
2008-05-25 14:27 ` David Woodhouse
2008-05-25 15:02 ` David Woodhouse
2008-05-25 10:23 ` [PATCHv2 23/28] gp8psk: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 24/28] tuners: " David Woodhouse
2008-05-25 10:23 ` [PATCHv2 25/28] firmware: make fw->data const David Woodhouse
2008-05-25 10:23 ` [PATCHv2 26/28] firmware: allow firmware files to be built into kernel image David Woodhouse
2008-05-30 5:08 ` Rusty Russell
2008-05-31 8:39 ` David Woodhouse
2008-05-25 10:23 ` [PATCHv2 27/28] firmware: Add CONFIG_BUILTIN_FIRMWARE option David Woodhouse
2008-05-25 17:00 ` [PATCHv3 " David Woodhouse
2008-05-26 8:58 ` David Woodhouse
2008-05-28 11:46 ` [PATCHv4 " David Woodhouse
2008-05-29 8:29 ` [PATCH 29/28] firmware: Add 'firmware_install' make target David Woodhouse
2008-05-25 10:23 ` [PATCHv2 28/28] firmware: convert korg1212 driver to use firmware loader exclusively David Woodhouse
2008-05-25 13:11 ` Alan Cox
2008-05-27 18:33 ` Yinghai Lu
2008-05-27 21:24 ` David Woodhouse
2008-05-29 9:09 ` [PATCHv2 #ERROR!/28] maestro3: treat firmware data as const David Woodhouse
2008-05-29 10:49 ` [PATCHv2 30/28] firmware: convert maestro3 driver to use firmware loader exclusively David Woodhouse
2008-05-29 12:21 ` [PATCH N/28] ymfpci: treat firmware data as const David Woodhouse
2008-05-29 12:23 ` [PATCH N/28] firmware: convert ymfpci driver to use firmware loader exclusively David Woodhouse
2008-05-29 13:47 ` [PATCH] smctr: use request_firmware() David Woodhouse
2008-05-29 19:30 ` maximilian attems
2008-05-29 21:02 ` David Woodhouse
2008-05-29 14:20 ` [PATCH] kaweth: " David Woodhouse
2008-05-30 13:55 ` Oliver Neukum
2008-05-30 15:16 ` David Woodhouse
2008-05-30 15:26 ` Marcel Holtmann
2008-05-30 15:48 ` Alan Cox
2008-05-30 21:02 ` Oliver Neukum
2008-05-31 0:00 ` Alexandre Oliva
2008-05-31 6:51 ` Marcel Holtmann
2008-05-31 12:35 ` Alan Cox
2008-05-29 17:49 ` [PATCH] ttusb-budget: " David Woodhouse
2008-06-13 19:23 ` Mauro Carvalho Chehab
2008-05-30 11:45 ` [PATCH] keyspan: " David Woodhouse
2008-05-30 13:54 ` Hugh Blemings
2008-05-30 12:19 ` [PATCH] keyspan_pda: " David Woodhouse
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=E1K0DO1-0007D2-3d@shinybook.infradead.org \
--to=dwmw2@infradead.org \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=hverkuil@xs4all.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=sam@ravnborg.org \
--cc=ttrafford@gmail.com \
/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
all inboxes | Powered by JetHome®