Commit 3df07390 authored by Philipp Zabel's avatar Philipp Zabel

drm/imx: turn remaining container_of macros into inline functions

This allows the compiler to do type checking.
Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
parent 49f98bc4
...@@ -51,8 +51,6 @@ ...@@ -51,8 +51,6 @@
#define LDB_DI1_VS_POL_ACT_LOW (1 << 10) #define LDB_DI1_VS_POL_ACT_LOW (1 << 10)
#define LDB_BGREF_RMODE_INT (1 << 15) #define LDB_BGREF_RMODE_INT (1 << 15)
#define con_to_imx_ldb_ch(x) container_of(x, struct imx_ldb_channel, connector)
struct imx_ldb; struct imx_ldb;
struct imx_ldb_channel { struct imx_ldb_channel {
...@@ -70,6 +68,11 @@ struct imx_ldb_channel { ...@@ -70,6 +68,11 @@ struct imx_ldb_channel {
u32 bus_format; u32 bus_format;
}; };
static inline struct imx_ldb_channel *con_to_imx_ldb_ch(struct drm_connector *c)
{
return container_of(c, struct imx_ldb_channel, connector);
}
static inline struct imx_ldb_channel *enc_to_imx_ldb_ch(struct drm_encoder *e) static inline struct imx_ldb_channel *enc_to_imx_ldb_ch(struct drm_encoder *e)
{ {
return container_of(e, struct imx_ldb_channel, encoder); return container_of(e, struct imx_ldb_channel, encoder);
......
...@@ -98,8 +98,6 @@ ...@@ -98,8 +98,6 @@
/* TVE_TST_MODE_REG */ /* TVE_TST_MODE_REG */
#define TVE_TVDAC_TEST_MODE_MASK (0x7 << 0) #define TVE_TVDAC_TEST_MODE_MASK (0x7 << 0)
#define con_to_tve(x) container_of(x, struct imx_tve, connector)
enum { enum {
TVE_MODE_TVOUT, TVE_MODE_TVOUT,
TVE_MODE_VGA, TVE_MODE_VGA,
...@@ -124,6 +122,11 @@ struct imx_tve { ...@@ -124,6 +122,11 @@ struct imx_tve {
struct clk *di_clk; struct clk *di_clk;
}; };
static inline struct imx_tve *con_to_tve(struct drm_connector *c)
{
return container_of(c, struct imx_tve, connector);
}
static inline struct imx_tve *enc_to_tve(struct drm_encoder *e) static inline struct imx_tve *enc_to_tve(struct drm_encoder *e)
{ {
return container_of(e, struct imx_tve, encoder); return container_of(e, struct imx_tve, encoder);
......
...@@ -46,7 +46,10 @@ struct ipu_crtc { ...@@ -46,7 +46,10 @@ struct ipu_crtc {
int irq; int irq;
}; };
#define to_ipu_crtc(x) container_of(x, struct ipu_crtc, base) static inline struct ipu_crtc *to_ipu_crtc(struct drm_crtc *crtc)
{
return container_of(crtc, struct ipu_crtc, base);
}
static void ipu_crtc_enable(struct drm_crtc *crtc) static void ipu_crtc_enable(struct drm_crtc *crtc)
{ {
......
...@@ -23,7 +23,10 @@ ...@@ -23,7 +23,10 @@
#include "video/imx-ipu-v3.h" #include "video/imx-ipu-v3.h"
#include "ipuv3-plane.h" #include "ipuv3-plane.h"
#define to_ipu_plane(x) container_of(x, struct ipu_plane, base) static inline struct ipu_plane *to_ipu_plane(struct drm_plane *p)
{
return container_of(p, struct ipu_plane, base);
}
static const uint32_t ipu_plane_formats[] = { static const uint32_t ipu_plane_formats[] = {
DRM_FORMAT_ARGB1555, DRM_FORMAT_ARGB1555,
......
...@@ -26,8 +26,6 @@ ...@@ -26,8 +26,6 @@
#include "imx-drm.h" #include "imx-drm.h"
#define con_to_imxpd(x) container_of(x, struct imx_parallel_display, connector)
struct imx_parallel_display { struct imx_parallel_display {
struct drm_connector connector; struct drm_connector connector;
struct drm_encoder encoder; struct drm_encoder encoder;
...@@ -39,6 +37,11 @@ struct imx_parallel_display { ...@@ -39,6 +37,11 @@ struct imx_parallel_display {
struct drm_panel *panel; struct drm_panel *panel;
}; };
static inline struct imx_parallel_display *con_to_imxpd(struct drm_connector *c)
{
return container_of(c, struct imx_parallel_display, connector);
}
static inline struct imx_parallel_display *enc_to_imxpd(struct drm_encoder *e) static inline struct imx_parallel_display *enc_to_imxpd(struct drm_encoder *e)
{ {
return container_of(e, struct imx_parallel_display, encoder); return container_of(e, struct imx_parallel_display, encoder);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment