Stuff
public text v1 · immutablestatic 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;
}