[media] redrat3: missing endian conversions and warnings
Spotted by sparse. Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
4c055a5ae9
commit
fa7b9ac2e2
1 changed files with 12 additions and 59 deletions
|
@ -54,7 +54,6 @@
|
||||||
#include <media/rc-core.h>
|
#include <media/rc-core.h>
|
||||||
|
|
||||||
/* Driver Information */
|
/* Driver Information */
|
||||||
#define DRIVER_VERSION "0.70"
|
|
||||||
#define DRIVER_AUTHOR "Jarod Wilson <jarod@redhat.com>"
|
#define DRIVER_AUTHOR "Jarod Wilson <jarod@redhat.com>"
|
||||||
#define DRIVER_AUTHOR2 "The Dweller, Stephen Cox"
|
#define DRIVER_AUTHOR2 "The Dweller, Stephen Cox"
|
||||||
#define DRIVER_DESC "RedRat3 USB IR Transceiver Driver"
|
#define DRIVER_DESC "RedRat3 USB IR Transceiver Driver"
|
||||||
|
@ -199,14 +198,9 @@ struct redrat3_dev {
|
||||||
|
|
||||||
/* the send endpoint */
|
/* the send endpoint */
|
||||||
struct usb_endpoint_descriptor *ep_out;
|
struct usb_endpoint_descriptor *ep_out;
|
||||||
/* the buffer to send data */
|
|
||||||
unsigned char *bulk_out_buf;
|
|
||||||
/* the urb used to send data */
|
|
||||||
struct urb *write_urb;
|
|
||||||
|
|
||||||
/* usb dma */
|
/* usb dma */
|
||||||
dma_addr_t dma_in;
|
dma_addr_t dma_in;
|
||||||
dma_addr_t dma_out;
|
|
||||||
|
|
||||||
/* rx signal timeout timer */
|
/* rx signal timeout timer */
|
||||||
struct timer_list rx_timeout;
|
struct timer_list rx_timeout;
|
||||||
|
@ -239,7 +233,6 @@ static void redrat3_issue_async(struct redrat3_dev *rr3)
|
||||||
|
|
||||||
rr3_ftr(rr3->dev, "Entering %s\n", __func__);
|
rr3_ftr(rr3->dev, "Entering %s\n", __func__);
|
||||||
|
|
||||||
memset(rr3->bulk_in_buf, 0, rr3->ep_in->wMaxPacketSize);
|
|
||||||
res = usb_submit_urb(rr3->read_urb, GFP_ATOMIC);
|
res = usb_submit_urb(rr3->read_urb, GFP_ATOMIC);
|
||||||
if (res)
|
if (res)
|
||||||
rr3_dbg(rr3->dev, "%s: receive request FAILED! "
|
rr3_dbg(rr3->dev, "%s: receive request FAILED! "
|
||||||
|
@ -368,7 +361,7 @@ static void redrat3_process_ir_data(struct redrat3_dev *rr3)
|
||||||
{
|
{
|
||||||
DEFINE_IR_RAW_EVENT(rawir);
|
DEFINE_IR_RAW_EVENT(rawir);
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
int i, trailer = 0;
|
unsigned i, trailer = 0;
|
||||||
unsigned sig_size, single_len, offset, val;
|
unsigned sig_size, single_len, offset, val;
|
||||||
unsigned long delay;
|
unsigned long delay;
|
||||||
u32 mod_freq;
|
u32 mod_freq;
|
||||||
|
@ -510,15 +503,11 @@ static inline void redrat3_delete(struct redrat3_dev *rr3,
|
||||||
{
|
{
|
||||||
rr3_ftr(rr3->dev, "%s cleaning up\n", __func__);
|
rr3_ftr(rr3->dev, "%s cleaning up\n", __func__);
|
||||||
usb_kill_urb(rr3->read_urb);
|
usb_kill_urb(rr3->read_urb);
|
||||||
usb_kill_urb(rr3->write_urb);
|
|
||||||
|
|
||||||
usb_free_urb(rr3->read_urb);
|
usb_free_urb(rr3->read_urb);
|
||||||
usb_free_urb(rr3->write_urb);
|
|
||||||
|
|
||||||
usb_free_coherent(udev, rr3->ep_in->wMaxPacketSize,
|
usb_free_coherent(udev, le16_to_cpu(rr3->ep_in->wMaxPacketSize),
|
||||||
rr3->bulk_in_buf, rr3->dma_in);
|
rr3->bulk_in_buf, rr3->dma_in);
|
||||||
usb_free_coherent(udev, rr3->ep_out->wMaxPacketSize,
|
|
||||||
rr3->bulk_out_buf, rr3->dma_out);
|
|
||||||
|
|
||||||
kfree(rr3);
|
kfree(rr3);
|
||||||
}
|
}
|
||||||
|
@ -566,7 +555,7 @@ static void redrat3_reset(struct redrat3_dev *rr3)
|
||||||
rxpipe = usb_rcvctrlpipe(udev, 0);
|
rxpipe = usb_rcvctrlpipe(udev, 0);
|
||||||
txpipe = usb_sndctrlpipe(udev, 0);
|
txpipe = usb_sndctrlpipe(udev, 0);
|
||||||
|
|
||||||
val = kzalloc(len, GFP_KERNEL);
|
val = kmalloc(len, GFP_KERNEL);
|
||||||
if (!val) {
|
if (!val) {
|
||||||
dev_err(dev, "Memory allocation failure\n");
|
dev_err(dev, "Memory allocation failure\n");
|
||||||
return;
|
return;
|
||||||
|
@ -620,7 +609,7 @@ static void redrat3_get_firmware_rev(struct redrat3_dev *rr3)
|
||||||
rr3_ftr(rr3->dev, "Exiting %s\n", __func__);
|
rr3_ftr(rr3->dev, "Exiting %s\n", __func__);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void redrat3_read_packet_start(struct redrat3_dev *rr3, int len)
|
static void redrat3_read_packet_start(struct redrat3_dev *rr3, unsigned len)
|
||||||
{
|
{
|
||||||
struct redrat3_header *header = rr3->bulk_in_buf;
|
struct redrat3_header *header = rr3->bulk_in_buf;
|
||||||
unsigned pktlen, pkttype;
|
unsigned pktlen, pkttype;
|
||||||
|
@ -659,7 +648,7 @@ static void redrat3_read_packet_start(struct redrat3_dev *rr3, int len)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void redrat3_read_packet_continue(struct redrat3_dev *rr3, int len)
|
static void redrat3_read_packet_continue(struct redrat3_dev *rr3, unsigned len)
|
||||||
{
|
{
|
||||||
void *irdata = &rr3->irdata;
|
void *irdata = &rr3->irdata;
|
||||||
|
|
||||||
|
@ -679,7 +668,7 @@ static void redrat3_read_packet_continue(struct redrat3_dev *rr3, int len)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* gather IR data from incoming urb, process it when we have enough */
|
/* gather IR data from incoming urb, process it when we have enough */
|
||||||
static int redrat3_get_ir_data(struct redrat3_dev *rr3, int len)
|
static int redrat3_get_ir_data(struct redrat3_dev *rr3, unsigned len)
|
||||||
{
|
{
|
||||||
struct device *dev = rr3->dev;
|
struct device *dev = rr3->dev;
|
||||||
unsigned pkttype;
|
unsigned pkttype;
|
||||||
|
@ -755,22 +744,6 @@ static void redrat3_handle_async(struct urb *urb)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void redrat3_write_bulk_callback(struct urb *urb)
|
|
||||||
{
|
|
||||||
struct redrat3_dev *rr3;
|
|
||||||
int len;
|
|
||||||
|
|
||||||
if (!urb)
|
|
||||||
return;
|
|
||||||
|
|
||||||
rr3 = urb->context;
|
|
||||||
if (rr3) {
|
|
||||||
len = urb->actual_length;
|
|
||||||
rr3_ftr(rr3->dev, "%s: called (status=%d len=%d)\n",
|
|
||||||
__func__, urb->status, len);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static u16 mod_freq_to_val(unsigned int mod_freq)
|
static u16 mod_freq_to_val(unsigned int mod_freq)
|
||||||
{
|
{
|
||||||
int mult = 6000000;
|
int mult = 6000000;
|
||||||
|
@ -799,11 +772,11 @@ static int redrat3_transmit_ir(struct rc_dev *rcdev, unsigned *txbuf,
|
||||||
struct redrat3_dev *rr3 = rcdev->priv;
|
struct redrat3_dev *rr3 = rcdev->priv;
|
||||||
struct device *dev = rr3->dev;
|
struct device *dev = rr3->dev;
|
||||||
struct redrat3_irdata *irdata = NULL;
|
struct redrat3_irdata *irdata = NULL;
|
||||||
int i, ret, ret_len;
|
int ret, ret_len;
|
||||||
int lencheck, cur_sample_len, pipe;
|
int lencheck, cur_sample_len, pipe;
|
||||||
int *sample_lens = NULL;
|
int *sample_lens = NULL;
|
||||||
u8 curlencheck = 0;
|
u8 curlencheck = 0;
|
||||||
int sendbuf_len;
|
unsigned i, sendbuf_len;
|
||||||
|
|
||||||
rr3_ftr(dev, "Entering %s\n", __func__);
|
rr3_ftr(dev, "Entering %s\n", __func__);
|
||||||
|
|
||||||
|
@ -1015,38 +988,18 @@ static int redrat3_dev_probe(struct usb_interface *intf,
|
||||||
}
|
}
|
||||||
|
|
||||||
rr3->ep_in = ep_in;
|
rr3->ep_in = ep_in;
|
||||||
rr3->bulk_in_buf = usb_alloc_coherent(udev, ep_in->wMaxPacketSize,
|
rr3->bulk_in_buf = usb_alloc_coherent(udev,
|
||||||
GFP_ATOMIC, &rr3->dma_in);
|
le16_to_cpu(ep_in->wMaxPacketSize), GFP_ATOMIC, &rr3->dma_in);
|
||||||
if (!rr3->bulk_in_buf) {
|
if (!rr3->bulk_in_buf) {
|
||||||
dev_err(dev, "Read buffer allocation failure\n");
|
dev_err(dev, "Read buffer allocation failure\n");
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
pipe = usb_rcvbulkpipe(udev, ep_in->bEndpointAddress);
|
pipe = usb_rcvbulkpipe(udev, ep_in->bEndpointAddress);
|
||||||
usb_fill_bulk_urb(rr3->read_urb, udev, pipe,
|
usb_fill_bulk_urb(rr3->read_urb, udev, pipe, rr3->bulk_in_buf,
|
||||||
rr3->bulk_in_buf, ep_in->wMaxPacketSize,
|
le16_to_cpu(ep_in->wMaxPacketSize), redrat3_handle_async, rr3);
|
||||||
redrat3_handle_async, rr3);
|
|
||||||
|
|
||||||
/* set up bulk-out endpoint*/
|
|
||||||
rr3->write_urb = usb_alloc_urb(0, GFP_KERNEL);
|
|
||||||
if (!rr3->write_urb) {
|
|
||||||
dev_err(dev, "Write urb allocation failure\n");
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
rr3->ep_out = ep_out;
|
rr3->ep_out = ep_out;
|
||||||
rr3->bulk_out_buf = usb_alloc_coherent(udev, ep_out->wMaxPacketSize,
|
|
||||||
GFP_ATOMIC, &rr3->dma_out);
|
|
||||||
if (!rr3->bulk_out_buf) {
|
|
||||||
dev_err(dev, "Write buffer allocation failure\n");
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
pipe = usb_sndbulkpipe(udev, ep_out->bEndpointAddress);
|
|
||||||
usb_fill_bulk_urb(rr3->write_urb, udev, pipe,
|
|
||||||
rr3->bulk_out_buf, ep_out->wMaxPacketSize,
|
|
||||||
redrat3_write_bulk_callback, rr3);
|
|
||||||
|
|
||||||
rr3->udev = udev;
|
rr3->udev = udev;
|
||||||
|
|
||||||
redrat3_reset(rr3);
|
redrat3_reset(rr3);
|
||||||
|
|
Loading…
Add table
Reference in a new issue