lkml.org 
[lkml]   [2007]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 11/40] ALSA: Fix build error without CONFIG_HAS_DMA

    -stable review patch. If anyone has any objections, please let us know.

    ------------------
    From: Takashi Iwai <tiwai@suse.de>

    patch 8f11551b1798170dcffdd28475075ca4f1c6c990 in mainline

    [ALSA] Fix build error without CONFIG_HAS_DMA

    The recent change of include/asm-generic/dma-mapping-broken.h breaks
    the build without CONFIG_HAS_DMA. This patch is an ad hoc fix.

    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    sound/core/Makefile | 3 ++-
    sound/core/memalloc.c | 6 ++++++
    2 files changed, 8 insertions(+), 1 deletion(-)

    --- a/sound/core/Makefile
    +++ b/sound/core/Makefile
    @@ -14,7 +14,8 @@ endif
    snd-pcm-objs := pcm.o pcm_native.o pcm_lib.o pcm_timer.o pcm_misc.o \
    pcm_memory.o

    -snd-page-alloc-objs := memalloc.o sgbuf.o
    +snd-page-alloc-y := memalloc.o
    +snd-page-alloc-$(CONFIG_HAS_DMA) += sgbuf.o

    snd-rawmidi-objs := rawmidi.o
    snd-timer-objs := timer.o
    --- a/sound/core/memalloc.c
    +++ b/sound/core/memalloc.c
    @@ -206,6 +206,7 @@ void snd_free_pages(void *ptr, size_t si
    *
    */

    +#ifdef CONFIG_HAS_DMA
    /* allocate the coherent DMA pages */
    static void *snd_malloc_dev_pages(struct device *dev, size_t size, dma_addr_t *dma)
    {
    @@ -239,6 +240,7 @@ static void snd_free_dev_pages(struct de
    dec_snd_pages(pg);
    dma_free_coherent(dev, PAGE_SIZE << pg, ptr, dma);
    }
    +#endif /* CONFIG_HAS_DMA */

    #ifdef CONFIG_SBUS

    @@ -312,12 +314,14 @@ int snd_dma_alloc_pages(int type, struct
    dmab->area = snd_malloc_sbus_pages(device, size, &dmab->addr);
    break;
    #endif
    +#ifdef CONFIG_HAS_DMA
    case SNDRV_DMA_TYPE_DEV:
    dmab->area = snd_malloc_dev_pages(device, size, &dmab->addr);
    break;
    case SNDRV_DMA_TYPE_DEV_SG:
    snd_malloc_sgbuf_pages(device, size, dmab, NULL);
    break;
    +#endif
    default:
    printk(KERN_ERR "snd-malloc: invalid device type %d\n", type);
    dmab->area = NULL;
    @@ -383,12 +387,14 @@ void snd_dma_free_pages(struct snd_dma_b
    snd_free_sbus_pages(dmab->dev.dev, dmab->bytes, dmab->area, dmab->addr);
    break;
    #endif
    +#ifdef CONFIG_HAS_DMA
    case SNDRV_DMA_TYPE_DEV:
    snd_free_dev_pages(dmab->dev.dev, dmab->bytes, dmab->area, dmab->addr);
    break;
    case SNDRV_DMA_TYPE_DEV_SG:
    snd_free_sgbuf_pages(dmab);
    break;
    +#endif
    default:
    printk(KERN_ERR "snd-malloc: invalid device type %d\n", dmab->dev.type);
    }
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-11-15 07:59    [W:0.022 / U:60.832 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site