buflib: Add CONFIG_BUFLIB_BACKEND for selecting a buflib backend
Defaults to the normal "mempool" backend, which is currently the only implementation. Change-Id: I56d034a6e0f5edc90c39526d1551945eec6ca336
This commit is contained in:
parent
680261fbb7
commit
f995c26de9
9 changed files with 48 additions and 5 deletions
|
@ -100,7 +100,7 @@ int plugin_open(const char *plugin, const char *parameter);
|
||||||
#include "list.h"
|
#include "list.h"
|
||||||
#include "tree.h"
|
#include "tree.h"
|
||||||
#include "color_picker.h"
|
#include "color_picker.h"
|
||||||
#include "buflib_mempool.h"
|
#include "buflib.h"
|
||||||
#include "buffering.h"
|
#include "buffering.h"
|
||||||
#include "tagcache.h"
|
#include "tagcache.h"
|
||||||
#include "viewport.h"
|
#include "viewport.h"
|
||||||
|
|
|
@ -4,7 +4,9 @@
|
||||||
ata_idle_notify.c
|
ata_idle_notify.c
|
||||||
events.c
|
events.c
|
||||||
backlight.c
|
backlight.c
|
||||||
|
#if CONFIG_BUFLIB_BACKEND == BUFLIB_BACKEND_MEMPOOL
|
||||||
buflib_mempool.c
|
buflib_mempool.c
|
||||||
|
#endif
|
||||||
core_alloc.c
|
core_alloc.c
|
||||||
general.c
|
general.c
|
||||||
powermgmt.c
|
powermgmt.c
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include <stdlib.h> /* for abs() */
|
#include <stdlib.h> /* for abs() */
|
||||||
#include <stdio.h> /* for snprintf() */
|
#include <stdio.h> /* for snprintf() */
|
||||||
#include <stddef.h> /* for ptrdiff_t */
|
#include <stddef.h> /* for ptrdiff_t */
|
||||||
#include "buflib_mempool.h"
|
#include "buflib.h"
|
||||||
#include "string-extra.h" /* strmemccpy() */
|
#include "string-extra.h" /* strmemccpy() */
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#include "panic.h"
|
#include "panic.h"
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
#include "core_alloc.h"
|
#include "core_alloc.h"
|
||||||
#include "buflib_mempool.h"
|
#include "buflib.h"
|
||||||
|
|
||||||
/* not static so it can be discovered by core_get_data() */
|
/* not static so it can be discovered by core_get_data() */
|
||||||
struct buflib_context core_ctx;
|
struct buflib_context core_ctx;
|
||||||
|
|
|
@ -380,6 +380,9 @@ Lyre prototype 1 */
|
||||||
#define IMX233_FREESCALE (1 << 0) /* Freescale I.MX233 nonstandard two-level MBR */
|
#define IMX233_FREESCALE (1 << 0) /* Freescale I.MX233 nonstandard two-level MBR */
|
||||||
#define IMX233_CREATIVE (1 << 1) /* Creative MBLK windowing */
|
#define IMX233_CREATIVE (1 << 1) /* Creative MBLK windowing */
|
||||||
|
|
||||||
|
/* CONFIG_BUFLIB_BACKEND */
|
||||||
|
#define BUFLIB_BACKEND_MEMPOOL 0 /* Default memory pool backed buflib */
|
||||||
|
|
||||||
/* now go and pick yours */
|
/* now go and pick yours */
|
||||||
#if defined(IRIVER_H100)
|
#if defined(IRIVER_H100)
|
||||||
#include "config/iriverh100.h"
|
#include "config/iriverh100.h"
|
||||||
|
@ -606,6 +609,10 @@ Lyre prototype 1 */
|
||||||
#undef CONFIG_STORAGE
|
#undef CONFIG_STORAGE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_BUFLIB_BACKEND
|
||||||
|
# define CONFIG_BUFLIB_BACKEND BUFLIB_BACKEND_MEMPOOL
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef APPLICATION
|
#ifdef APPLICATION
|
||||||
#define CONFIG_CPU 0
|
#define CONFIG_CPU 0
|
||||||
#endif
|
#endif
|
||||||
|
|
30
firmware/include/buflib.h
Normal file
30
firmware/include/buflib.h
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
/**************************************************************************
|
||||||
|
* __________ __ ___.
|
||||||
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||||
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||||
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||||
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||||
|
* \/ \/ \/ \/ \/
|
||||||
|
* $Id$
|
||||||
|
*
|
||||||
|
* Copyright (C) 2023 Aidan MacDonald
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
* KIND, either express or implied.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
#ifndef _BUFLIB_H_
|
||||||
|
#define _BUFLIB_H_
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#if CONFIG_BUFLIB_BACKEND == BUFLIB_BACKEND_MEMPOOL
|
||||||
|
#include "buflib_mempool.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _BUFLIB_H_ */
|
|
@ -26,6 +26,10 @@
|
||||||
#ifndef _BUFLIB_MEMPOOL_H_
|
#ifndef _BUFLIB_MEMPOOL_H_
|
||||||
#define _BUFLIB_MEMPOOL_H_
|
#define _BUFLIB_MEMPOOL_H_
|
||||||
|
|
||||||
|
#ifndef _BUFLIB_H_
|
||||||
|
# error "include buflib.h instead"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "buflib_mempool.h"
|
#include "buflib.h"
|
||||||
|
|
||||||
#define CHUNK_ALLOC_INVALID ((size_t)-1)
|
#define CHUNK_ALLOC_INVALID ((size_t)-1)
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "buflib_mempool.h"
|
#include "buflib.h"
|
||||||
#include "chunk_alloc.h"
|
#include "chunk_alloc.h"
|
||||||
|
|
||||||
/* All functions below are wrappers for functions in buflib.h, except
|
/* All functions below are wrappers for functions in buflib.h, except
|
||||||
|
|
Loading…
Reference in a new issue