This patch series implements various improvements for the k10temp driver. Patch 1/4 introduces the use of bit operations. Patch 2/4 converts the driver to use the devm_hwmon_device_register_with_info API. This not only simplifies the code and reduces its size, it also makes the code easier to maintain and enhance. Patch 3/4 adds support for reporting Core Complex Die (CCD) temperatures on Ryzen 3 (Zen2) CPUs. Patch 4/4 adds support for reporting core and SoC current and voltage information on Ryzen CPUs. With all patches in place, output on Ryzen 3900 CPUs looks as follows (with the system under load). k10temp-pci-00c3 Adapter: PCI adapter Vcore: +1.36 V Vsoc: +1.18 V Tdie: +86.8°C (high = +70.0°C) Tctl: +86.8°C Tccd1: +80.0°C Tccd2: +81.8°C Icore: +44.14 A Isoc: +13.83 A The patch series has only been tested with Ryzen 3900 CPUs. Further test coverage will be necessary before the changes can be applied to the Linux kernel.