public inbox for linux-hwmon@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 2/2] hwmon: (pmbus/tps53679) Add support for TPS53685
       [not found] <20250515081449.1433772-1-chiang.brian@inventec.com>
@ 2025-05-15  8:14 ` Chiang Brian
  2025-05-15  8:37   ` Chiang Brian
  2025-05-16  5:30   ` kernel test robot
  0 siblings, 2 replies; 4+ messages in thread
From: Chiang Brian @ 2025-05-15  8:14 UTC (permalink / raw)
  To: Jean Delvare, Guenter Roeck, Jonathan Corbet, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti
  Cc: Chiang Brian, linux-hwmon, linux-doc, linux-kernel, linux-riscv

The TPS53685 is a fully AMD SVI3 compliant step down
controller with trans-inductor voltage regulator
(TLVR) topology support, dual channels, built-in
non-volatile memory (NVM), PMBus interface, and
full compatible with TI NexFET smart power
stages.
Add support for it to the tps53679 driver.

Signed-off-by: Chiang Brian <chiang.brian@inventec.com>
---
v6 -> v7:
	1. Modify the type of device_id from u16 to char *
	2. Run make.cross with ARCH nios2, powerpc, and riscv
	- Link to v6: https://lore.kernel.org/all/20250424132538.2004510-2-chiang.brian@inventec.corp-partner.google.com/

v5 -> v6:
	1. Add information about tps53685 into tps53679.rst
	2. Add additional flags when identifing the chip as tps53685
	3. Adjust length once returned device id is terminated by null character
	- Link to v5: https://lore.kernel.org/all/20250314033040.3190642-1-chiang.brian@inventec.com/

v4 -> v5: 
	1. document the compatible of tps53685 into dt-bindings
	2. add the buffer length as argument for %*ph
	3. Add Changelog
	- Link to v4: https://lore.kernel.org/all/CAJCfHmW61d2jd_tYpNEqBG_Z58bEnVKAmsvhrEP1zXQoXqrUVw@mail.gmail.com/

v3 -> v4: 
	1. Add length comparison into the comparison of "id",or it may be true when 
	   the substring of "id" matches device id. 
	2. Restore `return 0;` in `tps53679_identify_chip()`
	- Link to v3: https://lore.kernel.org/all/CAJCfHmVyaDPh0_ThPjhBP0zMO1oE1AR=4=Zsa0cMPXU3J4v6dw@mail.gmail.com/

v2 -> v3:
	1. Remove the length comparsion in the comparison of "id".
	- Link to v2: https://lore.kernel.org/all/CAJCfHmUteFM+nUZWBWvmwFjALg1QUL5r+=syU1HmYTL1ewQWqA@mail.gmail.com/

v1 -> v2: 
	1. Modify subject and description to meet requirements
	2. Add "tps53685" into enum chips with numeric order
	3. Modify the content of marco "TPS53681_DEVICE_ID" from 0x81 to "\x81"
	   Add marco "TPS53685_DEVICE_ID" with content "TIShP"
	4. Modify the type of "id" from u16 to char* in `tps53679_identify_chip()`
	5. Modify the comparison of "id". It will be true if the string "id" matches 
	   device ID and compare with type char*,
	6. Add the length comparsion into the comparison of "id".
	7. Modify "len" as return code in `tps53679_identify_chip()`
	8. Output device error log with %*ph, instead of 0x%x\n" 
	9. Use existing tps53679_identify_multiphase() with argument 
	   "TPS53685_DEVICE_ID" in tps53685_identify() rather than creating one
	   tps53685_identify_multiphase()
	- Link to v1: https://lore.kernel.org/all/CAJCfHmVy3O4-nz2_PKF7TcXYr+HqTte1-bdUWLBmV7JOS7He1g@mail.gmail.com/

 Documentation/hwmon/tps53679.rst |  8 +++++++
 drivers/hwmon/pmbus/tps53679.c   | 36 +++++++++++++++++++++++++++-----
 2 files changed, 39 insertions(+), 5 deletions(-)

diff --git a/Documentation/hwmon/tps53679.rst b/Documentation/hwmon/tps53679.rst
index 3b9561648c24..dd5e4a37375d 100644
--- a/Documentation/hwmon/tps53679.rst
+++ b/Documentation/hwmon/tps53679.rst
@@ -43,6 +43,14 @@ Supported chips:
 
     Datasheet: https://www.ti.com/lit/gpn/TPS53681
 
+  * Texas Instruments TPS53685
+
+    Prefix: 'tps53685'
+
+    Addresses scanned: -
+
+    Datasheet: https://www.ti.com/lit/gpn/TPS53685
+
   * Texas Instruments TPS53688
 
     Prefix: 'tps53688'
diff --git a/drivers/hwmon/pmbus/tps53679.c b/drivers/hwmon/pmbus/tps53679.c
index 63524dff5e75..01fefaef1688 100644
--- a/drivers/hwmon/pmbus/tps53679.c
+++ b/drivers/hwmon/pmbus/tps53679.c
@@ -16,7 +16,7 @@
 #include "pmbus.h"
 
 enum chips {
-	tps53647, tps53667, tps53676, tps53679, tps53681, tps53688
+	tps53647, tps53667, tps53676, tps53679, tps53681, tps53685, tps53688
 };
 
 #define TPS53647_PAGE_NUM		1
@@ -31,7 +31,8 @@ enum chips {
 #define TPS53679_PROT_VR13_5MV		0x07 /* VR13.0 mode, 5-mV DAC */
 #define TPS53679_PAGE_NUM		2
 
-#define TPS53681_DEVICE_ID		0x81
+#define TPS53681_DEVICE_ID     "\x81"
+#define TPS53685_DEVICE_ID     "TIShP"
 
 #define TPS53681_PMBUS_REVISION		0x33
 
@@ -86,10 +87,12 @@ static int tps53679_identify_phases(struct i2c_client *client,
 }
 
 static int tps53679_identify_chip(struct i2c_client *client,
-				  u8 revision, u16 id)
+				  u8 revision, char *id)
 {
 	u8 buf[I2C_SMBUS_BLOCK_MAX];
 	int ret;
+	int buf_len;
+	int id_len;
 
 	ret = pmbus_read_byte_data(client, 0, PMBUS_REVISION);
 	if (ret < 0)
@@ -102,8 +105,14 @@ static int tps53679_identify_chip(struct i2c_client *client,
 	ret = i2c_smbus_read_block_data(client, PMBUS_IC_DEVICE_ID, buf);
 	if (ret < 0)
 		return ret;
-	if (ret != 1 || buf[0] != id) {
-		dev_err(&client->dev, "Unexpected device ID 0x%x\n", buf[0]);
+
+	/* Adjust length if null terminator if present */
+	buf_len = (buf[ret - 1] != '\x00' ? ret : ret - 1);
+
+	id_len = strlen(id);
+
+	if (buf_len != id_len || strncmp(id, buf, id_len)) {
+		dev_err(&client->dev, "Unexpected device ID: %*ph\n", ret, buf);
 		return -ENODEV;
 	}
 	return 0;
@@ -138,6 +147,16 @@ static int tps53679_identify(struct i2c_client *client,
 	return tps53679_identify_mode(client, info);
 }
 
+static int tps53685_identify(struct i2c_client *client,
+				 struct pmbus_driver_info *info)
+{
+	info->func[1] |= PMBUS_HAVE_VIN | PMBUS_HAVE_IIN | PMBUS_HAVE_PIN |
+			 PMBUS_HAVE_STATUS_INPUT;
+	info->format[PSC_VOLTAGE_OUT] = linear;
+	return tps53679_identify_chip(client, TPS53681_PMBUS_REVISION,
+					   TPS53685_DEVICE_ID);
+}
+
 static int tps53681_identify(struct i2c_client *client,
 			     struct pmbus_driver_info *info)
 {
@@ -263,6 +282,10 @@ static int tps53679_probe(struct i2c_client *client)
 		info->identify = tps53681_identify;
 		info->read_word_data = tps53681_read_word_data;
 		break;
+	case tps53685:
+	    info->pages = TPS53679_PAGE_NUM;
+	    info->identify = tps53685_identify;
+		break;
 	default:
 		return -ENODEV;
 	}
@@ -277,6 +300,7 @@ static const struct i2c_device_id tps53679_id[] = {
 	{"tps53676", tps53676},
 	{"tps53679", tps53679},
 	{"tps53681", tps53681},
+	{"tps53685", tps53685},
 	{"tps53688", tps53688},
 	{}
 };
@@ -289,6 +313,7 @@ static const struct of_device_id __maybe_unused tps53679_of_match[] = {
 	{.compatible = "ti,tps53676", .data = (void *)tps53676},
 	{.compatible = "ti,tps53679", .data = (void *)tps53679},
 	{.compatible = "ti,tps53681", .data = (void *)tps53681},
+	{.compatible = "ti,tps53685", .data = (void *)tps53685},
 	{.compatible = "ti,tps53688", .data = (void *)tps53688},
 	{}
 };
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v7 2/2] hwmon: (pmbus/tps53679) Add support for TPS53685
  2025-05-15  8:14 ` [PATCH v7 2/2] hwmon: (pmbus/tps53679) Add support for TPS53685 Chiang Brian
