서론: 왜 이제는 DM(Driver Model)인가?과거의 임베디드 드라이버는 하드웨어 레지스터에 직접 접근하거나 전역 함수를 호출하는 방식이 많았습니다. 하지만 시스템이 복잡해지면서 유지보수와 확장성을 위해 DM(Driver Model) 도입이 필수적이 되었습니다.이번 포스트에서는 U-Boot 및 최신 임베디드 시스템에서 표준으로 자리 잡은 DM 기반 I2C 드라이버의 구조와 실제 코드 작성법을 살펴보겠습니다.1. DM I2C 드라이버의 핵심 구조DM(Driver Model) 체계에서 I2C 드라이버는 크게 두 가지 핵심 구조체를 구현해야 합니다.struct dm_i2c_ops: 실제 하드웨어 제어 함수(xfer, probe, set_speed 등)를 정의하는 인터페이스입니다.U_BOOT_DRIVER:..