diff --git a/sys/dev/isp/isp.c b/sys/dev/isp/isp.c index 5d1c824deff..c3470529657 100644 --- a/sys/dev/isp/isp.c +++ b/sys/dev/isp/isp.c @@ -4333,12 +4333,7 @@ isp_read_nvram_2400(ispsoftc_t *isp) uint32_t addr, csum, lwrds, *dptr; uint8_t nvram_data[ISP2400_NVRAM_SIZE]; - if (isp->isp_port) { - addr = ISP2400_NVRAM_PORT1_ADDR; - } else { - addr = ISP2400_NVRAM_PORT0_ADDR; - } - + addr = ISP2400_NVRAM_PORT_ADDR(isp->isp_port); dptr = (uint32_t *) nvram_data; for (lwrds = 0; lwrds < ISP2400_NVRAM_SIZE >> 2; lwrds++) { isp_rd_2400_nvram(isp, addr++, dptr++); diff --git a/sys/dev/isp/ispreg.h b/sys/dev/isp/ispreg.h index 5d04ad2b440..98b9a6c0bf0 100644 --- a/sys/dev/isp/ispreg.h +++ b/sys/dev/isp/ispreg.h @@ -213,8 +213,7 @@ typedef struct { /* * Qlogic 2400 NVRAM is an array of 512 bytes with a 32 bit checksum. */ -#define ISP2400_NVRAM_PORT0_ADDR 0x80 -#define ISP2400_NVRAM_PORT1_ADDR 0x180 +#define ISP2400_NVRAM_PORT_ADDR(c) (0x100 * (c) + 0x80) #define ISP2400_NVRAM_SIZE 512 #define ISP2400_NVRAM_VERSION(c) ((c)[4] | ((c)[5] << 8))