Skip to contentSkip to conversation

eeprom: at24: coding style fixes

PATCH Superseded Bartosz Golaszewski 4 participants 8 messages Dec 7, 2017 – Dec 10, 2017

Subsystems (2)

v3 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

v3 cover eeprom: at24: coding style fixes

Just two patches fixing minor coding style issues. The first one contains fixes for problems reported by checkpatch. The second adds a common prefix to all symbols in at24.c.

v1 -> v2:
- don't break the user space: use module_param_named() for module parameters

v2 -> v3:
- s/at24_tool_until/at24_loop_until/g
- tweaked the commit message in patch 2/2

Bartosz Golaszewski (2):
eeprom: at24: fix coding style issues
eeprom: at24: use a common prefix for all symbols in at24.c

 drivers/misc/eeprom/at24.c | 48 ++++++++++++++++++++++++----------------------
 1 file changed, 25 insertions(+), 23 deletions(-)
Signature · 1 line
2.15.1
#1 lore raw

PATCH v3 1/2 eeprom: at24: fix coding style issues

Fix issues reported by checkpatch for at24.c.

---
 drivers/misc/eeprom/at24.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)
drivers/misc/eeprom/at24.c +11 -11
index 625b00166117..2426f2c111c7 100644
@@ -70,8 +70,8 @@ struct at24_data {
 	 */
 	struct mutex lock;
 
-	unsigned write_max;
-	unsigned num_addresses;
+	unsigned int write_max;
+	unsigned int num_addresses;
 	unsigned int offset_adj;
 
 	struct nvmem_config nvmem_config;
@@ -93,16 +93,16 @@ struct at24_data {
  *
  * This value is forced to be a power of two so that writes align on pages.
  */
-static unsigned io_limit = 128;
-module_param(io_limit, uint, 0);
+static unsigned int io_limit = 128;
+module_param(io_limit, uint, 0000);
 MODULE_PARM_DESC(io_limit, "Maximum bytes per I/O (default 128)");
 
 /*
  * Specs often allow 5 msec for a page write, sometimes 20 msec;
  * it's important to recover from write timeouts.
  */
-static unsigned write_timeout = 25;
-module_param(write_timeout, uint, 0);
+static unsigned int write_timeout = 25;
+module_param(write_timeout, uint, 0000);
 MODULE_PARM_DESC(write_timeout, "Time (in ms) to try writes (default 25)");
 
 #define AT24_SIZE_BYTELEN 5
@@ -111,8 +111,8 @@ MODULE_PARM_DESC(write_timeout, "Time (in ms) to try writes (default 25)");
 #define AT24_BITMASK(x) (BIT(x) - 1)
 
 /* create non-zero magic value for given eeprom parameters */
-#define AT24_DEVICE_MAGIC(_len, _flags) 		\
-	((1 << AT24_SIZE_FLAGS | (_flags)) 		\
+#define AT24_DEVICE_MAGIC(_len, _flags)			\
+	((1 << AT24_SIZE_FLAGS | (_flags))		\
 	    << AT24_SIZE_BYTELEN | ilog2(_len))
 
 /*
@@ -264,7 +264,7 @@ MODULE_DEVICE_TABLE(acpi, at24_acpi_ids);
 static struct at24_client *at24_translate_offset(struct at24_data *at24,
 						 unsigned int *offset)
 {
-	unsigned i;
+	unsigned int i;
 
 	if (at24->chip.flags & AT24_FLAG_ADDR16) {
 		i = *offset >> 16;
@@ -319,7 +319,7 @@ static ssize_t at24_regmap_read(struct at24_data *at24, char *buf,
 static size_t at24_adjust_write_count(struct at24_data *at24,
 				      unsigned int offset, size_t count)
 {
-	unsigned next_page;
+	unsigned int next_page;
 
 	/* write_max is at most a page */
 	if (count > at24->write_max)
@@ -515,7 +515,7 @@ static int at24_probe(struct i2c_client *client, const struct i2c_device_id *id)
 	bool writable;
 	struct at24_data *at24;
 	int err;
-	unsigned i, num_addresses;
+	unsigned int i, num_addresses;
 	const struct regmap_config *config;
 	u8 test_byte;
 
Signature · 1 line
2.15.1
#2 lore raw

Re: [PATCH v3 1/2] eeprom: at24: fix coding style issues

drivers/misc/eeprom/at24.c MODULE_PARM_DESC(write_timeout, "Time (in ms) to try writes (default 25)"); · line 116

Quoted 5 lines · Bartosz Golaszewski
drivers/misc/eeprom/at24.c +2 -2
-#define AT24_DEVICE_MAGIC(_len, _flags) 		\
-	((1 << AT24_SIZE_FLAGS | (_flags)) 		\
+#define AT24_DEVICE_MAGIC(_len, _flags)			\
+	((1 << AT24_SIZE_FLAGS | (_flags))		\
 	    << AT24_SIZE_BYTELEN | ilog2(_len))

Looks like there's been a whitespace accident on that first added line. (Backslash has one more tab in front of it than it should have)

--
Regards,
Christoph

#3 lore raw

Re: [PATCH v3 1/2] eeprom: at24: fix coding style issues

2017-12-10 2:31 GMT+01:00 Christoph Böhmwalder <[email protected]>:

Quoted 10 lines · Bartosz Golaszewski

drivers/misc/eeprom/at24.c MODULE_PARM_DESC(write_timeout, "Time (in ms) to try writes (default 25)"); · line 116

Quoted 5 lines
drivers/misc/eeprom/at24.c +2 -2
-#define AT24_DEVICE_MAGIC(_len, _flags)              \
-     ((1 << AT24_SIZE_FLAGS | (_flags))              \
+#define AT24_DEVICE_MAGIC(_len, _flags)                      \
+     ((1 << AT24_SIZE_FLAGS | (_flags))              \
          << AT24_SIZE_BYTELEN | ilog2(_len))

Looks like there's been a whitespace accident on that first added line. (Backslash has one more tab in front of it than it should have)

Quoted 3 lines

--
Regards,
Christoph

It's only the way diff prints the patch. The file looks correct.

Thanks,
Bartosz

#4 lore raw

Re: [PATCH v3 1/2] eeprom: at24: fix coding style issues

In reply to Bartosz Golaszewski

drivers/misc/eeprom/at24.c struct at24_data { · line 105

Quoted 5 lines · Bartosz Golaszewski

Fix issues reported by checkpatch for at24.c.

drivers/misc/eeprom/at24.c +2 -0
+module_param(io_limit, uint, 0000);
 
+module_param(write_timeout, uint, 0000);

0 is a pretty much octal number as 0000.
So, I would prefer not to blindly follow the stupid advise from checkpatch, better to teach checkpatch about 0.

Signature · 2 lines
With Best Regards,
Andy Shevchenko
#5 lore raw

Re: [PATCH v3 1/2] eeprom: at24: fix coding style issues

2017-12-10 13:57 GMT+01:00 Andy Shevchenko <[email protected]>:

Quoted 13 lines · Bartosz Golaszewski

drivers/misc/eeprom/at24.c struct at24_data { · line 105

Quoted 5 lines

Fix issues reported by checkpatch for at24.c.

drivers/misc/eeprom/at24.c +2 -0
+module_param(io_limit, uint, 0000);
 
+module_param(write_timeout, uint, 0000);

0 is a pretty much octal number as 0000.
So, I would prefer not to blindly follow the stupid advise from checkpatch, better to teach checkpatch about 0.

I submitted a patch for that - let's see what checkpatch maintainers say.

Thanks,
Bartosz

#6 lore raw

Re: [PATCH v3 1/2] eeprom: at24: fix coding style issues

Quoted 13 lines · Bartosz Golaszewski

2017-12-10 13:57 GMT+01:00 Andy Shevchenko <[email protected]>:

Quoted 11 lines · Bartosz Golaszewski

drivers/misc/eeprom/at24.c struct at24_data { · line 105

Quoted 3 lines

Fix issues reported by checkpatch for at24.c.

drivers/misc/eeprom/at24.c +2 -0
+module_param(io_limit, uint, 0000);
+module_param(write_timeout, uint, 0000);

0 is a pretty much octal number as 0000.
So, I would prefer not to blindly follow the stupid advise from checkpatch, better to teach checkpatch about 0.

Quoted 1 line

I submitted a patch for that - let's see what checkpatch maintainers say.

Personally, I prefer 4 digit octal in most cases as it shows the coder knows that the argument is a permissions use and not just some generic 0.

There are not many uses of 0 for permissions outside of module_param*.

I suppose all the variants of module_param calls, as a 0 there is specifically a "not to appear in sysfs" flag, could or should be excluded from that octal test.

#7 lore raw

PATCH v3 2/2 eeprom: at24: use a common prefix for all symbols in at24.c

In reply to Bartosz Golaszewski

There are a couple symbols defined in the driver source file which are missing the at24_ prefix. This patch fixes that.

For module params: use module_param_named() in order to not break userspace.

---
 drivers/misc/eeprom/at24.c | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)
drivers/misc/eeprom/at24.c +18 -16
index 2426f2c111c7..27497286912a 100644
@@ -93,17 +93,17 @@ struct at24_data {
  *
  * This value is forced to be a power of two so that writes align on pages.
  */
-static unsigned int io_limit = 128;
-module_param(io_limit, uint, 0000);
-MODULE_PARM_DESC(io_limit, "Maximum bytes per I/O (default 128)");
+static unsigned int at24_io_limit = 128;
+module_param_named(io_limit, at24_io_limit, uint, 0000);
+MODULE_PARM_DESC(at24_io_limit, "Maximum bytes per I/O (default 128)");
 
 /*
  * Specs often allow 5 msec for a page write, sometimes 20 msec;
  * it's important to recover from write timeouts.
  */
-static unsigned int write_timeout = 25;
-module_param(write_timeout, uint, 0000);
-MODULE_PARM_DESC(write_timeout, "Time (in ms) to try writes (default 25)");
+static unsigned int at24_write_timeout = 25;
+module_param_named(write_timeout, at24_write_timeout, uint, 0000);
+MODULE_PARM_DESC(at24_write_timeout, "Time (in ms) to try writes (default 25)");
 
 #define AT24_SIZE_BYTELEN 5
 #define AT24_SIZE_FLAGS 8
@@ -126,8 +126,9 @@ MODULE_PARM_DESC(write_timeout, "Time (in ms) to try writes (default 25)");
  * iteration of processing the request. Both should be unsigned integers
  * holding at least 32 bits.
  */
-#define loop_until_timeout(tout, op_time)				\
-	for (tout = jiffies + msecs_to_jiffies(write_timeout), op_time = 0; \
+#define at24_loop_until_timeout(tout, op_time)				\
+	for (tout = jiffies + msecs_to_jiffies(at24_write_timeout),	\
+	     op_time = 0;						\
 	     op_time ? time_before(op_time, tout) : true;		\
 	     usleep_range(1000, 1500), op_time = jiffies)
 
@@ -290,13 +291,13 @@ static ssize_t at24_regmap_read(struct at24_data *at24, char *buf,
 	regmap = at24_client->regmap;
 	client = at24_client->client;
 
-	if (count > io_limit)
-		count = io_limit;
+	if (count > at24_io_limit)
+		count = at24_io_limit;
 
 	/* adjust offset for mac and serial read ops */
 	offset += at24->offset_adj;
 
-	loop_until_timeout(timeout, read_time) {
+	at24_loop_until_timeout(timeout, read_time) {
 		ret = regmap_bulk_read(regmap, offset, buf, count);
 		dev_dbg(&client->dev, "read %zu@%d --> %d (%ld)\n",
 			count, offset, ret, jiffies);
@@ -347,7 +348,7 @@ static ssize_t at24_regmap_write(struct at24_data *at24, const char *buf,
 	client = at24_client->client;
 	count = at24_adjust_write_count(at24, offset, count);
 
-	loop_until_timeout(timeout, write_time) {
+	at24_loop_until_timeout(timeout, write_time) {
 		ret = regmap_bulk_write(regmap, offset, buf, count);
 		dev_dbg(&client->dev, "write %zu@%d --> %d (%ld)\n",
 			count, offset, ret, jiffies);
@@ -613,7 +614,8 @@ static int at24_probe(struct i2c_client *client, const struct i2c_device_id *id)
 
 	writable = !(chip.flags & AT24_FLAG_READONLY);
 	if (writable) {
-		at24->write_max = min_t(unsigned int, chip.page_size, io_limit);
+		at24->write_max = min_t(unsigned int,
+					chip.page_size, at24_io_limit);
 		if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C) &&
 		    at24->write_max > I2C_SMBUS_BLOCK_MAX)
 			at24->write_max = I2C_SMBUS_BLOCK_MAX;
@@ -728,12 +730,12 @@ static struct i2c_driver at24_driver = {
 
 static int __init at24_init(void)
 {
-	if (!io_limit) {
-		pr_err("at24: io_limit must not be 0!\n");
+	if (!at24_io_limit) {
+		pr_err("at24: at24_io_limit must not be 0!\n");
 		return -EINVAL;
 	}
 
-	io_limit = rounddown_pow_of_two(io_limit);
+	at24_io_limit = rounddown_pow_of_two(at24_io_limit);
 	return i2c_add_driver(&at24_driver);
 }
 module_init(at24_init);
Signature · 1 line
2.15.1