All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bartosz Golaszewski <brgl@bgdev.pl>
To: Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
	Bartosz Golaszewski <brgl@bgdev.pl>
Subject: [PATCH 17/21] eeprom: at24: remove at24_platform_data from at24_data
Date: Mon, 19 Mar 2018 10:17:17 +0100	[thread overview]
Message-ID: <20180319091721.18193-18-brgl@bgdev.pl> (raw)
In-Reply-To: <20180319091721.18193-1-brgl@bgdev.pl>

Not all fields from at24_platform_data are needed in at24_data. Let's
keep just the ones we need and not carry the whole platform_data
structure all the time.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Tested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
---
 drivers/misc/eeprom/at24.c | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
index bed6917468e1..4888999a62cc 100644
--- a/drivers/misc/eeprom/at24.c
+++ b/drivers/misc/eeprom/at24.c
@@ -60,8 +60,6 @@ struct at24_client {
 };
 
 struct at24_data {
-	struct at24_platform_data chip;
-
 	/*
 	 * Lock protects against activities from other Linux tasks,
 	 * but not from changes by other I2C masters.
@@ -72,6 +70,10 @@ struct at24_data {
 	unsigned int num_addresses;
 	unsigned int offset_adj;
 
+	u32 byte_len;
+	u16 page_size;
+	u8 flags;
+
 	struct nvmem_device *nvmem;
 
 	struct gpio_desc *wp_gpio;
@@ -249,7 +251,7 @@ static struct at24_client *at24_translate_offset(struct at24_data *at24,
 {
 	unsigned int i;
 
-	if (at24->chip.flags & AT24_FLAG_ADDR16) {
+	if (at24->flags & AT24_FLAG_ADDR16) {
 		i = *offset >> 16;
 		*offset &= 0xffff;
 	} else {
@@ -276,8 +278,8 @@ static size_t at24_adjust_read_count(struct at24_data *at24,
 	 * the next slave address: truncate the count to the slave boundary,
 	 * so that the read never straddles slaves.
 	 */
-	if (at24->chip.flags & AT24_FLAG_NO_RDROL) {
-		bits = (at24->chip.flags & AT24_FLAG_ADDR16) ? 16 : 8;
+	if (at24->flags & AT24_FLAG_NO_RDROL) {
+		bits = (at24->flags & AT24_FLAG_ADDR16) ? 16 : 8;
 		remainder = BIT(bits) - offset;
 		if (count > remainder)
 			count = remainder;
@@ -336,7 +338,7 @@ static size_t at24_adjust_write_count(struct at24_data *at24,
 		count = at24->write_max;
 
 	/* Never roll over backwards, to the start of this page */
-	next_page = roundup(offset + 1, at24->chip.page_size);
+	next_page = roundup(offset + 1, at24->page_size);
 	if (offset + count > next_page)
 		count = next_page - offset;
 
@@ -381,7 +383,7 @@ static int at24_read(void *priv, unsigned int off, void *val, size_t count)
 	if (unlikely(!count))
 		return count;
 
-	if (off + count > at24->chip.byte_len)
+	if (off + count > at24->byte_len)
 		return -EINVAL;
 
 	ret = pm_runtime_get_sync(dev);
@@ -428,7 +430,7 @@ static int at24_write(void *priv, unsigned int off, void *val, size_t count)
 	if (unlikely(!count))
 		return -EINVAL;
 
-	if (off + count > at24->chip.byte_len)
+	if (off + count > at24->byte_len)
 		return -EINVAL;
 
 	ret = pm_runtime_get_sync(dev);
@@ -598,7 +600,9 @@ static int at24_probe(struct i2c_client *client)
 		return -ENOMEM;
 
 	mutex_init(&at24->lock);
-	at24->chip = pdata;
+	at24->byte_len = pdata.byte_len;
+	at24->page_size = pdata.page_size;
+	at24->flags = pdata.flags;
 	at24->num_addresses = num_addresses;
 	at24->offset_adj = at24_get_offset_adj(pdata.flags, pdata.byte_len);
 
-- 
2.16.1

WARNING: multiple messages have this Message-ID (diff)
From: Bartosz Golaszewski <brgl@bgdev.pl>
To: Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
	Bartosz Golaszewski <brgl@bgdev.pl>
Subject: [PATCH 17/21] eeprom: at24: remove at24_platform_data from at24_data
Date: Mon, 19 Mar 2018 10:17:17 +0100	[thread overview]
Message-ID: <20180319091721.18193-18-brgl@bgdev.pl> (raw)
In-Reply-To: <20180319091721.18193-1-brgl@bgdev.pl>

Not all fields from at24_platform_data are needed in at24_data. Let's
keep just the ones we need and not carry the whole platform_data
structure all the time.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
---
 drivers/misc/eeprom/at24.c | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
index bed6917468e1..4888999a62cc 100644
--- a/drivers/misc/eeprom/at24.c
+++ b/drivers/misc/eeprom/at24.c
@@ -60,8 +60,6 @@ struct at24_client {
 };
 
 struct at24_data {
-	struct at24_platform_data chip;
-
 	/*
 	 * Lock protects against activities from other Linux tasks,
 	 * but not from changes by other I2C masters.
@@ -72,6 +70,10 @@ struct at24_data {
 	unsigned int num_addresses;
 	unsigned int offset_adj;
 
+	u32 byte_len;
+	u16 page_size;
+	u8 flags;
+
 	struct nvmem_device *nvmem;
 
 	struct gpio_desc *wp_gpio;
@@ -249,7 +251,7 @@ static struct at24_client *at24_translate_offset(struct at24_data *at24,
 {
 	unsigned int i;
 
-	if (at24->chip.flags & AT24_FLAG_ADDR16) {
+	if (at24->flags & AT24_FLAG_ADDR16) {
 		i = *offset >> 16;
 		*offset &= 0xffff;
 	} else {
@@ -276,8 +278,8 @@ static size_t at24_adjust_read_count(struct at24_data *at24,
 	 * the next slave address: truncate the count to the slave boundary,
 	 * so that the read never straddles slaves.
 	 */
-	if (at24->chip.flags & AT24_FLAG_NO_RDROL) {
-		bits = (at24->chip.flags & AT24_FLAG_ADDR16) ? 16 : 8;
+	if (at24->flags & AT24_FLAG_NO_RDROL) {
+		bits = (at24->flags & AT24_FLAG_ADDR16) ? 16 : 8;
 		remainder = BIT(bits) - offset;
 		if (count > remainder)
 			count = remainder;
@@ -336,7 +338,7 @@ static size_t at24_adjust_write_count(struct at24_data *at24,
 		count = at24->write_max;
 
 	/* Never roll over backwards, to the start of this page */
-	next_page = roundup(offset + 1, at24->chip.page_size);
+	next_page = roundup(offset + 1, at24->page_size);
 	if (offset + count > next_page)
 		count = next_page - offset;
 
@@ -381,7 +383,7 @@ static int at24_read(void *priv, unsigned int off, void *val, size_t count)
 	if (unlikely(!count))
 		return count;
 
-	if (off + count > at24->chip.byte_len)
+	if (off + count > at24->byte_len)
 		return -EINVAL;
 
 	ret = pm_runtime_get_sync(dev);
@@ -428,7 +430,7 @@ static int at24_write(void *priv, unsigned int off, void *val, size_t count)
 	if (unlikely(!count))
 		return -EINVAL;
 
-	if (off + count > at24->chip.byte_len)
+	if (off + count > at24->byte_len)
 		return -EINVAL;
 
 	ret = pm_runtime_get_sync(dev);
@@ -598,7 +600,9 @@ static int at24_probe(struct i2c_client *client)
 		return -ENOMEM;
 
 	mutex_init(&at24->lock);
-	at24->chip = pdata;
+	at24->byte_len = pdata.byte_len;
+	at24->page_size = pdata.page_size;
+	at24->flags = pdata.flags;
 	at24->num_addresses = num_addresses;
 	at24->offset_adj = at24_get_offset_adj(pdata.flags, pdata.byte_len);
 
-- 
2.16.1

  parent reply	other threads:[~2018-03-19  9:17 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-19  9:17 [PATCH 00/21] eeprom: at24: driver refactoring Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 01/21] eeprom: at24: disable regmap locking Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 02/21] eeprom: at24: remove nvmem_config from at24_data Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 03/21] eeprom: at24: arrange local variables Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-23 15:21   ` Greg Kroah-Hartman
2018-03-23 16:06     ` Bartosz Golaszewski
2018-03-23 16:37       ` Greg Kroah-Hartman
2018-03-19  9:17 ` [PATCH 04/21] eeprom: at24: use SPDX identifier instead of GPL boiler-plate Bartosz Golaszewski
2018-03-19 11:03   ` Peter Rosin
2018-03-19 12:12     ` Bartosz Golaszewski
2018-03-19 12:51       ` Peter Rosin
2018-03-19 12:56         ` Bartosz Golaszewski
2018-03-19 15:38           ` Greg Kroah-Hartman
2018-03-19 15:43             ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 05/21] eeprom: at24: remove code separators Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 06/21] eeprom: at24: drop redundant variable in at24_read() Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 07/21] eeprom: at24: drop redundant variable in at24_write() Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 08/21] eeprom: at24: make struct initialization uniform in at24_probe() Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 09/21] eeprom: at24: don't check if byte_len is a power of 2 Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 10/21] eeprom: at24: rename at24_get_pdata() Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 11/21] eeprom: at24: rename chip to pdata in at24_probe() Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 12/21] eeprom: at24: use a helper variable for dev Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 13/21] eeprom: at24: readability tweak in at24_probe() Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 14/21] eeprom: at24: provide and use at24_base_client_dev() Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 15/21] eeprom: at24: switch to using probe_new() from the i2c framework Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 16/21] eeprom: at24: move platform data processing into a separate routine Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` Bartosz Golaszewski [this message]
2018-03-19  9:17   ` [PATCH 17/21] eeprom: at24: remove at24_platform_data from at24_data Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 18/21] eeprom: at24: refactor at24_probe() Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 19/21] eeprom: at24: tweak newlines Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 20/21] eeprom: at24: fix a line break Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19  9:17 ` [PATCH 21/21] eeprom: at24: simplify the i2c functionality checking Bartosz Golaszewski
2018-03-19  9:17   ` Bartosz Golaszewski
2018-03-19 14:43 ` [PATCH 00/21] eeprom: at24: driver refactoring Andy Shevchenko
2018-03-19 15:21   ` Bartosz Golaszewski
2018-03-21 14:52     ` Andy Shevchenko
2018-03-23 15:26       ` Greg Kroah-Hartman
2018-03-23 16:13         ` Bartosz Golaszewski

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=20180319091721.18193-18-brgl@bgdev.pl \
    --to=brgl@bgdev.pl \
    --cc=arnd@arndb.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.