Acontece que, se um módulo tentar inicializar um dispositivo usando um número maior que já foi usado, insmod e modprobe falharão com a mensagem de erro
operation not permitted
Para o XAPP 1022 em particular, o driver tenta registrar um dispositivo char, ao qual ele atribui o número principal 240. Já havia outro dispositivo registrado com esse número principal em minha máquina, o que causou a falha do driver em sua função init .
A solução é mudar
int gDrvrMajor = 240;
para
int gDrvrMajor = {some major number that isn't taken}
dentro do xpcie.c. É então também necessário mudar
mknod /dev/xpcie c 240 1
para
mknod /dev/xpcie c {same other major number as above} 1
dentro do make_device.