kernel: bump 5.15 to 5.15.139
authorJohn Audia <therealgraysky@proton.me>
Mon, 20 Nov 2023 13:23:17 +0000 (08:23 -0500)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 25 Nov 2023 19:17:09 +0000 (20:17 +0100)
Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.139

Removed upstreamed:
x86/patches-5.15/120-hwrng-geode-fix-accessing-registers.patch[3]

All other patches automatically rebased.

3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.139&id=a5c83c8043d70b9a28d1bd78a2dbbab340f43889

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
[Refresh on top of OpenWrt 23.05]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit df167450a5094034bf4c5ad6fbfce502b09662bb)

16 files changed:
include/kernel-5.15
target/linux/generic/backport-5.15/020-v6.1-08-mm-multi-gen-LRU-support-page-table-walks.patch
target/linux/generic/backport-5.15/350-v5.18-regmap-add-configurable-downshift-for-addresses.patch
target/linux/generic/backport-5.15/351-v5.18-regmap-allow-a-defined-reg_base-to-be-added-to-every.patch
target/linux/generic/backport-5.15/352-v6.3-regmap-apply-reg_base-and-reg_downshift-for-single-r.patch
target/linux/generic/hack-5.15/259-regmap_dynamic.patch
target/linux/generic/hack-5.15/904-debloat_dma_buf.patch
target/linux/generic/pending-5.15/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch
target/linux/ipq807x/patches-5.15/0023-v6.0-clk-qcom-ipq8074-add-USB-GDSCs.patch
target/linux/ipq807x/patches-5.15/0038-v6.1-clk-qcom-clk-rcg2-add-rcg2-mux-ops.patch
target/linux/ipq807x/patches-5.15/0078-v5.19-clk-qcom-rcg2-Cache-CFG-register-updates-for-parked-.patch
target/linux/ipq807x/patches-5.15/0100-clk-qcom-clk-rcg2-introduce-support-for-multiple-con.patch
target/linux/mvebu/patches-5.15/102-leds-turris-omnia-support-HW-controlled-mode-via-pri.patch
target/linux/mvebu/patches-5.15/103-leds-turris-omnia-initialize-multi-intensity-to-full.patch
target/linux/mvebu/patches-5.15/104-leds-turris-omnia-change-max-brightness-from-255-to-.patch
target/linux/x86/patches-5.15/120-hwrng-geode-fix-accessing-registers.patch [deleted file]

index 6c2be5b3546a30429b80f7296c0550645606f4f3..30ee7cd866aac5ccfc8cef596d54992cdab700b9 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-5.15 = .138
-LINUX_KERNEL_HASH-5.15.138 = af84e54164e1c01f59764ba528448ed36b377d22aafbd81b4b0cf47792ef4aaa
+LINUX_VERSION-5.15 = .139
+LINUX_KERNEL_HASH-5.15.139 = 9c68c10dfe18e59b892e940436dea6a18d167160d55e62563cf7282244d8044e
index 754d97d84b42dd7e369793ef9b1378481eba4fad..43fd69ae7944e5b486fc31423827e443a89c94bd 100644 (file)
@@ -414,7 +414,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
        /* forking complete and child started to run, tell ptracer */
 --- a/kernel/sched/core.c
 +++ b/kernel/sched/core.c
