[coreboot-gerrit] Patch set updated for coreboot: commonlib: prepare for cbfstool inclusion
Aaron Durbin (adurbin@chromium.org)
gerrit at coreboot.org
Tue Dec 22 00:09:52 CET 2015
Aaron Durbin (adurbin at chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12784
-gerrit
commit 294bf386d561d03365f302bf4776c4cae7b367a2
Author: Aaron Durbin <adurbin at chromium.org>
Date: Tue Dec 15 17:49:12 2015 -0600
commonlib: prepare for cbfstool inclusion
Some of the files need to be adjusted so that they can be used
both in cbfstool as well as coreboot proper. For coreboot,
add a <sys/types.h> file such that proper types can be included
from both the tools and coreboot. The other chanes are to accomodate
stricter checking in cbfstool.
BUG=chrome-os-partner:48412
BUG=chromium:445938
BRANCH=None
TEST=Built on glados including tools. Booted.
Change-Id: I771c6675c64b8837f775427721dd3300a8fa1bc0
Signed-off-by: Aaron Durbin <adurbin at chromium.org>
---
src/commonlib/include/commonlib/helpers.h | 6 ++++++
src/commonlib/include/commonlib/region.h | 1 +
src/commonlib/mem_pool.c | 2 +-
src/commonlib/region.c | 20 +++++++++++---------
src/include/sys/types.h | 1 +
5 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/src/commonlib/include/commonlib/helpers.h b/src/commonlib/include/commonlib/helpers.h
index 0e337c9..646a66f 100644
--- a/src/commonlib/include/commonlib/helpers.h
+++ b/src/commonlib/include/commonlib/helpers.h
@@ -2,7 +2,9 @@
#define COMMONLIB_HELPERS_H
/* This file is for helpers for both coreboot firmware and its utilities. */
+#ifndef ARRAY_SIZE
#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
+#endif
#define ALIGN(x,a) __ALIGN_MASK(x,(__typeof__(x))(a)-1UL)
#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
@@ -54,4 +56,8 @@
const __typeof__( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})
+#ifndef __unused
+#define __unused __attribute__((unused))
+#endif
+
#endif /* COMMONLIB_HELPERS_H */
diff --git a/src/commonlib/include/commonlib/region.h b/src/commonlib/include/commonlib/region.h
index 35d48ad..a13c66c 100644
--- a/src/commonlib/include/commonlib/region.h
+++ b/src/commonlib/include/commonlib/region.h
@@ -16,6 +16,7 @@
#ifndef _REGION_H_
#define _REGION_H_
+#include <sys/types.h>
#include <stdint.h>
#include <stddef.h>
#include <commonlib/mem_pool.h>
diff --git a/src/commonlib/mem_pool.c b/src/commonlib/mem_pool.c
index e42e9cb..cb3e726 100644
--- a/src/commonlib/mem_pool.c
+++ b/src/commonlib/mem_pool.c
@@ -13,8 +13,8 @@
* GNU General Public License for more details.
*/
+#include <commonlib/helpers.h>
#include <commonlib/mem_pool.h>
-#include <stdlib.h>
void *mem_pool_alloc(struct mem_pool *mp, size_t sz)
{
diff --git a/src/commonlib/region.c b/src/commonlib/region.c
index 2cd273a..bfc5fc8 100644
--- a/src/commonlib/region.c
+++ b/src/commonlib/region.c
@@ -13,6 +13,7 @@
* GNU General Public License for more details.
*/
+#include <commonlib/helpers.h>
#include <commonlib/region.h>
#include <string.h>
@@ -133,16 +134,17 @@ void mem_region_device_init(struct mem_region_device *mdev, void *base,
}
static void *mdev_mmap(const struct region_device *rd, size_t offset,
- size_t size)
+ size_t size __unused)
{
const struct mem_region_device *mdev;
- mdev = container_of(rd, typeof(*mdev), rdev);
+ mdev = container_of(rd, __typeof__(*mdev), rdev);
return &mdev->base[offset];
}
-static int mdev_munmap(const struct region_device *rd, void *mapping)
+static int mdev_munmap(const struct region_device * rd __unused,
+ void *mapping __unused)
{
return 0;
}
@@ -152,7 +154,7 @@ static ssize_t mdev_readat(const struct region_device *rd, void *b,
{
const struct mem_region_device *mdev;
- mdev = container_of(rd, typeof(*mdev), rdev);
+ mdev = container_of(rd, __typeof__(*mdev), rdev);
memcpy(b, &mdev->base[offset], size);
@@ -177,7 +179,7 @@ void *mmap_helper_rdev_mmap(const struct region_device *rd, size_t offset,
struct mmap_helper_region_device *mdev;
void *mapping;
- mdev = container_of((void *)rd, typeof(*mdev), rdev);
+ mdev = container_of((void *)rd, __typeof__(*mdev), rdev);
mapping = mem_pool_alloc(&mdev->pool, size);
@@ -196,7 +198,7 @@ int mmap_helper_rdev_munmap(const struct region_device *rd, void *mapping)
{
struct mmap_helper_region_device *mdev;
- mdev = container_of((void *)rd, typeof(*mdev), rdev);
+ mdev = container_of((void *)rd, __typeof__(*mdev), rdev);
mem_pool_free(&mdev->pool, mapping);
@@ -212,7 +214,7 @@ static void *xlate_mmap(const struct region_device *rd, size_t offset,
.size = size,
};
- xldev = container_of(rd, typeof(*xldev), rdev);
+ xldev = container_of(rd, __typeof__(*xldev), rdev);
if (!is_subregion(&xldev->sub_region, &req))
return NULL;
@@ -226,7 +228,7 @@ static int xlate_munmap(const struct region_device *rd, void *mapping)
{
const struct xlate_region_device *xldev;
- xldev = container_of(rd, typeof(*xldev), rdev);
+ xldev = container_of(rd, __typeof__(*xldev), rdev);
return rdev_munmap(xldev->access_dev, mapping);
}
@@ -240,7 +242,7 @@ static ssize_t xlate_readat(const struct region_device *rd, void *b,
};
const struct xlate_region_device *xldev;
- xldev = container_of(rd, typeof(*xldev), rdev);
+ xldev = container_of(rd, __typeof__(*xldev), rdev);
if (!is_subregion(&xldev->sub_region, &req))
return -1;
diff --git a/src/include/sys/types.h b/src/include/sys/types.h
new file mode 100644
index 0000000..fa95d57
--- /dev/null
+++ b/src/include/sys/types.h
@@ -0,0 +1 @@
+#include "../types.h"
More information about the coreboot-gerrit
mailing list