O esforço para integrar o suporte nativo ao Open Sensor Fusion (OSF) no subsistema IIO do Kernel Linux encontrou uma barreira estrutural. O conjunto de patches enviado pelo desenvolvedor Jinseob Kim, agora em sua nona versão, teve o processo de revisão pausado pelos mantenedores do kernel. O motivo central não é apenas o código em si, mas a ausência de uma especificação de protocolo madura e publicamente validada pelo projeto OSF original.
O que isso muda na prática
Para compreender o impasse, é preciso olhar para a função das tecnologias envolvidas:
- Kernel Linux e IIO: O Industrial I/O (IIO) é a parte do sistema operacional responsável por lidar com conversores analógico-digitais e sensores de hardware (como acelerômetros e termômetros).
- Open Sensor Fusion: É uma interface de hub que agrega dados de múltiplos sensores físicos em um único fluxo de dados contínuo.
- O problema atual: Sem um manual de instruções (a especificação) definitivo por parte dos criadores do OSF, os desenvolvedores do kernel não têm garantia de que o driver escrito hoje funcionará corretamente com os dispositivos OSF fabricados amanhã.
A divergência na especificação

A série de patches v9 proposta por Jinseob Kim implementa a recepção de dados via conexão UART e descobre os sensores conectados com base em relatórios de capacidade do hardware. A proposta adiciona a leitura de acelerômetro, giroscópio, magnetômetro e dados de temperatura através de interfaces de leitura direta e buffers de software.
No entanto, o próprio autor da submissão alertou na mensagem introdutória que a especificação do protocolo continua sendo uma questão em aberto. Os rascunhos históricos do protocolo OSF divergem sobre o tratamento de campos reservados, extensões finais e unidades de medição, não estabelecendo uma norma técnica definitiva para a implementação. O driver submetido exige comprimentos exatos de carga útil, o que o torna rígido diante de possíveis mudanças no padrão do hardware.
Posição dos mantenedores
A admissão de que a especificação ainda está fluida gerou uma reação direta da liderança do subsistema IIO. Jonathan Cameron, mantenedor da área, informou que paralisará as revisões de novas versões do patch até que a documentação do projeto OSF seja formalizada.
Segundo Cameron, aceitar um código dependente de uma especificação em constante mudança cria um risco de manutenção muito alto. O mantenedor solicitou que futuras submissões venham acompanhadas de uma declaração clara de que a especificação foi revisada, estabilizada e conta com um processo formal para correção de erros e emissão de erratas. Ele também pontuou que o material deveria ter permanecido sob o rótulo de RFC (Request for Comments), dada a imaturidade do padrão.
Desafios técnicos no código
Além das questões de documentação externa, o código em si também precisará de ajustes estruturais. O desenvolvedor Andy Shevchenko apontou que a submissão é extensa demais para uma revisão eficiente. O patch final que adiciona o driver UART isoladamente adiciona milhares de linhas, e a recomendação no fluxo de desenvolvimento do Kernel Linux é que cada envio raramente ultrapasse o limite de cerca de 750 linhas para facilitar a auditoria.
Shevchenko também identificou falhas arquiteturais pontuais, como o uso indevido de saltos lógicos na limpeza de rotinas (goto) após a alocação gerenciada de recursos da família “devm”, o que contraria as diretrizes atuais de segurança e gerenciamento de memória do kernel.
O futuro do driver OSF no mainline agora depende de um alinhamento externo. Até que o projeto Open Sensor Fusion consolide seu protocolo de comunicação, a implementação nativa no Linux permanecerá em compasso de espera.