@ 2025-05-15  8:37   ` Chiang Brian
  2025-05-15  8:45     ` Chiang Brian
  2025-05-16  5:30   ` kernel test robot
  1 sibling, 1 reply; 4+ messages in thread
From: Chiang Brian @ 2025-05-15  8:37 UTC (permalink / raw)
  To: chiang.brian
  Cc: alex, aou, corbet, jdelvare, linux-doc, linux-hwmon, linux-kernel,
	linux-riscv, linux, palmer, paul.walmsley

On 14/03/2025 07:11, Chiang Brian wrote:
>
> On 14/03/2025 04:28, Chiang Brian wrote:
> > Add undocumented tps53685 into compatible in dt-bindings
> > 
> > Signed-off-by: Chiang Brian <chiang.brian@inventec.com>
> > ---
> >  Documentation/devicetree/bindings/trivial-devices.yaml | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Documentation/devicetree/bindings/trivial-devices.yaml
> > index fadbd3c041c8..c98d69facb48 100644
> > --- a/Documentation/devicetree/bindings/trivial-devices.yaml
> > +++ b/Documentation/devicetree/bindings/trivial-devices.yaml
> > @@ -380,6 +380,8 @@ properties:
> >            - ti,tps53676
> >              # TI Dual channel DCAP+ multiphase controller TPS53679
> >            - ti,tps53679
> > +            # TI Dual channel DCAP+ multiphase controller TPS53685 with AMD-SVI3
> > +          - ti,tps53685
>
> There is no user of such compatible, so how can it be undocumented?

The following link is the patch which I would like to add support tps53685,
and I think it is the user of the compatible:
https://lore.kernel.org/lkml/20250314033040.3190642-1-chiang.brian@inventec.com/

On Thu, May 14, 2025 at 03:30:38AM GMT, Chiang Brian wrote:
> v6 -> v7:
>	 1. Modify the type of device_id from u16 to char *
>	 2. Run make.cross with ARCH nios2, powerpc, and riscv
>	 - Link to v6: https://lore.kernel.org/all/20250424132538.2004510-2-chiang.brian@inventec.corp-partner.google.com/

Here are the results of compiling with mentioned architectures

nios2:
~/linux$ COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-13.3.0 ~/lkp-tests/kbuild/make.cross W=1 O=build_dir ARCH=nios2 SHELL=/bin/bash drivers/hwmon/pmbus/
Compiler will be installed in /home/docker-brian/0day
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
make --keep-going CONFIG_OF_ALL_DTBS=y CONFIG_DTC=y CROSS_COMPILE=/home/docker-brian/0day/gcc-13.3.0-nolibc/nios2-linux/bin/nios2-linux- --jobs=256 KCFLAGS= -Wno-error=return-type -Wreturn-type -funsigned-char -Wundef W=1 O=build_dir ARCH=nios2 SHELL=/bin/bash drivers/hwmon/pmbus/
make[1]: Entering directory '/home/docker-brian/linux/build_dir'
  SYNC    include/config/auto.conf.cmd
  GEN     Makefile
  GEN     Makefile
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/dtc/flattree.o
  HOSTCC  scripts/dtc/fstree.o
  HOSTCC  scripts/dtc/data.o
  HOSTCC  scripts/dtc/livetree.o
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/dtc/srcpos.o
  HOSTCC  scripts/dtc/checks.o
  HOSTCC  scripts/dtc/util.o
  LEX     scripts/dtc/dtc-lexer.lex.c
  YACC    scripts/dtc/dtc-parser.tab.[ch]
  HOSTCC  scripts/dtc/libfdt/fdt.o
  HOSTCC  scripts/dtc/libfdt/fdt_ro.o
  HOSTCC  scripts/dtc/libfdt/fdt_wip.o
  HOSTCC  scripts/dtc/libfdt/fdt_sw.o
  HOSTCC  scripts/dtc/libfdt/fdt_rw.o
  HOSTCC  scripts/dtc/libfdt/fdt_strerror.o
  HOSTCC  scripts/dtc/libfdt/fdt_empty_tree.o
  HOSTCC  scripts/dtc/libfdt/fdt_addresses.o
  HOSTCC  scripts/dtc/libfdt/fdt_overlay.o
  HOSTCC  scripts/dtc/fdtoverlay.o
  WRAP    arch/nios2/include/generated/uapi/asm/ucontext.h
  WRAP    arch/nios2/include/generated/uapi/asm/auxvec.h
  WRAP    arch/nios2/include/generated/uapi/asm/bitsperlong.h
  WRAP    arch/nios2/include/generated/uapi/asm/bpf_perf_event.h
  WRAP    arch/nios2/include/generated/uapi/asm/errno.h
  WRAP    arch/nios2/include/generated/uapi/asm/fcntl.h
  WRAP    arch/nios2/include/generated/uapi/asm/ioctl.h
  WRAP    arch/nios2/include/generated/uapi/asm/ioctls.h
  WRAP    arch/nios2/include/generated/uapi/asm/ipcbuf.h
  WRAP    arch/nios2/include/generated/uapi/asm/mman.h
  WRAP    arch/nios2/include/generated/uapi/asm/msgbuf.h
  WRAP    arch/nios2/include/generated/uapi/asm/param.h
  WRAP    arch/nios2/include/generated/uapi/asm/poll.h
  WRAP    arch/nios2/include/generated/uapi/asm/posix_types.h
  WRAP    arch/nios2/include/generated/uapi/asm/resource.h
  WRAP    arch/nios2/include/generated/uapi/asm/sembuf.h
  WRAP    arch/nios2/include/generated/uapi/asm/setup.h
  UPD     include/generated/compile.h
  WRAP    arch/nios2/include/generated/uapi/asm/shmbuf.h
  WRAP    arch/nios2/include/generated/uapi/asm/siginfo.h
  WRAP    arch/nios2/include/generated/uapi/asm/socket.h
  WRAP    arch/nios2/include/generated/uapi/asm/sockios.h
  WRAP    arch/nios2/include/generated/uapi/asm/stat.h
  WRAP    arch/nios2/include/generated/uapi/asm/statfs.h
  WRAP    arch/nios2/include/generated/uapi/asm/termbits.h
  WRAP    arch/nios2/include/generated/uapi/asm/termios.h
  WRAP    arch/nios2/include/generated/uapi/asm/types.h
  SYSHDR  arch/nios2/include/generated/uapi/asm/unistd_32.h
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  WRAP    arch/nios2/include/generated/asm/cmpxchg.h
  WRAP    arch/nios2/include/generated/asm/extable.h
  WRAP    arch/nios2/include/generated/asm/kvm_para.h
  WRAP    arch/nios2/include/generated/asm/mcs_spinlock.h
  WRAP    arch/nios2/include/generated/asm/spinlock.h
  WRAP    arch/nios2/include/generated/asm/user.h
  WRAP    arch/nios2/include/generated/asm/text-patching.h
  WRAP    arch/nios2/include/generated/asm/atomic.h
  WRAP    arch/nios2/include/generated/asm/archrandom.h
  WRAP    arch/nios2/include/generated/asm/barrier.h
  WRAP    arch/nios2/include/generated/asm/bitops.h
  WRAP    arch/nios2/include/generated/asm/bug.h
  WRAP    arch/nios2/include/generated/asm/cfi.h
  WRAP    arch/nios2/include/generated/asm/compat.h
  WRAP    arch/nios2/include/generated/asm/current.h
  WRAP    arch/nios2/include/generated/asm/device.h
  WRAP    arch/nios2/include/generated/asm/div64.h
  WRAP    arch/nios2/include/generated/asm/dma-mapping.h
  WRAP    arch/nios2/include/generated/asm/dma.h
  WRAP    arch/nios2/include/generated/asm/emergency-restart.h
  WRAP    arch/nios2/include/generated/asm/exec.h
  WRAP    arch/nios2/include/generated/asm/ftrace.h
  WRAP    arch/nios2/include/generated/asm/futex.h
  WRAP    arch/nios2/include/generated/asm/hardirq.h
  WRAP    arch/nios2/include/generated/asm/hw_irq.h
  WRAP    arch/nios2/include/generated/asm/irq_regs.h
  WRAP    arch/nios2/include/generated/asm/irq_work.h
  WRAP    arch/nios2/include/generated/asm/kdebug.h
  WRAP    arch/nios2/include/generated/asm/kmap_size.h
  WRAP    arch/nios2/include/generated/asm/kprobes.h
  WRAP    arch/nios2/include/generated/asm/local.h
  WRAP    arch/nios2/include/generated/asm/local64.h
  WRAP    arch/nios2/include/generated/asm/mmiowb.h
  WRAP    arch/nios2/include/generated/asm/module.h
  WRAP    arch/nios2/include/generated/asm/module.lds.h
  WRAP    arch/nios2/include/generated/asm/msi.h
  WRAP    arch/nios2/include/generated/asm/pci.h
  WRAP    arch/nios2/include/generated/asm/percpu.h
  WRAP    arch/nios2/include/generated/asm/rqspinlock.h
  WRAP    arch/nios2/include/generated/asm/preempt.h
  WRAP    arch/nios2/include/generated/asm/runtime-const.h
  WRAP    arch/nios2/include/generated/asm/rwonce.h
  WRAP    arch/nios2/include/generated/asm/sections.h
  WRAP    arch/nios2/include/generated/asm/serial.h
  WRAP    arch/nios2/include/generated/asm/simd.h
  WRAP    arch/nios2/include/generated/asm/softirq_stack.h
  WRAP    arch/nios2/include/generated/asm/topology.h
  WRAP    arch/nios2/include/generated/asm/trace_clock.h
  WRAP    arch/nios2/include/generated/asm/vermagic.h
  WRAP    arch/nios2/include/generated/asm/vga.h
  WRAP    arch/nios2/include/generated/asm/word-at-a-time.h
  WRAP    arch/nios2/include/generated/asm/video.h
  WRAP    arch/nios2/include/generated/asm/xor.h
  SYSTBL  arch/nios2/include/generated/asm/syscall_table_32.h
  HOSTLD  scripts/dtc/fdtoverlay
  HOSTLD  scripts/dtc/dtc
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/asn1_compiler
  HOSTCC  scripts/mod/mk_elfconfig
  CC      scripts/mod/empty.o
  CC      scripts/mod/devicetable-offsets.s
  UPD     scripts/mod/devicetable-offsets.h
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTCC  scripts/mod/symsearch.o
  HOSTLD  scripts/mod/modpost
  CC      kernel/bounds.s
  CHKSHA1 ../include/linux/atomic/atomic-arch-fallback.h
  CHKSHA1 ../include/linux/atomic/atomic-instrumented.h
  CHKSHA1 ../include/linux/atomic/atomic-long.h
  UPD     include/generated/bounds.h
  CC      arch/nios2/kernel/asm-offsets.s
  UPD     include/generated/asm-offsets.h
  CALL    ../scripts/checksyscalls.sh
  CC      drivers/hwmon/pmbus/pmbus_core.o
  CC      drivers/hwmon/pmbus/adm1275.o
  CC      drivers/hwmon/pmbus/adp1050.o
  CC      drivers/hwmon/pmbus/bpa-rs600.o
  CC      drivers/hwmon/pmbus/ina233.o
  CC      drivers/hwmon/pmbus/inspur-ipsps.o
  CC      drivers/hwmon/pmbus/ir35221.o
  CC      drivers/hwmon/pmbus/ir36021.o
  CC      drivers/hwmon/pmbus/isl68137.o
  CC      drivers/hwmon/pmbus/lm25066.o
  CC      drivers/hwmon/pmbus/ltc3815.o
  CC      drivers/hwmon/pmbus/ltc4286.o
  CC      drivers/hwmon/pmbus/max15301.o
  CC      drivers/hwmon/pmbus/max16601.o
  CC      drivers/hwmon/pmbus/max8688.o
  CC      drivers/hwmon/pmbus/mp2856.o
  CC      drivers/hwmon/pmbus/mp2888.o
  CC      drivers/hwmon/pmbus/mp2891.o
  CC      drivers/hwmon/pmbus/mp5023.o
  CC      drivers/hwmon/pmbus/mp9941.o
  CC      drivers/hwmon/pmbus/mpq7932.o
  CC      drivers/hwmon/pmbus/mpq8785.o
  CC      drivers/hwmon/pmbus/pm6764tr.o
  CC      drivers/hwmon/pmbus/stpddc60.o
  CC      drivers/hwmon/pmbus/tda38640.o
  CC      drivers/hwmon/pmbus/tps25990.o
  CC      drivers/hwmon/pmbus/tps40422.o
  CC      drivers/hwmon/pmbus/tps53679.o
  CC      drivers/hwmon/pmbus/tps546d24.o
  CC      drivers/hwmon/pmbus/ucd9200.o
  CC      drivers/hwmon/pmbus/xdp710.o
  CC      drivers/hwmon/pmbus/xdpe152c4.o
  CC      drivers/hwmon/pmbus/pim4328.o
  CC      drivers/hwmon/pmbus/crps.o
  AR      drivers/hwmon/pmbus/built-in.a
make[1]: Leaving directory '/home/docker-brian/linux/build_dir'

powerpc:
~/linux$ COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-21 ~/lkp-tests/kbuild/make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/hwmon/pmbus/
Compiler will be installed in /home/docker-brian/0day
PATH=/home/docker-brian/0day/clang-21/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
make --keep-going CONFIG_OF_ALL_DTBS=y CONFIG_DTC=y LLVM=1 CROSS_COMPILE=powerpc64-linux- --jobs=256 KCFLAGS= -Wno-error=return-type -Wreturn-type -funsigned-char -Wundef W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/hwmon/pmbus/
make[1]: Entering directory '/home/docker-brian/linux/build_dir'
  GEN     Makefile
  HOSTCC  scripts/basic/fixdep
  SYSHDR  arch/powerpc/include/generated/uapi/asm/unistd_32.h
  SYSHDR  arch/powerpc/include/generated/uapi/asm/unistd_64.h
  SYSTBL  arch/powerpc/include/generated/asm/syscall_table_32.h
  SYSTBL  arch/powerpc/include/generated/asm/syscall_table_64.h
  SYSTBL  arch/powerpc/include/generated/asm/syscall_table_spu.h
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/dtc/flattree.o
  HOSTCC  scripts/dtc/fstree.o
  HOSTCC  scripts/dtc/data.o
  HOSTCC  scripts/dtc/livetree.o
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/dtc/srcpos.o
  HOSTCC  scripts/dtc/checks.o
  HOSTCC  scripts/dtc/util.o
  LEX     scripts/dtc/dtc-lexer.lex.c
  YACC    scripts/dtc/dtc-parser.tab.[ch]
  HOSTCC  scripts/dtc/libfdt/fdt.o
  HOSTCC  scripts/dtc/libfdt/fdt_ro.o
  HOSTCC  scripts/dtc/libfdt/fdt_wip.o
  HOSTCC  scripts/dtc/libfdt/fdt_sw.o
  HOSTCC  scripts/dtc/libfdt/fdt_rw.o
  HOSTCC  scripts/dtc/libfdt/fdt_strerror.o
  HOSTCC  scripts/dtc/libfdt/fdt_empty_tree.o
  HOSTCC  scripts/dtc/libfdt/fdt_addresses.o
  HOSTCC  scripts/dtc/libfdt/fdt_overlay.o
  HOSTCC  scripts/dtc/fdtoverlay.o
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  HOSTLD  scripts/dtc/fdtoverlay
  HOSTLD  scripts/dtc/dtc
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/sorttable
  HOSTCC  scripts/asn1_compiler
  HOSTCC  scripts/mod/mk_elfconfig
  CC      scripts/mod/empty.o
  CC      scripts/mod/devicetable-offsets.s
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTCC  scripts/mod/symsearch.o
  HOSTCC  scripts/mod/file2alias.o
  HOSTLD  scripts/mod/modpost
  CC      kernel/bounds.s
  CHKSHA1 ../include/linux/atomic/atomic-arch-fallback.h
  CHKSHA1 ../include/linux/atomic/atomic-instrumented.h
  CHKSHA1 ../include/linux/atomic/atomic-long.h
  CC      arch/powerpc/kernel/asm-offsets.s
  CALL    ../scripts/checksyscalls.sh
  LDS     arch/powerpc/kernel/vdso/vdso32.lds
  VDSO32A arch/powerpc/kernel/vdso/sigtramp32-32.o
  VDSO32A arch/powerpc/kernel/vdso/gettimeofday-32.o
  VDSO32A arch/powerpc/kernel/vdso/datapage-32.o
  VDSO32A arch/powerpc/kernel/vdso/cacheflush-32.o
  VDSO32A arch/powerpc/kernel/vdso/note-32.o
  VDSO32A arch/powerpc/kernel/vdso/getcpu-32.o
  VDSO32A arch/powerpc/kernel/vdso/getrandom-32.o
  VDSO32A arch/powerpc/kernel/vdso/vgetrandom-chacha-32.o
  VDSO32C arch/powerpc/kernel/vdso/vgettimeofday-32.o
  VDSO32C arch/powerpc/kernel/vdso/vgetrandom-32.o
  VDSO32A arch/powerpc/kernel/vdso/crtsavres-32.o
  VDSO32L arch/powerpc/kernel/vdso/vdso32.so.dbg
  VDSO32SYM include/generated/vdso32-offsets.h
  LDS     arch/powerpc/kernel/vdso/vdso64.lds
  VDSO64A arch/powerpc/kernel/vdso/sigtramp64-64.o
  VDSO64A arch/powerpc/kernel/vdso/gettimeofday-64.o
  VDSO64A arch/powerpc/kernel/vdso/datapage-64.o
  VDSO64A arch/powerpc/kernel/vdso/cacheflush-64.o
  VDSO64A arch/powerpc/kernel/vdso/note-64.o
  VDSO64A arch/powerpc/kernel/vdso/getcpu-64.o
  VDSO64A arch/powerpc/kernel/vdso/getrandom-64.o
  VDSO64A arch/powerpc/kernel/vdso/vgetrandom-chacha-64.o
  CC      arch/powerpc/kernel/vdso/vgettimeofday-64.o
  CC      arch/powerpc/kernel/vdso/vgetrandom-64.o
  VDSO64L arch/powerpc/kernel/vdso/vdso64.so.dbg
  VDSO64SYM include/generated/vdso64-offsets.h
  CC      drivers/hwmon/pmbus/pmbus_core.o
  CC      drivers/hwmon/pmbus/adm1275.o
  CC      drivers/hwmon/pmbus/adp1050.o
  CC      drivers/hwmon/pmbus/bpa-rs600.o
  CC      drivers/hwmon/pmbus/ina233.o
  CC      drivers/hwmon/pmbus/inspur-ipsps.o
  CC      drivers/hwmon/pmbus/ir35221.o
  CC      drivers/hwmon/pmbus/ir36021.o
  CC      drivers/hwmon/pmbus/isl68137.o
  CC      drivers/hwmon/pmbus/lm25066.o
  CC      drivers/hwmon/pmbus/ltc3815.o
  CC      drivers/hwmon/pmbus/ltc4286.o
  CC      drivers/hwmon/pmbus/max15301.o
  CC      drivers/hwmon/pmbus/max16601.o
  CC      drivers/hwmon/pmbus/max8688.o
  CC      drivers/hwmon/pmbus/mp2856.o
  CC      drivers/hwmon/pmbus/mp2888.o
  CC      drivers/hwmon/pmbus/mp2891.o
  CC      drivers/hwmon/pmbus/mp5023.o
  CC      drivers/hwmon/pmbus/mp9941.o
  CC      drivers/hwmon/pmbus/mpq7932.o
  CC      drivers/hwmon/pmbus/mpq8785.o
  CC      drivers/hwmon/pmbus/pm6764tr.o
  CC      drivers/hwmon/pmbus/tda38640.o
  CC      drivers/hwmon/pmbus/stpddc60.o
  CC      drivers/hwmon/pmbus/tps25990.o
  CC      drivers/hwmon/pmbus/tps40422.o
  CC      drivers/hwmon/pmbus/tps53679.o
  CC      drivers/hwmon/pmbus/tps546d24.o
  CC      drivers/hwmon/pmbus/ucd9200.o
  CC      drivers/hwmon/pmbus/xdp710.o
  CC      drivers/hwmon/pmbus/xdpe152c4.o
  CC      drivers/hwmon/pmbus/pim4328.o
  CC      drivers/hwmon/pmbus/crps.o
  AR      drivers/hwmon/pmbus/built-in.a
make[1]: Leaving directory '/home/docker-brian/linux/build_dir'

riscv:
~/linux$ COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-8.5.0 ~/lkp-tests/kbuild/make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__ -fmax-errors=unlimited -fmax-warnings=unlimited' O=build_dir ARCH=riscv SHELL=/bin/bash arch/riscv/kernel/vendor_extensions/ drivers/acpi/apei/ drivers/hwmon/pmbus/ drivers/mfd/
Compiler will be installed in /home/docker-brian/0day
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
make --keep-going CONFIG_OF_ALL_DTBS=y CONFIG_DTC=y CROSS_COMPILE=/home/docker-brian/0day/gcc-8.5.0-nolibc/riscv64-linux/bin/riscv64-linux- --jobs=256 KCFLAGS= -Wno-error=return-type -Wreturn-type -funsigned-char -Wundef C=1 CF=-fdiagnostic-prefix -D__CHECK_ENDIAN__ -fmax-errors=unlimited -fmax-warnings=unlimited O=build_dir ARCH=riscv SHELL=/bin/bash arch/riscv/kernel/vendor_extensions/ drivers/acpi/apei/ drivers/hwmon/pmbus/ drivers/mfd/
make[1]: Entering directory '/home/docker-brian/linux/build_dir'
  SYSHDR  arch/riscv/include/generated/uapi/asm/unistd_32.h
  GEN     Makefile
  SYSHDR  arch/riscv/include/generated/uapi/asm/unistd_64.h
  HOSTCC  scripts/basic/fixdep
  SYSTBL  arch/riscv/include/generated/asm/syscall_table_32.h
  SYSTBL  arch/riscv/include/generated/asm/syscall_table_64.h
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/dtc/flattree.o
  HOSTCC  scripts/dtc/fstree.o
  HOSTCC  scripts/dtc/data.o
  HOSTCC  scripts/dtc/livetree.o
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/dtc/srcpos.o
  HOSTCC  scripts/dtc/checks.o
  HOSTCC  scripts/dtc/util.o
  LEX     scripts/dtc/dtc-lexer.lex.c
  YACC    scripts/dtc/dtc-parser.tab.[ch]
  HOSTCC  scripts/dtc/libfdt/fdt.o
  HOSTCC  scripts/dtc/libfdt/fdt_ro.o
  HOSTCC  scripts/dtc/libfdt/fdt_wip.o
  HOSTCC  scripts/dtc/libfdt/fdt_sw.o
  HOSTCC  scripts/dtc/libfdt/fdt_rw.o
  HOSTCC  scripts/dtc/libfdt/fdt_strerror.o
  HOSTCC  scripts/dtc/libfdt/fdt_empty_tree.o
  HOSTCC  scripts/dtc/libfdt/fdt_addresses.o
  HOSTCC  scripts/dtc/libfdt/fdt_overlay.o
  HOSTCC  scripts/dtc/fdtoverlay.o
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  HOSTLD  scripts/dtc/fdtoverlay
  HOSTLD  scripts/dtc/dtc
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/sorttable
  HOSTCC  scripts/asn1_compiler
  HOSTCC  scripts/mod/mk_elfconfig
  CC      scripts/mod/empty.o
  CC      scripts/mod/devicetable-offsets.s
  CHECK   ../scripts/mod/empty.c
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTCC  scripts/mod/symsearch.o
  HOSTLD  scripts/mod/modpost
  CC      kernel/bounds.s
  CHKSHA1 ../include/linux/atomic/atomic-arch-fallback.h
  CHKSHA1 ../include/linux/atomic/atomic-instrumented.h
  CHKSHA1 ../include/linux/atomic/atomic-long.h
  CC      arch/riscv/kernel/asm-offsets.s
  CALL    ../scripts/checksyscalls.sh
  LDS     arch/riscv/kernel/vdso/vdso.lds
  AS      arch/riscv/kernel/vdso/rt_sigreturn.o
  CC      arch/riscv/kernel/vdso/vgettimeofday.o
  AS      arch/riscv/kernel/vdso/getcpu.o
  AS      arch/riscv/kernel/vdso/flush_icache.o
  CC      arch/riscv/kernel/vdso/hwprobe.o
  AS      arch/riscv/kernel/vdso/sys_hwprobe.o
  AS      arch/riscv/kernel/vdso/note.o
  CHECK   ../arch/riscv/kernel/vdso/vgettimeofday.c
  CHECK   ../arch/riscv/kernel/vdso/hwprobe.c
  VDSOLD  arch/riscv/kernel/vdso/vdso.so.dbg
  VDSOSYM include/generated/vdso-offsets.h
  LDS     arch/riscv/kernel/compat_vdso/compat_vdso.lds
  VDSOAS  arch/riscv/kernel/compat_vdso/rt_sigreturn.o
  VDSOAS  arch/riscv/kernel/compat_vdso/getcpu.o
  VDSOAS  arch/riscv/kernel/compat_vdso/flush_icache.o
  VDSOAS  arch/riscv/kernel/compat_vdso/note.o
  VDSOLD  arch/riscv/kernel/compat_vdso/compat_vdso.so.dbg
  VDSOSYM include/generated/compat_vdso-offsets.h
make[4]: Nothing to be done for 'drivers/acpi/apei/'.
  CC      drivers/mfd/88pm860x-core.o
  CC      arch/riscv/kernel/vendor_extensions/andes.o
  CC      arch/riscv/kernel/vendor_extensions/thead.o
  CC      drivers/mfd/88pm860x-i2c.o
  CC      arch/riscv/kernel/vendor_extensions/thead_hwprobe.o
  CC      drivers/mfd/88pm800.o
  CC      drivers/mfd/88pm80x.o
  CC      drivers/mfd/88pm805.o
  CC      drivers/hwmon/pmbus/pmbus_core.o
  CC      drivers/hwmon/pmbus/adm1275.o
  CC      drivers/mfd/88pm886.o
  CC      drivers/hwmon/pmbus/adp1050.o
  CC      drivers/mfd/act8945a.o
  CC      drivers/hwmon/pmbus/bpa-rs600.o
  CC      drivers/mfd/sm501.o
  CC      drivers/hwmon/pmbus/ina233.o
  CC      drivers/mfd/bcm590xx.o
  CC      drivers/hwmon/pmbus/inspur-ipsps.o
  CC      drivers/mfd/bd9571mwv.o
  CC      drivers/hwmon/pmbus/ir35221.o
  CC      drivers/mfd/cs42l43.o
  CC      drivers/hwmon/pmbus/ir36021.o
  CC      drivers/hwmon/pmbus/isl68137.o
  CC      drivers/mfd/cs42l43-i2c.o
  CC      drivers/hwmon/pmbus/lm25066.o
  CC      drivers/mfd/exynos-lpass.o
  CC      drivers/hwmon/pmbus/ltc3815.o
  CC      drivers/hwmon/pmbus/ltc4286.o
  CC      drivers/mfd/gateworks-gsc.o
  CC      drivers/hwmon/pmbus/max15301.o
  CC      drivers/mfd/lp87565.o
  CC      drivers/hwmon/pmbus/max16601.o
  CC      drivers/hwmon/pmbus/max8688.o
  CC      drivers/mfd/ti_am335x_tscadc.o
  CC      drivers/hwmon/pmbus/mp2856.o
  CC      drivers/mfd/stmpe.o
  CC      drivers/hwmon/pmbus/mp2888.o
  CC      drivers/hwmon/pmbus/mp2891.o
  CC      drivers/mfd/stmpe-i2c.o
  CC      drivers/hwmon/pmbus/mp5023.o
  CC      drivers/hwmon/pmbus/mp9941.o
  CC      drivers/mfd/sun6i-prcm.o
  CC      drivers/hwmon/pmbus/mpq7932.o
  CC      drivers/mfd/tc3589x.o
  CC      drivers/hwmon/pmbus/mpq8785.o
  CC      drivers/hwmon/pmbus/pm6764tr.o
  CC      drivers/hwmon/pmbus/stpddc60.o
  CC      drivers/hwmon/pmbus/tda38640.o
  CC      drivers/hwmon/pmbus/tps25990.o
  CC      drivers/mfd/tqmx86.o
  CC      drivers/hwmon/pmbus/tps40422.o
  CC      drivers/hwmon/pmbus/tps53679.o
  CC      drivers/hwmon/pmbus/tps546d24.o
  CC      drivers/mfd/lochnagar-i2c.o
  CC      drivers/hwmon/pmbus/ucd9200.o
  CC      drivers/hwmon/pmbus/xdp710.o
  CC      drivers/hwmon/pmbus/xdpe152c4.o
  CC      drivers/hwmon/pmbus/pim4328.o
  CC      drivers/mfd/arizona-core.o
  CC      drivers/hwmon/pmbus/crps.o
  CC      drivers/mfd/arizona-irq.o
  CC      drivers/mfd/wm8997-tables.o
  CC      drivers/mfd/arizona-spi.o
  CC      drivers/mfd/wm8400-core.o
  CC      drivers/mfd/wm831x-core.o
  CC      drivers/mfd/wm831x-irq.o
  CC      drivers/mfd/wm831x-otp.o
  CC      drivers/mfd/wm831x-auxadc.o
  CC      drivers/mfd/wm831x-i2c.o
  CC      drivers/mfd/wm8350-core.o
  CC      drivers/mfd/wm8350-regmap.o
  CC      drivers/mfd/wm8350-gpio.o
  CC      drivers/mfd/wm8350-irq.o
  CC      drivers/mfd/wm8350-i2c.o
  CC      drivers/mfd/madera-core.o
  CC      drivers/mfd/cs47l85-tables.o
  CC      drivers/mfd/cs47l90-tables.o
  CC      drivers/mfd/cs47l92-tables.o
  CC      drivers/mfd/madera-i2c.o
  CHECK   ../arch/riscv/kernel/vendor_extensions/thead_hwprobe.c
  CC      drivers/mfd/madera-spi.o
  CC      drivers/mfd/tps6105x.o
  CC      drivers/mfd/tps6507x.o
  CC      drivers/mfd/tps65219.o
  CHECK   ../arch/riscv/kernel/vendor_extensions/andes.c
  CC      drivers/mfd/tps65910.o
  CHECK   ../arch/riscv/kernel/vendor_extensions/thead.c
  CC      drivers/mfd/tps65912-core.o
  CC      drivers/mfd/tps65912-spi.o
  CC      drivers/mfd/tps6594-core.o
  CC      drivers/mfd/tps6594-i2c.o
  CC      drivers/mfd/tps6594-spi.o
  CC      drivers/mfd/fsl-imx25-tsadc.o
  CC      drivers/mfd/mc13xxx-core.o
  CC      drivers/mfd/mc13xxx-spi.o
  CC      drivers/mfd/mfd-core.o
  CC      drivers/mfd/da9052-irq.o
  CC      drivers/mfd/da9052-core.o
  CC      drivers/mfd/da9052-spi.o
  CC      drivers/mfd/da9052-i2c.o
  CC      drivers/mfd/lp8788.o
  AR      arch/riscv/kernel/vendor_extensions/built-in.a
  CC      drivers/mfd/lp8788-irq.o
  CC      drivers/mfd/ti-lmu.o
  CC      drivers/mfd/da9055-core.o
  CC      drivers/mfd/da9055-i2c.o
  CC      drivers/mfd/da9062-core.o
  CC      drivers/mfd/da9063-core.o
  CC      drivers/mfd/da9063-irq.o
  CC      drivers/mfd/da9063-i2c.o
  CC      drivers/mfd/max14577.o
  CC      drivers/mfd/max77620.o
  CC      drivers/mfd/max77650.o
  CC      drivers/mfd/max77686.o
  CC      drivers/mfd/max77693.o
  CC      drivers/mfd/max77705.o
  CC      drivers/mfd/max77843.o
  CC      drivers/mfd/max8925-core.o
  CC      drivers/mfd/max8925-i2c.o
  CC      drivers/mfd/max8997.o
  CC      drivers/mfd/max8997-irq.o
  CC      drivers/mfd/mp2629.o
  CC      drivers/mfd/mt6360-core.o
  CC      drivers/mfd/mt6370.o
  CC      drivers/mfd/rz-mtu3.o
  CC      drivers/mfd/abx500-core.o
  CC      drivers/mfd/adp5520.o
  CC      drivers/mfd/adp5585.o
  CC      drivers/mfd/kempld-core.o
  CC      drivers/mfd/wl1273-core.o
  CC      drivers/mfd/si476x-cmd.o
  CC      drivers/mfd/si476x-prop.o
  CC      drivers/mfd/si476x-i2c.o
  CC      drivers/mfd/omap-usb-host.o
  CC      drivers/mfd/omap-usb-tll.o
  CC      drivers/mfd/qcom-pm8xxx.o
  CC      drivers/mfd/ssbi.o
  CC      drivers/mfd/atmel-smc.o
  CC      drivers/mfd/ntxec.o
  CC      drivers/mfd/rc5t583.o
  CC      drivers/mfd/rc5t583-irq.o
  CC      drivers/mfd/rk8xx-core.o
  CC      drivers/mfd/rk8xx-i2c.o
  CHECK   ../drivers/mfd/exynos-lpass.c
  CHECK   ../drivers/mfd/sun6i-prcm.c
  CC      drivers/mfd/rn5t618.o
  CC      drivers/mfd/sec-core.o
  CHECK   ../drivers/hwmon/pmbus/inspur-ipsps.c
  CC      drivers/mfd/sec-irq.o
  CHECK   ../drivers/hwmon/pmbus/max15301.c
  CHECK   ../drivers/mfd/88pm805.c
  CC      drivers/mfd/syscon.o
  CHECK   ../drivers/mfd/stmpe-i2c.c
  CHECK   ../drivers/hwmon/pmbus/ltc3815.c
  CC      drivers/mfd/lm3533-core.o
  CHECK   ../drivers/mfd/88pm80x.c
  CHECK   ../drivers/hwmon/pmbus/ir36021.c
  CHECK   ../drivers/mfd/88pm860x-i2c.c
  CHECK   ../drivers/hwmon/pmbus/adp1050.c
  CHECK   ../drivers/hwmon/pmbus/mpq7932.c
  CHECK   ../drivers/hwmon/pmbus/crps.c
  CHECK   ../drivers/mfd/act8945a.c
  CHECK   ../drivers/hwmon/pmbus/max16601.c
  CHECK   ../drivers/hwmon/pmbus/tps40422.c
  CHECK   ../drivers/mfd/cs42l43-i2c.c
  CHECK   ../drivers/hwmon/pmbus/mp9941.c
  CHECK   ../drivers/mfd/88pm800.c
  CHECK   ../drivers/hwmon/pmbus/ina233.c
  CHECK   ../drivers/mfd/88pm886.c
  CHECK   ../drivers/hwmon/pmbus/xdpe152c4.c
  CHECK   ../drivers/mfd/bcm590xx.c
  CHECK   ../drivers/hwmon/pmbus/ltc4286.c
  CHECK   ../drivers/mfd/ti_am335x_tscadc.c
  CHECK   ../drivers/hwmon/pmbus/lm25066.c
  CHECK   ../drivers/mfd/bd9571mwv.c
  CHECK   ../drivers/mfd/gateworks-gsc.c
  CHECK   ../drivers/hwmon/pmbus/isl68137.c
  CHECK   ../drivers/mfd/lp87565.c
  CC      drivers/mfd/retu-mfd.o
  CC      drivers/mfd/lm3533-ctrlbank.o
  CHECK   ../drivers/mfd/sm501.c
  CHECK   ../drivers/hwmon/pmbus/mp2888.c
  CC      drivers/mfd/as3711.o
  CHECK   ../drivers/hwmon/pmbus/bpa-rs600.c
  CHECK   ../drivers/hwmon/pmbus/ir35221.c
  CC      drivers/mfd/as3722.o
  CHECK   ../drivers/hwmon/pmbus/max8688.c
  CC      drivers/mfd/stw481x.o
  CC      drivers/mfd/hi6421-spmi-pmic.o
  CHECK   ../drivers/hwmon/pmbus/mp5023.c
  CHECK   ../drivers/hwmon/pmbus/pm6764tr.c
  CHECK   ../drivers/hwmon/pmbus/mpq8785.c
  CHECK   ../drivers/hwmon/pmbus/tda38640.c
  CHECK   ../drivers/hwmon/pmbus/stpddc60.c
  CHECK   ../drivers/hwmon/pmbus/tps25990.c
  CHECK   ../drivers/mfd/wm831x-i2c.c
  CHECK   ../drivers/hwmon/pmbus/tps546d24.c
  CHECK   ../drivers/mfd/wm8350-gpio.c
  CHECK   ../drivers/hwmon/pmbus/xdp710.c
  CHECK   ../drivers/hwmon/pmbus/mp2856.c
  CHECK   ../drivers/mfd/wm8400-core.c
  CHECK   ../drivers/mfd/wm831x-auxadc.c
  CHECK   ../drivers/mfd/ti-lmu.c
  CHECK   ../drivers/hwmon/pmbus/ucd9200.c
  CHECK   ../drivers/hwmon/pmbus/pim4328.c
  CHECK   ../drivers/mfd/tps65912-core.c
  CC      drivers/mfd/hi655x-pmic.o
  CC      drivers/mfd/dln2.o
  CHECK   ../drivers/mfd/88pm860x-core.c
  CC      drivers/mfd/rt4831.o
  CHECK   ../drivers/hwmon/pmbus/tps53679.c
  CHECK   ../drivers/mfd/lochnagar-i2c.c
  CHECK   ../drivers/mfd/tqmx86.c
  CHECK   ../drivers/mfd/wm8997-tables.c
  CHECK   ../drivers/mfd/arizona-spi.c
  CHECK   ../drivers/mfd/wm831x-core.c
  CHECK   ../drivers/mfd/tc3589x.c
  CHECK   ../drivers/mfd/wm831x-otp.c
  CHECK   ../drivers/mfd/tps65912-spi.c
  CC      drivers/mfd/rt5120.o
  CC      drivers/mfd/sky81452.o
  CC      drivers/mfd/stpmic1.o
  CHECK   ../drivers/mfd/wm8350-irq.c
  CC      drivers/mfd/sun4i-gpadc.o
  CC      drivers/mfd/stm32-lptimer.o
  CC      drivers/mfd/mxs-lradc.o
  CHECK   ../drivers/mfd/wm8350-i2c.c
  CHECK   ../drivers/mfd/tps6507x.c
  CC      drivers/mfd/stm32-timers.o
  CHECK   ../drivers/hwmon/pmbus/mp2891.c
  CHECK   ../drivers/mfd/arizona-irq.c
  CC      drivers/mfd/sprd-sc27xx-spi.o
  CHECK   ../drivers/mfd/wm8350-core.c
  CHECK   ../drivers/mfd/wm8350-regmap.c
  CHECK   ../drivers/mfd/tps6594-core.c
  CHECK   ../drivers/mfd/fsl-imx25-tsadc.c
  CHECK   ../drivers/mfd/tps6594-spi.c
  CHECK   ../drivers/mfd/da9052-irq.c
  CHECK   ../drivers/mfd/da9052-spi.c
  CHECK   ../drivers/mfd/da9055-core.c
  CHECK   ../drivers/mfd/da9063-irq.c
  CC      drivers/mfd/rohm-bd71828.o
  CC      drivers/mfd/rohm-bd718x7.o
  CC      drivers/mfd/rohm-bd96801.o
../drivers/mfd/sm501.c:1148:29: sparse: warning: cast to non-scalar
../drivers/mfd/sm501.c:1148:29: sparse: warning: cast from non-scalar
../drivers/mfd/sm501.c:1152:29: sparse: warning: cast to non-scalar
../drivers/mfd/sm501.c:1152:29: sparse: warning: cast from non-scalar
  CHECK   ../drivers/hwmon/pmbus/adm1275.c
  CC      drivers/mfd/khadas-mcu.o
  CHECK   ../drivers/mfd/stmpe.c
  CHECK   ../drivers/mfd/arizona-core.c
  CHECK   ../drivers/mfd/madera-core.c
  CHECK   ../drivers/mfd/tps6105x.c
  CHECK   ../drivers/mfd/madera-spi.c
  CHECK   ../drivers/mfd/da9052-core.c
  CHECK   ../drivers/mfd/lp8788.c
  CHECK   ../drivers/mfd/da9063-core.c
  CHECK   ../drivers/mfd/atmel-smc.c
  CC      drivers/mfd/qcom-pm8008.o
  CC      drivers/mfd/simple-mfd-i2c.o
  CC      drivers/mfd/smpro-core.o
  CC      drivers/mfd/atc260x-core.o
  CHECK   ../drivers/mfd/mc13xxx-core.c
  CHECK   ../drivers/mfd/tps65219.c
  CC      drivers/mfd/atc260x-i2c.o
  CHECK   ../drivers/mfd/madera-i2c.c
  CHECK   ../drivers/mfd/cs47l92-tables.c
  CHECK   ../drivers/mfd/cs47l90-tables.c
  CHECK   ../drivers/mfd/cs42l43.c
  CHECK   ../drivers/mfd/tps65910.c
  CHECK   ../drivers/mfd/wm831x-irq.c
  CHECK   ../drivers/mfd/tps6594-i2c.c
  CHECK   ../drivers/mfd/mc13xxx-spi.c
  CHECK   ../drivers/mfd/lp8788-irq.c
  CHECK   ../drivers/mfd/da9055-i2c.c
  CHECK   ../drivers/mfd/da9063-i2c.c
  CHECK   ../drivers/mfd/cs47l85-tables.c
  CHECK   ../drivers/mfd/da9052-i2c.c
  CHECK   ../drivers/mfd/da9062-core.c
  CHECK   ../drivers/mfd/max77650.c
  CHECK   ../drivers/mfd/kempld-core.c
  CHECK   ../drivers/mfd/max14577.c
  CHECK   ../drivers/mfd/mfd-core.c
  CHECK   ../drivers/mfd/mp2629.c
  CHECK   ../drivers/mfd/max77843.c
  CHECK   ../drivers/mfd/max77705.c
  CHECK   ../drivers/mfd/max77693.c
  CHECK   ../drivers/mfd/max8925-i2c.c
  CHECK   ../drivers/mfd/max77686.c
  CHECK   ../drivers/mfd/rz-mtu3.c
  CHECK   ../drivers/mfd/abx500-core.c
  CHECK   ../drivers/mfd/ssbi.c
  CHECK   ../drivers/mfd/max8997-irq.c
  CHECK   ../drivers/mfd/mt6370.c
  CHECK   ../drivers/mfd/wl1273-core.c
  CHECK   ../drivers/mfd/max8997.c
  CHECK   ../drivers/mfd/adp5585.c
  CHECK   ../drivers/mfd/mt6360-core.c
  CHECK   ../drivers/mfd/max77620.c
  CHECK   ../drivers/mfd/adp5520.c
  CHECK   ../drivers/mfd/omap-usb-tll.c
  CHECK   ../drivers/mfd/max8925-core.c
  CHECK   ../drivers/mfd/si476x-prop.c
  CHECK   ../drivers/mfd/rc5t583-irq.c
  CHECK   ../drivers/mfd/syscon.c
  CHECK   ../drivers/mfd/qcom-pm8xxx.c
  CHECK   ../drivers/mfd/sec-irq.c
  CHECK   ../drivers/mfd/lm3533-ctrlbank.c
  CHECK   ../drivers/mfd/rc5t583.c
  CHECK   ../drivers/mfd/rn5t618.c
  CHECK   ../drivers/mfd/rk8xx-core.c
  CHECK   ../drivers/mfd/omap-usb-host.c
  CHECK   ../drivers/mfd/si476x-i2c.c
  CHECK   ../drivers/mfd/rk8xx-i2c.c
  CHECK   ../drivers/hwmon/pmbus/pmbus_core.c
../drivers/mfd/max77705.c:162:1: sparse: warning: symbol 'max77705_pm_ops' was not declared. Should it be static?
  CHECK   ../drivers/mfd/ntxec.c
  CHECK   ../drivers/mfd/hi6421-spmi-pmic.c
  CHECK   ../drivers/mfd/stw481x.c
  CHECK   ../drivers/mfd/lm3533-core.c
  CHECK   ../drivers/mfd/mxs-lradc.c
  CHECK   ../drivers/mfd/retu-mfd.c
  CHECK   ../drivers/mfd/si476x-cmd.c
  CHECK   ../drivers/mfd/as3711.c
  CHECK   ../drivers/mfd/as3722.c
  CHECK   ../drivers/mfd/sec-core.c
  CHECK   ../drivers/mfd/stm32-lptimer.c
  CHECK   ../drivers/mfd/rt5120.c
  CHECK   ../drivers/mfd/stm32-timers.c
  CHECK   ../drivers/mfd/hi655x-pmic.c
  CHECK   ../drivers/mfd/sun4i-gpadc.c
  AR      drivers/hwmon/pmbus/built-in.a
  CHECK   ../drivers/mfd/khadas-mcu.c
  CHECK   ../drivers/mfd/sky81452.c
  CHECK   ../drivers/mfd/rohm-bd71828.c
  CHECK   ../drivers/mfd/rt4831.c
  CHECK   ../drivers/mfd/rohm-bd718x7.c
  CHECK   ../drivers/mfd/atc260x-core.c
  CHECK   ../drivers/mfd/atc260x-i2c.c
  CHECK   ../drivers/mfd/dln2.c
  CHECK   ../drivers/mfd/stpmic1.c
  CHECK   ../drivers/mfd/smpro-core.c
  CHECK   ../drivers/mfd/qcom-pm8008.c
  CHECK   ../drivers/mfd/rohm-bd96801.c
  CHECK   ../drivers/mfd/sprd-sc27xx-spi.c
  CHECK   ../drivers/mfd/simple-mfd-i2c.c
  AR      drivers/mfd/built-in.a
make[1]: Leaving directory '/home/docker-brian/linux/build_dir'

Best Regards,
Brian Chiang

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v7 2/2] hwmon: (pmbus/tps53679) Add support for TPS53685
  2025-05-15  8:37   ` Chiang Brian
