# CODEOWNERS for autoreview assigning in github

# Order is important; the last matching pattern takes the most
# precedence.

# 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_argonkey/                 @avisconti
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/i2s/i2s_ll_stm32*                @avisconti
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/sensor/hts*/                     @avisconti
drivers/sensor/lis*/                     @avisconti
drivers/sensor/lps*/                     @avisconti
drivers/sensor/lsm*/                     @avisconti
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/                            @jukkar @tbursztyka @pfalcon
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/                @ceolin
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/elf_helper.py                    @andrewboie
scripts/expr_parser.py                   @andrewboie @nashif
scripts/gen_app_partitions.py            @andrewboie
scripts/gen_gdt.py                       @andrewboie
scripts/gen_idt.py                       @andrewboie
scripts/gen_kobject_list.py              @andrewboie
scripts/gen_mmu_x86.py                   @andrewboie
scripts/gen_priv_stacks.py               @agross-linaro
scripts/gen_syscall_header.py            @andrewboie
scripts/gen_syscalls.py                  @andrewboie
scripts/process_gperf.py                 @andrewboie
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/                            @ceolin
tests/crypto/mbedtls/                    @nashif @ceolin
tests/drivers/spi/                       @tbursztyka
tests/kernel/                            @andrewboie @andyross @spoorthik @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
