drivers/usb annotations and fixes
* endianness annotations * endianness fixes * missing get_unaligned/put_unaligned It's pretty much all over the place, changes to different files are independent. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Serial-parts-Acked-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
@ -38,6 +38,7 @@
|
||||
#include <linux/device.h>
|
||||
#include <linux/firmware.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <asm/unaligned.h>
|
||||
|
||||
#include "usbatm.h"
|
||||
|
||||
@ -573,7 +574,7 @@ static int cxacru_cm_get_array(struct cxacru_data *instance, enum cxacru_cm_requ
|
||||
u32 *data, int size)
|
||||
{
|
||||
int ret, len;
|
||||
u32 *buf;
|
||||
__le32 *buf;
|
||||
int offb, offd;
|
||||
const int stride = CMD_PACKET_SIZE / (4 * 2) - 1;
|
||||
int buflen = ((size - 1) / stride + 1 + size * 2) * 4;
|
||||
@ -837,7 +838,7 @@ static int cxacru_fw(struct usb_device *usb_dev, enum cxacru_fw_request fw,
|
||||
buf[offb++] = l;
|
||||
buf[offb++] = code1;
|
||||
buf[offb++] = code2;
|
||||
*((u32 *) (buf + offb)) = cpu_to_le32(addr);
|
||||
put_unaligned(cpu_to_le32(addr), (__le32 *)(buf + offb));
|
||||
offb += 4;
|
||||
addr += l;
|
||||
if(l)
|
||||
@ -874,8 +875,9 @@ static void cxacru_upload_firmware(struct cxacru_data *instance,
|
||||
int off;
|
||||
struct usbatm_data *usbatm = instance->usbatm;
|
||||
struct usb_device *usb_dev = usbatm->usb_dev;
|
||||
u16 signature[] = { usb_dev->descriptor.idVendor, usb_dev->descriptor.idProduct };
|
||||
u32 val;
|
||||
__le16 signature[] = { usb_dev->descriptor.idVendor,
|
||||
usb_dev->descriptor.idProduct };
|
||||
__le32 val;
|
||||
|
||||
dbg("cxacru_upload_firmware");
|
||||
|
||||
@ -955,7 +957,7 @@ static void cxacru_upload_firmware(struct cxacru_data *instance,
|
||||
/* Load config data (le32), doing one packet at a time */
|
||||
if (cf)
|
||||
for (off = 0; off < cf->size / 4; ) {
|
||||
u32 buf[CMD_PACKET_SIZE / 4 - 1];
|
||||
__le32 buf[CMD_PACKET_SIZE / 4 - 1];
|
||||
int i, len = min_t(int, cf->size / 4 - off, CMD_PACKET_SIZE / 4 / 2 - 1);
|
||||
buf[0] = cpu_to_le32(len);
|
||||
for (i = 0; i < len; i++, off++) {
|
||||
|
@ -996,7 +996,7 @@ static void __uea_load_page_e4(struct uea_softc *sc, u8 pageno, int boot)
|
||||
blockoffset = sc->dsp_firm->data + le32_to_cpu(blockidx->PageOffset);
|
||||
|
||||
bi.dwSize = cpu_to_be32(blocksize);
|
||||
bi.dwAddress = swab32(blockidx->PageAddress);
|
||||
bi.dwAddress = cpu_to_be32(le32_to_cpu(blockidx->PageAddress));
|
||||
|
||||
uea_dbg(INS_TO_USBDEV(sc),
|
||||
"sending block %u for DSP page %u size %u address %x\n",
|
||||
@ -1040,7 +1040,7 @@ static void uea_load_page_e4(struct work_struct *work)
|
||||
return;
|
||||
|
||||
p = (struct l1_code *) sc->dsp_firm->data;
|
||||
if (pageno >= p->page_header[0].PageNumber) {
|
||||
if (pageno >= le16_to_cpu(p->page_header[0].PageNumber)) {
|
||||
uea_err(INS_TO_USBDEV(sc), "invalid DSP page %u requested\n", pageno);
|
||||
return;
|
||||
}
|
||||
@ -1065,7 +1065,7 @@ static void uea_load_page_e4(struct work_struct *work)
|
||||
bi.bPageNumber = 0xff;
|
||||
bi.wReserved = cpu_to_be16(UEA_RESERVED);
|
||||
bi.dwSize = cpu_to_be32(E4_PAGE_BYTES(p->page_header[0].PageSize));
|
||||
bi.dwAddress = swab32(p->page_header[0].PageAddress);
|
||||
bi.dwAddress = cpu_to_be32(le32_to_cpu(p->page_header[0].PageAddress));
|
||||
|
||||
/* send block info through the IDMA pipe */
|
||||
if (uea_idma_write(sc, &bi, E4_BLOCK_INFO_SIZE))
|
||||
|
Reference in New Issue
Block a user