@ 2025-05-15  8:45     ` Chiang Brian
  0 siblings, 0 replies; 4+ messages in thread
From: Chiang Brian @ 2025-05-15  8:45 UTC (permalink / raw)
  To: chiang.brian
  Cc: alex, aou, corbet, jdelvare, linux-doc, linux-hwmon, linux-kernel,
	linux-riscv, linux, palmer, paul.walmsley

On 15/05/2025 08:37 GMT, Chiang Brian wrote:
> 
> On 14/03/2025 07:11, Chiang Brian wrote:
> > 
> > On 14/03/2025 04:28, Chiang Brian wrote:
> > > Add undocumented tps53685 into compatible in dt-bindings
> > > 
> > > Signed-off-by: Chiang Brian <chiang.brian@inventec.com>
> > >  Documentation/devicetree/bindings/trivial-devices.yaml | 2 ++
> > >  1 file changed, 2 insertions(+)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Documentation/devicetree/bindings/trivial-devices.yaml
> > > index fadbd3c041c8..c98d69facb48 100644
> > > --- a/Documentation/devicetree/bindings/trivial-devices.yaml
> > > +++ b/Documentation/devicetree/bindings/trivial-devices.yaml
> > > @@ -380,6 +380,8 @@ properties:
> > >            - ti,tps53676
> > >              # TI Dual channel DCAP+ multiphase controller TPS53679
> > >            - ti,tps53679
> > > +            # TI Dual channel DCAP+ multiphase controller TPS53685 with AMD-SVI3
> > > +          - ti,tps53685
> >
> > There is no user of such compatible, so how can it be undocumented?
> 
> The following link is the patch which I would like to add support tps53685,
> and I think it is the user of the compatible:
> https://lore.kernel.org/lkml/20250314033040.3190642-1-chiang.brian@inventec.com/

Sorry for the wrong post, and please ignore it.
Thank you.

Best Regards,
Brian Chiang

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v7 2/2] hwmon: (pmbus/tps53679) Add support for TPS53685
  2025-05-15  8:14 ` [PATCH v7 2/2] hwmon: (pmbus/tps53679) Add support for TPS53685 Chiang Brian
  2025-05-15  8:37   ` Chiang Brian
@ 2025-05-16  5:30   ` kernel test robot
  1 sibling, 0 replies; 4+ messages in thread
