From: Tomi Valkeinen Date: Thu, 10 Aug 2017 12:11:03 +0000 (+0300) Subject: drm/omap: use regmap_update_bit() when muxing DSI pads X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=5cdc8dbbdae163b08baa60a1c9408c4ea3af8643;p=openwrt%2Fstaging%2Fblogic.git 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 --- 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)