리눅스 커널을 위한 새로운 패치 시리즈가 제안되었으며, 이는 간단하고 비표준 장치에 대한 플랫폼 장치 사용을 대체하기 위해 설계된 '페이크 버스'를 도입합니다. 이 이니셔티브는 개발자들이 사소한 장치에 대해 플랫폼 장치를 잘못 사용했던 오랜 문제를 해결하는 것을 목표로 하고 있습니다.
페이크 버스 API는 전통적인 플랫폼 장치 API보다 훨씬 간단하며, 장치를 생성하는 함수와 제거하는 함수 두 개로 구성되어 있습니다. 장치가 생성되면 드라이버가 자동으로 장치에 바인딩되어, 프로브 및 릴리스 콜백이 의도한 대로 작동하도록 보장합니다. 이러한 간소화된 접근 방식은 장치 포인터의 간단한 생애 주기 관리 덕분에 Rust와의 통합을 용이하게 할 것으로 기대됩니다.
이전에 플랫폼 장치가 잘못 사용된 두 가지 예시가 페이크 버스 API를 활용하도록 변환되었습니다: 더미 레귤레이터 드라이버와 USB PHY 코드입니다. 두 경우 모두 논리는 동일하게 유지되거나 단순화되어, 새로운 API의 효과성을 나타냅니다. 또한, 이 전환 과정에서 USB PHY 코드에서 이전에 발견되지 않았던 버그가 해결되어 구현의 신뢰성이 더욱 향상되었습니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.