]> git.alsa-project.org Git - alsa-lib.git/commitdiff
move page helpers to common code
authorMike Frysinger <vapier@chromium.org>
Tue, 27 Oct 2015 21:27:55 +0000 (17:27 -0400)
committerTakashi Iwai <tiwai@suse.de>
Thu, 5 Nov 2015 13:37:10 +0000 (14:37 +0100)
If you build with --disable-pcm, the rawmidi code fails to link because
it uses the page_size helper declared in local.h, but the page_* funcs
are in the pcm mmap module.  Move these funcs into conf.c so that they
are always available to the rest of the system.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
src/conf.c
src/pcm/pcm_mmap.c

index 91fca25545f1cbb824f18d7b07f1ba7b44f50921..a4f2a4fb28f1611c0a8b4a9b9b0949798544156c 100644 (file)
@@ -4876,3 +4876,39 @@ static void _snd_config_end(void)
        files_info_count = 0;
 }
 #endif
+
+size_t page_size(void)
+{
+       long s = sysconf(_SC_PAGE_SIZE);
+       assert(s > 0);
+       return s;
+}
+
+size_t page_align(size_t size)
+{
+       size_t r;
+       long psz = page_size();
+       r = size % psz;
+       if (r)
+               return size + psz - r;
+       return size;
+}
+
+size_t page_ptr(size_t object_offset, size_t object_size, size_t *offset, size_t *mmap_offset)
+{
+       size_t r;
+       long psz = page_size();
+       assert(offset);
+       assert(mmap_offset);
+       *mmap_offset = object_offset;
+       object_offset %= psz;
+       *mmap_offset -= object_offset;
+       object_size += object_offset;
+       r = object_size % psz;
+       if (r)
+               r = object_size + psz - r;
+       else
+               r = object_size;
+       *offset = object_offset;
+       return r;
+}
index 83e74e59404982d715978b48549274a1ed713aab..470bd0413ee021d72fbfa999a04ed18d04788161 100644 (file)
 #include <sys/shm.h>
 #include "pcm_local.h"
 
-size_t page_size(void)
-{
-       long s = sysconf(_SC_PAGE_SIZE);
-       assert(s > 0);
-       return s;
-}
-
-size_t page_align(size_t size)
-{
-       size_t r;
-       long psz = page_size();
-       r = size % psz;
-       if (r)
-               return size + psz - r;
-       return size;
-}
-
-size_t page_ptr(size_t object_offset, size_t object_size, size_t *offset, size_t *mmap_offset)
-{
-       size_t r;
-       long psz = page_size();
-       assert(offset);
-       assert(mmap_offset);
-       *mmap_offset = object_offset;
-       object_offset %= psz;
-       *mmap_offset -= object_offset;
-       object_size += object_offset;
-       r = object_size % psz;
-       if (r)
-               r = object_size + psz - r;
-       else
-               r = object_size;
-       *offset = object_offset;
-       return r;
-}
-
 void snd_pcm_mmap_appl_backward(snd_pcm_t *pcm, snd_pcm_uframes_t frames)
 {
        snd_pcm_sframes_t appl_ptr = *pcm->appl.ptr;