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.