Failed to load kernel modules (My version)

I had an update this morning and updated. I started getting the failed to load kernel modules on all my kernels I have installed. I have 5.11, 5.10, 5.9, 5.4, 4.19, 4.9, and 4.14. I fixed the problem with sudo pacman -S linux510-headers to get me back into the system. What I am wondering about is this. When I do: pacman -Q | grep headers I get: linux-api-headers 5.10.13-1. I know there are linux-api-headers and linux-headers. Which should I be using? and is the grep command going to show just the headers I am using or what I have installed? If it’s what I have installed then something happened to the rest of the kernel headers.

When I do: pacman -Q | grep -e linux

I get this: archlinux-appstream-data 20210125-1
archlinux-keyring 20210110-1
lib32-util-linux 2.36.2-1
linux-api-headers 5.10.13-1
linux-firmware 20210211.r1830.f7915a0-1
linux419 4.19.176-1
linux419-nvidia-390xx 390.141-12
linux510 5.10.16-1
linux510-nvidia-390xx 390.141-19
linux511 5.11.0-0
linux54 5.4.98-1
linux54-nvidia-390xx 390.141-12
util-linux 2.36.2-1
util-linux-libs 2.36.2-1

If I am looking at this right it seems I have some headers missing. Is this correct?

you have linuxnn-headers missing

I figured that was the case but I sure can’t figure out how it happened. Should I use linux-api-headers or linuxnn-headers?

you keep all linux…headers
for rebuild

sudo mkinitcpio -P

Would the pacman log show when they were removed?