mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			96 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 3f647927237babee492cbb6ce0ab29417af55ea0 Mon Sep 17 00:00:00 2001
 | 
						|
From: Mariusz Bialonczyk <manio@skyboo.net>
 | 
						|
Date: Mon, 4 Mar 2019 12:23:36 +0100
 | 
						|
Subject: [PATCH 502/515] w1: ds2482: cosmetic fixes after 54865314f5a1
 | 
						|
 | 
						|
commit 5cb27d30fc3a281e830a2099d520b469e2b82008 upstream.
 | 
						|
 | 
						|
We have a helper function ds2482_calculate_config() which is calculating
 | 
						|
the config value, so just use it instead of passing the same variable
 | 
						|
in all calls to this function.
 | 
						|
 | 
						|
Also fixes the placement of module parameters to match with:
 | 
						|
50fa2951bd74 (w1: Organize driver source to natural/common order)
 | 
						|
by Andrew F. Davis
 | 
						|
 | 
						|
Signed-off-by: Mariusz Bialonczyk <manio@skyboo.net>
 | 
						|
Cc: Andrew Worsley <amworsley@gmail.com>
 | 
						|
Cc: Andrew F. Davis <afd@ti.com>
 | 
						|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 | 
						|
---
 | 
						|
 drivers/w1/masters/ds2482.c | 18 +++++++++++-------
 | 
						|
 1 file changed, 11 insertions(+), 7 deletions(-)
 | 
						|
 | 
						|
diff --git a/drivers/w1/masters/ds2482.c b/drivers/w1/masters/ds2482.c
 | 
						|
index 8b5e598ffdb3..8f2b25f1614c 100644
 | 
						|
--- a/drivers/w1/masters/ds2482.c
 | 
						|
+++ b/drivers/w1/masters/ds2482.c
 | 
						|
@@ -37,6 +37,11 @@ module_param_named(active_pullup, ds2482_active_pullup, int, 0644);
 | 
						|
 MODULE_PARM_DESC(active_pullup, "Active pullup (apply to all buses): " \
 | 
						|
 				"0-disable, 1-enable (default)");
 | 
						|
 
 | 
						|
+/* extra configurations - e.g. 1WS */
 | 
						|
+static int extra_config;
 | 
						|
+module_param(extra_config, int, S_IRUGO | S_IWUSR);
 | 
						|
+MODULE_PARM_DESC(extra_config, "Extra Configuration settings 1=APU,2=PPM,3=SPU,8=1WS");
 | 
						|
+
 | 
						|
 /**
 | 
						|
  * The DS2482 registers - there are 3 registers that are addressed by a read
 | 
						|
  * pointer. The read pointer is set by the last command executed.
 | 
						|
@@ -70,8 +75,6 @@ MODULE_PARM_DESC(active_pullup, "Active pullup (apply to all buses): " \
 | 
						|
 #define DS2482_REG_CFG_PPM		0x02	/* presence pulse masking */
 | 
						|
 #define DS2482_REG_CFG_APU		0x01	/* active pull-up */
 | 
						|
 
 | 
						|
-/* extra configurations - e.g. 1WS */
 | 
						|
-static int extra_config;
 | 
						|
 
 | 
						|
 /**
 | 
						|
  * Write and verify codes for the CHANNEL_SELECT command (DS2482-800 only).
 | 
						|
@@ -130,6 +133,8 @@ struct ds2482_data {
 | 
						|
  */
 | 
						|
 static inline u8 ds2482_calculate_config(u8 conf)
 | 
						|
 {
 | 
						|
+	conf |= extra_config;
 | 
						|
+
 | 
						|
 	if (ds2482_active_pullup)
 | 
						|
 		conf |= DS2482_REG_CFG_APU;
 | 
						|
 
 | 
						|
@@ -405,7 +410,7 @@ static u8 ds2482_w1_reset_bus(void *data)
 | 
						|
 		/* If the chip did reset since detect, re-config it */
 | 
						|
 		if (err & DS2482_REG_STS_RST)
 | 
						|
 			ds2482_send_cmd_data(pdev, DS2482_CMD_WRITE_CONFIG,
 | 
						|
-					ds2482_calculate_config(extra_config));
 | 
						|
+					     ds2482_calculate_config(0x00));
 | 
						|
 	}
 | 
						|
 
 | 
						|
 	mutex_unlock(&pdev->access_lock);
 | 
						|
@@ -431,7 +436,8 @@ static u8 ds2482_w1_set_pullup(void *data, int delay)
 | 
						|
 		ds2482_wait_1wire_idle(pdev);
 | 
						|
 		/* note: it seems like both SPU and APU have to be set! */
 | 
						|
 		retval = ds2482_send_cmd_data(pdev, DS2482_CMD_WRITE_CONFIG,
 | 
						|
-			ds2482_calculate_config(extra_config|DS2482_REG_CFG_SPU|DS2482_REG_CFG_APU));
 | 
						|
+			ds2482_calculate_config(DS2482_REG_CFG_SPU |
 | 
						|
+						DS2482_REG_CFG_APU));
 | 
						|
 		ds2482_wait_1wire_idle(pdev);
 | 
						|
 	}
 | 
						|
 
 | 
						|
@@ -484,7 +490,7 @@ static int ds2482_probe(struct i2c_client *client,
 | 
						|
 
 | 
						|
 	/* Set all config items to 0 (off) */
 | 
						|
 	ds2482_send_cmd_data(data, DS2482_CMD_WRITE_CONFIG,
 | 
						|
-		ds2482_calculate_config(extra_config));
 | 
						|
+		ds2482_calculate_config(0x00));
 | 
						|
 
 | 
						|
 	mutex_init(&data->access_lock);
 | 
						|
 
 | 
						|
@@ -559,7 +565,5 @@ module_i2c_driver(ds2482_driver);
 | 
						|
 
 | 
						|
 MODULE_AUTHOR("Ben Gardner <bgardner@wabtec.com>");
 | 
						|
 MODULE_DESCRIPTION("DS2482 driver");
 | 
						|
-module_param(extra_config, int, S_IRUGO | S_IWUSR);
 | 
						|
-MODULE_PARM_DESC(extra_config, "Extra Configuration settings 1=APU,2=PPM,3=SPU,8=1WS");
 | 
						|
 
 | 
						|
 MODULE_LICENSE("GPL");
 | 
						|
-- 
 | 
						|
2.19.1
 | 
						|
 |