aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.h
diff options
context:
space:
mode:
authorRob Clark <robdclark@gmail.com>2014-11-18 14:28:43 -0500
committerRob Clark <robdclark@gmail.com>2014-11-21 08:57:20 -0500
commit42238da8b10320420be19f056cc8e0d95cc606a3 (patch)
tree5d3a32a11f00d59b01d33d50f1b1dbcedaddca35 /drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.h
parentdrm/msm: add multiple CRTC and overlay support (diff)
downloadlinux-dev-42238da8b10320420be19f056cc8e0d95cc606a3.tar.xz
linux-dev-42238da8b10320420be19f056cc8e0d95cc606a3.zip
drm/msm/mdp5: don't use void * for opaque types
For example, use 'struct mdp5_smp *' everywhere instead of 'void *', but only declare it as 'struct mdp5_smp;' in common headers, so the struct body is still private. The accomplishes the desired modularity while still letting the compiler provide some type checking for us. Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to '')
-rw-r--r--drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.h b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.h
index 3e3c7534ec0f..e47179f63585 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.h
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.h
@@ -27,6 +27,7 @@ struct mdp5_client_smp_state {
};
struct mdp5_kms;
+struct mdp5_smp;
/*
* SMP module prototypes:
@@ -34,12 +35,12 @@ struct mdp5_kms;
* which is then used to call the other mdp5_smp_*(handler, ...) functions.
*/
-void *mdp5_smp_init(struct drm_device *dev, const struct mdp5_smp_block *cfg);
-void mdp5_smp_destroy(void *handler);
+struct mdp5_smp *mdp5_smp_init(struct drm_device *dev, const struct mdp5_smp_block *cfg);
+void mdp5_smp_destroy(struct mdp5_smp *smp);
-int mdp5_smp_request(void *handler, enum mdp5_pipe pipe, u32 fmt, u32 width);
-void mdp5_smp_configure(void *handler, enum mdp5_pipe pipe);
-void mdp5_smp_commit(void *handler, enum mdp5_pipe pipe);
-void mdp5_smp_release(void *handler, enum mdp5_pipe pipe);
+int mdp5_smp_request(struct mdp5_smp *smp, enum mdp5_pipe pipe, u32 fmt, u32 width);
+void mdp5_smp_configure(struct mdp5_smp *smp, enum mdp5_pipe pipe);
+void mdp5_smp_commit(struct mdp5_smp *smp, enum mdp5_pipe pipe);
+void mdp5_smp_release(struct mdp5_smp *smp, enum mdp5_pipe pipe);
#endif /* __MDP5_SMP_H__ */