-@@ -5010,6 +5010,7 @@ context_switch(struct rq *rq, struct tas
+@@ -5014,6 +5014,7 @@ context_switch(struct rq *rq, struct tas
                 * finish_task_switch()'s mmdrop().
                 */
                switch_mm_irqs_off(prev->active_mm, next->mm, next);
index 99cd89ea002f433ecdacc2767e52731134b969e2..7bb328f3a6de9ad3a48051732a68ce1b811ee5f8 100644 (file)
@@ -37,7 +37,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
        map->format.val_bytes = DIV_ROUND_UP(config->val_bits, 8);
        map->format.buf_size = DIV_ROUND_UP(config->reg_bits +
                        config->val_bits + config->pad_bits, 8);
-@@ -1735,6 +1736,7 @@ static int _regmap_raw_write_impl(struct
+@@ -1737,6 +1738,7 @@ static int _regmap_raw_write_impl(struct
                        return ret;
        }
  
@@ -45,7 +45,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
        map->format.format_reg(map->work_buf, reg, map->reg_shift);
        regmap_set_work_buf_flag_mask(map, map->format.reg_bytes,
                                      map->write_flag_mask);
-@@ -1905,6 +1907,7 @@ static int _regmap_bus_formatted_write(v
+@@ -1907,6 +1909,7 @@ static int _regmap_bus_formatted_write(v
                        return ret;
        }
  
@@ -53,7 +53,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
        map->format.format_write(map, reg, val);
  
        trace_regmap_hw_write_start(map, reg, 1);
-@@ -2346,6 +2349,7 @@ static int _regmap_raw_multi_reg_write(s
+@@ -2348,6 +2351,7 @@ static int _regmap_raw_multi_reg_write(s
                unsigned int reg = regs[i].reg;
                unsigned int val = regs[i].def;
                trace_regmap_hw_write_start(map, reg, 1);
@@ -61,7 +61,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
                map->format.format_reg(u8, reg, map->reg_shift);
                u8 += reg_bytes + pad_bytes;
                map->format.format_val(u8, val, 0);
-@@ -2673,6 +2677,7 @@ static int _regmap_raw_read(struct regma
+@@ -2675,6 +2679,7 @@ static int _regmap_raw_read(struct regma
                        return ret;
        }
  
index 0f32288fcab5b31c42ed856aa031bbdcfff43e0f..841f8d45286fe0aca4f607fcbbb8f401151f91ff 100644 (file)
@@ -42,7 +42,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
        map->format.reg_bytes = DIV_ROUND_UP(config->reg_bits, 8);
        map->format.pad_bytes = config->pad_bits / 8;
        map->format.reg_downshift = config->reg_downshift;
-@@ -1736,6 +1738,7 @@ static int _regmap_raw_write_impl(struct
+@@ -1738,6 +1740,7 @@ static int _regmap_raw_write_impl(struct
                        return ret;
        }
  
@@ -50,7 +50,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
        reg >>= map->format.reg_downshift;
        map->format.format_reg(map->work_buf, reg, map->reg_shift);
        regmap_set_work_buf_flag_mask(map, map->format.reg_bytes,
-@@ -1907,6 +1910,7 @@ static int _regmap_bus_formatted_write(v
+@@ -1909,6 +1912,7 @@ static int _regmap_bus_formatted_write(v
                        return ret;
        }
  
@@ -58,7 +58,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
        reg >>= map->format.reg_downshift;
        map->format.format_write(map, reg, val);
  
-@@ -2349,6 +2353,7 @@ static int _regmap_raw_multi_reg_write(s
+@@ -2351,6 +2355,7 @@ static int _regmap_raw_multi_reg_write(s
                unsigned int reg = regs[i].reg;
                unsigned int val = regs[i].def;
                trace_regmap_hw_write_start(map, reg, 1);
@@ -66,7 +66,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
                reg >>= map->format.reg_downshift;
                map->format.format_reg(u8, reg, map->reg_shift);
                u8 += reg_bytes + pad_bytes;
-@@ -2677,6 +2682,7 @@ static int _regmap_raw_read(struct regma
+@@ -2679,6 +2684,7 @@ static int _regmap_raw_read(struct regma
                        return ret;
        }
  
index 804f68d23c50a5736a65d170907b1440689a7c74..bc3865c75b92afff02d9c299f46b371eb9f2ef4a 100644 (file)
@@ -28,7 +28,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
 
 --- a/drivers/base/regmap/regmap.c
 +++ b/drivers/base/regmap/regmap.c
-@@ -1929,6 +1929,8 @@ static int _regmap_bus_reg_write(void *c
+@@ -1931,6 +1931,8 @@ static int _regmap_bus_reg_write(void *c
  {
        struct regmap *map = context;
  
@@ -37,7 +37,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
        return map->bus->reg_write(map->bus_context, reg, val);
  }
  
-@@ -2703,6 +2705,8 @@ static int _regmap_bus_reg_read(void *co
+@@ -2705,6 +2707,8 @@ static int _regmap_bus_reg_read(void *co
  {
        struct regmap *map = context;
  
@@ -46,7 +46,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
        return map->bus->reg_read(map->bus_context, reg, val);
  }
  
-@@ -3078,6 +3082,8 @@ static int _regmap_update_bits(struct re
+@@ -3080,6 +3084,8 @@ static int _regmap_update_bits(struct re
                *change = false;
  
        if (regmap_volatile(map, reg) && map->reg_update_bits) {
index 76a5ace6f31536be890380e8e291e7e97d74662b..e0820ccfc0dbf3107e2fcf8baa7e88f945147a8e 100644 (file)
@@ -125,7 +125,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #include <linux/mutex.h>
  #include <linux/err.h>
  #include <linux/property.h>
-@@ -3358,3 +3359,5 @@ static int __init regmap_initcall(void)
+@@ -3360,3 +3361,5 @@ static int __init regmap_initcall(void)
        return 0;
  }
  postcore_initcall(regmap_initcall);
index 0291a5e9bd8c429d7a99cbf35f806e62d693ebf8..71546bf942da4ed612fb016bcdcfd422b810ca6e 100644 (file)
@@ -72,7 +72,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +MODULE_LICENSE("GPL");
 --- a/kernel/sched/core.c
 +++ b/kernel/sched/core.c
-@@ -4216,6 +4216,7 @@ int wake_up_state(struct task_struct *p,
+@@ -4220,6 +4220,7 @@ int wake_up_state(struct task_struct *p,
  {
        return try_to_wake_up(p, state, 0);
  }
index b618c89613633244d00da6acda3a5e1670cbdae8..a15fc786a0ef880c47d751fa76e01866fd303d80 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/netfilter/nf_tables_api.c
 +++ b/net/netfilter/nf_tables_api.c
-@@ -7707,7 +7707,7 @@ static int nft_register_flowtable_net_ho
+@@ -7703,7 +7703,7 @@ static int nft_register_flowtable_net_ho
                err = flowtable->data.type->setup(&flowtable->data,
                                                  hook->ops.dev,
                                                  FLOW_BLOCK_BIND);
index 7fcb1905783267baea636ff2b37f46640c6556b5..1f76866a434cb10671f46f658382cc79362c2e54 100644 (file)
@@ -15,7 +15,7 @@ Link: https://lore.kernel.org/r/20220515210048.483898-9-robimarko@gmail.com
 
 --- a/drivers/clk/qcom/Kconfig
 +++ b/drivers/clk/qcom/Kconfig
-@@ -166,6 +166,7 @@ config IPQ_LCC_806X
+@@ -167,6 +167,7 @@ config IPQ_LCC_806X
  
  config IPQ_GCC_8074
        tristate "IPQ8074 Global Clock Controller"
index 451066099dd0f0da3ed5cfd49b769d4a1e026dfa..7462501e3db0aaa807aa02944a9c73b7faf61c23 100644 (file)
@@ -35,7 +35,7 @@ Link: https://lore.kernel.org/r/20220818220628.339366-1-robimarko@gmail.com
  extern const struct clk_ops clk_byte2_ops;
 --- a/drivers/clk/qcom/clk-rcg2.c
 +++ b/drivers/clk/qcom/clk-rcg2.c
-@@ -477,6 +477,13 @@ const struct clk_ops clk_rcg2_floor_ops
+@@ -471,6 +471,13 @@ const struct clk_ops clk_rcg2_floor_ops
  };
  EXPORT_SYMBOL_GPL(clk_rcg2_floor_ops);
  
index 5300c36dce70df0e8b5b4d77389e929eb5b95c33..47e3cc1f3ec8b42ef15dec3d5c1059fc51951e35 100644 (file)
@@ -110,7 +110,7 @@ Link: https://lore.kernel.org/r/20220426212136.1543984-1-bjorn.andersson@linaro.
  static int update_config(struct clk_rcg2 *rcg)
  {
        int count, ret;
-@@ -164,12 +174,10 @@ calc_rate(unsigned long rate, u32 m, u32
+@@ -158,12 +168,10 @@ calc_rate(unsigned long rate, u32 m, u32
  }
  
  static unsigned long
@@ -125,7 +125,7 @@ Link: https://lore.kernel.org/r/20220426212136.1543984-1-bjorn.andersson@linaro.
  
        if (rcg->mnd_width) {
                mask = BIT(rcg->mnd_width) - 1;
-@@ -190,6 +198,17 @@ clk_rcg2_recalc_rate(struct clk_hw *hw,
+@@ -184,6 +192,17 @@ clk_rcg2_recalc_rate(struct clk_hw *hw,
        return calc_rate(parent_rate, m, n, mode, hid_div);
  }
  
@@ -143,7 +143,7 @@ Link: https://lore.kernel.org/r/20220426212136.1543984-1-bjorn.andersson@linaro.
  static int _freq_tbl_determine_rate(struct clk_hw *hw, const struct freq_tbl *f,
                                    struct clk_rate_request *req,
                                    enum freq_policy policy)
-@@ -263,7 +282,8 @@ static int clk_rcg2_determine_floor_rate
+@@ -257,7 +276,8 @@ static int clk_rcg2_determine_floor_rate
        return _freq_tbl_determine_rate(hw, rcg->freq_tbl, req, FLOOR);
  }
  
@@ -153,7 +153,7 @@ Link: https://lore.kernel.org/r/20220426212136.1543984-1-bjorn.andersson@linaro.
  {
        u32 cfg, mask, d_val, not2d_val, n_minus_m;
        struct clk_hw *hw = &rcg->clkr.hw;
-@@ -305,15 +325,27 @@ static int __clk_rcg2_configure(struct c
+@@ -299,15 +319,27 @@ static int __clk_rcg2_configure(struct c
        cfg |= rcg->parent_map[index].cfg << CFG_SRC_SEL_SHIFT;
        if (rcg->mnd_width && f->n && (f->m != f->n))
                cfg |= CFG_MODE_DUAL_EDGE;
@@ -184,7 +184,7 @@ Link: https://lore.kernel.org/r/20220426212136.1543984-1-bjorn.andersson@linaro.
        if (ret)
                return ret;
  
-@@ -994,11 +1026,12 @@ static int clk_rcg2_shared_set_rate(stru
+@@ -988,11 +1020,12 @@ static int clk_rcg2_shared_set_rate(stru
                return -EINVAL;
  
        /*
@@ -201,7 +201,7 @@ Link: https://lore.kernel.org/r/20220426212136.1543984-1-bjorn.andersson@linaro.
  
        return clk_rcg2_shared_force_enable_clear(hw, f);
  }
-@@ -1022,6 +1055,11 @@ static int clk_rcg2_shared_enable(struct
+@@ -1016,6 +1049,11 @@ static int clk_rcg2_shared_enable(struct
        if (ret)
                return ret;
  
@@ -213,7 +213,7 @@ Link: https://lore.kernel.org/r/20220426212136.1543984-1-bjorn.andersson@linaro.
        ret = update_config(rcg);
        if (ret)
                return ret;
-@@ -1032,13 +1070,12 @@ static int clk_rcg2_shared_enable(struct
+@@ -1026,13 +1064,12 @@ static int clk_rcg2_shared_enable(struct
  static void clk_rcg2_shared_disable(struct clk_hw *hw)
  {
        struct clk_rcg2 *rcg = to_clk_rcg2(hw);
@@ -228,7 +228,7 @@ Link: https://lore.kernel.org/r/20220426212136.1543984-1-bjorn.andersson@linaro.
  
        /*
         * Park the RCG at a safe configuration - sourced off of safe source.
-@@ -1056,17 +1093,52 @@ static void clk_rcg2_shared_disable(stru
+@@ -1050,17 +1087,52 @@ static void clk_rcg2_shared_disable(stru
        update_config(rcg);
  
        clk_rcg2_clear_force_enable(hw);
index 5713775948dca20b10c6e5a45e0f7b12fbb1218f..9aa0a7952c9f3c523327536846d0c91a6895abac 100644 (file)
@@ -64,7 +64,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  /**
 --- a/drivers/clk/qcom/clk-rcg2.c
 +++ b/drivers/clk/qcom/clk-rcg2.c
-@@ -209,11 +209,60 @@ clk_rcg2_recalc_rate(struct clk_hw *hw,
+@@ -203,11 +203,60 @@ clk_rcg2_recalc_rate(struct clk_hw *hw,
        return __clk_rcg2_recalc_rate(hw, parent_rate, cfg);
  }
  
@@ -125,7 +125,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
        struct clk_hw *p;
        struct clk_rcg2 *rcg = to_clk_rcg2(hw);
        int index;
-@@ -232,7 +281,15 @@ static int _freq_tbl_determine_rate(stru
+@@ -226,7 +275,15 @@ static int _freq_tbl_determine_rate(stru
        if (!f)
                return -EINVAL;
  
@@ -142,7 +142,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
        if (index < 0)
                return index;
  
-@@ -242,18 +299,18 @@ static int _freq_tbl_determine_rate(stru
+@@ -236,18 +293,18 @@ static int _freq_tbl_determine_rate(stru
                return -EINVAL;
  
        if (clk_flags & CLK_SET_RATE_PARENT) {
@@ -167,7 +167,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
                        rate = tmp;
                }
        } else {
-@@ -261,7 +318,7 @@ static int _freq_tbl_determine_rate(stru
+@@ -255,7 +312,7 @@ static int _freq_tbl_determine_rate(stru
        }
        req->best_parent_hw = p;
        req->best_parent_rate = rate;
@@ -176,7 +176,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  
        return 0;
  }
-@@ -357,6 +414,7 @@ static int __clk_rcg2_set_rate(struct cl
+@@ -351,6 +408,7 @@ static int __clk_rcg2_set_rate(struct cl
  {
        struct clk_rcg2 *rcg = to_clk_rcg2(hw);
        const struct freq_tbl *f;
@@ -184,7 +184,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  
        switch (policy) {
        case FLOOR:
-@@ -372,7 +430,15 @@ static int __clk_rcg2_set_rate(struct cl
+@@ -366,7 +424,15 @@ static int __clk_rcg2_set_rate(struct cl
        if (!f)
                return -EINVAL;
  
index c14469460a76cf6c11d9ef9a8882609dc21d2383..34e3ce9a13925c7167cf99c82f70ae80712584fd 100644 (file)
@@ -54,9 +54,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
          side of CZ.NIC's Turris Omnia router. There are 12 RGB LEDs on the
 --- a/drivers/leds/leds-turris-omnia.c
 +++ b/drivers/leds/leds-turris-omnia.c
-@@ -41,6 +41,39 @@ struct omnia_leds {
-       struct omnia_led leds[];
- };
+@@ -72,6 +72,39 @@ static int omnia_cmd_read_u8(const struc
+               return -EIO;
+ }
  
 +static struct led_hw_trigger_type omnia_hw_trigger_type;
 +
@@ -94,7 +94,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
  static int omnia_led_brightness_set_blocking(struct led_classdev *cdev,
                                             enum led_brightness brightness)
  {
-@@ -112,6 +145,8 @@ static int omnia_led_register(struct i2c
+@@ -143,6 +176,8 @@ static int omnia_led_register(struct i2c
        cdev = &led->mc_cdev.led_cdev;
        cdev->max_brightness = 255;
        cdev->brightness_set_blocking = omnia_led_brightness_set_blocking;
@@ -102,8 +102,8 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 +      cdev->default_trigger = omnia_hw_trigger.name;
  
        /* put the LED into software mode */
-       ret = i2c_smbus_write_byte_data(client, CMD_LED_MODE,
-@@ -228,6 +263,12 @@ static int omnia_leds_probe(struct i2c_c
+       ret = omnia_cmd_write_u8(client, CMD_LED_MODE,
+@@ -249,6 +284,12 @@ static int omnia_leds_probe(struct i2c_c
  
        mutex_init(&leds->lock);
  
index 1fe76b8f2cfcf4de67f33457b53bf3ffe78e3e93..b6f7da64a72214be0f1f7b5a5888d1625ebf2f11 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/leds/leds-turris-omnia.c
 +++ b/drivers/leds/leds-turris-omnia.c
-@@ -131,10 +131,13 @@ static int omnia_led_register(struct i2c
+@@ -162,10 +162,13 @@ static int omnia_led_register(struct i2c
        }
  
        led->subled_info[0].color_index = LED_COLOR_ID_RED;
index fb8864dfd1d39f91ecafa7178490f0a3103695de..6d6d4cec706738ee162cf56c8905a2300789328d 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
 
 --- a/drivers/leds/leds-turris-omnia.c
 +++ b/drivers/leds/leds-turris-omnia.c
-@@ -146,7 +146,7 @@ static int omnia_led_register(struct i2c
+@@ -177,7 +177,7 @@ static int omnia_led_register(struct i2c
        init_data.fwnode = &np->fwnode;
  
        cdev = &led->mc_cdev.led_cdev;
diff --git a/target/linux/x86/patches-5.15/120-hwrng-geode-fix-accessing-registers.patch b/target/linux/x86/patches-5.15/120-hwrng-geode-fix-accessing-registers.patch
deleted file mode 100644 (file)
index 4c80150..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-From 859bd2e0c0052967536f3f902716f204d5a978b1 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jonas.gorski@gmail.com>
-Date: Fri, 8 Sep 2023 22:48:33 +0200
-Subject: [PATCH] hwrng: geode: fix accessing registers
-
-When the membase and pci_dev pointer were moved to a new struct in priv,
-the actual membase users were left untouched, and they started reading
-out arbitrary memory behind the struct instead of registers. This
-unfortunately turned the RNG into a constant number generator, depending
-on the content of what was at that offset.
-
-To fix this, update geode_rng_data_{read,present}() to also get the
-membase via amd_geode_priv, and properly read from the right addresses
-again.
-
-Fixes: 9f6ec8dc574e ("hwrng: geode - Fix PCI device refcount leak")
-Reported-by: Timur I. Davletshin <timur.davletshin@gmail.com>
-Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217882
-Tested-by: Timur I. Davletshin <timur.davletshin@gmail.com>
-Suggested-by: Jo-Philipp Wich <jo@mein.io>
-Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
----
- drivers/char/hw_random/geode-rng.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
---- a/drivers/char/hw_random/geode-rng.c
-+++ b/drivers/char/hw_random/geode-rng.c
-@@ -58,7 +58,8 @@ struct amd_geode_priv {
- static int geode_rng_data_read(struct hwrng *rng, u32 *data)
- {
--      void __iomem *mem = (void __iomem *)rng->priv;
-+      struct amd_geode_priv *priv = (struct amd_geode_priv *)rng->priv;
-+      void __iomem *mem = priv->membase;
-       *data = readl(mem + GEODE_RNG_DATA_REG);
-@@ -67,7 +68,8 @@ static int geode_rng_data_read(struct hw
- static int geode_rng_data_present(struct hwrng *rng, int wait)
- {
--      void __iomem *mem = (void __iomem *)rng->priv;
-+      struct amd_geode_priv *priv = (struct amd_geode_priv *)rng->priv;
-+      void __iomem *mem = priv->membase;
-       int data, i;
-       for (i = 0; i < 20; i++) {