staging: sm750fb: use BIT macro for CURRENT_GATE single-bit fields
authorMike Rapoport <mike.rapoport@gmail.com>
Sun, 17 Jan 2016 18:04:25 +0000 (20:04 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Feb 2016 02:51:36 +0000 (18:51 -0800)
Replace complex definition of CURRENT_GATE register fields with BIT() macro
and use open-coded implementation for register manipulations.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/sm750fb/ddk750_chip.c
drivers/staging/sm750fb/ddk750_power.c
drivers/staging/sm750fb/ddk750_reg.h

index 36c2e50..b11231c 100644 (file)
@@ -205,8 +205,7 @@ int ddk750_initHw(initchip_param_t *pInitParam)
 
        /* Enable display power gate & LOCALMEM power gate*/
        reg = PEEK32(CURRENT_GATE);
-       reg = FIELD_SET(reg, CURRENT_GATE, DISPLAY, ON);
-       reg = FIELD_SET(reg, CURRENT_GATE, LOCALMEM, ON);
+       reg |= (CURRENT_GATE_DISPLAY | CURRENT_GATE_LOCALMEM);
        setCurrentGate(reg);
 
        if (getChipType() != SM750LE) {
index 1c5001c..4177025 100644 (file)
@@ -112,11 +112,9 @@ void enable2DEngine(unsigned int enable)
 
        gate = PEEK32(CURRENT_GATE);
        if (enable) {
-               gate = FIELD_SET(gate, CURRENT_GATE, DE,  ON);
-               gate = FIELD_SET(gate, CURRENT_GATE, CSC, ON);
+               gate |= (CURRENT_GATE_DE | CURRENT_GATE_CSC);
        } else {
-               gate = FIELD_SET(gate, CURRENT_GATE, DE,  OFF);
-               gate = FIELD_SET(gate, CURRENT_GATE, CSC, OFF);
+               gate &= ~(CURRENT_GATE_DE | CURRENT_GATE_CSC);
        }
 
        setCurrentGate(gate);
@@ -129,9 +127,9 @@ void enableDMA(unsigned int enable)
        /* Enable DMA Gate */
        gate = PEEK32(CURRENT_GATE);
        if (enable)
-               gate = FIELD_SET(gate, CURRENT_GATE, DMA, ON);
+               gate |= CURRENT_GATE_DMA;
        else
-               gate = FIELD_SET(gate, CURRENT_GATE, DMA, OFF);
+               gate &= ~CURRENT_GATE_DMA;
 
        setCurrentGate(gate);
 }
@@ -146,9 +144,9 @@ void enableGPIO(unsigned int enable)
        /* Enable GPIO Gate */
        gate = PEEK32(CURRENT_GATE);
        if (enable)
-               gate = FIELD_SET(gate, CURRENT_GATE, GPIO, ON);
+               gate |= CURRENT_GATE_GPIO;
        else
-               gate = FIELD_SET(gate, CURRENT_GATE, GPIO, OFF);
+               gate &= ~CURRENT_GATE_GPIO;
 
        setCurrentGate(gate);
 }
@@ -163,9 +161,9 @@ void enableI2C(unsigned int enable)
        /* Enable I2C Gate */
        gate = PEEK32(CURRENT_GATE);
        if (enable)
-               gate = FIELD_SET(gate, CURRENT_GATE, I2C, ON);
+               gate |= CURRENT_GATE_I2C;
        else
-       gate = FIELD_SET(gate, CURRENT_GATE, I2C, OFF);
+               gate &= ~CURRENT_GATE_I2C;
 
        setCurrentGate(gate);
 }
index 72eaf19..e3ca832 100644 (file)
     #define CURRENT_GATE_M2XCLK_DIV_3                     2
     #define CURRENT_GATE_M2XCLK_DIV_4                     3
 #endif
-#define CURRENT_GATE_VGA                              10:10
-#define CURRENT_GATE_VGA_OFF                          0
-#define CURRENT_GATE_VGA_ON                           1
-#define CURRENT_GATE_PWM                              9:9
-#define CURRENT_GATE_PWM_OFF                          0
-#define CURRENT_GATE_PWM_ON                           1
-#define CURRENT_GATE_I2C                              8:8
-#define CURRENT_GATE_I2C_OFF                          0
-#define CURRENT_GATE_I2C_ON                           1
-#define CURRENT_GATE_SSP                              7:7
-#define CURRENT_GATE_SSP_OFF                          0
-#define CURRENT_GATE_SSP_ON                           1
-#define CURRENT_GATE_GPIO                             6:6
-#define CURRENT_GATE_GPIO_OFF                         0
-#define CURRENT_GATE_GPIO_ON                          1
-#define CURRENT_GATE_ZVPORT                           5:5
-#define CURRENT_GATE_ZVPORT_OFF                       0
-#define CURRENT_GATE_ZVPORT_ON                        1
-#define CURRENT_GATE_CSC                              4:4
-#define CURRENT_GATE_CSC_OFF                          0
-#define CURRENT_GATE_CSC_ON                           1
-#define CURRENT_GATE_DE                               3:3
-#define CURRENT_GATE_DE_OFF                           0
-#define CURRENT_GATE_DE_ON                            1
-#define CURRENT_GATE_DISPLAY                          2:2
-#define CURRENT_GATE_DISPLAY_OFF                      0
-#define CURRENT_GATE_DISPLAY_ON                       1
-#define CURRENT_GATE_LOCALMEM                         1:1
-#define CURRENT_GATE_LOCALMEM_OFF                     0
-#define CURRENT_GATE_LOCALMEM_ON                      1
-#define CURRENT_GATE_DMA                              0:0
-#define CURRENT_GATE_DMA_OFF                          0
-#define CURRENT_GATE_DMA_ON                           1
+#define CURRENT_GATE_VGA                              BIT(10)
+#define CURRENT_GATE_PWM                              BIT(9)
+#define CURRENT_GATE_I2C                              BIT(8)
+#define CURRENT_GATE_SSP                              BIT(7)
+#define CURRENT_GATE_GPIO                             BIT(6)
+#define CURRENT_GATE_ZVPORT                           BIT(5)
+#define CURRENT_GATE_CSC                              BIT(4)
+#define CURRENT_GATE_DE                               BIT(3)
+#define CURRENT_GATE_DISPLAY                          BIT(2)
+#define CURRENT_GATE_LOCALMEM                         BIT(1)
+#define CURRENT_GATE_DMA                              BIT(0)
 
 #define MODE0_GATE                                    0x000044
 #define MODE0_GATE_MCLK                               15:14