Categorias
Kernel

Kernel Linux pode ganhar “Faux Bus” para simplificar suporte a dispositivos não físicos

Linux pode ganhar Faux Bus, um barramento “falso” para dispositivos simples e virtuais, facilitando a vida dos desenvolvedores e melhorando suporte a drivers.

O desenvolvedor Greg Kroah-Hartman, um dos principais mantenedores do Linux Kernel, propôs a criação do Faux Bus, um novo sistema de “barramento falso” que pode facilitar a criação e o gerenciamento de dispositivos simples e virtuais.

A proposta busca solucionar um problema antigo: muitos desenvolvedores usam “platform devices” para dispositivos que não são físicos, o que pode ser ineficiente e desnecessariamente complexo.

Discussão técnica e código da proposta: Faux Bus – Proposta no LKML

O que é o Faux Bus?

O Faux Bus é um mecanismo que permite criar dispositivos virtuais e vinculá-los automaticamente a um driver correspondente. A ideia é fornecer uma API extremamente simples, com apenas duas funções principais:

  • Criar um dispositivo.
  • Remover o dispositivo quando ele não for mais necessário.

Ao invés de depender de Platform Devices, que são tradicionalmente usados para hardware real, o Faux Bus reduz a complexidade ao lidar com elementos como reguladores de energia simulados e controladores de USB PHY genéricos.

Por que o Faux Bus é importante para o Linux?

Greg KH destaca que há anos observa uso indevido de Platform Devices para dispositivos simulados ou não físicos. Com o Faux Bus, o código fica mais limpo, eficiente e fácil de manter.

Além disso, a proposta tem um potencial interessante para integração com Rust para Linux, pois a API simples e previsível facilita a criação de bindings na linguagem.

Exemplos de uso do Faux Bus

A proposta já foi testada e aplicada em dois casos reais no kernel:

  • Regulador de energia Dummy – O código foi convertido para usar Faux Bus, resultando em uma implementação mais enxuta.
  • Controlador USB PHY genérico – A transição para Faux Bus tornou o código mais eficiente e até corrigiu um bug não percebido anteriormente.

Quando o Faux Bus pode chegar ao kernel Linux?

A proposta foi enviada para avaliação da comunidade e, se aprovada, poderá ser incorporada em futuras versões do Linux Kernel.

Por Emanuel Negromonte

Fundador do SempreUPdate. Acredita no poder do trabalho colaborativo, no GNU/Linux, Software livre e código aberto. É possível tornar tudo mais simples quando trabalhamos juntos, e tudo mais difícil quando nos separamos.

Sair da versão mobile