FreeBSD/sys/dev/ata/chipsets/ata-acerlabs.c
/*
 * Acer Labs Inc (ALI) chipset support functions
 */
Acer Labs Inc (ALI) chipset support functions
Acer Labs Inc ( ALI ) chipset support functions
static int
ata_ali_probe(device_t dev)
{
    struct ata_pci_controller *ctlr = device_get_softc(dev);
    static const struct ata_chip_id ids[] =
    {{ ATA_ALI_5289, 0x00, 2, ALI_SATA, ATA_SA150, "M5289" },
     { ATA_ALI_5288, 0x00, 4, ALI_SATA, ATA_SA300, "M5288" },
     { ATA_ALI_5287, 0x00, 4, ALI_SATA, ATA_SA150, "M5287" },
     { ATA_ALI_5281, 0x00, 2, ALI_SATA, ATA_SA150, "M5281" },
     { ATA_ALI_5228, 0xc5, 0, ALI_NEW,  ATA_UDMA6, "M5228" },
     { ATA_ALI_5229, 0xc5, 0, ALI_NEW,  ATA_UDMA6, "M5229" },
     { ATA_ALI_5229, 0xc4, 0, ALI_NEW,  ATA_UDMA5, "M5229" },
     { ATA_ALI_5229, 0xc2, 0, ALI_NEW,  ATA_UDMA4, "M5229" },
     { ATA_ALI_5229, 0x20, 0, ALI_OLD,  ATA_UDMA2, "M5229" },
     { ATA_ALI_5229, 0x00, 0, ALI_OLD,  ATA_WDMA2, "M5229" },
     { 0, 0, 0, 0, 0, 0}};
    if (pci_get_vendor(dev) != ATA_ACER_LABS_ID)
	return ENXIO;
    if (!(ctlr->chip = ata_match_chip(dev, ids)))
	return ENXIO;
    ata_set_desc(dev);
    ctlr->chipinit = ata_ali_chipinit;
    ctlr->chipdeinit = ata_ali_chipdeinit;
    return (BUS_PROBE_LOW_PRIORITY);
}
static int ata_ali_probe ( device_t dev ) { struct ata_pci_controller * ctlr = device_get_softc ( dev ) ; static const struct ata_chip_id ids [ ] = { { ATA_ALI_5289 , 0x00 , 2 , ALI_SATA , ATA_SA150 , " " } , { ATA_ALI_5288 , 0x00 , 4 , ALI_SATA , ATA_SA300 , " " } , { ATA_ALI_5287 , 0x00 , 4 , ALI_SATA , ATA_SA150 , " " } , { ATA_ALI_5281 , 0x00 , 2 , ALI_SATA , ATA_SA150 , " " } , { ATA_ALI_5228 , 0xc5 , 0 , ALI_NEW , ATA_UDMA6 , " " } , { ATA_ALI_5229 , 0xc5 , 0 , ALI_NEW , ATA_UDMA6 , " " } , { ATA_ALI_5229 , 0xc4 , 0 , ALI_NEW , ATA_UDMA5 , " " } , { ATA_ALI_5229 , 0xc2 , 0 , ALI_NEW , ATA_UDMA4 , " " } , { ATA_ALI_5229 , 0x20 , 0 , ALI_OLD , ATA_UDMA2 , " " } , { ATA_ALI_5229 , 0x00 , 0 , ALI_OLD , ATA_WDMA2 , " " } , { 0 , 0 , 0 , 0 , 0 , 0 } } ; if ( pci_get_vendor ( dev ) != ATA_ACER_LABS_ID ) return ENXIO ; if ( ! ( ctlr -> chip = ata_match_chip ( dev , ids ) ) ) return ENXIO ; ata_set_desc ( dev ) ; ctlr -> chipinit = ata_ali_chipinit ; ctlr -> chipdeinit = ata_ali_chipdeinit ; return ( BUS_PROBE_LOW_PRIORITY ) ; }
Acer Labs Inc (ALI) chipset support functions
Acer Labs Inc ( ALI ) chipset support functions