Chinaunix

标题: RMII 驱动读写问题请教 [打印本页]

作者: idoleagle    时间: 2011-09-30 15:42
标题: RMII 驱动读写问题请教
之前是用的MII的,下面驱动可以正常工作,但换成RMII后,下面ioctl操作报错,请问要怎么修改:
static int network_miireg_read(char *ifrname, int phy_id, int reg_num )
{
while(ret==0){
        fd = socket(AF_INET, SOCK_DGRAM, 0);
        
        if(-1 == fd)
        {
                porting_error(PORT_MODULE_NET,"get socket fail.");
                return 0;
        }
        
        ifr = malloc(sizeof(struct ifreq));
        memset(ifr, 0x00, sizeof(struct ifreq));
        //strcpy (ifr->ifr_name, ifrname);        /*eth0*/
        strncpy(ifr->ifr_name, ifrname, IFNAMSIZ);
        mii = (struct mii_ioctl_data *)&ifr->ifr_data;
        mii->phy_id =0; // phy_id;        /*0x10;*/
        //phy_id = mii->phy_id;
        mii->reg_num = reg_num;        /*0x01;*/

        /*mii->val_in = SetValue;*/
        if(ioctl(fd, ActionCmd, ifr) == -1)
        {
                close(fd);
                porting_error(PORT_MODULE_NET,"ioctl fail.");
                free(ifr);
                return 0;
        }
          close(fd);
          // printf("read value = 0x%x\n", mii->val_out);
          ret = mii->val_out;
          free(ifr);
          count++;
          if(count > 3)
                  break;
          if(ret==0)
                  sleep(1);
        }
}




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2