Merge remote-tracking branch 'asoc/fix/intel' into asoc-linus
authorMark Brown <broonie@kernel.org>
Sun, 12 Apr 2015 18:48:20 +0000 (19:48 +0100)
committerMark Brown <broonie@kernel.org>
Sun, 12 Apr 2015 18:48:20 +0000 (19:48 +0100)
1  2 
sound/soc/intel/sst-firmware.c
sound/soc/intel/sst/sst_acpi.c

index 5f71ef607a57e417715154b1697ee04ef0a13772,28beceb3f252dda955e13ac827b81041e8785032..4a993d16a23559384e2a862c73c853b4849fcb09
@@@ -271,6 -271,10 +271,10 @@@ int sst_dma_new(struct sst_dsp *sst
        const char *dma_dev_name;
        int ret = 0;
  
+       if (sst->pdata->resindex_dma_base == -1)
+               /* DMA is not used, return and squelsh error messages */
+               return 0;
        /* configure the correct platform data for whatever DMA engine
        * is attached to the ADSP IP. */
        switch (sst->pdata->dma_engine) {
@@@ -497,7 -501,6 +501,7 @@@ struct sst_module *sst_module_new(struc
        sst_module->sst_fw = sst_fw;
        sst_module->scratch_size = template->scratch_size;
        sst_module->persistent_size = template->persistent_size;
 +      sst_module->entry = template->entry;
  
        INIT_LIST_HEAD(&sst_module->block_list);
        INIT_LIST_HEAD(&sst_module->runtime_list);
@@@ -791,7 -794,6 +795,7 @@@ int sst_module_alloc_blocks(struct sst_
        struct sst_block_allocator ba;
        int ret;
  
 +      memset(&ba, 0, sizeof(ba));
        ba.size = module->size;
        ba.type = module->type;
        ba.offset = module->offset;
@@@ -865,7 -867,6 +869,7 @@@ int sst_module_runtime_alloc_blocks(str
        if (module->persistent_size == 0)
                return 0;
  
 +      memset(&ba, 0, sizeof(ba));
        ba.size = module->persistent_size;
        ba.type = SST_MEM_DRAM;
  
index b782dfdcdbba10202150257e3aa695e55ec63e24,98c2444dece33f35977ac8c659d4ac36616fb42a..b536ddd2517de40487f15c4a4098cae254d6b390
@@@ -47,7 -47,7 +47,7 @@@ struct sst_machines 
        char board[32];
        char machine[32];
        void (*machine_quirk)(void);
 -      char firmware[32];
 +      char firmware[FW_NAME_SIZE];
        struct sst_platform_info *pdata;
  
  };
@@@ -245,7 -245,7 +245,7 @@@ static struct sst_machines *sst_acpi_fi
        return NULL;
  }
  
 -int sst_acpi_probe(struct platform_device *pdev)
 +static int sst_acpi_probe(struct platform_device *pdev)
  {
        struct device *dev = &pdev->dev;
        int ret = 0;
        ctx->shim_regs64 = devm_kzalloc(ctx->dev, sizeof(*ctx->shim_regs64),
                                        GFP_KERNEL);
        if (!ctx->shim_regs64) {
-               return -ENOMEM;
+               ret = -ENOMEM;
                goto do_sst_cleanup;
        }
  
@@@ -332,7 -332,7 +332,7 @@@ do_sst_cleanup
  * This function is called by OS when a device is unloaded
  * This frees the interrupt etc
  */
 -int sst_acpi_remove(struct platform_device *pdev)
 +static int sst_acpi_remove(struct platform_device *pdev)
  {
        struct intel_sst_drv *ctx;
  
@@@ -352,8 -352,6 +352,8 @@@ static struct sst_machines sst_acpi_byt
  static struct sst_machines sst_acpi_chv[] = {
        {"10EC5670", "cht-bsw", "cht-bsw-rt5672", NULL, "intel/fw_sst_22a8.bin",
                                                &chv_platform_data },
 +      {"10EC5645", "cht-bsw", "cht-bsw-rt5645", NULL, "intel/fw_sst_22a8.bin",
 +                                              &chv_platform_data },
        {},
  };
  
@@@ -368,6 -366,7 +368,6 @@@ MODULE_DEVICE_TABLE(acpi, sst_acpi_ids)
  static struct platform_driver sst_acpi_driver = {
        .driver = {
                .name                   = "intel_sst_acpi",
 -              .owner                  = THIS_MODULE,
                .acpi_match_table       = ACPI_PTR(sst_acpi_ids),
                .pm                     = &intel_sst_pm,
        },