Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[cascardo/linux.git] / drivers / media / pci / cx25821 / cx25821-audio-upstream.c
index d6dfb57..68dbc2d 100644 (file)
@@ -45,7 +45,7 @@ static int _intr_msk = FLD_AUD_SRC_RISCI1 | FLD_AUD_SRC_OF |
                        FLD_AUD_SRC_SYNC | FLD_AUD_SRC_OPC_ERR;
 
 static int cx25821_sram_channel_setup_upstream_audio(struct cx25821_dev *dev,
-                                             struct sram_channel *ch,
+                                             const struct sram_channel *ch,
                                              unsigned int bpl, u32 risc)
 {
        unsigned int i, lines;
@@ -106,7 +106,7 @@ static __le32 *cx25821_risc_field_upstream_audio(struct cx25821_dev *dev,
                                                 int fifo_enable)
 {
        unsigned int line;
-       struct sram_channel *sram_ch =
+       const struct sram_channel *sram_ch =
                dev->channels[dev->_audio_upstream_channel].sram_channels;
        int offset = 0;
 
@@ -215,7 +215,7 @@ static void cx25821_free_memory_audio(struct cx25821_dev *dev)
 
 void cx25821_stop_upstream_audio(struct cx25821_dev *dev)
 {
-       struct sram_channel *sram_ch =
+       const struct sram_channel *sram_ch =
                dev->channels[AUDIO_UPSTREAM_SRAM_CHANNEL_B].sram_channels;
        u32 tmp = 0;
 
@@ -257,7 +257,7 @@ void cx25821_free_mem_upstream_audio(struct cx25821_dev *dev)
 }
 
 static int cx25821_get_audio_data(struct cx25821_dev *dev,
-                          struct sram_channel *sram_ch)
+                          const struct sram_channel *sram_ch)
 {
        struct file *file;
        int frame_index_temp = dev->_audioframe_index;
@@ -319,7 +319,7 @@ static void cx25821_audioups_handler(struct work_struct *work)
 }
 
 static int cx25821_openfile_audio(struct cx25821_dev *dev,
-                          struct sram_channel *sram_ch)
+                          const struct sram_channel *sram_ch)
 {
        char *p = (void *)dev->_audiodata_buf_virt_addr;
        struct file *file;
@@ -360,7 +360,7 @@ static int cx25821_openfile_audio(struct cx25821_dev *dev,
 }
 
 static int cx25821_audio_upstream_buffer_prepare(struct cx25821_dev *dev,
-                                                struct sram_channel *sram_ch,
+                                                const struct sram_channel *sram_ch,
                                                 int bpl)
 {
        int ret = 0;
@@ -422,7 +422,7 @@ static int cx25821_audio_upstream_irq(struct cx25821_dev *dev, int chan_num,
 {
        int i = 0;
        u32 int_msk_tmp;
-       struct sram_channel *channel = dev->channels[chan_num].sram_channels;
+       const struct sram_channel *channel = dev->channels[chan_num].sram_channels;
        dma_addr_t risc_phys_jump_addr;
        __le32 *rp;
 
@@ -514,7 +514,7 @@ static irqreturn_t cx25821_upstream_irq_audio(int irq, void *dev_id)
        struct cx25821_dev *dev = dev_id;
        u32 audio_status;
        int handled = 0;
-       struct sram_channel *sram_ch;
+       const struct sram_channel *sram_ch;
 
        if (!dev)
                return -1;
@@ -538,7 +538,7 @@ static irqreturn_t cx25821_upstream_irq_audio(int irq, void *dev_id)
 }
 
 static void cx25821_wait_fifo_enable(struct cx25821_dev *dev,
-                                    struct sram_channel *sram_ch)
+                                    const struct sram_channel *sram_ch)
 {
        int count = 0;
        u32 tmp;
@@ -562,7 +562,7 @@ static void cx25821_wait_fifo_enable(struct cx25821_dev *dev,
 }
 
 static int cx25821_start_audio_dma_upstream(struct cx25821_dev *dev,
-                                           struct sram_channel *sram_ch)
+                                           const struct sram_channel *sram_ch)
 {
        u32 tmp = 0;
        int err = 0;
@@ -626,7 +626,7 @@ fail_irq:
 
 int cx25821_audio_upstream_init(struct cx25821_dev *dev, int channel_select)
 {
-       struct sram_channel *sram_ch;
+       const struct sram_channel *sram_ch;
        int err = 0;
 
        if (dev->_audio_is_running) {
@@ -655,26 +655,17 @@ int cx25821_audio_upstream_init(struct cx25821_dev *dev, int channel_select)
        dev->_audio_lines_count = LINES_PER_AUDIO_BUFFER;
        _line_size = AUDIO_LINE_SIZE;
 
-       if (dev->input_audiofilename) {
+       if ((dev->input_audiofilename) &&
+           (strcmp(dev->input_audiofilename, "") != 0))
                dev->_audiofilename = kstrdup(dev->input_audiofilename,
                                              GFP_KERNEL);
-
-               if (!dev->_audiofilename) {
-                       err = -ENOMEM;
-                       goto error;
-               }
-
-               /* Default if filename is empty string */
-               if (strcmp(dev->input_audiofilename, "") == 0)
-                       dev->_audiofilename = "/root/audioGOOD.wav";
-       } else {
+       else
                dev->_audiofilename = kstrdup(_defaultAudioName,
                                              GFP_KERNEL);
 
-               if (!dev->_audiofilename) {
-                       err = -ENOMEM;
-                       goto error;
-               }
+       if (!dev->_audiofilename) {
+               err = -ENOMEM;
+               goto error;
        }
 
        cx25821_sram_channel_setup_upstream_audio(dev, sram_ch,