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);
|
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,
|
static int __dev_printk(const char *level, const struct device *dev,
|
||||||
struct va_format *vaf)
|
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,
|
extern int create_syslog_header(const struct device *dev,
|
||||||
char *hdr, size_t hdrlen);
|
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)
|
extern __printf(3, 4)
|
||||||
int dev_printk(const char *level, const struct device *dev,
|
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
|
#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,
|
static inline int __dev_printk(const char *level, const struct device *dev,
|
||||||
struct va_format *vaf)
|
struct va_format *vaf)
|
||||||
{ return 0; }
|
{ return 0; }
|
||||||
|
Loading…
Reference in New Issue
Block a user