static int master_slave_detect(void) { char message[50]; /* master? */ SET_REG(ATA_SELECT, 0); snprintf(message,50,"ATA_STATUS:%08x",ATA_STATUS); sleep(5); if ( ATA_STATUS & (STATUS_RDY|STATUS_BSY) ) { ata_device = 0; DEBUGF("Found master harddisk\n"); } else { /* slave? */ SET_REG(ATA_SELECT, SELECT_DEVICE1); if ( ATA_STATUS & (STATUS_RDY|STATUS_BSY) ) { ata_device = SELECT_DEVICE1; DEBUGF("Found slave harddisk\n"); } else return -1; } return 0; }