On Wed, Jul 17, 2019 at 09:42:27PM -0400, Lyude Paul wrote: > A simple convienence function that returns a drm_printer which prints > using pr_err() > > Cc: Juston Li <juston.li@xxxxxxxxx> > Cc: Imre Deak <imre.deak@xxxxxxxxx> > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Cc: Harry Wentland <hwentlan@xxxxxxx> > Signed-off-by: Lyude Paul <lyude@xxxxxxxxxx> > --- > drivers/gpu/drm/drm_print.c | 6 ++++++ > include/drm/drm_print.h | 17 +++++++++++++++++ > 2 files changed, 23 insertions(+) > > diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c > index a17c8a14dba4..6112be358769 100644 > --- a/drivers/gpu/drm/drm_print.c > +++ b/drivers/gpu/drm/drm_print.c > @@ -147,6 +147,12 @@ void __drm_printfn_debug(struct drm_printer *p, struct va_format *vaf) > } > EXPORT_SYMBOL(__drm_printfn_debug); > > +void __drm_printfn_err(struct drm_printer *p, struct va_format *vaf) > +{ > + pr_err("%s %pV", p->prefix, vaf); DRM printing is a huge bikeshad (or tire fire?). We can't call DRM_ERROR, but for consistency mabye emulate the layout? Either way: Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > +} > +EXPORT_SYMBOL(__drm_printfn_err); > + > /** > * drm_puts - print a const string to a &drm_printer stream > * @p: the &drm printer > diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h > index a5d6f2f3e430..112165d3195d 100644 > --- a/include/drm/drm_print.h > +++ b/include/drm/drm_print.h > @@ -83,6 +83,7 @@ void __drm_printfn_seq_file(struct drm_printer *p, struct va_format *vaf); > void __drm_puts_seq_file(struct drm_printer *p, const char *str); > void __drm_printfn_info(struct drm_printer *p, struct va_format *vaf); > void __drm_printfn_debug(struct drm_printer *p, struct va_format *vaf); > +void __drm_printfn_err(struct drm_printer *p, struct va_format *vaf); > > __printf(2, 3) > void drm_printf(struct drm_printer *p, const char *f, ...); > @@ -227,6 +228,22 @@ static inline struct drm_printer drm_debug_printer(const char *prefix) > return p; > } > > +/** > + * drm_err_printer - construct a &drm_printer that outputs to pr_err() > + * @prefix: debug output prefix > + * > + * RETURNS: > + * The &drm_printer object > + */ > +static inline struct drm_printer drm_err_printer(const char *prefix) > +{ > + struct drm_printer p = { > + .printfn = __drm_printfn_err, > + .prefix = prefix > + }; > + return p; > +} > + > /* > * The following categories are defined: > * > -- > 2.21.0 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel