diff options
Diffstat (limited to 'drivers/gpu/drm/imx/imx-tve.c')
| -rw-r--r-- | drivers/gpu/drm/imx/imx-tve.c | 40 | 
1 files changed, 6 insertions, 34 deletions
diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c index 813bb6156a68..2a8d2e32e7b4 100644 --- a/drivers/gpu/drm/imx/imx-tve.c +++ b/drivers/gpu/drm/imx/imx-tve.c @@ -13,7 +13,6 @@  #include <linux/platform_device.h>  #include <linux/regmap.h>  #include <linux/regulator/consumer.h> -#include <linux/spinlock.h>  #include <linux/videodev2.h>  #include <video/imx-ipu-v3.h> @@ -104,8 +103,6 @@ struct imx_tve {  	struct drm_connector connector;  	struct drm_encoder encoder;  	struct device *dev; -	spinlock_t lock;	/* register lock */ -	bool enabled;  	int mode;  	int di_hsync_pin;  	int di_vsync_pin; @@ -129,30 +126,10 @@ static inline struct imx_tve *enc_to_tve(struct drm_encoder *e)  	return container_of(e, struct imx_tve, encoder);  } -static void tve_lock(void *__tve) -__acquires(&tve->lock) -{ -	struct imx_tve *tve = __tve; - -	spin_lock(&tve->lock); -} - -static void tve_unlock(void *__tve) -__releases(&tve->lock) -{ -	struct imx_tve *tve = __tve; - -	spin_unlock(&tve->lock); -} -  static void tve_enable(struct imx_tve *tve)  { -	if (!tve->enabled) { -		tve->enabled = true; -		clk_prepare_enable(tve->clk); -		regmap_update_bits(tve->regmap, TVE_COM_CONF_REG, -				   TVE_EN, TVE_EN); -	} +	clk_prepare_enable(tve->clk); +	regmap_update_bits(tve->regmap, TVE_COM_CONF_REG, TVE_EN, TVE_EN);  	/* clear interrupt status register */  	regmap_write(tve->regmap, TVE_STAT_REG, 0xffffffff); @@ -169,11 +146,8 @@ static void tve_enable(struct imx_tve *tve)  static void tve_disable(struct imx_tve *tve)  { -	if (tve->enabled) { -		tve->enabled = false; -		regmap_update_bits(tve->regmap, TVE_COM_CONF_REG, TVE_EN, 0); -		clk_disable_unprepare(tve->clk); -	} +	regmap_update_bits(tve->regmap, TVE_COM_CONF_REG, TVE_EN, 0); +	clk_disable_unprepare(tve->clk);  }  static int tve_setup_tvout(struct imx_tve *tve) @@ -500,8 +474,7 @@ static struct regmap_config tve_regmap_config = {  	.readable_reg = imx_tve_readable_reg, -	.lock = tve_lock, -	.unlock = tve_unlock, +	.fast_io = true,  	.max_register = 0xdc,  }; @@ -511,7 +484,7 @@ static const char * const imx_tve_modes[] = {  	[TVE_MODE_VGA] = "vga",  }; -static const int of_get_tve_mode(struct device_node *np) +static int of_get_tve_mode(struct device_node *np)  {  	const char *bm;  	int ret, i; @@ -544,7 +517,6 @@ static int imx_tve_bind(struct device *dev, struct device *master, void *data)  	memset(tve, 0, sizeof(*tve));  	tve->dev = dev; -	spin_lock_init(&tve->lock);  	ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);  	if (ddc_node) {  | 
