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. Changes since RFT v2: * In patch 3, I mixed up the PTAT and THCODE registers. Fixed now. (Thanks, Shimoda-san!) * patches are rebased to 6.4-rc1 They have been tested on R-Car H3 ES2.0 and M3-N against regressions. Actual testing of the new fuses on Gen4 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? A branch for testing can be found here: git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/for-thermal 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.35.1