Hi, On Fri, Oct 13, 2017 at 05:59:05PM +0300, Laurent Pinchart wrote: > The number of function declarations in the omap_drv.h degrades > readability. To fix it, create new header files for each part of the > driver and move the related functions. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- Reviewed-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxxxx> -- Sebastian > drivers/gpu/drm/omapdrm/omap_connector.h | 37 +++++++++ > drivers/gpu/drm/omapdrm/omap_crtc.h | 43 ++++++++++ > drivers/gpu/drm/omapdrm/omap_drv.h | 133 +++---------------------------- > drivers/gpu/drm/omapdrm/omap_encoder.h | 33 ++++++++ > drivers/gpu/drm/omapdrm/omap_fb.h | 46 +++++++++++ > drivers/gpu/drm/omapdrm/omap_fbdev.h | 39 +++++++++ > drivers/gpu/drm/omapdrm/omap_gem.h | 99 +++++++++++++++++++++++ > drivers/gpu/drm/omapdrm/omap_irq.h | 39 +++++++++ > drivers/gpu/drm/omapdrm/omap_plane.h | 37 +++++++++ > 9 files changed, 386 insertions(+), 120 deletions(-) > create mode 100644 drivers/gpu/drm/omapdrm/omap_connector.h > create mode 100644 drivers/gpu/drm/omapdrm/omap_crtc.h > create mode 100644 drivers/gpu/drm/omapdrm/omap_encoder.h > create mode 100644 drivers/gpu/drm/omapdrm/omap_fb.h > create mode 100644 drivers/gpu/drm/omapdrm/omap_fbdev.h > create mode 100644 drivers/gpu/drm/omapdrm/omap_gem.h > create mode 100644 drivers/gpu/drm/omapdrm/omap_irq.h > create mode 100644 drivers/gpu/drm/omapdrm/omap_plane.h > > diff --git a/drivers/gpu/drm/omapdrm/omap_connector.h b/drivers/gpu/drm/omapdrm/omap_connector.h > new file mode 100644 > index 000000000000..98bbc779b302 > --- /dev/null > +++ b/drivers/gpu/drm/omapdrm/omap_connector.h > @@ -0,0 +1,37 @@ > +/* > + * omap_connector.h -- OMAP DRM Connector > + * > + * Copyright (C) 2011 Texas Instruments > + * Author: Rob Clark <rob@xxxxxx> > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License version 2 as published by > + * the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, but WITHOUT > + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for > + * more details. > + * > + * You should have received a copy of the GNU General Public License along with > + * this program. If not, see <http://www.gnu.org/licenses/>. > + */ > + > +#ifndef __OMAPDRM_CONNECTOR_H__ > +#define __OMAPDRM_CONNECTOR_H__ > + > +#include <linux/types.h> > + > +struct drm_connector; > +struct drm_device; > +struct drm_encoder; > +struct omap_dss_device; > + > +struct drm_connector *omap_connector_init(struct drm_device *dev, > + int connector_type, struct omap_dss_device *dssdev, > + struct drm_encoder *encoder); > +struct drm_encoder *omap_connector_attached_encoder( > + struct drm_connector *connector); > +bool omap_connector_get_hdmi_mode(struct drm_connector *connector); > + > +#endif /* __OMAPDRM_CONNECTOR_H__ */ > diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.h b/drivers/gpu/drm/omapdrm/omap_crtc.h > new file mode 100644 > index 000000000000..ad7b007c6174 > --- /dev/null > +++ b/drivers/gpu/drm/omapdrm/omap_crtc.h > @@ -0,0 +1,43 @@ > +/* > + * omap_crtc.h -- OMAP DRM CRTC > + * > + * Copyright (C) 2011 Texas Instruments > + * Author: Rob Clark <rob@xxxxxx> > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License version 2 as published by > + * the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, but WITHOUT > + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for > + * more details. > + * > + * You should have received a copy of the GNU General Public License along with > + * this program. If not, see <http://www.gnu.org/licenses/>. > + */ > + > +#ifndef __OMAPDRM_CRTC_H__ > +#define __OMAPDRM_CRTC_H__ > + > +#include <linux/types.h> > + > +enum omap_channel; > + > +struct drm_crtc; > +struct drm_device; > +struct drm_plane; > +struct omap_dss_device; > +struct videomode; > + > +struct videomode *omap_crtc_timings(struct drm_crtc *crtc); > +enum omap_channel omap_crtc_channel(struct drm_crtc *crtc); > +void omap_crtc_pre_init(void); > +void omap_crtc_pre_uninit(void); > +struct drm_crtc *omap_crtc_init(struct drm_device *dev, > + struct drm_plane *plane, struct omap_dss_device *dssdev); > +int omap_crtc_wait_pending(struct drm_crtc *crtc); > +void omap_crtc_error_irq(struct drm_crtc *crtc, uint32_t irqstatus); > +void omap_crtc_vblank_irq(struct drm_crtc *crtc); > + > +#endif /* __OMAPDRM_CRTC_H__ */ > diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h > index 04f35f74f80c..afb2a5a96278 100644 > --- a/drivers/gpu/drm/omapdrm/omap_drv.h > +++ b/drivers/gpu/drm/omapdrm/omap_drv.h > @@ -17,8 +17,8 @@ > * this program. If not, see <http://www.gnu.org/licenses/>. > */ > > -#ifndef __OMAP_DRV_H__ > -#define __OMAP_DRV_H__ > +#ifndef __OMAPDRM_DRV_H__ > +#define __OMAPDRM_DRV_H__ > > #include <linux/module.h> > #include <linux/types.h> > @@ -31,6 +31,15 @@ > > #include "dss/omapdss.h" > > +#include "omap_connector.h" > +#include "omap_crtc.h" > +#include "omap_encoder.h" > +#include "omap_fb.h" > +#include "omap_fbdev.h" > +#include "omap_gem.h" > +#include "omap_irq.h" > +#include "omap_plane.h" > + > #define DBG(fmt, ...) DRM_DEBUG(fmt"\n", ##__VA_ARGS__) > #define VERB(fmt, ...) if (0) DRM_DEBUG(fmt, ##__VA_ARGS__) /* verbose debug */ > > @@ -38,14 +47,6 @@ > > struct omap_drm_usergart; > > -/* For KMS code that needs to wait for a certain # of IRQs: > - */ > -struct omap_irq_wait; > -struct omap_irq_wait * omap_irq_wait_init(struct drm_device *dev, > - uint32_t irqmask, int count); > -int omap_irq_wait(struct drm_device *dev, struct omap_irq_wait *wait, > - unsigned long timeout); > - > struct omap_drm_private { > uint32_t omaprev; > > @@ -86,114 +87,6 @@ struct omap_drm_private { > }; > > > -#ifdef CONFIG_DEBUG_FS > int omap_debugfs_init(struct drm_minor *minor); > -void omap_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m); > -void omap_gem_describe(struct drm_gem_object *obj, struct seq_file *m); > -void omap_gem_describe_objects(struct list_head *list, struct seq_file *m); > -#endif > - > -#ifdef CONFIG_PM > -int omap_gem_resume(struct drm_device *dev); > -#endif > - > -int omap_irq_enable_vblank(struct drm_crtc *crtc); > -void omap_irq_disable_vblank(struct drm_crtc *crtc); > -void omap_drm_irq_uninstall(struct drm_device *dev); > -int omap_drm_irq_install(struct drm_device *dev); > - > -#ifdef CONFIG_DRM_FBDEV_EMULATION > -struct drm_fb_helper *omap_fbdev_init(struct drm_device *dev); > -void omap_fbdev_free(struct drm_device *dev); > -#else > -static inline struct drm_fb_helper *omap_fbdev_init(struct drm_device *dev) > -{ > - return NULL; > -} > -static inline void omap_fbdev_free(struct drm_device *dev) > -{ > -} > -#endif > - > -struct videomode *omap_crtc_timings(struct drm_crtc *crtc); > -enum omap_channel omap_crtc_channel(struct drm_crtc *crtc); > -void omap_crtc_pre_init(void); > -void omap_crtc_pre_uninit(void); > -struct drm_crtc *omap_crtc_init(struct drm_device *dev, > - struct drm_plane *plane, struct omap_dss_device *dssdev); > -int omap_crtc_wait_pending(struct drm_crtc *crtc); > -void omap_crtc_error_irq(struct drm_crtc *crtc, uint32_t irqstatus); > -void omap_crtc_vblank_irq(struct drm_crtc *crtc); > - > -struct drm_plane *omap_plane_init(struct drm_device *dev, > - int idx, enum drm_plane_type type, > - u32 possible_crtcs); > -void omap_plane_install_properties(struct drm_plane *plane, > - struct drm_mode_object *obj); > - > -struct drm_encoder *omap_encoder_init(struct drm_device *dev, > - struct omap_dss_device *dssdev); > - > -struct drm_connector *omap_connector_init(struct drm_device *dev, > - int connector_type, struct omap_dss_device *dssdev, > - struct drm_encoder *encoder); > -struct drm_encoder *omap_connector_attached_encoder( > - struct drm_connector *connector); > -bool omap_connector_get_hdmi_mode(struct drm_connector *connector); > - > -struct drm_framebuffer *omap_framebuffer_create(struct drm_device *dev, > - struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd); > -struct drm_framebuffer *omap_framebuffer_init(struct drm_device *dev, > - const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos); > -int omap_framebuffer_pin(struct drm_framebuffer *fb); > -void omap_framebuffer_unpin(struct drm_framebuffer *fb); > -void omap_framebuffer_update_scanout(struct drm_framebuffer *fb, > - struct drm_plane_state *state, struct omap_overlay_info *info); > -struct drm_connector *omap_framebuffer_get_next_connector( > - struct drm_framebuffer *fb, struct drm_connector *from); > -bool omap_framebuffer_supports_rotation(struct drm_framebuffer *fb); > - > -void omap_gem_init(struct drm_device *dev); > -void omap_gem_deinit(struct drm_device *dev); > - > -struct drm_gem_object *omap_gem_new(struct drm_device *dev, > - union omap_gem_size gsize, uint32_t flags); > -struct drm_gem_object *omap_gem_new_dmabuf(struct drm_device *dev, size_t size, > - struct sg_table *sgt); > -int omap_gem_new_handle(struct drm_device *dev, struct drm_file *file, > - union omap_gem_size gsize, uint32_t flags, uint32_t *handle); > -void omap_gem_free_object(struct drm_gem_object *obj); > -void *omap_gem_vaddr(struct drm_gem_object *obj); > -int omap_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev, > - uint32_t handle, uint64_t *offset); > -int omap_gem_dumb_create(struct drm_file *file, struct drm_device *dev, > - struct drm_mode_create_dumb *args); > -int omap_gem_mmap(struct file *filp, struct vm_area_struct *vma); > -int omap_gem_mmap_obj(struct drm_gem_object *obj, > - struct vm_area_struct *vma); > -int omap_gem_fault(struct vm_fault *vmf); > -int omap_gem_roll(struct drm_gem_object *obj, uint32_t roll); > -void omap_gem_cpu_sync_page(struct drm_gem_object *obj, int pgoff); > -void omap_gem_dma_sync_buffer(struct drm_gem_object *obj, > - enum dma_data_direction dir); > -int omap_gem_pin(struct drm_gem_object *obj, dma_addr_t *dma_addr); > -void omap_gem_unpin(struct drm_gem_object *obj); > -int omap_gem_get_pages(struct drm_gem_object *obj, struct page ***pages, > - bool remap); > -int omap_gem_put_pages(struct drm_gem_object *obj); > -uint32_t omap_gem_flags(struct drm_gem_object *obj); > -int omap_gem_rotated_dma_addr(struct drm_gem_object *obj, uint32_t orient, > - int x, int y, dma_addr_t *dma_addr); > -uint64_t omap_gem_mmap_offset(struct drm_gem_object *obj); > -size_t omap_gem_mmap_size(struct drm_gem_object *obj); > -int omap_gem_tiled_stride(struct drm_gem_object *obj, uint32_t orient); > - > -struct dma_buf *omap_gem_prime_export(struct drm_device *dev, > - struct drm_gem_object *obj, int flags); > -struct drm_gem_object *omap_gem_prime_import(struct drm_device *dev, > - struct dma_buf *buffer); > - > -/* map crtc to vblank mask */ > -struct omap_dss_device *omap_encoder_get_dssdev(struct drm_encoder *encoder); > - > -#endif /* __OMAP_DRV_H__ */ > + > +#endif /* __OMAPDRM_DRV_H__ */ > diff --git a/drivers/gpu/drm/omapdrm/omap_encoder.h b/drivers/gpu/drm/omapdrm/omap_encoder.h > new file mode 100644 > index 000000000000..d2f308bec494 > --- /dev/null > +++ b/drivers/gpu/drm/omapdrm/omap_encoder.h > @@ -0,0 +1,33 @@ > +/* > + * omap_encoder.h -- OMAP DRM Encoder > + * > + * Copyright (C) 2011 Texas Instruments > + * Author: Rob Clark <rob@xxxxxx> > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License version 2 as published by > + * the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, but WITHOUT > + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for > + * more details. > + * > + * You should have received a copy of the GNU General Public License along with > + * this program. If not, see <http://www.gnu.org/licenses/>. > + */ > + > +#ifndef __OMAPDRM_ENCODER_H__ > +#define __OMAPDRM_ENCODER_H__ > + > +struct drm_device; > +struct drm_encoder; > +struct omap_dss_device; > + > +struct drm_encoder *omap_encoder_init(struct drm_device *dev, > + struct omap_dss_device *dssdev); > + > +/* map crtc to vblank mask */ > +struct omap_dss_device *omap_encoder_get_dssdev(struct drm_encoder *encoder); > + > +#endif /* __OMAPDRM_ENCODER_H__ */ > diff --git a/drivers/gpu/drm/omapdrm/omap_fb.h b/drivers/gpu/drm/omapdrm/omap_fb.h > new file mode 100644 > index 000000000000..94ad5f9e4404 > --- /dev/null > +++ b/drivers/gpu/drm/omapdrm/omap_fb.h > @@ -0,0 +1,46 @@ > +/* > + * omap_fb.h -- OMAP DRM Framebuffer > + * > + * Copyright (C) 2011 Texas Instruments > + * Author: Rob Clark <rob@xxxxxx> > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License version 2 as published by > + * the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, but WITHOUT > + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for > + * more details. > + * > + * You should have received a copy of the GNU General Public License along with > + * this program. If not, see <http://www.gnu.org/licenses/>. > + */ > + > +#ifndef __OMAPDRM_FB_H__ > +#define __OMAPDRM_FB_H__ > + > +struct drm_connector; > +struct drm_device; > +struct drm_file; > +struct drm_framebuffer; > +struct drm_gem_object; > +struct drm_mode_fb_cmd2; > +struct drm_plane_state; > +struct omap_overlay_info; > +struct seq_file; > + > +struct drm_framebuffer *omap_framebuffer_create(struct drm_device *dev, > + struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd); > +struct drm_framebuffer *omap_framebuffer_init(struct drm_device *dev, > + const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos); > +int omap_framebuffer_pin(struct drm_framebuffer *fb); > +void omap_framebuffer_unpin(struct drm_framebuffer *fb); > +void omap_framebuffer_update_scanout(struct drm_framebuffer *fb, > + struct drm_plane_state *state, struct omap_overlay_info *info); > +struct drm_connector *omap_framebuffer_get_next_connector( > + struct drm_framebuffer *fb, struct drm_connector *from); > +bool omap_framebuffer_supports_rotation(struct drm_framebuffer *fb); > +void omap_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m); > + > +#endif /* __OMAPDRM_FB_H__ */ > diff --git a/drivers/gpu/drm/omapdrm/omap_fbdev.h b/drivers/gpu/drm/omapdrm/omap_fbdev.h > new file mode 100644 > index 000000000000..1f5ba0996a1a > --- /dev/null > +++ b/drivers/gpu/drm/omapdrm/omap_fbdev.h > @@ -0,0 +1,39 @@ > +/* > + * omap_fbdev.h -- OMAP DRM FBDEV Compatibility > + * > + * Copyright (C) 2011 Texas Instruments > + * Author: Rob Clark <rob@xxxxxx> > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License version 2 as published by > + * the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, but WITHOUT > + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for > + * more details. > + * > + * You should have received a copy of the GNU General Public License along with > + * this program. If not, see <http://www.gnu.org/licenses/>. > + */ > + > +#ifndef __OMAPDRM_FBDEV_H__ > +#define __OMAPDRM_FBDEV_H__ > + > +struct drm_device; > +struct drm_fb_helper; > + > +#ifdef CONFIG_DRM_FBDEV_EMULATION > +struct drm_fb_helper *omap_fbdev_init(struct drm_device *dev); > +void omap_fbdev_free(struct drm_device *dev); > +#else > +static inline struct drm_fb_helper *omap_fbdev_init(struct drm_device *dev) > +{ > + return NULL; > +} > +static inline void omap_fbdev_free(struct drm_device *dev) > +{ > +} > +#endif > + > +#endif /* __OMAPDRM_FBDEV_H__ */ > diff --git a/drivers/gpu/drm/omapdrm/omap_gem.h b/drivers/gpu/drm/omapdrm/omap_gem.h > new file mode 100644 > index 000000000000..35fa690b3d90 > --- /dev/null > +++ b/drivers/gpu/drm/omapdrm/omap_gem.h > @@ -0,0 +1,99 @@ > +/* > + * omap_gem.h -- OMAP DRM GEM Object Management > + * > + * Copyright (C) 2011 Texas Instruments > + * Author: Rob Clark <rob@xxxxxx> > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License version 2 as published by > + * the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, but WITHOUT > + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for > + * more details. > + * > + * You should have received a copy of the GNU General Public License along with > + * this program. If not, see <http://www.gnu.org/licenses/>. > + */ > + > +#ifndef __OMAPDRM_GEM_H__ > +#define __OMAPDRM_GEM_H__ > + > +#include <linux/types.h> > + > +enum dma_data_direction; > + > +struct dma_buf; > +struct drm_device; > +struct drm_file; > +struct drm_gem_object; > +struct drm_mode_create_dumb; > +struct file; > +struct list_head; > +struct page; > +struct seq_file; > +struct vm_area_struct; > +struct vm_fault; > + > +union omap_gem_size; > + > +/* Initialization and Cleanup */ > +void omap_gem_init(struct drm_device *dev); > +void omap_gem_deinit(struct drm_device *dev); > + > +#ifdef CONFIG_PM > +int omap_gem_resume(struct drm_device *dev); > +#endif > + > +#ifdef CONFIG_DEBUG_FS > +void omap_gem_describe(struct drm_gem_object *obj, struct seq_file *m); > +void omap_gem_describe_objects(struct list_head *list, struct seq_file *m); > +#endif > + > +/* GEM Object Creation and Deletion */ > +struct drm_gem_object *omap_gem_new(struct drm_device *dev, > + union omap_gem_size gsize, uint32_t flags); > +struct drm_gem_object *omap_gem_new_dmabuf(struct drm_device *dev, size_t size, > + struct sg_table *sgt); > +int omap_gem_new_handle(struct drm_device *dev, struct drm_file *file, > + union omap_gem_size gsize, uint32_t flags, uint32_t *handle); > +void omap_gem_free_object(struct drm_gem_object *obj); > +void *omap_gem_vaddr(struct drm_gem_object *obj); > + > +/* Dumb Buffers Interface */ > +int omap_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev, > + uint32_t handle, uint64_t *offset); > +int omap_gem_dumb_create(struct drm_file *file, struct drm_device *dev, > + struct drm_mode_create_dumb *args); > + > +/* mmap() Interface */ > +int omap_gem_mmap(struct file *filp, struct vm_area_struct *vma); > +int omap_gem_mmap_obj(struct drm_gem_object *obj, > + struct vm_area_struct *vma); > +uint64_t omap_gem_mmap_offset(struct drm_gem_object *obj); > +size_t omap_gem_mmap_size(struct drm_gem_object *obj); > + > +/* PRIME Interface */ > +struct dma_buf *omap_gem_prime_export(struct drm_device *dev, > + struct drm_gem_object *obj, int flags); > +struct drm_gem_object *omap_gem_prime_import(struct drm_device *dev, > + struct dma_buf *buffer); > + > +int omap_gem_fault(struct vm_fault *vmf); > +int omap_gem_roll(struct drm_gem_object *obj, uint32_t roll); > +void omap_gem_cpu_sync_page(struct drm_gem_object *obj, int pgoff); > +void omap_gem_dma_sync_buffer(struct drm_gem_object *obj, > + enum dma_data_direction dir); > +int omap_gem_pin(struct drm_gem_object *obj, dma_addr_t *dma_addr); > +void omap_gem_unpin(struct drm_gem_object *obj); > +int omap_gem_get_pages(struct drm_gem_object *obj, struct page ***pages, > + bool remap); > +int omap_gem_put_pages(struct drm_gem_object *obj); > + > +uint32_t omap_gem_flags(struct drm_gem_object *obj); > +int omap_gem_rotated_dma_addr(struct drm_gem_object *obj, uint32_t orient, > + int x, int y, dma_addr_t *dma_addr); > +int omap_gem_tiled_stride(struct drm_gem_object *obj, uint32_t orient); > + > +#endif /* __OMAPDRM_GEM_H__ */ > diff --git a/drivers/gpu/drm/omapdrm/omap_irq.h b/drivers/gpu/drm/omapdrm/omap_irq.h > new file mode 100644 > index 000000000000..606c09932bc0 > --- /dev/null > +++ b/drivers/gpu/drm/omapdrm/omap_irq.h > @@ -0,0 +1,39 @@ > +/* > + * omap_irq.h -- OMAP DRM IRQ Handling > + * > + * Copyright (C) 2011 Texas Instruments > + * Author: Rob Clark <rob@xxxxxx> > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License version 2 as published by > + * the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, but WITHOUT > + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for > + * more details. > + * > + * You should have received a copy of the GNU General Public License along with > + * this program. If not, see <http://www.gnu.org/licenses/>. > + */ > + > +#ifndef __OMAPDRM_IRQ_H__ > +#define __OMAPDRM_IRQ_H__ > + > +#include <linux/types.h> > + > +struct drm_crtc; > +struct drm_device; > +struct omap_irq_wait; > + > +int omap_irq_enable_vblank(struct drm_crtc *crtc); > +void omap_irq_disable_vblank(struct drm_crtc *crtc); > +void omap_drm_irq_uninstall(struct drm_device *dev); > +int omap_drm_irq_install(struct drm_device *dev); > + > +struct omap_irq_wait *omap_irq_wait_init(struct drm_device *dev, > + uint32_t irqmask, int count); > +int omap_irq_wait(struct drm_device *dev, struct omap_irq_wait *wait, > + unsigned long timeout); > + > +#endif /* __OMAPDRM_IRQ_H__ */ > diff --git a/drivers/gpu/drm/omapdrm/omap_plane.h b/drivers/gpu/drm/omapdrm/omap_plane.h > new file mode 100644 > index 000000000000..dc5e82ad061d > --- /dev/null > +++ b/drivers/gpu/drm/omapdrm/omap_plane.h > @@ -0,0 +1,37 @@ > +/* > + * omap_plane.h -- OMAP DRM Plane > + * > + * Copyright (C) 2011 Texas Instruments > + * Author: Rob Clark <rob@xxxxxx> > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License version 2 as published by > + * the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, but WITHOUT > + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for > + * more details. > + * > + * You should have received a copy of the GNU General Public License along with > + * this program. If not, see <http://www.gnu.org/licenses/>. > + */ > + > +#ifndef __OMAPDRM_PLANE_H__ > +#define __OMAPDRM_PLANE_H__ > + > +#include <linux/types.h> > + > +enum drm_plane_type; > + > +struct drm_device; > +struct drm_mode_object; > +struct drm_plane; > + > +struct drm_plane *omap_plane_init(struct drm_device *dev, > + int idx, enum drm_plane_type type, > + u32 possible_crtcs); > +void omap_plane_install_properties(struct drm_plane *plane, > + struct drm_mode_object *obj); > + > +#endif /* __OMAPDRM_PLANE_H__ */ > -- > Regards, > > Laurent Pinchart > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel