Re: [RFC PATCH 2/3] radio-keene: add a driver for the Keene FM Transmitter.
From: Hans Verkuil <hidden>
Date: 2012-01-16 13:02:19
Also in:
linux-media
On Monday 16 January 2012 13:44:37 Oliver Neukum wrote:
Am Montag, 16. Januar 2012, 13:29:19 schrieb Hans Verkuil:quoted
From: Hans Verkuil <redacted> +MODULE_DEVICE_TABLE(usb, usb_keene_device_table); + +struct keene_device { + struct usb_device *usbdev; + struct usb_interface *intf; + struct video_device vdev; + struct v4l2_device v4l2_dev; + struct v4l2_ctrl_handler hdl; + struct mutex lock; + + u8 buffer[BUFFER_LENGTH];This is a violation of the DMA API. You need to alocate the buffer with a separate kmalloc.
OK.
quoted
+ unsigned curfreq; + u8 tx; + u8 pa; + bool stereo; + bool muted; + bool preemph_75_us; +}; + +static inline struct keene_device *to_keene_dev(struct v4l2_device *v4l2_dev) +{ + return container_of(v4l2_dev, struct keene_device, v4l2_dev); +} + +/* Set frequency (if non-0), PA, mute and turn on/off the FM transmitter. */ +static int keene_cmd_main(struct keene_device *radio, unsigned freq, bool play) +{ + unsigned short freq_send = freq ? (freq - 76 * 16000) / 800 : 0; + int ret; + + radio->buffer[0] = 0x00; + radio->buffer[1] = 0x50; + radio->buffer[2] = (freq_send >> 8) & 0xff; + radio->buffer[3] = freq_send & 0xff;Please use the endianness macro appropriate here
I don't see any endianness issues here, but perhaps I missed something. Regards, Hans