Avisos como erros geralmente são resultado de -Werror passado em algum lugar para o compilador. Pode ser uma imposição intencional do desenvolvedor para ver quantos erros ainda existem e serem deixados apenas porque ainda estão em desenvolvimento ou aplicação intencional no software de missão crítica.
De qualquer forma, você precisa descobrir onde -Werror é. grep é uma boa ferramenta para isso: apenas recursivamente grep para palavra inteira (o traço principal não importa): grep -lr Werror . , enquanto reside no diretório de código-fonte dos drivers.
Depois, você pode remover o switch de cada arquivo com um simples sed -i 's@-Werror@@g' file .
Olhando no link , vejo um -Werror definido explícito em ERROR_CFLAGS, o desenvolvedor decidiu pegar alguns avisos não fatais também.
Infelizmente -Werror é inútil e irritante ao criar software de lançamento, porque os compiladores variam muito. Coisas simples, como declarações implícitas de função e incompatibilidade de ponteiros / tamanho de armazenamento, exigem atenção, mas é uma tarefa do desenvolvedor fazer com que o código corresponda aos padrões comuns e aceitos.