diff options
author | marius <marius@FreeBSD.org> | 2012-03-21 16:59:39 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2012-03-21 16:59:39 +0000 |
commit | cc444f6cf55f23db4d16615150883d872ffb5bd2 (patch) | |
tree | ecf4732c0a19395313044e11b9f3ed72b03a4eea /sys | |
parent | 20d817657d8db6ea88d3c8f0ab6ea12ee1a7934d (diff) | |
download | FreeBSD-src-cc444f6cf55f23db4d16615150883d872ffb5bd2.zip FreeBSD-src-cc444f6cf55f23db4d16615150883d872ffb5bd2.tar.gz |
- First pass at const'ifying ata(4) as appropriate.
- Use DEVMETHOD_END.
- Use NULL instead of 0 for pointers
MFC after: 1 week
Diffstat (limited to 'sys')
32 files changed, 138 insertions, 124 deletions
diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c index 1ff1ce1..9ea25c0 100644 --- a/sys/dev/ata/ata-all.c +++ b/sys/dev/ata/ata-all.c @@ -1209,7 +1209,7 @@ ata_udelay(int interval) } #ifndef ATA_CAM -char * +const char * ata_unit2str(struct ata_device *atadev) { struct ata_channel *ch = device_get_softc(device_get_parent(atadev->dev)); diff --git a/sys/dev/ata/ata-all.h b/sys/dev/ata/ata-all.h index 25286bc..8209808 100644 --- a/sys/dev/ata/ata-all.h +++ b/sys/dev/ata/ata-all.h @@ -622,7 +622,7 @@ int ata_identify(device_t dev); void ata_default_registers(device_t dev); void ata_modify_if_48bit(struct ata_request *request); void ata_udelay(int interval); -char *ata_unit2str(struct ata_device *atadev); +const char *ata_unit2str(struct ata_device *atadev); const char *ata_mode2str(int mode); int ata_str2mode(const char *str); const char *ata_satarev2str(int rev); @@ -649,7 +649,7 @@ void ata_timeout(struct ata_request *); void ata_catch_inflight(device_t dev); void ata_fail_requests(device_t dev); void ata_drop_requests(device_t dev); -char *ata_cmd2str(struct ata_request *request); +const char *ata_cmd2str(struct ata_request *request); /* ata-lowlevel.c: */ void ata_generic_hw(device_t dev); diff --git a/sys/dev/ata/ata-card.c b/sys/dev/ata/ata-card.c index 115e927..409d95b 100644 --- a/sys/dev/ata/ata-card.c +++ b/sys/dev/ata/ata-card.c @@ -49,7 +49,7 @@ __FBSDID("$FreeBSD$"); #include "pccarddevs.h" -static const struct pccard_product ata_pccard_products[] = { +static const struct pccard_product const ata_pccard_products[] = { PCMCIA_CARD(FREECOM, PCCARDIDE), PCMCIA_CARD(EXP, EXPMULTIMEDIA), PCMCIA_CARD(IODATA3, CBIDE2), @@ -172,7 +172,7 @@ static device_method_t ata_pccard_methods[] = { DEVMETHOD(device_attach, ata_pccard_attach), DEVMETHOD(device_detach, ata_pccard_detach), - { 0, 0 } + DEVMETHOD_END }; static driver_t ata_pccard_driver = { @@ -181,5 +181,5 @@ static driver_t ata_pccard_driver = { sizeof(struct ata_channel), }; -DRIVER_MODULE(ata, pccard, ata_pccard_driver, ata_devclass, 0, 0); +DRIVER_MODULE(ata, pccard, ata_pccard_driver, ata_devclass, NULL, NULL); MODULE_DEPEND(ata, ata, 1, 1, 1); diff --git a/sys/dev/ata/ata-cbus.c b/sys/dev/ata/ata-cbus.c index 0508083..9f99078 100644 --- a/sys/dev/ata/ata-cbus.c +++ b/sys/dev/ata/ata-cbus.c @@ -248,7 +248,7 @@ static device_method_t ata_cbus_methods[] = { DEVMETHOD(bus_setup_intr, ata_cbus_setup_intr), DEVMETHOD(bus_print_child, ata_cbus_print_child), - { 0, 0 } + DEVMETHOD_END }; static driver_t ata_cbus_driver = { @@ -393,7 +393,7 @@ static device_method_t ata_cbuschannel_methods[] = { /* ATA methods */ DEVMETHOD(ata_locking, ata_cbuschannel_banking), #endif - { 0, 0 } + DEVMETHOD_END }; static driver_t ata_cbuschannel_driver = { @@ -402,5 +402,5 @@ static driver_t ata_cbuschannel_driver = { sizeof(struct ata_channel), }; -DRIVER_MODULE(ata, atacbus, ata_cbuschannel_driver, ata_devclass, 0, 0); +DRIVER_MODULE(ata, atacbus, ata_cbuschannel_driver, ata_devclass, NULL, NULL); MODULE_DEPEND(ata, ata, 1, 1, 1); diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c index f5da174..22e9661 100644 --- a/sys/dev/ata/ata-disk.c +++ b/sys/dev/ata/ata-disk.c @@ -591,7 +591,7 @@ static device_method_t ad_methods[] = { /* ATA methods */ DEVMETHOD(ata_reinit, ad_reinit), - { 0, 0 } + DEVMETHOD_END }; static driver_t ad_driver = { diff --git a/sys/dev/ata/ata-pci.c b/sys/dev/ata/ata-pci.c index b22b5e2..f47ea82 100644 --- a/sys/dev/ata/ata-pci.c +++ b/sys/dev/ata/ata-pci.c @@ -595,7 +595,7 @@ static device_method_t ata_pci_methods[] = { DEVMETHOD(bus_print_child, ata_pci_print_child), DEVMETHOD(bus_child_location_str, ata_pci_child_location_str), - { 0, 0 } + DEVMETHOD_END }; devclass_t ata_pci_devclass; @@ -606,7 +606,7 @@ static driver_t ata_pci_driver = { sizeof(struct ata_pci_controller), }; -DRIVER_MODULE(atapci, pci, ata_pci_driver, ata_pci_devclass, 0, 0); +DRIVER_MODULE(atapci, pci, ata_pci_driver, ata_pci_devclass, NULL, NULL); MODULE_VERSION(atapci, 1); MODULE_DEPEND(atapci, ata, 1, 1, 1); @@ -773,7 +773,7 @@ static device_method_t ata_pcichannel_methods[] = { #endif DEVMETHOD(ata_reset, ata_pcichannel_reset), - { 0, 0 } + DEVMETHOD_END }; driver_t ata_pcichannel_driver = { @@ -782,7 +782,7 @@ driver_t ata_pcichannel_driver = { sizeof(struct ata_channel), }; -DRIVER_MODULE(ata, atapci, ata_pcichannel_driver, ata_devclass, 0, 0); +DRIVER_MODULE(ata, atapci, ata_pcichannel_driver, ata_devclass, NULL, NULL); /* * misc support fucntions @@ -863,8 +863,8 @@ ata_set_desc(device_t dev) device_set_desc_copy(dev, buffer); } -struct ata_chip_id * -ata_match_chip(device_t dev, struct ata_chip_id *index) +const struct ata_chip_id * +ata_match_chip(device_t dev, const struct ata_chip_id *index) { uint32_t devid; uint8_t revid; @@ -879,10 +879,10 @@ ata_match_chip(device_t dev, struct ata_chip_id *index) return (NULL); } -struct ata_chip_id * -ata_find_chip(device_t dev, struct ata_chip_id *index, int slot) +const struct ata_chip_id * +ata_find_chip(device_t dev, const struct ata_chip_id *index, int slot) { - struct ata_chip_id *idx; + const struct ata_chip_id *idx; device_t *children; int nchildren, i; uint8_t s; @@ -904,7 +904,7 @@ ata_find_chip(device_t dev, struct ata_chip_id *index, int slot) return (NULL); } -char * +const char * ata_pcivendor2str(device_t dev) { switch (pci_get_vendor(dev)) { diff --git a/sys/dev/ata/ata-pci.h b/sys/dev/ata/ata-pci.h index 81aee6a..16f86cb 100644 --- a/sys/dev/ata/ata-pci.h +++ b/sys/dev/ata/ata-pci.h @@ -33,7 +33,7 @@ struct ata_chip_id { int cfg1; int cfg2; u_int8_t max_dma; - char *text; + const char *text; }; #define ATA_PCI_MAX_CH 8 @@ -50,7 +50,7 @@ struct ata_pci_controller { int r_irq_rid; struct resource *r_irq; void *handle; - struct ata_chip_id *chip; + const struct ata_chip_id *chip; int legacy; int channels; int ichannels; @@ -569,15 +569,15 @@ int ata_pci_status(device_t dev); void ata_pci_hw(device_t dev); void ata_pci_dmainit(device_t dev); void ata_pci_dmafini(device_t dev); -char *ata_pcivendor2str(device_t dev); +const char *ata_pcivendor2str(device_t dev); int ata_legacy(device_t); void ata_generic_intr(void *data); int ata_generic_chipinit(device_t dev); int ata_generic_setmode(device_t dev, int target, int mode); int ata_setup_interrupt(device_t dev, void *intr_func); void ata_set_desc(device_t dev); -struct ata_chip_id *ata_match_chip(device_t dev, struct ata_chip_id *index); -struct ata_chip_id *ata_find_chip(device_t dev, struct ata_chip_id *index, int slot); +const struct ata_chip_id *ata_match_chip(device_t dev, const struct ata_chip_id *index); +const struct ata_chip_id *ata_find_chip(device_t dev, const struct ata_chip_id *index, int slot); int ata_mode2idx(int mode); /* global prototypes from chipsets/ata-*.c */ @@ -611,15 +611,14 @@ static device_method_t __CONCAT(dname,_methods)[] = { \ DEVMETHOD(pci_write_config, ata_pci_write_config), \ DEVMETHOD(bus_print_child, ata_pci_print_child), \ DEVMETHOD(bus_child_location_str, ata_pci_child_location_str), \ - { 0, 0 } \ + DEVMETHOD_END \ }; \ static driver_t __CONCAT(dname,_driver) = { \ "atapci", \ __CONCAT(dname,_methods), \ sizeof(struct ata_pci_controller) \ }; \ -DRIVER_MODULE(dname, pci, __CONCAT(dname,_driver), ata_pci_devclass, 0, 0); \ +DRIVER_MODULE(dname, pci, __CONCAT(dname,_driver), ata_pci_devclass, NULL, NULL); \ MODULE_VERSION(dname, 1); \ MODULE_DEPEND(dname, ata, 1, 1, 1); \ MODULE_DEPEND(dname, atapci, 1, 1, 1); - diff --git a/sys/dev/ata/ata-queue.c b/sys/dev/ata/ata-queue.c index 070d711..d18f9c1 100644 --- a/sys/dev/ata/ata-queue.c +++ b/sys/dev/ata/ata-queue.c @@ -684,7 +684,7 @@ ata_sort_queue(struct ata_channel *ch, struct ata_request *request) } #endif -char * +const char * ata_cmd2str(struct ata_request *request) { static char buffer[20]; diff --git a/sys/dev/ata/ata-raid.c b/sys/dev/ata/ata-raid.c index 0958ebf..c96e252 100644 --- a/sys/dev/ata/ata-raid.c +++ b/sys/dev/ata/ata-raid.c @@ -4546,7 +4546,7 @@ static device_method_t ata_raid_sub_methods[] = { DEVMETHOD(device_probe, ata_raid_subdisk_probe), DEVMETHOD(device_attach, ata_raid_subdisk_attach), DEVMETHOD(device_detach, ata_raid_subdisk_detach), - { 0, 0 } + DEVMETHOD_END }; static driver_t ata_raid_sub_driver = { diff --git a/sys/dev/ata/atapi-cam.c b/sys/dev/ata/atapi-cam.c index 25a579d..363aa94 100644 --- a/sys/dev/ata/atapi-cam.c +++ b/sys/dev/ata/atapi-cam.c @@ -122,7 +122,7 @@ static device_method_t atapi_cam_methods[] = { DEVMETHOD(device_attach, atapi_cam_attach), DEVMETHOD(device_detach, atapi_cam_detach), DEVMETHOD(ata_reinit, atapi_cam_reinit), - {0, 0} + DEVMETHOD_END }; static driver_t atapi_cam_driver = { diff --git a/sys/dev/ata/atapi-cd.c b/sys/dev/ata/atapi-cd.c index e67761e..a45c384 100644 --- a/sys/dev/ata/atapi-cd.c +++ b/sys/dev/ata/atapi-cd.c @@ -1899,7 +1899,7 @@ static device_method_t acd_methods[] = { /* ATA methods */ DEVMETHOD(ata_reinit, acd_reinit), - { 0, 0 } + DEVMETHOD_END }; static driver_t acd_driver = { diff --git a/sys/dev/ata/atapi-fd.c b/sys/dev/ata/atapi-fd.c index 4238f20..403abe0 100644 --- a/sys/dev/ata/atapi-fd.c +++ b/sys/dev/ata/atapi-fd.c @@ -423,7 +423,7 @@ static device_method_t afd_methods[] = { /* ATA methods */ DEVMETHOD(ata_reinit, afd_reinit), - { 0, 0 } + DEVMETHOD_END }; static driver_t afd_driver = { diff --git a/sys/dev/ata/atapi-tape.c b/sys/dev/ata/atapi-tape.c index 90a7d74..9f68a4b 100644 --- a/sys/dev/ata/atapi-tape.c +++ b/sys/dev/ata/atapi-tape.c @@ -723,7 +723,7 @@ static device_method_t ast_methods[] = { /* ATA methods */ DEVMETHOD(ata_reinit, ast_reinit), - { 0, 0 } + DEVMETHOD_END }; static driver_t ast_driver = { diff --git a/sys/dev/ata/chipsets/ata-acard.c b/sys/dev/ata/chipsets/ata-acard.c index d53fc28..8558a7e 100644 --- a/sys/dev/ata/chipsets/ata-acard.c +++ b/sys/dev/ata/chipsets/ata-acard.c @@ -81,7 +81,7 @@ static int ata_acard_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - static struct ata_chip_id ids[] = + static const struct ata_chip_id const ids[] = {{ ATA_ATP850R, 0, ATP_OLD, 0x00, ATA_UDMA2, "ATP850" }, { ATA_ATP860A, 0, 0, 0x00, ATA_UDMA4, "ATP860A" }, { ATA_ATP860R, 0, 0, 0x00, ATA_UDMA4, "ATP860R" }, diff --git a/sys/dev/ata/chipsets/ata-acerlabs.c b/sys/dev/ata/chipsets/ata-acerlabs.c index 8281d0f..6b2637b 100644 --- a/sys/dev/ata/chipsets/ata-acerlabs.c +++ b/sys/dev/ata/chipsets/ata-acerlabs.c @@ -75,7 +75,7 @@ static int ata_ali_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - static struct ata_chip_id ids[] = + static const struct ata_chip_id const 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" }, @@ -304,11 +304,12 @@ ata_ali_setmode(device_t dev, int target, int mode) struct ata_channel *ch = device_get_softc(dev); int devno = (ch->unit << 1) + target; int piomode; - u_int32_t piotimings[] = + static const uint32_t piotimings[] = { 0x006d0003, 0x00580002, 0x00440001, 0x00330001, 0x00310001, 0x006d0003, 0x00330001, 0x00310001 }; - u_int8_t udma[] = {0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x0f, 0x0d}; - u_int32_t word54; + static const uint8_t udma[] = {0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x0f, + 0x0d}; + uint32_t word54; mode = min(mode, ctlr->chip->max_dma); diff --git a/sys/dev/ata/chipsets/ata-adaptec.c b/sys/dev/ata/chipsets/ata-adaptec.c index 2781a31..169f933 100644 --- a/sys/dev/ata/chipsets/ata-adaptec.c +++ b/sys/dev/ata/chipsets/ata-adaptec.c @@ -55,7 +55,6 @@ __FBSDID("$FreeBSD$"); #define MV_60XX 60 //must match ata_marvell.c's definition #define MV_7042 72 //must match ata_marvell.c's definition - /* * Adaptec chipset support functions */ @@ -63,7 +62,7 @@ static int ata_adaptec_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - static struct ata_chip_id ids[] = + static const struct ata_chip_id const ids[] = {{ ATA_ADAPTEC_1420, 0, 4, MV_60XX, ATA_SA300, "1420SA" }, { ATA_ADAPTEC_1430, 0, 4, MV_7042, ATA_SA300, "1430SA" }, { 0, 0, 0, 0, 0, 0}}; diff --git a/sys/dev/ata/chipsets/ata-ahci.c b/sys/dev/ata/chipsets/ata-ahci.c index ff3b203..23b226d 100644 --- a/sys/dev/ata/chipsets/ata-ahci.c +++ b/sys/dev/ata/chipsets/ata-ahci.c @@ -1056,11 +1056,12 @@ static device_method_t ata_ahci_ata_methods[] = { DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), DEVMETHOD(bus_setup_intr, ata_pci_setup_intr), DEVMETHOD(bus_teardown_intr, ata_pci_teardown_intr), - { 0, 0 } + DEVMETHOD_END }; static driver_t ata_ahci_ata_driver = { "atapci", ata_ahci_ata_methods, sizeof(struct ata_pci_controller) }; -DRIVER_MODULE(ata_ahci_ata, atapci, ata_ahci_ata_driver, ata_pci_devclass, 0, 0); +DRIVER_MODULE(ata_ahci_ata, atapci, ata_ahci_ata_driver, ata_pci_devclass, + NULL, NULL); diff --git a/sys/dev/ata/chipsets/ata-amd.c b/sys/dev/ata/chipsets/ata-amd.c index c79fd6a..30e8d5c 100644 --- a/sys/dev/ata/chipsets/ata-amd.c +++ b/sys/dev/ata/chipsets/ata-amd.c @@ -67,7 +67,7 @@ static int ata_amd_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - static struct ata_chip_id ids[] = + static const struct ata_chip_id const ids[] = {{ ATA_AMD756, 0x00, 0x00, 0, ATA_UDMA4, "756" }, { ATA_AMD766, 0x00, AMD_CABLE|AMD_BUG, 0, ATA_UDMA5, "766" }, { ATA_AMD768, 0x00, AMD_CABLE, 0, ATA_UDMA5, "768" }, @@ -113,8 +113,10 @@ ata_amd_setmode(device_t dev, int target, int mode) struct ata_channel *ch = device_get_softc(dev); int devno = (ch->unit << 1) + target; int piomode; - u_int8_t timings[] = { 0xa8, 0x65, 0x42, 0x22, 0x20, 0xa8, 0x22, 0x20 }; - int modes[7] = { 0xc2, 0xc1, 0xc0, 0xc4, 0xc5, 0xc6, 0xc7 }; + static const uint8_t timings[] = + { 0xa8, 0x65, 0x42, 0x22, 0x20, 0xa8, 0x22, 0x20 }; + static const uint8_t modes[] = + { 0xc2, 0xc1, 0xc0, 0xc4, 0xc5, 0xc6, 0xc7 }; int reg = 0x53 - devno; mode = min(mode, ctlr->chip->max_dma); diff --git a/sys/dev/ata/chipsets/ata-ati.c b/sys/dev/ata/chipsets/ata-ati.c index f8cb03f..b086c64 100644 --- a/sys/dev/ata/chipsets/ata-ati.c +++ b/sys/dev/ata/chipsets/ata-ati.c @@ -58,11 +58,12 @@ static int ata_ati_ixp700_ch_attach(device_t dev); static int ata_ati_setmode(device_t dev, int target, int mode); /* misc defines */ -#define ATI_PATA 0x01 -#define ATI_SATA 0x02 +#define SII_MEMIO 1 /* must match ata_siliconimage.c's definition */ +#define SII_BUG 0x04 /* must match ata_siliconimage.c's definition */ + +#define ATI_SATA SII_MEMIO +#define ATI_PATA 0x02 #define ATI_AHCI 0x04 -#define SII_MEMIO 1 -#define SII_BUG 0x04 static int force_ahci = 1; TUNABLE_INT("hw.ahci.force", &force_ahci); @@ -74,13 +75,13 @@ static int ata_ati_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - static struct ata_chip_id ids[] = + static const struct ata_chip_id const ids[] = {{ ATA_ATI_IXP200, 0x00, ATI_PATA, 0, ATA_UDMA5, "IXP200" }, { ATA_ATI_IXP300, 0x00, ATI_PATA, 0, ATA_UDMA6, "IXP300" }, - { ATA_ATI_IXP300_S1, 0x00, ATI_SATA, 0, ATA_SA150, "IXP300" }, + { ATA_ATI_IXP300_S1, 0x00, ATI_SATA, SII_BUG, ATA_SA150, "IXP300" }, { ATA_ATI_IXP400, 0x00, ATI_PATA, 0, ATA_UDMA6, "IXP400" }, - { ATA_ATI_IXP400_S1, 0x00, ATI_SATA, 0, ATA_SA150, "IXP400" }, - { ATA_ATI_IXP400_S2, 0x00, ATI_SATA, 0, ATA_SA150, "IXP400" }, + { ATA_ATI_IXP400_S1, 0x00, ATI_SATA, SII_BUG, ATA_SA150, "IXP400" }, + { ATA_ATI_IXP400_S2, 0x00, ATI_SATA, SII_BUG, ATA_SA150, "IXP400" }, { ATA_ATI_IXP600, 0x00, ATI_PATA, 0, ATA_UDMA6, "IXP600" }, { ATA_ATI_IXP600_S1, 0x00, ATI_AHCI, 0, ATA_SA300, "IXP600" }, { ATA_ATI_IXP700, 0x00, ATI_PATA, 0, ATA_UDMA6, "IXP700/800" }, @@ -107,10 +108,7 @@ ata_ati_probe(device_t dev) case ATI_SATA: /* * the ATI SATA controller is actually a SiI 3112 controller - * cfg values below much match those in ata-siliconimage.c */ - ctlr->chip->cfg1 = SII_MEMIO; - ctlr->chip->cfg2 = SII_BUG; ctlr->chipinit = ata_sii_chipinit; break; case ATI_AHCI: @@ -212,8 +210,8 @@ ata_ati_setmode(device_t dev, int target, int mode) int devno = (ch->unit << 1) + target; int offset = (devno ^ 0x01) << 3; int piomode; - u_int8_t piotimings[] = { 0x5d, 0x47, 0x34, 0x22, 0x20 }; - u_int8_t dmatimings[] = { 0x77, 0x21, 0x20 }; + static const uint8_t piotimings[] = { 0x5d, 0x47, 0x34, 0x22, 0x20 }; + static const uint8_t dmatimings[] = { 0x77, 0x21, 0x20 }; mode = min(mode, ctlr->chip->max_dma); if (mode >= ATA_UDMA0) { diff --git a/sys/dev/ata/chipsets/ata-cyrix.c b/sys/dev/ata/chipsets/ata-cyrix.c index 384d887..30334a0 100644 --- a/sys/dev/ata/chipsets/ata-cyrix.c +++ b/sys/dev/ata/chipsets/ata-cyrix.c @@ -101,10 +101,12 @@ ata_cyrix_setmode(device_t dev, int target, int mode) struct ata_channel *ch = device_get_softc(dev); int devno = (ch->unit << 1) + target; int piomode; - u_int32_t piotiming[] = + static const uint32_t piotiming[] = { 0x00009172, 0x00012171, 0x00020080, 0x00032010, 0x00040010 }; - u_int32_t dmatiming[] = { 0x00077771, 0x00012121, 0x00002020 }; - u_int32_t udmatiming[] = { 0x00921250, 0x00911140, 0x00911030 }; + static const uint32_t dmatiming[] = + { 0x00077771, 0x00012121, 0x00002020 }; + static const uint32_t udmatiming[] = + { 0x00921250, 0x00911140, 0x00911030 }; mode = min(mode, ATA_UDMA2); /* dont try to set the mode if we dont have the resource */ diff --git a/sys/dev/ata/chipsets/ata-highpoint.c b/sys/dev/ata/chipsets/ata-highpoint.c index 0597ce1..ce2c5c3 100644 --- a/sys/dev/ata/chipsets/ata-highpoint.c +++ b/sys/dev/ata/chipsets/ata-highpoint.c @@ -72,8 +72,8 @@ static int ata_highpoint_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - struct ata_chip_id *idx; - static struct ata_chip_id ids[] = + const struct ata_chip_id *idx; + static const struct ata_chip_id const ids[] = {{ ATA_HPT374, 0x07, HPT_374, 0, ATA_UDMA6, "HPT374" }, { ATA_HPT372, 0x02, HPT_372, 0, ATA_UDMA6, "HPT372N" }, { ATA_HPT372, 0x01, HPT_372, 0, ATA_UDMA6, "HPT372" }, @@ -163,8 +163,8 @@ ata_highpoint_setmode(device_t dev, int target, int mode) struct ata_pci_controller *ctlr = device_get_softc(parent); struct ata_channel *ch = device_get_softc(dev); int devno = (ch->unit << 1) + target; - u_int32_t timings33[][4] = { - /* HPT366 HPT370 HPT372 HPT374 mode */ + static const uint32_t timings33[][4] = { + /* HPT366 HPT370 HPT372 HPT374 mode */ { 0x40d0a7aa, 0x06914e57, 0x0d029d5e, 0x0ac1f48a }, /* PIO 0 */ { 0x40d0a7a3, 0x06914e43, 0x0d029d26, 0x0ac1f465 }, /* PIO 1 */ { 0x40d0a753, 0x06514e33, 0x0c829ca6, 0x0a81f454 }, /* PIO 2 */ diff --git a/sys/dev/ata/chipsets/ata-intel.c b/sys/dev/ata/chipsets/ata-intel.c index 20ea492..706e97d 100644 --- a/sys/dev/ata/chipsets/ata-intel.c +++ b/sys/dev/ata/chipsets/ata-intel.c @@ -105,7 +105,7 @@ static int ata_intel_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - static struct ata_chip_id ids[] = + static const struct ata_chip_id const ids[] = {{ ATA_I82371FB, 0, 0, 2, ATA_WDMA2, "PIIX" }, { ATA_I82371SB, 0, 0, 2, ATA_WDMA2, "PIIX3" }, { ATA_I82371AB, 0, 0, 2, ATA_UDMA2, "PIIX4" }, @@ -519,8 +519,10 @@ ata_intel_new_setmode(device_t dev, int target, int mode) u_int16_t reg54 = pci_read_config(parent, 0x54, 2); u_int32_t mask40 = 0, new40 = 0; u_int8_t mask44 = 0, new44 = 0; - u_int8_t timings[] = { 0x00, 0x00, 0x10, 0x21, 0x23, 0x00, 0x21, 0x23 }; - u_int8_t utimings[] = { 0x00, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02 }; + static const uint8_t timings[] = + { 0x00, 0x00, 0x10, 0x21, 0x23, 0x00, 0x21, 0x23 }; + static const uint8_t utimings[] = + { 0x00, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02 }; /* In combined mode, skip PATA stuff for SATA channel. */ if (ch->flags & ATA_SATA) diff --git a/sys/dev/ata/chipsets/ata-ite.c b/sys/dev/ata/chipsets/ata-ite.c index 8b6cb76..fe6ff21 100644 --- a/sys/dev/ata/chipsets/ata-ite.c +++ b/sys/dev/ata/chipsets/ata-ite.c @@ -57,7 +57,6 @@ static int ata_ite_ch_attach(device_t dev); static int ata_ite_821x_setmode(device_t dev, int target, int mode); static int ata_ite_8213_setmode(device_t dev, int target, int mode); - /* * Integrated Technology Express Inc. (ITE) chipset support functions */ @@ -65,7 +64,7 @@ static int ata_ite_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - static struct ata_chip_id ids[] = + static const struct ata_chip_id const ids[] = {{ ATA_IT8213F, 0x00, 0x00, 0x00, ATA_UDMA6, "IT8213F" }, { ATA_IT8212F, 0x00, 0x00, 0x00, ATA_UDMA6, "IT8212F" }, { ATA_IT8211F, 0x00, 0x00, 0x00, ATA_UDMA6, "IT8211F" }, @@ -132,9 +131,9 @@ ata_ite_821x_setmode(device_t dev, int target, int mode) int devno = (ch->unit << 1) + target; int piomode; uint8_t *timings = (uint8_t*)(&ctlr->chipset_data); - u_int8_t udmatiming[] = + static const uint8_t udmatiming[] = { 0x44, 0x42, 0x31, 0x21, 0x11, 0xa2, 0x91 }; - u_int8_t chtiming[] = + static const uint8_t chtiming[] = { 0xaa, 0xa3, 0xa1, 0x33, 0x31, 0x88, 0x32, 0x31 }; mode = min(mode, ctlr->chip->max_dma); @@ -182,8 +181,10 @@ ata_ite_8213_setmode(device_t dev, int target, int mode) u_int16_t reg54 = pci_read_config(parent, 0x54, 2); u_int16_t mask40 = 0, new40 = 0; u_int8_t mask44 = 0, new44 = 0; - u_int8_t timings[] = { 0x00, 0x00, 0x10, 0x21, 0x23, 0x00, 0x21, 0x23 }; - u_int8_t utimings[] = { 0x00, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02 }; + static const uint8_t timings[] = + { 0x00, 0x00, 0x10, 0x21, 0x23, 0x00, 0x21, 0x23 }; + static const uint8_t utimings[] = + { 0x00, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02 }; mode = min(mode, ctlr->chip->max_dma); diff --git a/sys/dev/ata/chipsets/ata-jmicron.c b/sys/dev/ata/chipsets/ata-jmicron.c index dc1aa8e..07ef978 100644 --- a/sys/dev/ata/chipsets/ata-jmicron.c +++ b/sys/dev/ata/chipsets/ata-jmicron.c @@ -63,8 +63,8 @@ static int ata_jmicron_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - struct ata_chip_id *idx; - static struct ata_chip_id ids[] = + const struct ata_chip_id *idx; + static const struct ata_chip_id const ids[] = {{ ATA_JMB360, 0, 1, 0, ATA_SA300, "JMB360" }, { ATA_JMB361, 0, 1, 1, ATA_UDMA6, "JMB361" }, { ATA_JMB363, 0, 2, 1, ATA_UDMA6, "JMB363" }, diff --git a/sys/dev/ata/chipsets/ata-marvell.c b/sys/dev/ata/chipsets/ata-marvell.c index 8ae7155..8ba28bb 100644 --- a/sys/dev/ata/chipsets/ata-marvell.c +++ b/sys/dev/ata/chipsets/ata-marvell.c @@ -99,7 +99,7 @@ static int ata_marvell_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - static struct ata_chip_id ids[] = + static const struct ata_chip_id const ids[] = {{ ATA_M88SX5040, 0, 4, MV_50XX, ATA_SA150, "88SX5040" }, { ATA_M88SX5041, 0, 4, MV_50XX, ATA_SA150, "88SX5041" }, { ATA_M88SX5080, 0, 8, MV_50XX, ATA_SA150, "88SX5080" }, diff --git a/sys/dev/ata/chipsets/ata-national.c b/sys/dev/ata/chipsets/ata-national.c index 0b3977a..51c83a16 100644 --- a/sys/dev/ata/chipsets/ata-national.c +++ b/sys/dev/ata/chipsets/ata-national.c @@ -103,11 +103,13 @@ ata_national_setmode(device_t dev, int target, int mode) struct ata_channel *ch = device_get_softc(dev); int devno = (ch->unit << 1) + target; int piomode; - u_int32_t piotiming[] = + static const uint32_t piotiming[] = { 0x9172d132, 0x21717121, 0x00803020, 0x20102010, 0x00100010, 0x9172d132, 0x20102010, 0x00100010 }; - u_int32_t dmatiming[] = { 0x80077771, 0x80012121, 0x80002020 }; - u_int32_t udmatiming[] = { 0x80921250, 0x80911140, 0x80911030 }; + static const uint32_t dmatiming[] = + { 0x80077771, 0x80012121, 0x80002020 }; + static const uint32_t udmatiming[] = + { 0x80921250, 0x80911140, 0x80911030 }; mode = min(mode, ATA_UDMA2); diff --git a/sys/dev/ata/chipsets/ata-nvidia.c b/sys/dev/ata/chipsets/ata-nvidia.c index f19d4f8..cf94b95 100644 --- a/sys/dev/ata/chipsets/ata-nvidia.c +++ b/sys/dev/ata/chipsets/ata-nvidia.c @@ -75,7 +75,7 @@ static int ata_nvidia_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - static struct ata_chip_id ids[] = + static const struct ata_chip_id const ids[] = {{ ATA_NFORCE1, 0, 0, 0, ATA_UDMA5, "nForce" }, { ATA_NFORCE2, 0, 0, 0, ATA_UDMA6, "nForce2" }, { ATA_NFORCE2_PRO, 0, 0, 0, ATA_UDMA6, "nForce2 Pro" }, @@ -332,8 +332,10 @@ ata_nvidia_setmode(device_t dev, int target, int mode) struct ata_channel *ch = device_get_softc(dev); int devno = (ch->unit << 1) + target; int piomode; - u_int8_t timings[] = { 0xa8, 0x65, 0x42, 0x22, 0x20, 0xa8, 0x22, 0x20 }; - int modes[7] = { 0xc2, 0xc1, 0xc0, 0xc4, 0xc5, 0xc6, 0xc7 }; + static const uint8_t timings[] = + { 0xa8, 0x65, 0x42, 0x22, 0x20, 0xa8, 0x22, 0x20 }; + static const uint8_t modes[] = + { 0xc2, 0xc1, 0xc0, 0xc4, 0xc5, 0xc6, 0xc7 }; int reg = 0x63 - devno; mode = min(mode, ctlr->chip->max_dma); diff --git a/sys/dev/ata/chipsets/ata-promise.c b/sys/dev/ata/chipsets/ata-promise.c index 1b2d269..1f71ebc 100644 --- a/sys/dev/ata/chipsets/ata-promise.c +++ b/sys/dev/ata/chipsets/ata-promise.c @@ -129,8 +129,8 @@ static int ata_promise_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - struct ata_chip_id *idx; - static struct ata_chip_id ids[] = + const struct ata_chip_id *idx; + static const struct ata_chip_id const ids[] = {{ ATA_PDC20246, 0, PR_OLD, 0x00, ATA_UDMA2, "PDC20246" }, { ATA_PDC20262, 0, PR_NEW, 0x00, ATA_UDMA4, "PDC20262" }, { ATA_PDC20263, 0, PR_NEW, 0x00, ATA_UDMA4, "PDC20263" }, @@ -454,7 +454,7 @@ ata_promise_setmode(device_t dev, int target, int mode) struct ata_pci_controller *ctlr = device_get_softc(parent); struct ata_channel *ch = device_get_softc(dev); int devno = (ch->unit << 1) + target; - u_int32_t timings[][2] = { + static const uint32_t timings[][2] = { /* PR_OLD PR_NEW mode */ { 0x004ff329, 0x004fff2f }, /* PIO 0 */ { 0x004fec25, 0x004ff82a }, /* PIO 1 */ diff --git a/sys/dev/ata/chipsets/ata-serverworks.c b/sys/dev/ata/chipsets/ata-serverworks.c index 785d96d..2ce4627 100644 --- a/sys/dev/ata/chipsets/ata-serverworks.c +++ b/sys/dev/ata/chipsets/ata-serverworks.c @@ -75,7 +75,7 @@ static int ata_serverworks_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - static struct ata_chip_id ids[] = + static const struct ata_chip_id const ids[] = {{ ATA_ROSB4, 0x00, SWKS_33, 0, ATA_WDMA2, "ROSB4" }, { ATA_CSB5, 0x92, SWKS_100, 0, ATA_UDMA5, "CSB5" }, { ATA_CSB5, 0x00, SWKS_66, 0, ATA_UDMA4, "CSB5" }, @@ -350,8 +350,8 @@ ata_serverworks_setmode(device_t dev, int target, int mode) int devno = (ch->unit << 1) + target; int offset = (devno ^ 0x01) << 3; int piomode; - u_int8_t piotimings[] = { 0x5d, 0x47, 0x34, 0x22, 0x20 }; - u_int8_t dmatimings[] = { 0x77, 0x21, 0x20 }; + static const uint8_t piotimings[] = { 0x5d, 0x47, 0x34, 0x22, 0x20 }; + static const uint8_t dmatimings[] = { 0x77, 0x21, 0x20 }; mode = min(mode, ctlr->chip->max_dma); if (mode >= ATA_UDMA0) { diff --git a/sys/dev/ata/chipsets/ata-siliconimage.c b/sys/dev/ata/chipsets/ata-siliconimage.c index ce170a1..16af524 100644 --- a/sys/dev/ata/chipsets/ata-siliconimage.c +++ b/sys/dev/ata/chipsets/ata-siliconimage.c @@ -87,7 +87,7 @@ static int ata_sii_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - static struct ata_chip_id ids[] = + static const struct ata_chip_id const ids[] = {{ ATA_SII3114, 0x00, SII_MEMIO, SII_4CH, ATA_SA150, "3114" }, { ATA_SII3512, 0x02, SII_MEMIO, 0, ATA_SA150, "3512" }, { ATA_SII3112, 0x02, SII_MEMIO, 0, ATA_SA150, "3112" }, @@ -272,10 +272,11 @@ ata_cmd_setmode(device_t dev, int target, int mode) int treg = 0x54 + ((devno < 3) ? (devno << 1) : 7); int ureg = ch->unit ? 0x7b : 0x73; int piomode; - uint8_t piotimings[] = { 0xa9, 0x57, 0x44, 0x32, 0x3f, 0x87, 0x32, 0x3f }; - uint8_t udmatimings[][2] = { { 0x31, 0xc2 }, { 0x21, 0x82 }, - { 0x11, 0x42 }, { 0x25, 0x8a }, - { 0x15, 0x4a }, { 0x05, 0x0a } }; + static const uint8_t piotimings[] = + { 0xa9, 0x57, 0x44, 0x32, 0x3f, 0x87, 0x32, 0x3f }; + static const uint8_t udmatimings[][2] = + { { 0x31, 0xc2 }, { 0x21, 0x82 }, { 0x11, 0x42 }, + { 0x25, 0x8a }, { 0x15, 0x4a }, { 0x05, 0x0a } }; mode = min(mode, ctlr->chip->max_dma); if (mode >= ATA_UDMA0) { @@ -410,9 +411,11 @@ ata_sii_setmode(device_t dev, int target, int mode) u_int8_t preg = 0xa4 + rego; u_int8_t dreg = 0xa8 + rego; u_int8_t ureg = 0xac + rego; - u_int16_t piotimings[] = { 0x328a, 0x2283, 0x1104, 0x10c3, 0x10c1 }; - u_int16_t dmatimings[] = { 0x2208, 0x10c2, 0x10c1 }; - u_int8_t udmatimings[] = { 0xf, 0xb, 0x7, 0x5, 0x3, 0x2, 0x1 }; + static const uint16_t piotimings[] = + { 0x328a, 0x2283, 0x1104, 0x10c3, 0x10c1 }; + static const uint16_t dmatimings[] = { 0x2208, 0x10c2, 0x10c1 }; + static const uint8_t udmatimings[] = + { 0xf, 0xb, 0x7, 0x5, 0x3, 0x2, 0x1 }; mode = min(mode, ctlr->chip->max_dma); diff --git a/sys/dev/ata/chipsets/ata-sis.c b/sys/dev/ata/chipsets/ata-sis.c index 14d2042..dd60b97 100644 --- a/sys/dev/ata/chipsets/ata-sis.c +++ b/sys/dev/ata/chipsets/ata-sis.c @@ -66,7 +66,6 @@ static int ata_sis_setmode(device_t dev, int target, int mode); #define SIS_133OLD 6 #define SIS_SATA 7 - /* * Silicon Integrated Systems Corp. (SiS) chipset support functions */ @@ -74,8 +73,8 @@ static int ata_sis_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - struct ata_chip_id *idx; - static struct ata_chip_id ids[] = + const struct ata_chip_id *idx; + static const struct ata_chip_id const ids[] = {{ ATA_SIS182, 0x00, SIS_SATA, 0, ATA_SA150, "182" }, /* south */ { ATA_SIS181, 0x00, SIS_SATA, 0, ATA_SA150, "181" }, /* south */ { ATA_SIS180, 0x00, SIS_SATA, 0, ATA_SA150, "180" }, /* south */ @@ -102,6 +101,8 @@ ata_sis_probe(device_t dev) { ATA_SIS5513, 0xc2, SIS_33, 1, ATA_UDMA2, "5513" }, { ATA_SIS5513, 0x00, SIS_33, 1, ATA_WDMA2, "5513" }, { 0, 0, 0, 0, 0, 0 }}; + static struct ata_chip_id id[] = + {{ ATA_SISSOUTH, 0x10, 0, 0, 0, "" }, { 0, 0, 0, 0, 0, 0 }}; char buffer[64]; int found = 0; @@ -114,14 +115,15 @@ ata_sis_probe(device_t dev) if (!(idx = ata_find_chip(dev, ids, -pci_get_slot(dev)))) return ENXIO; - if (idx->cfg2 && !found) { + if (idx->cfg2) { u_int8_t reg57 = pci_read_config(dev, 0x57, 1); pci_write_config(dev, 0x57, (reg57 & 0x7f), 1); if (pci_read_config(dev, PCIR_DEVVENDOR, 4) == ATA_SIS5518) { found = 1; - idx->cfg1 = SIS_133NEW; - idx->max_dma = ATA_UDMA6; + memcpy(&id[0], idx, sizeof(id[0])); + id[0].cfg1 = SIS_133NEW; + id[0].max_dma = ATA_UDMA6; sprintf(buffer, "SiS 962/963 %s controller", ata_mode2str(idx->max_dma)); } @@ -132,17 +134,13 @@ ata_sis_probe(device_t dev) pci_write_config(dev, 0x4a, (reg4a | 0x10), 1); if (pci_read_config(dev, PCIR_DEVVENDOR, 4) == ATA_SIS5517) { - struct ata_chip_id id[] = - {{ ATA_SISSOUTH, 0x10, 0, 0, 0, "" }, { 0, 0, 0, 0, 0, 0 }}; - found = 1; if (ata_find_chip(dev, id, pci_get_slot(dev))) { - idx->cfg1 = SIS_133OLD; - idx->max_dma = ATA_UDMA6; - } - else { - idx->cfg1 = SIS_100NEW; - idx->max_dma = ATA_UDMA5; + id[0].cfg1 = SIS_133OLD; + id[0].max_dma = ATA_UDMA6; + } else { + id[0].cfg1 = SIS_100NEW; + id[0].max_dma = ATA_UDMA5; } sprintf(buffer, "SiS 961 %s controller",ata_mode2str(idx->max_dma)); } @@ -151,6 +149,8 @@ ata_sis_probe(device_t dev) if (!found) sprintf(buffer,"SiS %s %s controller", idx->text, ata_mode2str(idx->max_dma)); + else + idx = &id[0]; device_set_desc_copy(dev, buffer); ctlr->chip = idx; @@ -262,7 +262,7 @@ ata_sis_setmode(device_t dev, int target, int mode) switch (ctlr->chip->cfg1) { case SIS_133NEW: { - u_int32_t timings[] = + static const uint32_t timings[] = { 0x28269008, 0x0c266008, 0x04263008, 0x0c0a3008, 0x05093008, 0x22196008, 0x0c0a3008, 0x05093008, 0x050939fc, 0x050936ac, 0x0509347c, 0x0509325c, 0x0509323c, 0x0509322c, 0x0509321c}; @@ -273,7 +273,7 @@ ata_sis_setmode(device_t dev, int target, int mode) break; } case SIS_133OLD: { - u_int16_t timings[] = + static const uint16_t timings[] = { 0x00cb, 0x0067, 0x0044, 0x0033, 0x0031, 0x0044, 0x0033, 0x0031, 0x8f31, 0x8a31, 0x8731, 0x8531, 0x8331, 0x8231, 0x8131 }; @@ -283,7 +283,7 @@ ata_sis_setmode(device_t dev, int target, int mode) break; } case SIS_100NEW: { - u_int16_t timings[] = + static const uint16_t timings[] = { 0x00cb, 0x0067, 0x0044, 0x0033, 0x0031, 0x0044, 0x0033, 0x0031, 0x8b31, 0x8731, 0x8531, 0x8431, 0x8231, 0x8131 }; u_int16_t reg = 0x40 + (devno << 1); @@ -294,7 +294,7 @@ ata_sis_setmode(device_t dev, int target, int mode) case SIS_100OLD: case SIS_66: case SIS_33: { - u_int16_t timings[] = + static const uint16_t timings[] = { 0x0c0b, 0x0607, 0x0404, 0x0303, 0x0301, 0x0404, 0x0303, 0x0301, 0xf301, 0xd301, 0xb301, 0xa301, 0x9301, 0x8301 }; u_int16_t reg = 0x40 + (devno << 1); diff --git a/sys/dev/ata/chipsets/ata-via.c b/sys/dev/ata/chipsets/ata-via.c index f83f2a8..956a4e2 100644 --- a/sys/dev/ata/chipsets/ata-via.c +++ b/sys/dev/ata/chipsets/ata-via.c @@ -82,7 +82,6 @@ static int ata_via_sata_status(device_t dev); #define VIAAHCI 0x08 #define VIASATA 0x10 - /* * VIA Technologies Inc. chipset support functions */ @@ -90,7 +89,7 @@ static int ata_via_probe(device_t dev) { struct ata_pci_controller *ctlr = device_get_softc(dev); - static struct ata_chip_id ids[] = + static const struct ata_chip_id const ids[] = {{ ATA_VIA82C586, 0x02, VIA33, 0x00, ATA_UDMA2, "82C586B" }, { ATA_VIA82C586, 0x00, VIA33, 0x00, ATA_WDMA2, "82C586" }, { ATA_VIA82C596, 0x12, VIA66, VIACLK, ATA_UDMA4, "82C596B" }, @@ -114,7 +113,7 @@ ata_via_probe(device_t dev) { ATA_VIAVX855, 0x00, VIA133, 0x00, ATA_UDMA6, "VX855" }, { ATA_VIAVX900, 0x00, VIA133, VIASATA, ATA_SA300, "VX900" }, { 0, 0, 0, 0, 0, 0 }}; - static struct ata_chip_id new_ids[] = + static const struct ata_chip_id const new_ids[] = {{ ATA_VIA6410, 0x00, 0, 0x00, ATA_UDMA6, "6410" }, { ATA_VIA6420, 0x00, 7, 0x00, ATA_SA150, "6420" }, { ATA_VIA6421, 0x00, 6, VIABAR, ATA_SA150, "6421" }, @@ -328,8 +327,10 @@ ata_via_new_setmode(device_t dev, int target, int mode) if ((ctlr->chip->cfg2 & VIABAR) && (ch->unit > 1)) { int piomode; - u_int8_t pio_timings[] = { 0xa8, 0x65, 0x65, 0x32, 0x20 }; - u_int8_t dma_timings[] = { 0xee, 0xe8, 0xe6, 0xe4, 0xe2, 0xe1, 0xe0 }; + static const uint8_t pio_timings[] = + { 0xa8, 0x65, 0x65, 0x32, 0x20 }; + static const uint8_t dma_timings[] = + { 0xee, 0xe8, 0xe6, 0xe4, 0xe2, 0xe1, 0xe0 }; /* This chip can't do WDMA. */ if (mode >= ATA_WDMA0 && mode < ATA_UDMA0) @@ -355,8 +356,9 @@ ata_via_old_setmode(device_t dev, int target, int mode) int devno = (ch->unit << 1) + target; int reg = 0x53 - devno; int piomode; - uint8_t timings[] = { 0xa8, 0x65, 0x42, 0x22, 0x20, 0xa8, 0x22, 0x20 }; - uint8_t modes[][7] = { + static const uint8_t timings[] = + { 0xa8, 0x65, 0x42, 0x22, 0x20, 0xa8, 0x22, 0x20 }; + static const uint8_t modes[][7] = { { 0xc2, 0xc1, 0xc0, 0x00, 0x00, 0x00, 0x00 }, /* VIA ATA33 */ { 0xee, 0xec, 0xea, 0xe9, 0xe8, 0x00, 0x00 }, /* VIA ATA66 */ { 0xf7, 0xf6, 0xf4, 0xf2, 0xf1, 0xf0, 0x00 }, /* VIA ATA100 */ |