brcm2708: update to latest patches from RPi foundation
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.19 / 950-0423-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0423-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch b/target/linux/brcm2708/patches-4.19/950-0423-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch
new file mode 100644 (file)
index 0000000..3766707
--- /dev/null
@@ -0,0 +1,91 @@
+From 2bf6a79fb6555b5ebf21d03b1295e017804474c4 Mon Sep 17 00:00:00 2001
+From: Mariusz Bialonczyk <manio@skyboo.net>
+Date: Mon, 4 Mar 2019 12:23:36 +0100
+Subject: [PATCH] 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(-)
+
+--- a/drivers/w1/masters/ds2482.c
++++ b/drivers/w1/masters/ds2482.c
+@@ -37,6 +37,11 @@ module_param_named(active_pullup, ds2482
+ 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
+ #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 *dat
+               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_clien
+       /* 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");