Hi Andy,
Am Montag, den 01.12.2014, 19:24 +0800 schrieb Andy Yan: [...]
diff --git a/include/drm/bridge/dw_hdmi.h b/include/drm/bridge/dw_hdmi.h new file mode 100644 index 0000000..1bbf3ca --- /dev/null +++ b/include/drm/bridge/dw_hdmi.h @@ -0,0 +1,57 @@ +/*
- Copyright (C) 2011 Freescale Semiconductor, Inc.
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
- */
+#ifndef __DW_HDMI__ +#define __DW_HDMI__
+#include <drm/drmP.h>
+enum {
- RES_8,
- RES_10,
- RES_12,
- RES_MAX,
+};
+enum dw_hdmi_devtype {
- IMX6Q_HDMI,
- IMX6DL_HDMI,
+};
+struct mpll_config {
- unsigned long mpixelclock;
- struct {
u16 cpce;
u16 gmp;
- } res[RES_MAX];
+};
+struct curr_ctrl {
- unsigned long mpixelclock;
- u16 curr[RES_MAX];
+};
+struct sym_term {
- unsigned long mpixelclock;
- u16 sym_ctr; /*clock symbol and transmitter control*/
- u16 term; /*transmission termination value*/
+};
since this is going to be used by multiple drivers, the enums and structs should all be properly namespaced. How about DW_HDMI_RES_x, struct dw_hdmi_mpll_config, struct dw_hdmi_curr_ctrl, and struct dw_hdmi_sym_term?
+struct dw_hdmi_plat_data {
- enum dw_hdmi_devtype dev_type;
- const struct mpll_config *mpll_cfg;
- const struct curr_ctrl *cur_ctr;
- const struct sym_term *sym_term;
+};
+void dw_hdmi_unbind(struct device *dev, struct device *master, void *data); +int dw_hdmi_bind(struct device *dev, struct device *master,
void *data, struct drm_encoder *encoder,
const struct dw_hdmi_plat_data *plat_data);
+#endif /* __IMX_HDMI_H__ */
regards Philipp