X86이라고 해서 리눅스 디바이스 드라이버가 달라지지 않습니다.

똑같습니다

우선 Chipset의 I2C 와 관련된 매뉴얼을 확보하시고요
모듈을 이용해서 디바이스 드라이버를 개발하세요

칩셋의 내부 레지스터의 접근 방식에 따라서 다음과 같이 접근하세요

1) IO 포트 주소 방식이라면

이 부분이 가장 쉽습니다. inb, outb 와 같은 io 접근 함수를 이용하세요

2) PCI 형식이라면

두번째로 쉽습니다.

해당 PCI 리소스에서 주소 자원을 읽어 오는 pci_ 로 시작하는 함수들
을 이용하여 주소 맵핑을 하신 후

임베디드 방식과 동일하게 접근하시면 됩니다.

3) ISA 방식이면서 메모리 인터페이스라면

힝....
다른 ISA 카드의 디바이스 드라이버의 주소지정방식을 참고하세요

I2C 접근

I2C 는 I2C 호스트 드라이버가 있읍니다. 칩셋에 이 호스트 드라이버
를 이용하는 방식이 있는데요 디바이스 드라이버를 분석해서 하는 방법이
있고요.. 조금 복잡하죠...

아니면 직접 만들어서 사용하는 방법이 있읍니다
어쩌면 이 방법이 더 쉬울수 있읍니다.


PS: 이 정도 이상의 질문은 답해 드리기 힘들수 있읍니다 ^^
저희는 용역으로 먹고 사는 업체라서요 하하...