mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-18 02:04:05 +08:00
dev: Add dev_vprintk_emit and dev_printk_emit
Add utility functions to consolidate the use of create_syslog_header and vprintk_emit. This allows conversion of logging functions that call create_syslog_header and then call vprintk_emit or printk_emit to the dev_ equivalents. Signed-off-by: Joe Perches <joe@perches.com> Acked-by: David S. Miller <davem@davemloft.net> Tested-by: Jim Cromie <jim.cromie@gmail.com> Acked-by: Jason Baron <jbaron@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c2c5a7051c
commit
05e4e5b87a
@ -1913,6 +1913,33 @@ int create_syslog_header(const struct device *dev, char *hdr, size_t hdrlen)
|
||||
}
|
||||
EXPORT_SYMBOL(create_syslog_header);
|
||||
|
||||
int dev_vprintk_emit(int level, const struct device *dev,
|
||||
const char *fmt, va_list args)
|
||||
{
|
||||
char hdr[128];
|
||||
size_t hdrlen;
|
||||
|
||||
hdrlen = create_syslog_header(dev, hdr, sizeof(hdr));
|
||||
|
||||
return vprintk_emit(0, level, hdrlen ? hdr : NULL, hdrlen, fmt, args);
|
||||
}
|
||||
EXPORT_SYMBOL(dev_vprintk_emit);
|
||||
|
||||
int dev_printk_emit(int level, const struct device *dev, const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
int r;
|
||||
|
||||
va_start(args, fmt);
|
||||
|
||||
r = dev_vprintk_emit(level, dev, fmt, args);
|
||||
|
||||
va_end(args);
|
||||
|
||||
return r;
|
||||
}
|
||||
EXPORT_SYMBOL(dev_printk_emit);
|
||||
|
||||
static int __dev_printk(const char *level, const struct device *dev,
|
||||
struct va_format *vaf)
|
||||
{
|
||||
|
@ -897,6 +897,10 @@ extern const char *dev_driver_string(const struct device *dev);
|
||||
|
||||
extern int create_syslog_header(const struct device *dev,
|
||||
char *hdr, size_t hdrlen);
|
||||
extern int dev_vprintk_emit(int level, const struct device *dev,
|
||||
const char *fmt, va_list args);
|
||||
extern __printf(3, 4)
|
||||
int dev_printk_emit(int level, const struct device *dev, const char *fmt, ...);
|
||||
|
||||
extern __printf(3, 4)
|
||||
int dev_printk(const char *level, const struct device *dev,
|
||||
@ -918,6 +922,13 @@ int _dev_info(const struct device *dev, const char *fmt, ...);
|
||||
|
||||
#else
|
||||
|
||||
static int dev_vprintk_emit(int level, const struct device *dev,
|
||||
const char *fmt, va_list args)
|
||||
{ return 0; }
|
||||
static inline __printf(3, 4)
|
||||
int dev_printk_emit(int level, const struct device *dev, const char *fmt, ...)
|
||||
{ return 0; }
|
||||
|
||||
static inline int __dev_printk(const char *level, const struct device *dev,
|
||||
struct va_format *vaf)
|
||||
{ return 0; }
|
||||
|
Loading…
Reference in New Issue
Block a user