On Mon, 11 Nov 2019, Christoph Hellwig wrote: > On Mon, Nov 11, 2019 at 05:06:24PM +0530, Anup Patel wrote: > > We really don't need this driver. Instead, we can simply re-use > > following drivers: > > mfd/syscon > > power/reset/syscon-reboot > > power/reset/syscon-poweroff > > > > Just enable following to your defconfig: > > CONFIG_POWER_RESET=y > > CONFIG_POWER_RESET_SYSCON=y > > CONFIG_POWER_RESET_SYSCON_POWEROFF=y > > CONFIG_SYSCON_REBOOT_MODE=y > > > > > > Once above drivers are enabled in your defconfig, make sure > > test device DT nodes are described in the following way for virt machine: > > Oh well, that is a lot more churn than a just works driver, and > will also pull it dependencies like regmap which quite blow up the > kernel size. But I guess that is where modern Linux drivers are > heading, so I'm not going to complain too loud.. The core issue is that putting random register writes in DT doesn't match the hardware. And the doctrine with DT has always been that it's supposed to represent the actual hardware. On FPGA bitstreams or ASICs that have the teststatus/testfinisher IP block, there really is an IP block out there - it's not just a bare register. If you update your driver to note that this is a SiFive IP block rather than a "RISC-V" IP block, I'll ack it. - Paul