Module Name: src Committed By: rkujawa Date: Sat Nov 5 17:44:25 UTC 2011
Modified Files: src/sys/arch/amiga/dev: efa.c Log Message: Simplify bus space mapping. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/amiga/dev/efa.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/amiga/dev/efa.c diff -u src/sys/arch/amiga/dev/efa.c:1.4 src/sys/arch/amiga/dev/efa.c:1.5 --- src/sys/arch/amiga/dev/efa.c:1.4 Sun Oct 30 11:10:42 2011 +++ src/sys/arch/amiga/dev/efa.c Sat Nov 5 17:44:25 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: efa.c,v 1.4 2011/10/30 11:10:42 rkujawa Exp $ */ +/* $NetBSD: efa.c,v 1.5 2011/11/05 17:44:25 rkujawa Exp $ */ /*- * Copyright (c) 2011 The NetBSD Foundation, Inc. @@ -104,10 +104,6 @@ static const unsigned int wdr_offsets_pi { FATA1_PION_OFF_DATA, FATA1_PION_OFF_ERROR, FATA1_PION_OFF_SECCNT, FATA1_PION_OFF_SECTOR, FATA1_PION_OFF_CYL_LO, FATA1_PION_OFF_CYL_HI, FATA1_PION_OFF_SDH, FATA1_PION_OFF_COMMAND }; -static const unsigned int wdr_offsets_pion32[] = - { FATA1_PION_OFF_DATA32, FATA1_PION_OFF_ERROR, FATA1_PION_OFF_SECCNT, - FATA1_PION_OFF_SECTOR, FATA1_PION_OFF_CYL_LO, FATA1_PION_OFF_CYL_HI, - FATA1_PION_OFF_SDH, FATA1_PION_OFF_COMMAND }; int efa_probe(device_t parent, cfdata_t cfp, void *aux) @@ -439,48 +435,27 @@ efa_mapreg_native(struct efa_softc *sc) static void efa_fata_subregion_pio0(struct wdc_regs *wdr_fata) { + int i; - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PIO0_OFF_DATA, 4, &wdr_fata->cmd_iohs[wd_data]); - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PIO0_OFF_ERROR, 1, &wdr_fata->cmd_iohs[wd_error]); - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PIO0_OFF_SECCNT, 1, &wdr_fata->cmd_iohs[wd_seccnt]); - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PIO0_OFF_SECTOR, 1, &wdr_fata->cmd_iohs[wd_sector]); - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PIO0_OFF_CYL_LO, 1, &wdr_fata->cmd_iohs[wd_cyl_lo]); - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PIO0_OFF_CYL_HI, 1, &wdr_fata->cmd_iohs[wd_cyl_hi]); - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PIO0_OFF_SDH, 1, &wdr_fata->cmd_iohs[wd_sdh]); - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PIO0_OFF_COMMAND, 1, &wdr_fata->cmd_iohs[wd_command]); + for (i = 0; i < WDC_NREG; i++) + bus_space_subregion(wdr_fata->cmd_iot, + wdr_fata->cmd_baseioh, wdr_offsets_pio0[i], + i == 0 ? 4 : 1, &wdr_fata->cmd_iohs[i]); } static void efa_fata_subregion_pion(struct wdc_regs *wdr_fata, bool data32) { + int i; + if (data32) bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, FATA1_PION_OFF_DATA32, 8, &wdr_fata->data32ioh); - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PION_OFF_DATA, 4, &wdr_fata->cmd_iohs[wd_data]); - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PION_OFF_ERROR, 1, &wdr_fata->cmd_iohs[wd_error]); - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PION_OFF_SECCNT, 1, &wdr_fata->cmd_iohs[wd_seccnt]); - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PION_OFF_SECTOR, 1, &wdr_fata->cmd_iohs[wd_sector]); - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PION_OFF_CYL_LO, 1, &wdr_fata->cmd_iohs[wd_cyl_lo]); - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PION_OFF_CYL_HI, 1, &wdr_fata->cmd_iohs[wd_cyl_hi]); - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PION_OFF_SDH, 1, &wdr_fata->cmd_iohs[wd_sdh]); - bus_space_subregion(wdr_fata->cmd_iot, wdr_fata->cmd_baseioh, - FATA1_PION_OFF_COMMAND, 1, &wdr_fata->cmd_iohs[wd_command]); + for (i = 0; i < WDC_NREG; i++) + bus_space_subregion(wdr_fata->cmd_iot, + wdr_fata->cmd_baseioh, wdr_offsets_pion[i], + i == 0 ? 4 : 1, &wdr_fata->cmd_iohs[i]); } static void