# CODEOWNERS for autoreview assigning in github

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

.known-issues/                           @inakypg @nashif
arch/arc/                                @vonhust @ruuddw
arch/arm/                                @MaureenHelm @galak
soc/arm/                                 @MaureenHelm @galak
soc/arm/arm/mps2/                        @fvincenzo
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/ti_simplelink/cc32xx             @GAnthony
soc/arm/ti_simplelink/msp432p4xx         @Mani-Sadhasivam
arch/nios2/                              @andrewboie @ramakrishnapallala
arch/posix/                              @aescolar
arch/riscv32/                            @kgugala @pgielda @nategraff-sifive
soc/posix/                               @aescolar
soc/riscv32/                             @kgugala @pgielda @nategraff-sifive
arch/x86/                                @andrewboie @ramakrishnapallala
arch/x86/core/                           @andrewboie
arch/x86/core/crt0.S                     @ramakrishnapallala @nashif
soc/x86/                                 @andrewboie @ramakrishnapallala
soc/x86/intel_quark/quark_d2000/         @nashif
soc/x86/intel_quark/quark_se/            @nashif
soc/x86/intel_quark/quark_x1000/         @nashif
arch/xtensa/                             @andrewboie @rgundi @andyross
soc/xtensa/                              @andrewboie @rgundi @andyross
boards/arc/                              @vonhust @ruuddw
boards/arc/arduino_101_sss/              @nashif
boards/arc/em_starterkit/                @vonhust
boards/arc/quark_se_c1000_ss_devboard/   @nashif
boards/arm/                              @MaureenHelm @galak
boards/arm/96b_carbon/                   @rsalveti @idlethread
boards/arm/96b_nitrogen/                 @idlethread
boards/arm/96b_neonkey/                  @Mani-Sadhasivam
boards/arm/cc3220sf_launchxl/            @GAnthony
boards/arm/curie_ble/                    @jhedberg
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/nrf51_blenano/                @rsalveti
boards/arm/nrf51_pca10028/               @carlescufi
boards/arm/nrf52_pca10040/               @carlescufi
boards/arm/nrf52_pca20020/               @tkln
boards/arm/nrf52810_pca10040/            @carlescufi
boards/arm/nrf52840_pca10056/            @carlescufi
boards/arm/nrf52840_pca10059/            @lemrey
boards/arm/nucleo_f401re/                @rsalveti @idlethread
boards/arm/sam4s_xplained/               @fallrisk
boards/arm/v2m_beetle/                   @fvincenzo
boards/arm/olimexino_stm32/              @ydamigos
boards/arm/stm32f3_disco/                @ydamigos
boards/nios2/                            @ramakrishnapallala
boards/nios2/altera_max10/               @ramakrishnapallala
boards/posix/                            @aescolar
boards/riscv32/                          @kgugala @pgielda @nategraff-sifive
boards/x86/                              @andrewboie @nashif
boards/x86/arduino_101/                  @nashif
boards/x86/galileo/                      @nashif
boards/x86/quark_d2000_crb/              @nashif
boards/x86/quark_se_c1000_devboard/      @nashif
boards/xtensa/                           @andrewboie @ramakrishnapallala
# All cmake related files
cmake/                                   @nashif @SebastianBoe
/CMakeLists.txt                          @nashif @SebastianBoe
doc/                                     @dbkinder
doc/application/coccinelle.rst           @himanshujha199640 @JuliaLawall
doc/CMakeLists.txt                       @carlescufi
doc/scripts/                             @carlescufi
doc/subsystems/bluetooth/                @sjanc @jhedberg @Vudentz
drivers/*/*mcux*                         @MaureenHelm
drivers/*/*qmsi*                         @nashif
drivers/*/*stm32*                        @erwango
drivers/*/*native_posix*                 @aescolar
drivers/adc/                             @anangl
drivers/bluetooth/                       @sjanc @jhedberg @Vudentz
drivers/clock_control/*stm32f4*          @rsalveti @idlethread
drivers/counter/                         @anangl
drivers/display/                         @vanwinkeljan
drivers/ethernet/                        @jukkar @tbursztyka @pfalcon
drivers/flash/                           @nashif
drivers/flash/*stm32*                    @superna9999
drivers/gpio/*stm32*                     @rsalveti @idlethread
drivers/gpio/gpio_pulpino.c              @kgugala @pgielda @nategraff-sifive
drivers/ieee802154/                      @jukkar @tbursztyka
drivers/interrupt_controller/            @andrewboie
drivers/led/                             @Mani-Sadhasivam
drivers/led_strip/                       @mbolivar
drivers/pinmux/stm32/                    @rsalveti @idlethread
drivers/sensor/                          @bogdan-davidoaia @MaureenHelm
drivers/serial/uart_altera_jtag_hal.c    @ramakrishnapallala
drivers/serial/uart_riscv_qemu.c         @kgugala @pgielda @nategraff-sifive
drivers/net/slip.c                       @jukkar @tbursztyka
drivers/spi/                             @tbursztyka
drivers/spi/spi_ll_stm32.*               @superna9999
drivers/timer/altera_avalon_timer_hal.c  @ramakrishnapallala
drivers/timer/pulpino_timer.c            @nategraff-sifive @kgugala @pgielda
drivers/timer/riscv_machine_timer.c      @nategraff-sifive @kgugala @pgielda
drivers/usb/                             @jfischer-phytec-iot @finikorg
drivers/usb/device/usb_dc_stm32.c        @ydamigos @loicpoulain
drivers/i2c/i2c_ll_stm32*                @ldts @ydamigos
drivers/wifi/eswifi                      @loicpoulain
dts/arm/st/                              @erwango
dts/arm/nordic/                          @ioannisg @carlescufi
ext/fs/                                  @nashif @ramakrishnapallala
ext/hal/cmsis/                           @MaureenHelm @galak
ext/hal/nordic/                          @carlescufi @anangl
ext/hal/nxp/                             @MaureenHelm
ext/hal/qmsi/                            @nashif
ext/hal/st/stm32cube/                    @erwango
ext/lib/crypto/mbedtls/                  @nashif
ext/lib/crypto/tinycrypt/                @lpereira
include/adc.h                            @anangl
include/arch/arc/                        @vonhust @ruuddw
include/arch/arc/arch.h                  @andrewboie
include/arch/arc/v2/irq.h                @andrewboie
include/arch/arm/                        @MaureenHelm @galak
include/arch/arm/cortex_m/irq.h          @andrewboie
include/arch/nios2/                      @andrewboie
include/arch/nios2/arch.h                @andrewboie
include/arch/posix/                      @aescolar
include/arch/riscv32                     @nategraff-sifive @kgugala @pgielda
include/arch/x86/                        @andrewboie @ramakrishnapallala
include/arch/x86/arch.h                  @andrewboie
include/arch/xtensa/                     @andrewboie
include/atomic.h                         @andrewboie @andyross
include/bluetooth/                       @sjanc @jhedberg @Vudentz
include/cache.h                          @andrewboie @andyross
include/counter.h                        @anangl
include/device.h                         @ramakrishnapallala @nashif
include/display.h                        @vanwinkeljan
include/display/                         @vanwinkeljan
include/drivers/bluetooth/               @sjanc @jhedberg @Vudentz
include/drivers/ioapic.h                 @andrewboie
include/drivers/loapic.h                 @andrewboie
include/drivers/mvic.h                   @andrewboie
include/fs.h                             @nashif @ramakrishnapallala
include/fs/                              @nashif @ramakrishnapallala
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/led.h                            @Mani-Sadhasivam
include/led_strip.h                      @mbolivar
include/linker/linker-defs.h             @andrewboie @andyross
include/linker/linker-tool-gcc.h         @andrewboie @andyross
include/linker/linker-tool.h             @andrewboie @andyross
include/linker/section_tags.h            @andrewboie @andyross
include/linker/sections.h                @andrewboie @andyross
include/logging/                         @nordic-krch
include/misc/                            @andrewboie @andyross
include/net/                             @jukkar @tbursztyka @pfalcon
include/net/buf.h                        @jukkar @jhedberg @tbursztyka @pfalcon
include/power.h                          @ramakrishnapallala @nashif
include/sensor.h                         @bogdan-davidoaia
include/shared_irq.h                     @andrewboie @andyross
include/shell/                           @jarz-nordic @nordic-krch
include/spi.h                            @tbursztyka
include/sw_isr_table.h                   @andrewboie @andyross
include/sys_clock.h                      @andrewboie @andyross
include/sys_io.h                         @andrewboie @andyross
include/toolchain.h                      @andrewboie @andyross
include/toolchain/                       @andrewboie @andyross
include/zephyr.h                         @andrewboie @andyross
kernel/                                  @andrewboie @andyross
lib/posix/                               @ramakrishnapallala @nniranjhana
kernel/device.c                          @ramakrishnapallala @nashif
kernel/idle.c                            @ramakrishnapallala @nashif
samples/bluetooth/                       @sjanc @jhedberg @Vudentz
samples/boards/quark_se_c1000/power*/    @ramakrishnapallala @nashif
samples/display/                         @vanwinkeljan
samples/net/                             @jukkar @tbursztyka @pfalcon
samples/net/dns_resolve/                 @jukkar @tbursztyka @pfalcon
samples/net/http_server/                 @jukkar @tbursztyka
samples/net/lwm2m_client/                @mike-scott
samples/net/mbedtls_sslclient/           @jukkar
samples/net/mqtt_publisher/              @jukkar @tbursztyka
samples/net/coap_client/                 @rveerama1
samples/net/coap_server/                 @rveerama1
samples/net/sockets/                     @jukkar @tbursztyka @pfalcon
samples/sensor/                          @bogdan-davidoaia
samples/subsys/usb                       @jfischer-phytec-iot @finikorg
scripts/coccicheck                       @himanshujha199640 @JuliaLawall
scripts/coccinelle/                      @himanshujha199640 @JuliaLawall
scripts/expr_parser.py                   @andrewboie @nashif
scripts/sanity_chk/                      @andrewboie @nashif
scripts/sanitycheck                      @andrewboie @nashif
scripts/support/runner/                  @mbolivar
subsys/bluetooth/                        @sjanc @jhedberg @Vudentz
subsys/bluetooth/controller/             @carlescufi @cvinayak
subsys/fs/                               @nashif
subsys/logging/                          @nordic-krch
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/http/                     @jukkar @tbursztyka
subsys/net/lib/lwm2m/                    @mike-scott
subsys/net/lib/mqtt/                     @jukkar @tbursztyka
subsys/net/lib/coap/                     @rveerama1
subsys/net/lib/sockets/                  @jukkar @tbursztyka @pfalcon
subsys/shell/                            @jarz-nordic @nordic-krch
subsys/*/*native_posix*/                 @aescolar
subsys/usb/                              @jfischer-phytec-iot @finikorg
tests/boards/native_posix/               @aescolar
tests/bluetooth/                         @sjanc @jhedberg @Vudentz
tests/posix/                             @nniranjhana
tests/crypto/                            @lpereira @pswarnak
tests/crypto/mbedtls/                    @nashif @lpereira
tests/drivers/spi/                       @tbursztyka
tests/kernel/                            @andrewboie @andyross @spoorthik @pswarnak @nniranjhana
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 @ramakrishnapallala

# Get all docs reviewed
*.rst                                    @dbkinder
