고객님의 소스상에서 의심되는 것은 다음과 같습니다.

while(data!=0)
{
read(dev, (char *) &data, 2);
printf("read value ==> %x
",data);
sleep(1);
}

이 문장을 다음과 같이 수정해서 해보세요

data = 1;
while(data!=0)
{
read(dev, (char *) &data, 4 );
printf("read value ==> %x
",data);
sleep(1);
}


그리고 sleep 1이 있으므로 꼭 스위치를 누르신 후
1초 이상은 버티셔야 합니다.

gpio 버전업이 되어 있는 소스가 있답니다.
한번 확인해 보세요...