# 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
/arch/arm/core/cortex_m/cmse/             @ioannisg
arch/arm/include/cortex_m/cmse.h          @ioannisg
/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/            @vanti
/soc/arm/ti_simplelink/msp432p4xx/        @Mani-Sadhasivam
/soc/xtensa/intel_s1000/                  @sathishkuttan @dcpleung @rgundi
/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/96b_stm32_sensor_mez/         @Mani-Sadhasivam
/boards/arm/cc3220sf_launchxl/            @vanti
/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/nrf9160_pca10090/             @ioannisg
/boards/arm/nucleo*/                      @erwango
/boards/arm/nucleo_f401re/                @rsalveti @idlethread
/boards/arm/sam4s_xplained/               @fallrisk
/boards/arm/v2m_beetle/                   @fvincenzo
/boards/arm/olimexino_stm32/              @ydamigos
/boards/arm/stm32*_disco/                 @erwango
/boards/arm/stm32f3_disco/                @ydamigos
/boards/arm/stm32*_eval/                  @erwango
/boards/nios2/                            @ramakrishnapallala
/boards/nios2/altera_max10/               @ramakrishnapallala
/boards/posix/                            @aescolar
/boards/riscv32/                          @kgugala @pgielda @nategraff-sifive
/boards/shields/                          @erwango
/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/                           @nashif @dcpleung
/boards/xtensa/intel_s1000_crb/           @sathishkuttan @dcpleung
# All cmake related files
/cmake/                                   @SebastianBoe @nashif
/cmake/compiler/xcc/                      @nashif
/cmake/toolchain/xcc/                     @nashif
/CMakeLists.txt                           @SebastianBoe @nashif
/doc/                                     @dbkinder
/doc/guides/coccinelle.rst                @himanshujha199640 @JuliaLawall
/doc/CMakeLists.txt                       @carlescufi
/doc/scripts/                             @carlescufi
/doc/guides/bluetooth/                    @sjanc @jhedberg @Vudentz
/doc/reference/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/can/                             @alexanderwachter
/drivers/clock_control/*stm32f4*          @rsalveti @idlethread
/drivers/counter/                         @nordic-krch
/drivers/display/                         @vanwinkeljan
/drivers/ethernet/                        @jukkar @tbursztyka @pfalcon
/drivers/flash/                           @nashif
/drivers/flash/*stm32*                    @superna9999
/drivers/gpio/*stm32*                     @rsalveti @idlethread
/drivers/hwinfo/                          @alexanderwachter
/drivers/i2s/i2s_ll_stm32*                @avisconti
/drivers/ieee802154/                      @jukkar @tbursztyka
/drivers/interrupt_controller/            @andrewboie
/drivers/led/                             @Mani-Sadhasivam
/drivers/led_strip/                       @mbolivar
/drivers/modem/                           @mike-scott
/drivers/pci/                             @gnuless
/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/net/slip.c                       @jukkar @tbursztyka
/drivers/spi/                             @tbursztyka
/drivers/spi/spi_ll_stm32.*               @superna9999
/drivers/timer/cortex_m_systick.c         @ioannisg
/drivers/timer/altera_avalon_timer_hal.c  @ramakrishnapallala
/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
/dts/arm/nxp/                             @MaureenHelm
/dts/bindings/                            @galak
/dts/bindings/can/                        @alexanderwachter
/dts/bindings/*/nordic*                   @anangl
/dts/bindings/*/nxp*                      @MaureenHelm
/ext/fs/                                  @nashif @ramakrishnapallala
/ext/hal/cmsis/                           @MaureenHelm @galak
/ext/hal/libmetal/                        @galak
/ext/hal/nordic/                          @carlescufi @anangl
/ext/hal/nxp/                             @MaureenHelm
/ext/hal/qmsi/                            @nashif
/ext/hal/st/stm32cube/                    @erwango
/ext/hal/ti/simplelink/                   @vanti
/ext/lib/crypto/mbedtls/                  @nashif
/ext/lib/crypto/tinycrypt/                @ceolin
/include/adc.h                            @anangl
/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
/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/can.h                            @alexanderwachter
/include/counter.h                        @nordic-krch
/include/device.h                         @ramakrishnapallala @nashif
/include/display.h                        @vanwinkeljan
/include/display/                         @vanwinkeljan
/include/drivers/bluetooth/               @sjanc @jhedberg @Vudentz
/include/drivers/modem/                   @mike-scott
/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/hwinfo.h                         @alexanderwachter
/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/app_smem*.ld              @andrewboie
/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/posix/                           @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 @nashif
/include/toolchain/                       @andrewboie @andyross
/include/zephyr.h                         @andrewboie @andyross
/kernel/                                  @andrewboie @andyross
/lib/gui/                                 @vanwinkeljan
/lib/os/                                  @andrewboie @andyross
/lib/posix/                               @pfalcon
/lib/libc/                                @nashif @andrewboie
/kernel/device.c                          @andrewboie @andyross @nashif
/kernel/idle.c                            @andrewboie @andyross @nashif
/samples/basic/servo_motor/*microbit*     @jhe
/samples/bluetooth/                       @sjanc @jhedberg @Vudentz
/samples/boards/intel_s1000_crb/          @sathishkuttan @rgundi @nashif
/samples/display/                         @vanwinkeljan
/samples/drivers/CAN/                     @alexanderwachter
/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_client/         @rveerama1
/samples/net/sockets/coap_server/         @rveerama1
/samples/net/sockets/                     @jukkar @tbursztyka @pfalcon
/samples/sensor/                          @bogdan-davidoaia
/samples/subsys/logging/                  @nordic-krch @jarz-nordic
/samples/subsys/shell/                    @jarz-nordic @nordic-krch
/samples/subsys/usb/                      @jfischer-phytec-iot @finikorg
/samples/subsys/power/                    @ramakrishnapallala @pizi-nordic
/scripts/coccicheck                       @himanshujha199640 @JuliaLawall
/scripts/coccinelle/                      @himanshujha199640 @JuliaLawall
/scripts/elf_helper.py                    @andrewboie
/scripts/sanity_chk/expr_parser.py        @andrewboie @nashif
/scripts/gen_app_partitions.py            @andrewboie
/arch/x86/gen_gdt.py                      @andrewboie
/arch/x86/gen_idt.py                      @andrewboie
/scripts/gen_kobject_list.py              @andrewboie
/arch/x86/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/series-push-hook.sh              @erwango
/scripts/west_commands/                   @mbolivar
/scripts/west-commands.yml                @mbolivar
/scripts/zephyr_module.py                 @tejlmand
/subsys/bluetooth/                        @sjanc @jhedberg @Vudentz
/subsys/bluetooth/controller/             @carlescufi @cvinayak @thoh-ot
/subsys/fs/                               @nashif
/subsys/fs/fcb/                           @nvlsianpu
/subsys/fs/nvs/                           @Laczen
/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/power/                            @ramakrishnapallala @pizi-nordic
/subsys/settings/                         @nvlsianpu
/subsys/shell/                            @jarz-nordic @nordic-krch
/subsys/storage/                          @nvlsianpu
/subsys/testsuite/                        @nashif
/subsys/usb/                              @jfischer-phytec-iot @finikorg
/tests/application_development/libcxx/    @pabigot
/tests/boards/native_posix/               @aescolar
/tests/boards/intel_s1000_crb/            @rgundi @dcpleung @sathishkuttan
/tests/bluetooth/                         @sjanc @jhedberg @Vudentz
/tests/posix/                             @pfalcon
/tests/crypto/                            @ceolin
/tests/crypto/mbedtls/                    @nashif @ceolin
/tests/drivers/can/                       @alexanderwachter
/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 @ramakrishnapallala
/tests/subsys/settings/                   @nvlsianpu

# Get all docs reviewed
*.rst                                     @dbkinder
