[rtc-linux] [PATCH 11/13] RTC: ds1307: Redefine RX8025_REG_* to minimize extra code
From: Andrey Smirnov <hidden>
Date: 2016-06-15 06:00:58
Also in:
lkml
Subsystem:
real time clock (rtc) subsystem, the rest · Maintainers:
Alexandre Belloni, Linus Torvalds
The only place in the driver where RX8025_REG_* are used they are always shifted and ORed the same way, so instead of repeating that idiom make it a part of symbolic constant. Signed-off-by: Andrey Smirnov <redacted> --- drivers/rtc/rtc-ds1307.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c
index 8ccfe5b..76e66a3 100644
--- a/drivers/rtc/rtc-ds1307.c
+++ b/drivers/rtc/rtc-ds1307.c@@ -103,9 +103,11 @@ enum ds_type { #define DS13XX_TRICKLE_CHARGER_MAGIC 0xa0 -#define RX8025_REG_CTRL1 0x0e +#define RX8025_REG_CTRL1_ 0x0e +#define RX8025_REG_CTRL1 ((RX8025_REG_CTRL1_ << 4) | 0x08) # define RX8025_BIT_2412 0x20 -#define RX8025_REG_CTRL2 0x0f +#define RX8025_REG_CTRL2_ 0x0f +#define RX8025_REG_CTRL2 ((RX8025_REG_CTRL2_ << 4) | 0x08) # define RX8025_BIT_PON 0x10 # define RX8025_BIT_VDET 0x40 # define RX8025_BIT_XST 0x20
@@ -1353,7 +1355,7 @@ static int ds1307_chip_configure(const struct ds1307 *ds1307) } case rx_8025: tmp = i2c_smbus_read_i2c_block_data(client, - RX8025_REG_CTRL1 << 4 | 0x08, + RX8025_REG_CTRL1, 2, regs); if (tmp != 2) { dev_dbg(&client->dev, "read error %d\n", tmp);
@@ -1364,7 +1366,7 @@ static int ds1307_chip_configure(const struct ds1307 *ds1307) if (!(regs[1] & RX8025_BIT_XST)) { regs[1] |= RX8025_BIT_XST; i2c_smbus_write_byte_data(client, - RX8025_REG_CTRL2 << 4 | 0x08, + RX8025_REG_CTRL2, regs[1]); dev_warn(&client->dev, "oscillator stop detected - SET TIME!\n");
@@ -1373,7 +1375,7 @@ static int ds1307_chip_configure(const struct ds1307 *ds1307) if (regs[1] & RX8025_BIT_PON) { regs[1] &= ~RX8025_BIT_PON; i2c_smbus_write_byte_data(client, - RX8025_REG_CTRL2 << 4 | 0x08, + RX8025_REG_CTRL2, regs[1]); dev_warn(&client->dev, "power-on detected\n"); }
@@ -1381,7 +1383,7 @@ static int ds1307_chip_configure(const struct ds1307 *ds1307) if (regs[1] & RX8025_BIT_VDET) { regs[1] &= ~RX8025_BIT_VDET; i2c_smbus_write_byte_data(client, - RX8025_REG_CTRL2 << 4 | 0x08, + RX8025_REG_CTRL2, regs[1]); dev_warn(&client->dev, "voltage drop detected\n"); }
@@ -1392,11 +1394,11 @@ static int ds1307_chip_configure(const struct ds1307 *ds1307) /* switch to 24 hour mode */ i2c_smbus_write_byte_data(client, - RX8025_REG_CTRL1 << 4 | 0x08, + RX8025_REG_CTRL1, regs[0] | RX8025_BIT_2412); tmp = i2c_smbus_read_i2c_block_data(client, - RX8025_REG_CTRL1 << 4 | 0x08, + RX8025_REG_CTRL1, 2, regs); if (tmp != 2) { dev_dbg(&client->dev, "read error %d\n", tmp);
--
2.5.5
--
You received this message because you are subscribed to "rtc-linux".
Membership options at http://groups.google.com/group/rtc-linux .
Please read http://groups.google.com/group/rtc-linux/web/checklist
before submitting a driver.
---
You received this message because you are subscribed to the Google Groups "rtc-linux" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.