R-Car Gen4 has the fuse registers at different locations and with different names, but with the same purpose. So, first refactor IP core differences into a 'info' struct, then add the fuse_read callback to it. Patches are based on top of: [PATCH v2 0/3] drivers/thermal/rcar_gen3_thermal: Fix device initialization [PATCH 0/2] thermal: Add support for R-Car V4H They have been tested on R-Car H3 ES2.0 and M3-N against regressions. Actual testing of the new fuses on S4-8 still needs to be done because I don't have access to such HW. @Shimoda-san: maybe the BSP team or Test team can test these patches? Looking forward to other review comments, too, of course. Happy hacking, Wolfram Wolfram Sang (3): drivers/thermal/rcar_gen3_thermal: introduce 'info' structure drivers/thermal/rcar_gen3_thermal: refactor reading fuses into seprarate function drivers/thermal/rcar_gen3_thermal: add reading fuses for Gen4 drivers/thermal/rcar_gen3_thermal.c | 141 ++++++++++++++++++++-------- 1 file changed, 102 insertions(+), 39 deletions(-) -- 2.30.2