summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Rapoport2016-01-17 19:04:30 +0100
committerGreg Kroah-Hartman2016-02-08 03:51:36 +0100
commit776980cf0f8cd3c8e5863ec92bccb8e670e3efa1 (patch)
tree21de7932a72a8cd8941a6a9edf8c94bb361e7137
parentstaging: sm750fb: change definition of MODE0_GATE multi-bit fields (diff)
downloadkernel-qcow2-linux-776980cf0f8cd3c8e5863ec92bccb8e670e3efa1.tar.gz
kernel-qcow2-linux-776980cf0f8cd3c8e5863ec92bccb8e670e3efa1.tar.xz
kernel-qcow2-linux-776980cf0f8cd3c8e5863ec92bccb8e670e3efa1.zip
staging: sm750fb: use BIT macro for POWER_MODE_CTRL single-bit fields
Replace complex definition of POWER_MODE_CTRL 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>
-rw-r--r--drivers/staging/sm750fb/ddk750_power.c10
-rw-r--r--drivers/staging/sm750fb/ddk750_reg.h12
2 files changed, 7 insertions, 15 deletions
diff --git a/drivers/staging/sm750fb/ddk750_power.c b/drivers/staging/sm750fb/ddk750_power.c
index 417702548f0f..4959482cbeb5 100644
--- a/drivers/staging/sm750fb/ddk750_power.c
+++ b/drivers/staging/sm750fb/ddk750_power.c
@@ -60,17 +60,15 @@ void setPowerMode(unsigned int powerMode)
/* Set up other fields in Power Control Register */
if (powerMode == POWER_MODE_CTRL_MODE_SLEEP) {
- control_value =
+ control_value &= ~POWER_MODE_CTRL_OSC_INPUT;
#ifdef VALIDATION_CHIP
- FIELD_SET(control_value, POWER_MODE_CTRL, 336CLK, OFF) |
+ control_value &= ~POWER_MODE_CTRL_336CLK;
#endif
- FIELD_SET(control_value, POWER_MODE_CTRL, OSC_INPUT, OFF);
} else {
- control_value =
+ control_value |= POWER_MODE_CTRL_OSC_INPUT;
#ifdef VALIDATION_CHIP
- FIELD_SET(control_value, POWER_MODE_CTRL, 336CLK, ON) |
+ control_value |= POWER_MODE_CTRL_336CLK;
#endif
- FIELD_SET(control_value, POWER_MODE_CTRL, OSC_INPUT, ON);
}
/* Program new power mode. */
diff --git a/drivers/staging/sm750fb/ddk750_reg.h b/drivers/staging/sm750fb/ddk750_reg.h
index d97859a0fa7b..bc49b44c611d 100644
--- a/drivers/staging/sm750fb/ddk750_reg.h
+++ b/drivers/staging/sm750fb/ddk750_reg.h
@@ -497,16 +497,10 @@
#define POWER_MODE_CTRL 0x00004C
#ifdef VALIDATION_CHIP
- #define POWER_MODE_CTRL_336CLK 4:4
- #define POWER_MODE_CTRL_336CLK_OFF 0
- #define POWER_MODE_CTRL_336CLK_ON 1
+ #define POWER_MODE_CTRL_336CLK BIT(4)
#endif
-#define POWER_MODE_CTRL_OSC_INPUT 3:3
-#define POWER_MODE_CTRL_OSC_INPUT_OFF 0
-#define POWER_MODE_CTRL_OSC_INPUT_ON 1
-#define POWER_MODE_CTRL_ACPI 2:2
-#define POWER_MODE_CTRL_ACPI_OFF 0
-#define POWER_MODE_CTRL_ACPI_ON 1
+#define POWER_MODE_CTRL_OSC_INPUT BIT(3)
+#define POWER_MODE_CTRL_ACPI BIT(2)
#define POWER_MODE_CTRL_MODE 1:0
#define POWER_MODE_CTRL_MODE_MODE0 0
#define POWER_MODE_CTRL_MODE_MODE1 1