On Wed, Mar 22, 2017 at 09:36:03AM +0100, Daniel Vetter wrote: > Doc polish will follow in the next patch. > > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > drivers/gpu/drm/drm_debugfs.c | 5 ++- > include/drm/drmP.h | 44 +------------------------ > include/drm/drm_debugfs.h | 76 +++++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 81 insertions(+), 44 deletions(-) > create mode 100644 include/drm/drm_debugfs.h > > diff --git a/drivers/gpu/drm/drm_debugfs.c b/drivers/gpu/drm/drm_debugfs.c > index 1d2d18d82d2e..4b02f4230562 100644 > --- a/drivers/gpu/drm/drm_debugfs.c > +++ b/drivers/gpu/drm/drm_debugfs.c > @@ -34,9 +34,12 @@ > #include <linux/seq_file.h> > #include <linux/slab.h> > #include <linux/export.h> > -#include <drm/drmP.h> > + > +#include <drm/drm_debugfs.h> > #include <drm/drm_edid.h> > #include <drm/drm_atomic.h> > +#include <drm/drmP.h> > + > #include "drm_internal.h" > #include "drm_crtc_internal.h" > > diff --git a/include/drm/drmP.h b/include/drm/drmP.h > index 0e383438f793..60f3255c43a8 100644 > --- a/include/drm/drmP.h > +++ b/include/drm/drmP.h > @@ -78,6 +78,7 @@ > #include <drm/drm_prime.h> > #include <drm/drm_pci.h> > #include <drm/drm_file.h> > +#include <drm/drm_debugfs.h> Why do we need this? > > struct module; > > @@ -371,27 +372,6 @@ struct drm_ioctl_desc { > #define DRM_SCANOUTPOS_ACCURATE (1 << 2) > > /** > - * Info file list entry. This structure represents a debugfs or proc file to > - * be created by the drm core > - */ > -struct drm_info_list { > - const char *name; /** file name */ > - int (*show)(struct seq_file*, void*); /** show callback */ > - u32 driver_features; /**< Required driver features for this entry */ > - void *data; > -}; > - > -/** > - * debugfs node structure. This structure represents a debugfs file. > - */ > -struct drm_info_node { > - struct list_head list; > - struct drm_minor *minor; > - const struct drm_info_list *info_ent; > - struct dentry *dent; > -}; > - > -/** > * DRM device structure. This structure represent a complete card that > * may contain multiple heads. > */ > @@ -592,28 +572,6 @@ int drm_invalid_op(struct drm_device *dev, void *data, > * DMA quiscent + idle. DMA quiescent usually requires the hardware lock. > */ > > - /* Debugfs support */ > -#if defined(CONFIG_DEBUG_FS) > -extern int drm_debugfs_create_files(const struct drm_info_list *files, > - int count, struct dentry *root, > - struct drm_minor *minor); > -extern int drm_debugfs_remove_files(const struct drm_info_list *files, > - int count, struct drm_minor *minor); > -#else > -static inline int drm_debugfs_create_files(const struct drm_info_list *files, > - int count, struct dentry *root, > - struct drm_minor *minor) > -{ > - return 0; > -} > - > -static inline int drm_debugfs_remove_files(const struct drm_info_list *files, > - int count, struct drm_minor *minor) > -{ > - return 0; > -} > -#endif > - > /* sysfs support (drm_sysfs.c) */ > extern void drm_sysfs_hotplug_event(struct drm_device *dev); > > diff --git a/include/drm/drm_debugfs.h b/include/drm/drm_debugfs.h > new file mode 100644 > index 000000000000..17e47c073fa9 > --- /dev/null > +++ b/include/drm/drm_debugfs.h > @@ -0,0 +1,76 @@ > +/* > + * Internal Header for the Direct Rendering Manager > + * > + * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. > + * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. > + * Copyright (c) 2009-2010, Code Aurora Forum. > + * All rights reserved. > + * > + * Author: Rickard E. (Rik) Faith <faith@xxxxxxxxxxx> > + * Author: Gareth Hughes <gareth@xxxxxxxxxxx> > + * > + * Permission is hereby granted, free of charge, to any person obtaining a > + * copy of this software and associated documentation files (the "Software"), > + * to deal in the Software without restriction, including without limitation > + * the rights to use, copy, modify, merge, publish, distribute, sublicense, > + * and/or sell copies of the Software, and to permit persons to whom the > + * Software is furnished to do so, subject to the following conditions: > + * > + * The above copyright notice and this permission notice (including the next > + * paragraph) shall be included in all copies or substantial portions of the > + * Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL > + * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR > + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, > + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR > + * OTHER DEALINGS IN THE SOFTWARE. > + */ > + > +#ifndef _DRM_DEBUGFS_H_ > +#define _DRM_DEBUGFS_H_ > + Do we want to make headers standalone? If we do then we would need a few includes and forward declarations. > +/** > + * Info file list entry. This structure represents a debugfs or proc file to > + * be created by the drm core > + */ > +struct drm_info_list { > + const char *name; /** file name */ > + int (*show)(struct seq_file*, void*); /** show callback */ > + u32 driver_features; /**< Required driver features for this entry */ > + void *data; > +}; > + > +/** > + * debugfs node structure. This structure represents a debugfs file. > + */ > +struct drm_info_node { > + struct list_head list; > + struct drm_minor *minor; > + const struct drm_info_list *info_ent; > + struct dentry *dent; > +}; > + > +#endif /* _DRM_DEBUGFS_H_ */ Why is this guy in the middle of the file? > +#if defined(CONFIG_DEBUG_FS) > +int drm_debugfs_create_files(const struct drm_info_list *files, > + int count, struct dentry *root, > + struct drm_minor *minor); > +int drm_debugfs_remove_files(const struct drm_info_list *files, > + int count, struct drm_minor *minor); > +#else > +static inline int drm_debugfs_create_files(const struct drm_info_list *files, > + int count, struct dentry *root, > + struct drm_minor *minor) > +{ > + return 0; > +} > + > +static inline int drm_debugfs_remove_files(const struct drm_info_list *files, > + int count, struct drm_minor *minor) > +{ > + return 0; > +} > +#endif > -- > 2.11.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ville Syrjälä Intel OTC _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel