mirror of
https://github.com/Dasharo/skiboot.git
synced 2026-03-06 14:50:44 -08:00
49496485fe
SPDX makes it a simpler diff. I have audited the commit history of each file to ensure that they are exclusively authored by IBM and thus we have the right to relicense. The motivation behind this is twofold: 1) We want to enable experiments with coreboot, which is GPLv2 licensed 2) An upcoming firmware component wants to incorporate code from skiboot and code from the Linux kernel, which is GPLv2 licensed. I have gone through the IBM internal way of gaining approval for this. The following files are not exclusively authored by IBM, so are *not* included in this update (I will be seeking approval from contributors): core/direct-controls.c core/flash.c core/pcie-slot.c external/common/arch_flash_unknown.c external/common/rules.mk external/gard/Makefile external/gard/rules.mk external/opal-prd/Makefile external/pflash/Makefile external/xscom-utils/Makefile hdata/vpd.c hw/dts.c hw/ipmi/ipmi-watchdog.c hw/phb4.c include/cpu.h include/phb4.h include/platform.h libflash/libffs.c libstb/mbedtls/sha512.c libstb/mbedtls/sha512.h platforms/astbmc/barreleye.c platforms/astbmc/garrison.c platforms/astbmc/mihawk.c platforms/astbmc/nicole.c platforms/astbmc/p8dnu.c platforms/astbmc/p8dtu.c platforms/astbmc/p9dsu.c platforms/astbmc/vesnin.c platforms/rhesus/ec/config.h platforms/rhesus/ec/gpio.h platforms/rhesus/gpio.c platforms/rhesus/rhesus.c platforms/astbmc/talos.c platforms/astbmc/romulus.c Signed-off-by: Stewart Smith <stewart@linux.ibm.com> [oliver: fixed up the drift] Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
26 lines
610 B
C
26 lines
610 B
C
// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
|
/* Copyright 2014 IBM Corp. */
|
|
|
|
#ifndef __POOL_H
|
|
#define __POOL_H
|
|
|
|
#include <ccan/list/list.h>
|
|
#include <stddef.h>
|
|
#include <compiler.h>
|
|
|
|
struct pool {
|
|
void *buf;
|
|
size_t obj_size;
|
|
struct list_head free_list;
|
|
int free_count;
|
|
int reserved;
|
|
};
|
|
|
|
enum pool_priority {POOL_NORMAL, POOL_HIGH};
|
|
|
|
void* pool_get(struct pool *pool, enum pool_priority priority) __warn_unused_result;
|
|
void pool_free_object(struct pool *pool, void *obj);
|
|
int pool_init(struct pool *pool, size_t obj_size, int count, int reserved) __warn_unused_result;
|
|
|
|
#endif /* __POOL_H */
|