# CODEOWNERS for autoreview assigning in github

# https://help.github.com/en/articles/about-code-owners#codeowners-syntax

# Order is important; for each modified file, the last matching
# pattern takes the most precedence.
# That is, with the last pattern being
# *.rst                                     @dbkinder
# if only .rst files are being modified, only dbkinder is
# automatically requested for review, but you can manually
# add others as needed.

# Do not use wildcard on all source yet
# *                                        @galak @nashif

/.known-issues/                           @inakypg @nashif
/arch/arc/                                @vonhust @ruuddw
/arch/arm/                                @MaureenHelm @galak @ioannisg
/arch/arm/core/cortex_m/cmse/             @ioannisg
/arch/arm/include/cortex_m/cmse.h         @ioannisg
/arch/arm/core/cortex_r/                  @MaureenHelm @galak @ioannisg @bbolen
/arch/common/                             @andrewboie @ioannisg @andyross
/soc/arc/snps_*/                          @vonhust @ruuddw
/soc/nios2/                               @nashif @wentongwu
/soc/arm/                                 @MaureenHelm @galak @ioannisg
/soc/arm/arm/mps2/                        @fvincenzo
/soc/arm/atmel_sam/sam3x/                 @ioannisg
/soc/arm/atmel_sam/sam4s/                 @fallrisk
/soc/arm/nxp*/                            @MaureenHelm
/soc/arm/nordic_nrf/                      @ioannisg
/soc/arm/st_stm32/                        @erwango
/soc/arm/st_stm32/stm32f4/                @rsalveti @idlethread
/soc/arm/st_stm32/stm32mp1/               @arnop2
/soc/arm/ti_simplelink/cc13x2_cc26x2/     @bwitherspoon
/soc/arm/ti_simplelink/cc32xx/            @vanti
/soc/arm/ti_simplelink/msp432p4xx/        @Mani-Sadhasivam
/soc/xtensa/intel_s1000/                  @sathishkuttan @dcpleung
/arch/x86/                                @andrewboie
/arch/nios2/                              @andrewboie @wentongwu
/arch/posix/                              @aescolar
/arch/riscv/                              @kgugala @pgielda @nategraff-sifive
/soc/posix/                               @aescolar
/soc/riscv/                               @kgugala @pgielda @nategraff-sifive
/soc/riscv/openisa*/                      @MaureenHelm
/soc/x86/                                 @andrewboie
/arch/xtensa/                             @andrewboie @dcpleung @andyross
/soc/xtensa/                              @andrewboie @dcpleung @andyross
/boards/arc/                              @vonhust @ruuddw
/boards/arm/                              @MaureenHelm @galak
/boards/arm/96b_argonkey/                 @avisconti
/boards/arm/96b_avenger96/                @Mani-Sadhasivam
/boards/arm/96b_carbon/                   @rsalveti @idlethread
/boards/arm/96b_meerkat96/                @Mani-Sadhasivam
/boards/arm/96b_nitrogen/                 @idlethread
/boards/arm/96b_neonkey/                  @Mani-Sadhasivam
/boards/arm/96b_stm32_sensor_mez/         @Mani-Sadhasivam
/boards/arm/96b_wistrio/                  @Mani-Sadhasivam
/boards/arm/arduino_due/                  @ioannisg
/boards/arm/cc1352r1_launchxl/            @bwitherspoon
/boards/arm/cc26x2r1_launchxl/            @bwitherspoon
/boards/arm/cc3220sf_launchxl/            @vanti
/boards/arm/disco_l475_iot1/              @erwango
/boards/arm/frdm*/                        @MaureenHelm
/boards/arm/frdm*/doc/                    @MaureenHelm @MeganHansen
/boards/arm/hexiwear*/                    @MaureenHelm
/boards/arm/hexiwear*/doc/                @MaureenHelm @MeganHansen
/boards/arm/lpcxpresso*/                  @MaureenHelm
/boards/arm/lpcxpresso*/doc/              @MaureenHelm @MeganHansen
/boards/arm/mimxrt*/                      @MaureenHelm
/boards/arm/mimxrt*/doc/                  @MaureenHelm @MeganHansen
/boards/arm/mps2_an385/                   @fvincenzo
/boards/arm/msp_exp432p401r_launchxl/     @Mani-Sadhasivam
/boards/arm/nrf*/                         @carlescufi @lemrey @ioannisg
/boards/arm/nucleo*/                      @erwango
/boards/arm/nucleo_f401re/                @rsalveti @idlethread
/boards/arm/qemu_cortex_m*/               @ioannisg
/boards/arm/sam4s_xplained/               @fallrisk
/boards/arm/v2m_beetle/                   @fvincenzo
/boards/arm/olimexino_stm32/              @ydamigos
/boards/arm/sensortile_box/               @avisconti
/boards/arm/steval_fcu001v1/              @Navin-Sankar
/boards/arm/stm32l1_disco/                @karlp
/boards/arm/stm32*_disco/                 @erwango
/boards/arm/stm32f3_disco/                @ydamigos
/boards/arm/stm32*_eval/                  @erwango
/boards/common/                           @mbolivar
/boards/nios2/                            @wentongwu
/boards/nios2/altera_max10/               @wentongwu
/boards/arm/stm32_min_dev/                @cbsiddharth
/boards/posix/                            @aescolar
/boards/riscv/                            @kgugala @pgielda @nategraff-sifive
/boards/riscv/rv32m1_vega/                @MaureenHelm
/boards/shields/                          @erwango
/boards/x86/                              @andrewboie @nashif
/boards/xtensa/                           @nashif @dcpleung
/boards/xtensa/intel_s1000_crb/           @sathishkuttan @dcpleung
/boards/xtensa/odroid_go/                 @ydamigos
# All cmake related files
/cmake/                                   @SebastianBoe @nashif
/CMakeLists.txt                           @SebastianBoe @nashif
/doc/                                     @dbkinder
/doc/guides/coccinelle.rst                @himanshujha199640 @JuliaLawall
/doc/CMakeLists.txt                       @carlescufi
/doc/scripts/                             @carlescufi
/doc/guides/bluetooth/                    @joerchan @jhedberg @Vudentz
/doc/reference/bluetooth/                 @joerchan @jhedberg @Vudentz
/drivers/*/*cc13xx_cc26xx*                @bwitherspoon
/drivers/*/*mcux*                         @MaureenHelm
/drivers/*/*stm32*                        @erwango
/drivers/*/*native_posix*                 @aescolar
/drivers/adc/                             @anangl
/drivers/adc/adc_stm32.c                  @cybertale
/drivers/bluetooth/                       @joerchan @jhedberg @Vudentz
/drivers/can/                             @alexanderwachter
/drivers/can/*mcp2515*                    @karstenkoenig
/drivers/clock_control/*nrf*              @nordic-krch
/drivers/counter/                         @nordic-krch
/drivers/counter/counter_cmos.c           @andrewboie
/drivers/display/                         @vanwinkeljan
/drivers/display/display_framebuf.c       @andrewboie
/drivers/dma/*sam0*                       @Sizurka
/drivers/dma/dma_stm32*                   @cybertale
/drivers/eeprom/                          @henrikbrixandersen
/drivers/entropy/*rv32m1*                 @MaureenHelm
/drivers/espi/                            @albertofloyd @franciscomunoz @scottwcpg
/drivers/ps2/                             @albertofloyd @franciscomunoz @scottwcpg
/drivers/kscan/                           @albertofloyd @franciscomunoz @scottwcpg
/drivers/ethernet/                        @jukkar @tbursztyka @pfalcon
/drivers/flash/                           @nashif @nvlsianpu
/drivers/flash/*native_posix*             @vanwinkeljan @aescolar
/drivers/flash/*nrf*                      @nvlsianpu
/drivers/flash/*spi_nor*                  @pabigot
/drivers/flash/*stm32*                    @superna9999
/drivers/gpio/                            @mnkp @pabigot
/drivers/gpio/*ht16k33*                   @henrikbrixandersen
/drivers/gpio/*stm32*                     @rsalveti @idlethread
/drivers/hwinfo/                          @alexanderwachter
/drivers/i2s/i2s_ll_stm32*                @avisconti
/drivers/ieee802154/                      @jukkar @tbursztyka
/drivers/interrupt_controller/            @andrewboie
/drivers/ipm/ipm_mhu*                     @karl-zh
/drivers/ipm/Kconfig.nrfx                 @masz-nordic @ioannisg
/drivers/ipm/Kconfig.nrfx_ipc_channel     @masz-nordic @ioannisg
/drivers/ipm/ipm_nrfx_ipc.c               @masz-nordic @ioannisg
/drivers/ipm/ipm_nrfx_ipc.h               @masz-nordic @ioannisg
/drivers/ipm/ipm_stm32_ipcc.c             @arnop2
/drivers/*/vexriscv_litex.c               @mateusz-holenko @kgugala @pgielda
/drivers/led/                             @Mani-Sadhasivam
/drivers/led_strip/                       @mbolivar
/drivers/modem/                           @mike-scott
/drivers/pcie/                            @andrewboie
/drivers/pinmux/stm32/                    @rsalveti @idlethread
/drivers/pinmux/*hsdk*                    @iriszzw
/drivers/sensor/                          @MaureenHelm
/drivers/sensor/ams_iAQcore/              @alexanderwachter
/drivers/sensor/ens210/                   @alexanderwachter
/drivers/sensor/hts*/                     @avisconti
/drivers/sensor/lis*/                     @avisconti
/drivers/sensor/lps*/                     @avisconti
/drivers/sensor/lsm*/                     @avisconti
/drivers/sensor/st*/                      @avisconti
/drivers/serial/uart_altera_jtag_hal.c    @wentongwu
/drivers/serial/*ns16550*                 @andrewboie
/drivers/serial/Kconfig.litex             @mateusz-holenko @kgugala @pgielda
/drivers/serial/uart_liteuart.c           @mateusz-holenko @kgugala @pgielda
/drivers/serial/Kconfig.rtt               @carlescufi @pkral78
/drivers/serial/uart_rtt.c                @carlescufi @pkral78
/drivers/serial/Kconfig.xlnx              @wjliang
/drivers/serial/uart_xlnx_ps.c            @wjliang
/drivers/net/                             @jukkar @tbursztyka
/drivers/ptp_clock/                       @jukkar
/drivers/pwm/pwm_shell.c                  @henrikbrixandersen
/drivers/spi/                             @tbursztyka
/drivers/spi/spi_ll_stm32.*               @superna9999
/drivers/spi/spi_rv32m1_lpspi*            @karstenkoenig
/drivers/timer/apic_timer.c               @andrewboie
/drivers/timer/cortex_m_systick.c         @ioannisg
/drivers/timer/altera_avalon_timer_hal.c  @wentongwu
/drivers/timer/riscv_machine_timer.c      @nategraff-sifive @kgugala @pgielda
/drivers/timer/litex_timer.c              @mateusz-holenko @kgugala @pgielda
/drivers/timer/xlnx_psttc_timer.c         @wjliang
/drivers/timer/cc13x2_cc26x2_rtc_timer.c  @vanti
/drivers/usb/                             @jfischer-phytec-iot @finikorg
/drivers/usb/device/usb_dc_stm32.c        @ydamigos @loicpoulain
/drivers/video/                           @loicpoulain
/drivers/i2c/i2c_ll_stm32*                @ldts @ydamigos
/drivers/i2c/i2c_rv32m1_lpi2c*            @henrikbrixandersen
/drivers/i2c/*sam0*                       @Sizurka
/drivers/i2c/i2c_dw*                      @dcpleung
/drivers/*/*xec*                     @franciscomunoz @albertofloyd @scottwcpg
/drivers/wifi/                            @jukkar @tbursztyka @pfalcon
/drivers/wifi/eswifi/                     @loicpoulain
/dts/arc/                                 @vonhust @ruuddw @iriszzw
/dts/arm/atmel/samr21.dtsi                @benpicco
/dts/arm/atmel/sam*5*.dtsi                @benpicco
/dts/arm/st/                              @erwango
/dts/arm/ti/cc13?2*                       @bwitherspoon
/dts/arm/ti/cc26?2*                       @bwitherspoon
/dts/arm/ti/cc3235*                       @vanti
/dts/arm/nordic/                          @ioannisg @carlescufi
/dts/arm/nxp/                             @MaureenHelm
/dts/arm/microchip/                       @franciscomunoz @albertofloyd @scottwcpg
/dts/riscv/microsemi-miv.dtsi             @galak
/dts/riscv/rv32m1*                        @MaureenHelm
/dts/riscv/riscv32-fe310.dtsi             @nategraff-sifive
/dts/riscv/riscv32-litex-vexriscv.dtsi    @mateusz-holenko @kgugala @pgielda
/dts/arm/armv7-r.dtsi                     @bbolen
/dts/arm/xilinx/                          @bbolen
/dts/xtensa/xtensa.dtsi                   @ydamigos
/dts/bindings/                            @galak
/dts/bindings/can/                        @alexanderwachter
/dts/bindings/iio/adc/st*stm32-adc.yaml   @cybertale
/dts/bindings/serial/ns16550.yaml         @andrewboie
/dts/bindings/*/nordic*                   @anangl
/dts/bindings/*/nxp*                      @MaureenHelm
/dts/bindings/*/openisa*                  @MaureenHelm
/dts/bindings/*/st*                       @erwango
/dts/bindings/sensor/ams*                 @alexanderwachter
/dts/bindings/*/sifive*                   @mateusz-holenko @kgugala @pgielda @nategraff-sifive
/dts/bindings/*/litex*                    @mateusz-holenko @kgugala @pgielda
/dts/bindings/*/vexriscv*                 @mateusz-holenko @kgugala @pgielda
/dts/posix/                               @aescolar @vanwinkeljan
/dts/bindings/sensor/*bme680*             @BoschSensortec
/dts/bindings/sensor/st*                  @avisconti
/ext/hal/cmsis/                           @MaureenHelm @galak @stephanosio
/ext/lib/crypto/tinycrypt/                @ceolin
/include/                                 @nashif @carlescufi @galak @MaureenHelm
/include/drivers/adc.h                    @anangl
/include/drivers/can.h                    @alexanderwachter
/include/drivers/counter.h                @nordic-krch
/include/drivers/display.h                @vanwinkeljan
/include/drivers/espi.h                   @albertofloyd @franciscomunoz @scottwcpg
/include/drivers/bluetooth/               @joerchan @jhedberg @Vudentz
/include/drivers/flash.h                  @nashif @carlescufi @galak @MaureenHelm @nvlsianpu
/include/drivers/led/ht16k33.h            @henrikbrixandersen
/include/drivers/interrupt_controller/    @andrewboie
/include/drivers/pcie/                    @andrewboie
/include/drivers/hwinfo.h                 @alexanderwachter
/include/drivers/led.h                    @Mani-Sadhasivam
/include/drivers/led_strip.h              @mbolivar
/include/drivers/sensor.h                 @MaureenHelm
/include/drivers/spi.h                    @tbursztyka
/include/app_memory/                      @andrewboie
/include/arch/arc/                        @vonhust @ruuddw
/include/arch/arc/arch.h                  @andrewboie
/include/arch/arc/v2/irq.h                @andrewboie
/include/arch/arm/                        @MaureenHelm @galak @ioannisg
/include/arch/arm/irq.h                   @andrewboie
/include/arch/nios2/                      @andrewboie
/include/arch/nios2/arch.h                @andrewboie
/include/arch/posix/                      @aescolar
/include/arch/riscv/                      @nategraff-sifive @kgugala @pgielda
/include/arch/x86/                        @andrewboie @wentongwu
/include/arch/common/                     @andrewboie @andyross @nashif
/include/arch/xtensa/                     @andrewboie
/include/sys/atomic.h                     @andrewboie @andyross
/include/bluetooth/                       @joerchan @jhedberg @Vudentz
/include/cache.h                          @andrewboie @andyross
/include/device.h                         @wentongwu @nashif
/include/display/                         @vanwinkeljan
/include/dt-bindings/clock/kinetis_mcg.h  @henrikbrixandersen
/include/dt-bindings/clock/kinetis_scg.h  @henrikbrixandersen
/include/dt-bindings/dma/stm32_dma.h      @cybertale
/include/dt-bindings/pcie/                @andrewboie
/include/dt-bindings/usb/usb.h            @galak @finikorg
/include/fs/                              @nashif @wentongwu
/include/init.h                           @andrewboie @andyross
/include/irq.h                            @andrewboie @andyross
/include/irq_offload.h                    @andrewboie @andyross
/include/kernel.h                         @andrewboie @andyross
/include/kernel_version.h                 @andrewboie @andyross
/include/linker/app_smem*.ld              @andrewboie
/include/linker/                          @andrewboie @andyross
/include/logging/                         @nordic-krch
/include/misc/                            @andrewboie @andyross
/include/net/                             @jukkar @tbursztyka @pfalcon
/include/net/buf.h                        @jukkar @jhedberg @tbursztyka @pfalcon
/include/posix/                           @pfalcon
/include/power/power.h                    @wentongwu @nashif
/include/ptp_clock.h                      @jukkar
/include/shared_irq.h                     @andrewboie @andyross
/include/shell/                           @jakub-uC @nordic-krch
/include/sw_isr_table.h                   @andrewboie @andyross
/include/sys_clock.h                      @andrewboie @andyross
/include/sys/sys_io.h                     @andrewboie @andyross
/include/toolchain.h                      @andrewboie @andyross @nashif
/include/toolchain/                       @andrewboie @andyross
/include/zephyr.h                         @andrewboie @andyross
/kernel/                                  @andrewboie @andyross
/lib/gui/                                 @vanwinkeljan
/lib/os/                                  @andrewboie @andyross
/lib/posix/                               @pfalcon
/lib/cmsis_rtos_v2/                       @nashif
/lib/cmsis_rtos_v1/                       @nashif
/lib/libc/                                @nashif @andrewboie
/modules/                                 @nashif
/kernel/device.c                          @andrewboie @andyross @nashif
/kernel/idle.c                            @andrewboie @andyross @nashif
/samples/                                 @nashif
/samples/basic/minimal/                   @carlescufi
/samples/basic/servo_motor/*microbit*     @jhe
/lib/updatehub/                           @nandojve @otavio
/samples/bluetooth/                       @jhedberg @Vudentz @joerchan
/samples/boards/intel_s1000_crb/          @sathishkuttan @dcpleung @nashif
/samples/display/                         @vanwinkeljan
/samples/drivers/CAN/                     @alexanderwachter
/samples/drivers/ht16k33/                 @henrikbrixandersen
/samples/gui/                             @vanwinkeljan
/samples/net/                             @jukkar @tbursztyka @pfalcon
/samples/net/dns_resolve/                 @jukkar @tbursztyka @pfalcon
/samples/net/lwm2m_client/                @mike-scott
/samples/net/mqtt_publisher/              @jukkar @tbursztyka
/samples/net/sockets/coap_*/              @rveerama1
/samples/net/sockets/                     @jukkar @tbursztyka @pfalcon
/samples/net/updatehub/                   @nandojve @otavio
/samples/sensor/                          @MaureenHelm
/samples/shields/                         @avisconti
/samples/subsys/logging/                  @nordic-krch @jakub-uC
/samples/subsys/shell/                    @jakub-uC @nordic-krch
/samples/subsys/usb/                      @jfischer-phytec-iot @finikorg
/samples/subsys/power/                    @wentongwu @pabigot
/scripts/coccicheck                       @himanshujha199640 @JuliaLawall
/scripts/coccinelle/                      @himanshujha199640 @JuliaLawall
/scripts/kconfig/                         @ulfalizer
/scripts/elf_helper.py                    @andrewboie
/scripts/sanity_chk/expr_parser.py        @nashif
/scripts/gen_app_partitions.py            @andrewboie
/scripts/dts/                             @ulfalizer @galak
/scripts/release/                         @nashif
/arch/x86/gen_gdt.py                      @andrewboie
/arch/x86/gen_idt.py                      @andrewboie
/scripts/gen_kobject_list.py              @andrewboie
/scripts/gen_priv_stacks.py               @andrewboie @agross-oss @ioannisg
/scripts/gen_syscall_header.py            @andrewboie
/scripts/gen_syscalls.py                  @andrewboie
/scripts/process_gperf.py                 @andrewboie
/scripts/gen_relocate_app.py              @wentongwu
/scripts/sanity_chk/                      @nashif
/scripts/sanitycheck                      @nashif
/scripts/series-push-hook.sh              @erwango
/scripts/west_commands/                   @mbolivar
/scripts/west-commands.yml                @mbolivar
/scripts/zephyr_module.py                 @tejlmand
/scripts/valgrind.supp                    @aescolar
/subsys/bluetooth/                        @joerchan @jhedberg @Vudentz
/subsys/bluetooth/controller/             @carlescufi @cvinayak @thoh-ot
/subsys/bluetooth/mesh/                   @jhedberg @trond-snekvik @joerchan @Vudentz
/subsys/cpp/                              @pabigot @vanwinkeljan
/subsys/debug/                            @nashif
/subsys/debug/asan.c                      @vanwinkeljan @aescolar
/subsys/disk/disk_access_spi_sdhc.c       @JunYangNXP
/subsys/disk/disk_access_sdhc.h           @JunYangNXP
/subsys/disk/disk_access_usdhc.c          @JunYangNXP
/subsys/fb/                               @jfischer-phytec-iot
/subsys/fs/                               @nashif
/subsys/fs/fcb/                           @nvlsianpu
/subsys/fs/fuse_fs_access.c               @vanwinkeljan
/subsys/fs/littlefs_fs.c                  @pabigot
/subsys/fs/nvs/                           @Laczen
/subsys/logging/                          @nordic-krch
/subsys/logging/log_backend_net.c         @nordic-krch @jukkar
/subsys/mgmt/                             @carlescufi @nvlsianpu
/subsys/net/buf.c                         @jukkar @jhedberg @tbursztyka @pfalcon
/subsys/net/ip/                           @jukkar @tbursztyka @pfalcon
/subsys/net/lib/                          @jukkar @tbursztyka @pfalcon
/subsys/net/lib/dns/                      @jukkar @tbursztyka @pfalcon
/subsys/net/lib/lwm2m/                    @mike-scott
/subsys/net/lib/config/                   @jukkar @tbursztyka
/subsys/net/lib/mqtt/                     @jukkar @tbursztyka @rlubos
/subsys/net/lib/openthread/               @rlubos
/subsys/net/lib/coap/                     @rveerama1
/subsys/net/lib/sockets/                  @jukkar @tbursztyka @pfalcon
/subsys/net/lib/tls_credentials/          @rlubos
/subsys/net/l2/                           @jukkar @tbursztyka
/subsys/net/l2/canbus/                    @alexanderwachter @jukkar
/subsys/power/                            @wentongwu @pabigot
/subsys/random/                           @dleach02
/subsys/settings/                         @nvlsianpu
/subsys/shell/                            @jakub-uC @nordic-krch
/subsys/storage/                          @nvlsianpu
/subsys/testsuite/                        @nashif
/subsys/usb/                              @jfischer-phytec-iot @finikorg
/tests/                                   @nashif
/tests/application_development/libcxx/    @pabigot
/tests/arch/arm/                          @ioannisg
/tests/boards/native_posix/               @aescolar
/tests/boards/intel_s1000_crb/            @dcpleung @sathishkuttan
/tests/bluetooth/                         @joerchan @jhedberg @Vudentz
/tests/posix/                             @pfalcon
/tests/crypto/                            @ceolin
/tests/crypto/mbedtls/                    @nashif @ceolin
/tests/drivers/can/                       @alexanderwachter
/tests/drivers/flash_simulator/           @nvlsianpu
/tests/drivers/hwinfo/                    @alexanderwachter
/tests/drivers/spi/                       @tbursztyka
/tests/drivers/uart/uart_async_api/       @Mierunski
/tests/kernel/                            @andrewboie @andyross @nashif
/tests/lib/                               @nashif
/tests/net/                               @jukkar @tbursztyka @pfalcon
/tests/net/buf/                           @jukkar @jhedberg @tbursztyka @pfalcon
/tests/net/lib/                           @jukkar @tbursztyka @pfalcon
/tests/net/lib/http_header_fields/        @jukkar @tbursztyka
/tests/net/lib/mqtt_packet/               @jukkar @tbursztyka
/tests/net/lib/coap/                      @rveerama1
/tests/net/socket/                        @jukkar @tbursztyka @pfalcon
/tests/subsys/fs/                         @nashif @wentongwu
/tests/subsys/settings/                   @nvlsianpu
/tests/subsys/shell/                      @jakub-uC @nordic-krch
# Get all docs reviewed
*.rst                                     @dbkinder
*posix*.rst                               @dbkinder @aescolar
