[PATCH v3 4/4] drivers: misc: Add Support for TMR Inject IP

Greg KH gregkh at linuxfoundation.org
Wed Sep 7 23:02:41 PDT 2022


On Thu, Sep 08, 2022 at 09:54:44AM +0530, Appana Durga Kedareswara rao wrote:
> The Triple Modular Redundancy(TMR) provides functional fault injection by
> changing selected MicroBlaze instructions, which provides the possibility
> to verify that the TMR subsystem error detection and fault recovery logic
> is working properly, provided sysfs entries which allow the user to inject
> a fault.
> 
> Usage:
> echo 1 > /sys/kernel/debug/xtmr_inject/inject_fault/inject_fault
> 
> Signed-off-by: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao at amd.com>
> ---
> Changes for v3:
> --> Updated the driver to use fault-injection api as suggested by Greg.
> --> Updated the Kconfig to compile the driver as a module.
> Changes for v2:
> --> Fixed Month in the sysfs description.
> --> Fixed line over 80 char in driver.
> --> Replaced kstrtol with kstrtoul as suggested by Michal.
> --> Added error check for xlnx,magic value.
> 
>  MAINTAINERS                      |   6 +
>  drivers/misc/Kconfig             |  10 ++
>  drivers/misc/Makefile            |   1 +
>  drivers/misc/xilinx_tmr_inject.c | 181 +++++++++++++++++++++++++++++++
>  4 files changed, 198 insertions(+)
>  create mode 100644 drivers/misc/xilinx_tmr_inject.c
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 5fc5ec13985e..1207effa8e15 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -13284,6 +13284,12 @@ F:	Documentation/ABI/testing/sysfs-driver-xilinx-tmr-manager
>  F:	Documentation/devicetree/bindings/misc/xlnx,tmr-manager.yaml
>  F:	drivers/misc/xilinx_tmr_manager.c
>  
> +MICROBLAZE TMR INJECT
> +M:	Appana Durga Kedareswara rao <appana.durga.kedareswara.rao at amd.com>
> +S:	Supported
> +F:	Documentation/devicetree/bindings/misc/xlnx,tmr-inject.yaml
> +F:	drivers/misc/xilinx_tmr_inject.c
> +
>  MICROCHIP AT91 DMA DRIVERS
>  M:	Ludovic Desroches <ludovic.desroches at microchip.com>
>  M:	Tudor Ambarus <tudor.ambarus at microchip.com>
> diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
> index 1508cc29b05a..7b1930a7f18a 100644
> --- a/drivers/misc/Kconfig
> +++ b/drivers/misc/Kconfig
> @@ -506,6 +506,16 @@ config TMR_MANAGER
>  
>  	  Say N here unless you know what you are doing.
>  
> +config TMR_INJECT
> +	tristate "Select TMR Inject"
> +	depends on TMR_MANAGER && FAULT_INJECTION

But if CONFIG_FAULT_INJECTION_DEBUG_FS is not enabled, does this driver
actually do anything?  Why not just depend on that option?

thanks,

greg k-h



More information about the linux-arm-kernel mailing list