linux-rtc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bartosz Golaszewski <brgl@bgdev.pl>
To: Alessandro Zummo <a.zummo@towertech.it>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: linux-rtc@vger.kernel.org, linux-kernel@vger.kernel.org,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>
Subject: [PATCH v3 07/14] rtc: rx8010: don't use magic values for time buffer length
Date: Mon, 14 Sep 2020 17:45:54 +0200	[thread overview]
Message-ID: <20200914154601.32245-8-brgl@bgdev.pl> (raw)
In-Reply-To: <20200914154601.32245-1-brgl@bgdev.pl>

From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

The time buffer len is used directly in this driver. For readability
it's better to define it as the difference between the date register
offsets and use sizeof() whenever referencing it.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
---
 drivers/rtc/rtc-rx8010.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/rtc/rtc-rx8010.c b/drivers/rtc/rtc-rx8010.c
index 300314ab7b6d..2c894e7aab6d 100644
--- a/drivers/rtc/rtc-rx8010.c
+++ b/drivers/rtc/rtc-rx8010.c
@@ -108,7 +108,7 @@ static irqreturn_t rx8010_irq_1_handler(int irq, void *dev_id)
 static int rx8010_get_time(struct device *dev, struct rtc_time *dt)
 {
 	struct rx8010_data *rx8010 = dev_get_drvdata(dev);
-	u8 date[7];
+	u8 date[RX8010_YEAR - RX8010_SEC + 1];
 	int flagreg, err;
 
 	flagreg = i2c_smbus_read_byte_data(rx8010->client, RX8010_FLAG);
@@ -121,8 +121,8 @@ static int rx8010_get_time(struct device *dev, struct rtc_time *dt)
 	}
 
 	err = i2c_smbus_read_i2c_block_data(rx8010->client, RX8010_SEC,
-					    7, date);
-	if (err != 7)
+					    sizeof(date), date);
+	if (err != sizeof(date))
 		return err < 0 ? err : -EIO;
 
 	dt->tm_sec = bcd2bin(date[RX8010_SEC - RX8010_SEC] & 0x7f);
@@ -139,7 +139,7 @@ static int rx8010_get_time(struct device *dev, struct rtc_time *dt)
 static int rx8010_set_time(struct device *dev, struct rtc_time *dt)
 {
 	struct rx8010_data *rx8010 = dev_get_drvdata(dev);
-	u8 date[7];
+	u8 date[RX8010_YEAR - RX8010_SEC + 1];
 	int ctrl, flagreg, err;
 
 	if ((dt->tm_year < 100) || (dt->tm_year > 199))
@@ -164,7 +164,8 @@ static int rx8010_set_time(struct device *dev, struct rtc_time *dt)
 	date[RX8010_WDAY - RX8010_SEC] = bin2bcd(1 << dt->tm_wday);
 
 	err = i2c_smbus_write_i2c_block_data(rx8010->client,
-					     RX8010_SEC, 7, date);
+					     RX8010_SEC, sizeof(date),
+					     date);
 	if (err < 0)
 		return err;
 
-- 
2.26.1


  parent reply	other threads:[~2020-09-14 16:02 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-14 15:45 [PATCH v3 00/14] rtc: rx8010: use regmap instead of i2c smbus API Bartosz Golaszewski
2020-09-14 15:45 ` [PATCH v3 01/14] rtc: rx8010: don't modify the global rtc ops Bartosz Golaszewski
2020-09-17 15:53   ` Sasha Levin
2020-09-17 16:16     ` Bartosz Golaszewski
2020-09-14 15:45 ` [PATCH v3 02/14] rtc: rx8010: remove a stray newline Bartosz Golaszewski
2020-09-14 15:45 ` [PATCH v3 03/14] rtc: rx8010: remove unnecessary brackets Bartosz Golaszewski
2020-09-14 15:45 ` [PATCH v3 04/14] rtc: rx8010: consolidate local variables of the same type Bartosz Golaszewski
2020-09-14 15:45 ` [PATCH v3 05/14] rtc: rx8010: use tabs instead of spaces for code formatting Bartosz Golaszewski
2020-09-14 15:45 ` [PATCH v3 06/14] rtc: rx8010: rename ret to err in rx8010_set_time() Bartosz Golaszewski
2020-09-14 15:45 ` Bartosz Golaszewski [this message]
2020-09-14 15:45 ` [PATCH v3 08/14] rtc: rx8010: drop unnecessary initialization Bartosz Golaszewski
2020-09-14 15:45 ` [PATCH v3 09/14] rtc: rx8010: use a helper variable for client->dev in probe() Bartosz Golaszewski
2020-09-14 15:45 ` [PATCH v3 10/14] rtc: rx8010: prefer sizeof(*val) over sizeof(struct type_of_val) Bartosz Golaszewski
2020-09-14 15:45 ` [PATCH v3 11/14] rtc: rx8010: switch to using the preferred RTC API Bartosz Golaszewski
2020-09-14 15:45 ` [PATCH v3 12/14] rtc: rx8010: switch to using the preferred i2c API Bartosz Golaszewski
2020-09-14 15:46 ` [PATCH v3 13/14] rtc: rx8010: convert to using regmap Bartosz Golaszewski
2020-09-14 15:46 ` [PATCH v3 14/14] rtc: rx8010: use range checking provided by core RTC code Bartosz Golaszewski
2020-09-15  9:20 ` [PATCH v3 00/14] rtc: rx8010: use regmap instead of i2c smbus API Alexandre Belloni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200914154601.32245-8-brgl@bgdev.pl \
    --to=brgl@bgdev.pl \
    --cc=a.zummo@towertech.it \
    --cc=alexandre.belloni@bootlin.com \
    --cc=bgolaszewski@baylibre.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rtc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).