From: kernel test robot @ 2025-05-16  5:30 UTC (permalink / raw)
  To: Chiang Brian, Jean Delvare, Guenter Roeck, Jonathan Corbet,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti
  Cc: llvm, oe-kbuild-all, Chiang Brian, linux-hwmon, linux-doc,
	linux-kernel, linux-riscv

Hi Chiang,

kernel test robot noticed the following build errors:

[auto build test ERROR on robh/for-next]
[also build test ERROR on groeck-staging/hwmon-next krzk-dt/for-next linus/master v6.15-rc6 next-20250515]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Chiang-Brian/hwmon-pmbus-tps53679-Add-support-for-TPS53685/20250515-171511
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link:    https://lore.kernel.org/r/20250515081449.1433772-3-chiang.brian%40inventec.com
patch subject: [PATCH v7 2/2] hwmon: (pmbus/tps53679) Add support for TPS53685
config: i386-buildonly-randconfig-001-20250516 (https://download.01.org/0day-ci/archive/20250516/202505161242.oQFhPxZ9-lkp@intel.com/config)
compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250516/202505161242.oQFhPxZ9-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505161242.oQFhPxZ9-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/hwmon/pmbus/tps53679.c:133:50: error: incompatible integer to pointer conversion passing 'int' to parameter of type 'char *' [-Wint-conversion]
     133 |         ret = tps53679_identify_chip(client, pmbus_rev, device_id);
         |                                                         ^~~~~~~~~
   drivers/hwmon/pmbus/tps53679.c:90:26: note: passing argument to parameter 'id' here
      90 |                                   u8 revision, char *id)
         |                                                      ^
