From 5cdc8dbbdae163b08baa60a1c9408c4ea3af8643 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Thu, 10 Aug 2017 15:11:03 +0300 Subject: [PATCH] drm/omap: use regmap_update_bit() when muxing DSI pads Use regmap_update_bits instead of regmap_read/write, which simplifies the code. Signed-off-by: Tomi Valkeinen Reviewed-by: Laurent Pinchart --- drivers/gpu/drm/omapdrm/dss/dsi.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c index a66d2b1a6c74..1855d69b211d 100644 --- a/drivers/gpu/drm/omapdrm/dss/dsi.c +++ b/drivers/gpu/drm/omapdrm/dss/dsi.c @@ -2107,7 +2107,6 @@ static int dsi_omap4_mux_pads(struct dsi_data *dsi, unsigned int lanes) { u32 enable_mask, enable_shift; u32 pipd_mask, pipd_shift; - u32 reg; if (!dsi->syscon) return 0; @@ -2126,17 +2125,9 @@ static int dsi_omap4_mux_pads(struct dsi_data *dsi, unsigned int lanes) return -ENODEV; } - regmap_read(dsi->syscon, OMAP4_DSIPHY_SYSCON_OFFSET, ®); - - reg &= ~enable_mask; - reg &= ~pipd_mask; - - reg |= (lanes << enable_shift) & enable_mask; - reg |= (lanes << pipd_shift) & pipd_mask; - - regmap_write(dsi->syscon, OMAP4_DSIPHY_SYSCON_OFFSET, reg); - - return 0; + return regmap_update_bits(dsi->syscon, OMAP4_DSIPHY_SYSCON_OFFSET, + enable_mask | pipd_mask, + (lanes << enable_shift) | (lanes << pipd_shift)); } static int dsi_enable_pads(struct dsi_data *dsi, unsigned int lane_mask)