From 512310b4fed2aea19e19f4db736d049e332a6946 Mon Sep 17 00:00:00 2001 From: Andrzej Hajda Date: Mon, 17 Oct 2016 12:17:38 +0200 Subject: [PATCH] drm/bridge/sii8620: re-factor registry access code The patch constifies arguments if possible, adds static version of sii8620_write_seq and simplifies sii8620_setbits. All these changes allows to optimize code and synchronize driver with mainline. Change-Id: I7432156e0dbe47b53f012c4f8561c71e587ba9d3 Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/bridge/sii8620.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/bridge/sii8620.c b/drivers/gpu/drm/bridge/sii8620.c index 863f859fd930..48475f540e20 100644 --- a/drivers/gpu/drm/bridge/sii8620.c +++ b/drivers/gpu/drm/bridge/sii8620.c @@ -205,7 +205,7 @@ static void sii8620_write_buf(struct sii8620 *ctx, u16 addr, const u8 *buf, sii8620_write_buf(ctx, addr, d, ARRAY_SIZE(d)); \ }) -static void _sii8620_write_seq(struct sii8620 *ctx, u16 *seq, int len) +static void __sii8620_write_seq(struct sii8620 *ctx, const u16 *seq, int len) { int i; @@ -215,14 +215,19 @@ static void _sii8620_write_seq(struct sii8620 *ctx, u16 *seq, int len) #define sii8620_write_seq(ctx, seq...) \ ({\ - u16 d[] = { seq }; \ - _sii8620_write_seq(ctx, d, ARRAY_SIZE(d)); \ + const u16 d[] = { seq }; \ + __sii8620_write_seq(ctx, d, ARRAY_SIZE(d)); \ +}) + +#define sii8620_write_seq_static(ctx, seq...) \ +({\ + static const u16 d[] = { seq }; \ + __sii8620_write_seq(ctx, d, ARRAY_SIZE(d)); \ }) static void sii8620_setbits(struct sii8620 *ctx, u16 addr, u8 mask, u8 val) { - val &= mask; - val |= sii8620_readb(ctx, addr) & ~mask; + val = (val & mask) | (sii8620_readb(ctx, addr) & ~mask); sii8620_write(ctx, addr, val); } -- 2.34.1