mirror of
https://xff.cz/git/u-boot/
synced 2025-09-02 01:02:19 +02:00
dm: core: Create a new header file for 'compat' features
At present dm/device.h includes the linux-compatible features. This requires including linux/compat.h which in turn includes a lot of headers. One of these is malloc.h which we thus end up including in every file in U-Boot. Apart from the inefficiency of this, it is problematic for sandbox which needs to use the system malloc() in some files. Move the compatibility features into a separate header file. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -803,75 +803,4 @@ static inline bool device_is_on_pci_bus(const struct udevice *dev)
|
||||
*/
|
||||
int dm_scan_fdt_dev(struct udevice *dev);
|
||||
|
||||
/*
|
||||
* REVISIT:
|
||||
* remove the following after resolving conflicts with <linux/compat.h>
|
||||
*/
|
||||
#ifdef dev_dbg
|
||||
#undef dev_dbg
|
||||
#endif
|
||||
#ifdef dev_vdbg
|
||||
#undef dev_vdbg
|
||||
#endif
|
||||
#ifdef dev_info
|
||||
#undef dev_info
|
||||
#endif
|
||||
#ifdef dev_err
|
||||
#undef dev_err
|
||||
#endif
|
||||
#ifdef dev_warn
|
||||
#undef dev_warn
|
||||
#endif
|
||||
|
||||
/*
|
||||
* REVISIT:
|
||||
* print device name like Linux
|
||||
*/
|
||||
#define dev_printk(dev, fmt, ...) \
|
||||
({ \
|
||||
printk(fmt, ##__VA_ARGS__); \
|
||||
})
|
||||
|
||||
#define __dev_printk(level, dev, fmt, ...) \
|
||||
({ \
|
||||
if (level < CONFIG_VAL(LOGLEVEL)) \
|
||||
dev_printk(dev, fmt, ##__VA_ARGS__); \
|
||||
})
|
||||
|
||||
#define dev_emerg(dev, fmt, ...) \
|
||||
__dev_printk(0, dev, fmt, ##__VA_ARGS__)
|
||||
#define dev_alert(dev, fmt, ...) \
|
||||
__dev_printk(1, dev, fmt, ##__VA_ARGS__)
|
||||
#define dev_crit(dev, fmt, ...) \
|
||||
__dev_printk(2, dev, fmt, ##__VA_ARGS__)
|
||||
#define dev_err(dev, fmt, ...) \
|
||||
__dev_printk(3, dev, fmt, ##__VA_ARGS__)
|
||||
#define dev_warn(dev, fmt, ...) \
|
||||
__dev_printk(4, dev, fmt, ##__VA_ARGS__)
|
||||
#define dev_notice(dev, fmt, ...) \
|
||||
__dev_printk(5, dev, fmt, ##__VA_ARGS__)
|
||||
#define dev_info(dev, fmt, ...) \
|
||||
__dev_printk(6, dev, fmt, ##__VA_ARGS__)
|
||||
|
||||
#ifdef DEBUG
|
||||
#define dev_dbg(dev, fmt, ...) \
|
||||
__dev_printk(7, dev, fmt, ##__VA_ARGS__)
|
||||
#else
|
||||
#define dev_dbg(dev, fmt, ...) \
|
||||
({ \
|
||||
if (0) \
|
||||
__dev_printk(7, dev, fmt, ##__VA_ARGS__); \
|
||||
})
|
||||
#endif
|
||||
|
||||
#ifdef VERBOSE_DEBUG
|
||||
#define dev_vdbg dev_dbg
|
||||
#else
|
||||
#define dev_vdbg(dev, fmt, ...) \
|
||||
({ \
|
||||
if (0) \
|
||||
__dev_printk(7, dev, fmt, ##__VA_ARGS__); \
|
||||
})
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
86
include/dm/device_compat.h
Normal file
86
include/dm/device_compat.h
Normal file
@@ -0,0 +1,86 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* Copyright (c) 2013 Google, Inc
|
||||
*
|
||||
* (C) Copyright 2012
|
||||
* Pavel Herrmann <morpheus.ibis@gmail.com>
|
||||
* Marek Vasut <marex@denx.de>
|
||||
*/
|
||||
|
||||
#ifndef _DM_DEVICE_COMPAT_H
|
||||
#define _DM_DEVICE_COMPAT_H
|
||||
|
||||
#include <linux/compat.h>
|
||||
|
||||
/*
|
||||
* REVISIT:
|
||||
* remove the following after resolving conflicts with <linux/compat.h>
|
||||
*/
|
||||
#ifdef dev_dbg
|
||||
#undef dev_dbg
|
||||
#endif
|
||||
#ifdef dev_vdbg
|
||||
#undef dev_vdbg
|
||||
#endif
|
||||
#ifdef dev_info
|
||||
#undef dev_info
|
||||
#endif
|
||||
#ifdef dev_err
|
||||
#undef dev_err
|
||||
#endif
|
||||
#ifdef dev_warn
|
||||
#undef dev_warn
|
||||
#endif
|
||||
|
||||
/*
|
||||
* REVISIT:
|
||||
* print device name like Linux
|
||||
*/
|
||||
#define dev_printk(dev, fmt, ...) \
|
||||
({ \
|
||||
printk(fmt, ##__VA_ARGS__); \
|
||||
})
|
||||
|
||||
#define __dev_printk(level, dev, fmt, ...) \
|
||||
({ \
|
||||
if (level < CONFIG_VAL(LOGLEVEL)) \
|
||||
dev_printk(dev, fmt, ##__VA_ARGS__); \
|
||||
})
|
||||
|
||||
#define dev_emerg(dev, fmt, ...) \
|
||||
__dev_printk(0, dev, fmt, ##__VA_ARGS__)
|
||||
#define dev_alert(dev, fmt, ...) \
|
||||
__dev_printk(1, dev, fmt, ##__VA_ARGS__)
|
||||
#define dev_crit(dev, fmt, ...) \
|
||||
__dev_printk(2, dev, fmt, ##__VA_ARGS__)
|
||||
#define dev_err(dev, fmt, ...) \
|
||||
__dev_printk(3, dev, fmt, ##__VA_ARGS__)
|
||||
#define dev_warn(dev, fmt, ...) \
|
||||
__dev_printk(4, dev, fmt, ##__VA_ARGS__)
|
||||
#define dev_notice(dev, fmt, ...) \
|
||||
__dev_printk(5, dev, fmt, ##__VA_ARGS__)
|
||||
#define dev_info(dev, fmt, ...) \
|
||||
__dev_printk(6, dev, fmt, ##__VA_ARGS__)
|
||||
|
||||
#ifdef DEBUG
|
||||
#define dev_dbg(dev, fmt, ...) \
|
||||
__dev_printk(7, dev, fmt, ##__VA_ARGS__)
|
||||
#else
|
||||
#define dev_dbg(dev, fmt, ...) \
|
||||
({ \
|
||||
if (0) \
|
||||
__dev_printk(7, dev, fmt, ##__VA_ARGS__); \
|
||||
})
|
||||
#endif
|
||||
|
||||
#ifdef VERBOSE_DEBUG
|
||||
#define dev_vdbg dev_dbg
|
||||
#else
|
||||
#define dev_vdbg(dev, fmt, ...) \
|
||||
({ \
|
||||
if (0) \
|
||||
__dev_printk(7, dev, fmt, ##__VA_ARGS__); \
|
||||
})
|
||||
#endif
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user