drm/bridge/sii8620: re-factor registry access code 03/92603/1
authorAndrzej Hajda <a.hajda@samsung.com>
Mon, 17 Oct 2016 10:17:38 +0000 (12:17 +0200)
committerAndrzej Hajda <a.hajda@samsung.com>
Mon, 17 Oct 2016 13:26:31 +0000 (15:26 +0200)
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 <a.hajda@samsung.com>
drivers/gpu/drm/bridge/sii8620.c

index 863f859fd93077069c985e6038d0106982562f51..48475f540e20af4f5545d9172af1855b2d921600 100644 (file)
@@ -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);
 }