From 672f75b0b390c0c524a0aef606b25d77ad0b2d4f Mon Sep 17 00:00:00 2001 From: Mike Rapoport Date: Mon, 15 Feb 2016 19:53:54 +0200 Subject: [PATCH] staging: sm750fb: change definition of HWC_ADDRESS fields Use BIT() macro for single-bit fields of HWC_ADDRESS register and define HWC_ADDRESS_ADDRESS_MASK for masking the address bits. Signed-off-by: Mike Rapoport Signed-off-by: Greg Kroah-Hartman --- drivers/staging/sm750fb/sm750_cursor.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/drivers/staging/sm750fb/sm750_cursor.c b/drivers/staging/sm750fb/sm750_cursor.c index e887101c0974..2799e8687b95 100644 --- a/drivers/staging/sm750fb/sm750_cursor.c +++ b/drivers/staging/sm750fb/sm750_cursor.c @@ -28,16 +28,10 @@ writel((data), cursor->mmio + (addr)) /* cursor control for voyager and 718/750*/ #define HWC_ADDRESS 0x0 -#define HWC_ADDRESS_ENABLE 31:31 -#define HWC_ADDRESS_ENABLE_DISABLE 0 -#define HWC_ADDRESS_ENABLE_ENABLE 1 -#define HWC_ADDRESS_EXT 27:27 -#define HWC_ADDRESS_EXT_LOCAL 0 -#define HWC_ADDRESS_EXT_EXTERNAL 1 -#define HWC_ADDRESS_CS 26:26 -#define HWC_ADDRESS_CS_0 0 -#define HWC_ADDRESS_CS_1 1 -#define HWC_ADDRESS_ADDRESS 25:0 +#define HWC_ADDRESS_ENABLE BIT(31) +#define HWC_ADDRESS_EXT BIT(27) +#define HWC_ADDRESS_CS BIT(26) +#define HWC_ADDRESS_ADDRESS_MASK 0x3ffffff #define HWC_LOCATION 0x4 #define HWC_LOCATION_TOP 27:27 @@ -62,9 +56,7 @@ void hw_cursor_enable(struct lynx_cursor *cursor) { u32 reg; - reg = FIELD_VALUE(0, HWC_ADDRESS, ADDRESS, cursor->offset)| - FIELD_SET(0, HWC_ADDRESS, EXT, LOCAL)| - FIELD_SET(0, HWC_ADDRESS, ENABLE, ENABLE); + reg = (cursor->offset & HWC_ADDRESS_ADDRESS_MASK) | HWC_ADDRESS_ENABLE; POKE32(HWC_ADDRESS, reg); } void hw_cursor_disable(struct lynx_cursor *cursor) -- 2.45.2