도와주세요!!
글 수 15,339
2005.01.07 21:17:17 (*.241.179.143)
8201
여기 소스에서 마지막에 return -EINVAL;를 해주는데 무슨 의미인지 모르겠습
니다.아시는 분 답변 부탁드릴께요.
int s_ioctl( struct inode *inode, struct file *filp, unsigned int cmd,
unsigned long arg )
{
unsigned short fetch,temp;
long i;
unsigned char sub;
unsigned short data;
unsigned int opt;
switch (cmd)
{
case IOCTL_S_INIT:
s_init();
break;
case IOCTL_S_READ:
break;
case IOCTL_S_WRITE:
get_user((fetch),(unsigned short *)
arg);
// 서브 어드레스와 데이타를 분리
temp = fetch;
temp = temp & 0xff00;
temp = temp >> 8;
sub = (unsigned char)temp;
temp = fetch;
temp = temp & 0x00ff;
data = temp;
s_WriteReg(sub,data);
opt = (unsigned int)data;
switch(opt)
{
case 0x05: // 하이 임피던
스
break;
case 0x0d: // VOUT ENABLE
break;
default:
break;
}
break;
default:
return -EINVAL;
}
return -EINVAL;
}
니다.아시는 분 답변 부탁드릴께요.
int s_ioctl( struct inode *inode, struct file *filp, unsigned int cmd,
unsigned long arg )
{
unsigned short fetch,temp;
long i;
unsigned char sub;
unsigned short data;
unsigned int opt;
switch (cmd)
{
case IOCTL_S_INIT:
s_init();
break;
case IOCTL_S_READ:
break;
case IOCTL_S_WRITE:
get_user((fetch),(unsigned short *)
arg);
// 서브 어드레스와 데이타를 분리
temp = fetch;
temp = temp & 0xff00;
temp = temp >> 8;
sub = (unsigned char)temp;
temp = fetch;
temp = temp & 0x00ff;
data = temp;
s_WriteReg(sub,data);
opt = (unsigned int)data;
switch(opt)
{
case 0x05: // 하이 임피던
스
break;
case 0x0d: // VOUT ENABLE
break;
default:
break;
}
break;
default:
return -EINVAL;
}
return -EINVAL;
}