>> drivers/hwmon/pmbus/tps53679.c:165:10: error: incompatible pointer to integer conversion passing 'char[2]' to parameter of type 'int' [-Wint-conversion]
     165 |                                             TPS53681_DEVICE_ID);
         |                                             ^~~~~~~~~~~~~~~~~~
   drivers/hwmon/pmbus/tps53679.c:34:32: note: expanded from macro 'TPS53681_DEVICE_ID'
      34 | #define TPS53681_DEVICE_ID     "\x81"
         |                                ^~~~~~
   drivers/hwmon/pmbus/tps53679.c:129:25: note: passing argument to parameter 'device_id' here
     129 |                                         int pmbus_rev, int device_id)
         |                                                            ^
   2 errors generated.


vim +133 drivers/hwmon/pmbus/tps53679.c

53030bcc87e4a4b Guenter Roeck 2020-01-20  120  
53030bcc87e4a4b Guenter Roeck 2020-01-20  121  /*
53030bcc87e4a4b Guenter Roeck 2020-01-20  122   * Common identification function for chips with multi-phase support.
53030bcc87e4a4b Guenter Roeck 2020-01-20  123   * Since those chips have special configuration registers, we want to have
53030bcc87e4a4b Guenter Roeck 2020-01-20  124   * some level of reassurance that we are really talking with the chip
53030bcc87e4a4b Guenter Roeck 2020-01-20  125   * being probed. Check PMBus revision and chip ID.
53030bcc87e4a4b Guenter Roeck 2020-01-20  126   */
53030bcc87e4a4b Guenter Roeck 2020-01-20  127  static int tps53679_identify_multiphase(struct i2c_client *client,
53030bcc87e4a4b Guenter Roeck 2020-01-20  128  					struct pmbus_driver_info *info,
53030bcc87e4a4b Guenter Roeck 2020-01-20  129  					int pmbus_rev, int device_id)
53030bcc87e4a4b Guenter Roeck 2020-01-20  130  {
53030bcc87e4a4b Guenter Roeck 2020-01-20  131  	int ret;
53030bcc87e4a4b Guenter Roeck 2020-01-20  132  
53030bcc87e4a4b Guenter Roeck 2020-01-20 @133  	ret = tps53679_identify_chip(client, pmbus_rev, device_id);
53030bcc87e4a4b Guenter Roeck 2020-01-20  134  	if (ret < 0)
53030bcc87e4a4b Guenter Roeck 2020-01-20  135  		return ret;
53030bcc87e4a4b Guenter Roeck 2020-01-20  136  
53030bcc87e4a4b Guenter Roeck 2020-01-20  137  	ret = tps53679_identify_mode(client, info);
53030bcc87e4a4b Guenter Roeck 2020-01-20  138  	if (ret < 0)
53030bcc87e4a4b Guenter Roeck 2020-01-20  139  		return ret;
53030bcc87e4a4b Guenter Roeck 2020-01-20  140  
53030bcc87e4a4b Guenter Roeck 2020-01-20  141  	return tps53679_identify_phases(client, info);
53030bcc87e4a4b Guenter Roeck 2020-01-20  142  }
53030bcc87e4a4b Guenter Roeck 2020-01-20  143  
53030bcc87e4a4b Guenter Roeck 2020-01-20  144  static int tps53679_identify(struct i2c_client *client,
53030bcc87e4a4b Guenter Roeck 2020-01-20  145  			     struct pmbus_driver_info *info)
53030bcc87e4a4b Guenter Roeck 2020-01-20  146  {
53030bcc87e4a4b Guenter Roeck 2020-01-20  147  	return tps53679_identify_mode(client, info);
53030bcc87e4a4b Guenter Roeck 2020-01-20  148  }
53030bcc87e4a4b Guenter Roeck 2020-01-20  149  
340e957083852e1 Chiang Brian  2025-05-15  150  static int tps53685_identify(struct i2c_client *client,
340e957083852e1 Chiang Brian  2025-05-15  151  				 struct pmbus_driver_info *info)
340e957083852e1 Chiang Brian  2025-05-15  152  {
340e957083852e1 Chiang Brian  2025-05-15  153  	info->func[1] |= PMBUS_HAVE_VIN | PMBUS_HAVE_IIN | PMBUS_HAVE_PIN |
340e957083852e1 Chiang Brian  2025-05-15  154  			 PMBUS_HAVE_STATUS_INPUT;
340e957083852e1 Chiang Brian  2025-05-15  155  	info->format[PSC_VOLTAGE_OUT] = linear;
340e957083852e1 Chiang Brian  2025-05-15  156  	return tps53679_identify_chip(client, TPS53681_PMBUS_REVISION,
340e957083852e1 Chiang Brian  2025-05-15  157  					   TPS53685_DEVICE_ID);
340e957083852e1 Chiang Brian  2025-05-15  158  }
340e957083852e1 Chiang Brian  2025-05-15  159  
53030bcc87e4a4b Guenter Roeck 2020-01-20  160  static int tps53681_identify(struct i2c_client *client,
53030bcc87e4a4b Guenter Roeck 2020-01-20  161  			     struct pmbus_driver_info *info)
53030bcc87e4a4b Guenter Roeck 2020-01-20  162  {
53030bcc87e4a4b Guenter Roeck 2020-01-20  163  	return tps53679_identify_multiphase(client, info,
53030bcc87e4a4b Guenter Roeck 2020-01-20  164  					    TPS53681_PMBUS_REVISION,
53030bcc87e4a4b Guenter Roeck 2020-01-20 @165  					    TPS53681_DEVICE_ID);
53030bcc87e4a4b Guenter Roeck 2020-01-20  166  }
53030bcc87e4a4b Guenter Roeck 2020-01-20  167  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-05-16  5:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20250515081449.1433772-1-chiang.brian@inventec.com>
2025-05-15  8:14 ` [PATCH v7 2/2] hwmon: (pmbus/tps53679) Add support for TPS53685 Chiang Brian
2025-05-15  8:37   ` Chiang Brian
2025-05-15  8:45     ` Chiang Brian
2025-05-16  5:30   ` kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox