aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aic7xxx
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/aic7xxx')
-rw-r--r--drivers/scsi/aic7xxx/aic7770.c2
-rw-r--r--drivers/scsi/aic7xxx/aic79xx.h2
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_core.c10
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_osm.c20
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_pci.c2
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_proc.c4
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx.h2
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_core.c8
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_osm.c12
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_pci.c2
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_proc.c4
11 files changed, 30 insertions, 38 deletions
diff --git a/drivers/scsi/aic7xxx/aic7770.c b/drivers/scsi/aic7xxx/aic7770.c
index 527efd36f5c1..c4d17231c828 100644
--- a/drivers/scsi/aic7xxx/aic7770.c
+++ b/drivers/scsi/aic7xxx/aic7770.c
@@ -107,7 +107,7 @@ struct aic7770_identity aic7770_ident_table[] =
107 ahc_aic7770_EISA_setup 107 ahc_aic7770_EISA_setup
108 } 108 }
109}; 109};
110const int ahc_num_aic7770_devs = NUM_ELEMENTS(aic7770_ident_table); 110const int ahc_num_aic7770_devs = ARRAY_SIZE(aic7770_ident_table);
111 111
112struct aic7770_identity * 112struct aic7770_identity *
113aic7770_find_device(uint32_t id) 113aic7770_find_device(uint32_t id)
diff --git a/drivers/scsi/aic7xxx/aic79xx.h b/drivers/scsi/aic7xxx/aic79xx.h
index bb5166da4358..eb7745692682 100644
--- a/drivers/scsi/aic7xxx/aic79xx.h
+++ b/drivers/scsi/aic7xxx/aic79xx.h
@@ -68,8 +68,6 @@ struct scb_platform_data;
68#define FALSE 0 68#define FALSE 0
69#endif 69#endif
70 70
71#define NUM_ELEMENTS(array) (sizeof(array) / sizeof(*array))
72
73#define ALL_CHANNELS '\0' 71#define ALL_CHANNELS '\0'
74#define ALL_TARGETS_MASK 0xFFFF 72#define ALL_TARGETS_MASK 0xFFFF
75#define INITIATOR_WILDCARD (~0) 73#define INITIATOR_WILDCARD (~0)
diff --git a/drivers/scsi/aic7xxx/aic79xx_core.c b/drivers/scsi/aic7xxx/aic79xx_core.c
index e14244aa69d7..801fc81d0b20 100644
--- a/drivers/scsi/aic7xxx/aic79xx_core.c
+++ b/drivers/scsi/aic7xxx/aic79xx_core.c
@@ -59,7 +59,7 @@ char *ahd_chip_names[] =
59 "aic7902", 59 "aic7902",
60 "aic7901A" 60 "aic7901A"
61}; 61};
62static const u_int num_chip_names = NUM_ELEMENTS(ahd_chip_names); 62static const u_int num_chip_names = ARRAY_SIZE(ahd_chip_names);
63 63
64/* 64/*
65 * Hardware error codes. 65 * Hardware error codes.
@@ -77,7 +77,7 @@ static struct ahd_hard_error_entry ahd_hard_errors[] = {
77 { MPARERR, "Scratch or SCB Memory Parity Error" }, 77 { MPARERR, "Scratch or SCB Memory Parity Error" },
78 { CIOPARERR, "CIOBUS Parity Error" }, 78 { CIOPARERR, "CIOBUS Parity Error" },
79}; 79};
80static const u_int num_errors = NUM_ELEMENTS(ahd_hard_errors); 80static const u_int num_errors = ARRAY_SIZE(ahd_hard_errors);
81 81
82static struct ahd_phase_table_entry ahd_phase_table[] = 82static struct ahd_phase_table_entry ahd_phase_table[] =
83{ 83{
@@ -97,7 +97,7 @@ static struct ahd_phase_table_entry ahd_phase_table[] =
97 * In most cases we only wish to itterate over real phases, so 97 * In most cases we only wish to itterate over real phases, so
98 * exclude the last element from the count. 98 * exclude the last element from the count.
99 */ 99 */
100static const u_int num_phases = NUM_ELEMENTS(ahd_phase_table) - 1; 100static const u_int num_phases = ARRAY_SIZE(ahd_phase_table) - 1;
101 101
102/* Our Sequencer Program */ 102/* Our Sequencer Program */
103#include "aic79xx_seq.h" 103#include "aic79xx_seq.h"
@@ -7259,7 +7259,7 @@ ahd_qinfifo_count(struct ahd_softc *ahd)
7259 return (wrap_qinfifonext - wrap_qinpos); 7259 return (wrap_qinfifonext - wrap_qinpos);
7260 else 7260 else
7261 return (wrap_qinfifonext 7261 return (wrap_qinfifonext
7262 + NUM_ELEMENTS(ahd->qinfifo) - wrap_qinpos); 7262 + ARRAY_SIZE(ahd->qinfifo) - wrap_qinpos);
7263} 7263}
7264 7264
7265void 7265void
@@ -8619,7 +8619,7 @@ ahd_check_patch(struct ahd_softc *ahd, struct patch **start_patch,
8619 struct patch *last_patch; 8619 struct patch *last_patch;
8620 u_int num_patches; 8620 u_int num_patches;
8621 8621
8622 num_patches = sizeof(patches)/sizeof(struct patch); 8622 num_patches = ARRAY_SIZE(patches);
8623 last_patch = &patches[num_patches]; 8623 last_patch = &patches[num_patches];
8624 cur_patch = *start_patch; 8624 cur_patch = *start_patch;
8625 8625
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c b/drivers/scsi/aic7xxx/aic79xx_osm.c
index 66e4a47bb9ee..e0ccdf362200 100644
--- a/drivers/scsi/aic7xxx/aic79xx_osm.c
+++ b/drivers/scsi/aic7xxx/aic79xx_osm.c
@@ -916,7 +916,7 @@ ahd_linux_setup_iocell_info(u_long index, int instance, int targ, int32_t value)
916{ 916{
917 917
918 if ((instance >= 0) 918 if ((instance >= 0)
919 && (instance < NUM_ELEMENTS(aic79xx_iocell_info))) { 919 && (instance < ARRAY_SIZE(aic79xx_iocell_info))) {
920 uint8_t *iocell_info; 920 uint8_t *iocell_info;
921 921
922 iocell_info = (uint8_t*)&aic79xx_iocell_info[instance]; 922 iocell_info = (uint8_t*)&aic79xx_iocell_info[instance];
@@ -934,7 +934,7 @@ ahd_linux_setup_tag_info_global(char *p)
934 tags = simple_strtoul(p + 1, NULL, 0) & 0xff; 934 tags = simple_strtoul(p + 1, NULL, 0) & 0xff;
935 printf("Setting Global Tags= %d\n", tags); 935 printf("Setting Global Tags= %d\n", tags);
936 936
937 for (i = 0; i < NUM_ELEMENTS(aic79xx_tag_info); i++) { 937 for (i = 0; i < ARRAY_SIZE(aic79xx_tag_info); i++) {
938 for (j = 0; j < AHD_NUM_TARGETS; j++) { 938 for (j = 0; j < AHD_NUM_TARGETS; j++) {
939 aic79xx_tag_info[i].tag_commands[j] = tags; 939 aic79xx_tag_info[i].tag_commands[j] = tags;
940 } 940 }
@@ -946,7 +946,7 @@ ahd_linux_setup_tag_info(u_long arg, int instance, int targ, int32_t value)
946{ 946{
947 947
948 if ((instance >= 0) && (targ >= 0) 948 if ((instance >= 0) && (targ >= 0)
949 && (instance < NUM_ELEMENTS(aic79xx_tag_info)) 949 && (instance < ARRAY_SIZE(aic79xx_tag_info))
950 && (targ < AHD_NUM_TARGETS)) { 950 && (targ < AHD_NUM_TARGETS)) {
951 aic79xx_tag_info[instance].tag_commands[targ] = value & 0x1FF; 951 aic79xx_tag_info[instance].tag_commands[targ] = value & 0x1FF;
952 if (bootverbose) 952 if (bootverbose)
@@ -1072,21 +1072,21 @@ aic79xx_setup(char *s)
1072 end = strchr(s, '\0'); 1072 end = strchr(s, '\0');
1073 1073
1074 /* 1074 /*
1075 * XXX ia64 gcc isn't smart enough to know that NUM_ELEMENTS 1075 * XXX ia64 gcc isn't smart enough to know that ARRAY_SIZE
1076 * will never be 0 in this case. 1076 * will never be 0 in this case.
1077 */ 1077 */
1078 n = 0; 1078 n = 0;
1079 1079
1080 while ((p = strsep(&s, ",.")) != NULL) { 1080 while ((p = strsep(&s, ",.")) != NULL) {
1081 if (*p == '\0') 1081 if (*p == '\0')
1082 continue; 1082 continue;
1083 for (i = 0; i < NUM_ELEMENTS(options); i++) { 1083 for (i = 0; i < ARRAY_SIZE(options); i++) {
1084 1084
1085 n = strlen(options[i].name); 1085 n = strlen(options[i].name);
1086 if (strncmp(options[i].name, p, n) == 0) 1086 if (strncmp(options[i].name, p, n) == 0)
1087 break; 1087 break;
1088 } 1088 }
1089 if (i == NUM_ELEMENTS(options)) 1089 if (i == ARRAY_SIZE(options))
1090 continue; 1090 continue;
1091 1091
1092 if (strncmp(p, "global_tag_depth", n) == 0) { 1092 if (strncmp(p, "global_tag_depth", n) == 0) {
@@ -1294,7 +1294,7 @@ ahd_platform_init(struct ahd_softc *ahd)
1294 /* 1294 /*
1295 * Lookup and commit any modified IO Cell options. 1295 * Lookup and commit any modified IO Cell options.
1296 */ 1296 */
1297 if (ahd->unit < NUM_ELEMENTS(aic79xx_iocell_info)) { 1297 if (ahd->unit < ARRAY_SIZE(aic79xx_iocell_info)) {
1298 struct ahd_linux_iocell_opts *iocell_opts; 1298 struct ahd_linux_iocell_opts *iocell_opts;
1299 1299
1300 iocell_opts = &aic79xx_iocell_info[ahd->unit]; 1300 iocell_opts = &aic79xx_iocell_info[ahd->unit];
@@ -1426,7 +1426,7 @@ ahd_linux_user_tagdepth(struct ahd_softc *ahd, struct ahd_devinfo *devinfo)
1426 1426
1427 tags = 0; 1427 tags = 0;
1428 if ((ahd->user_discenable & devinfo->target_mask) != 0) { 1428 if ((ahd->user_discenable & devinfo->target_mask) != 0) {
1429 if (ahd->unit >= NUM_ELEMENTS(aic79xx_tag_info)) { 1429 if (ahd->unit >= ARRAY_SIZE(aic79xx_tag_info)) {
1430 1430
1431 if (warned_user == 0) { 1431 if (warned_user == 0) {
1432 printf(KERN_WARNING 1432 printf(KERN_WARNING
diff --git a/drivers/scsi/aic7xxx/aic79xx_pci.c b/drivers/scsi/aic7xxx/aic79xx_pci.c
index 757242e522c2..14850f31aafa 100644
--- a/drivers/scsi/aic7xxx/aic79xx_pci.c
+++ b/drivers/scsi/aic7xxx/aic79xx_pci.c
@@ -201,7 +201,7 @@ struct ahd_pci_identity ahd_pci_ident_table [] =
201 } 201 }
202}; 202};
203 203
204const u_int ahd_num_pci_devs = NUM_ELEMENTS(ahd_pci_ident_table); 204const u_int ahd_num_pci_devs = ARRAY_SIZE(ahd_pci_ident_table);
205 205
206#define DEVCONFIG 0x40 206#define DEVCONFIG 0x40
207#define PCIXINITPAT 0x0000E000ul 207#define PCIXINITPAT 0x0000E000ul
diff --git a/drivers/scsi/aic7xxx/aic79xx_proc.c b/drivers/scsi/aic7xxx/aic79xx_proc.c
index 39a27840fce6..24fd59a230bf 100644
--- a/drivers/scsi/aic7xxx/aic79xx_proc.c
+++ b/drivers/scsi/aic7xxx/aic79xx_proc.c
@@ -76,11 +76,9 @@ static u_int
76ahd_calc_syncsrate(u_int period_factor) 76ahd_calc_syncsrate(u_int period_factor)
77{ 77{
78 int i; 78 int i;
79 int num_syncrates;
80 79
81 num_syncrates = sizeof(scsi_syncrates) / sizeof(scsi_syncrates[0]);
82 /* See if the period is in the "exception" table */ 80 /* See if the period is in the "exception" table */
83 for (i = 0; i < num_syncrates; i++) { 81 for (i = 0; i < ARRAY_SIZE(scsi_syncrates); i++) {
84 82
85 if (period_factor == scsi_syncrates[i].period_factor) { 83 if (period_factor == scsi_syncrates[i].period_factor) {
86 /* Period in kHz */ 84 /* Period in kHz */
diff --git a/drivers/scsi/aic7xxx/aic7xxx.h b/drivers/scsi/aic7xxx/aic7xxx.h
index 91d294c6334e..e24e6067401b 100644
--- a/drivers/scsi/aic7xxx/aic7xxx.h
+++ b/drivers/scsi/aic7xxx/aic7xxx.h
@@ -69,8 +69,6 @@ struct seeprom_descriptor;
69#define FALSE 0 69#define FALSE 0
70#endif 70#endif
71 71
72#define NUM_ELEMENTS(array) (sizeof(array) / sizeof(*array))
73
74#define ALL_CHANNELS '\0' 72#define ALL_CHANNELS '\0'
75#define ALL_TARGETS_MASK 0xFFFF 73#define ALL_TARGETS_MASK 0xFFFF
76#define INITIATOR_WILDCARD (~0) 74#define INITIATOR_WILDCARD (~0)
diff --git a/drivers/scsi/aic7xxx/aic7xxx_core.c b/drivers/scsi/aic7xxx/aic7xxx_core.c
index 50a3dd047cfe..93e4e40944b6 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_core.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_core.c
@@ -68,7 +68,7 @@ char *ahc_chip_names[] =
68 "aic7892", 68 "aic7892",
69 "aic7899" 69 "aic7899"
70}; 70};
71static const u_int num_chip_names = NUM_ELEMENTS(ahc_chip_names); 71static const u_int num_chip_names = ARRAY_SIZE(ahc_chip_names);
72 72
73/* 73/*
74 * Hardware error codes. 74 * Hardware error codes.
@@ -88,7 +88,7 @@ static struct ahc_hard_error_entry ahc_hard_errors[] = {
88 { PCIERRSTAT, "PCI Error detected" }, 88 { PCIERRSTAT, "PCI Error detected" },
89 { CIOPARERR, "CIOBUS Parity Error" }, 89 { CIOPARERR, "CIOBUS Parity Error" },
90}; 90};
91static const u_int num_errors = NUM_ELEMENTS(ahc_hard_errors); 91static const u_int num_errors = ARRAY_SIZE(ahc_hard_errors);
92 92
93static struct ahc_phase_table_entry ahc_phase_table[] = 93static struct ahc_phase_table_entry ahc_phase_table[] =
94{ 94{
@@ -108,7 +108,7 @@ static struct ahc_phase_table_entry ahc_phase_table[] =
108 * In most cases we only wish to itterate over real phases, so 108 * In most cases we only wish to itterate over real phases, so
109 * exclude the last element from the count. 109 * exclude the last element from the count.
110 */ 110 */
111static const u_int num_phases = NUM_ELEMENTS(ahc_phase_table) - 1; 111static const u_int num_phases = ARRAY_SIZE(ahc_phase_table) - 1;
112 112
113/* 113/*
114 * Valid SCSIRATE values. (p. 3-17) 114 * Valid SCSIRATE values. (p. 3-17)
@@ -6367,7 +6367,7 @@ ahc_check_patch(struct ahc_softc *ahc, struct patch **start_patch,
6367 struct patch *last_patch; 6367 struct patch *last_patch;
6368 u_int num_patches; 6368 u_int num_patches;
6369 6369
6370 num_patches = sizeof(patches)/sizeof(struct patch); 6370 num_patches = ARRAY_SIZE(patches);
6371 last_patch = &patches[num_patches]; 6371 last_patch = &patches[num_patches];
6372 cur_patch = *start_patch; 6372 cur_patch = *start_patch;
6373 6373
diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.c b/drivers/scsi/aic7xxx/aic7xxx_osm.c
index 2c801672d8bb..eadfefdd8d7a 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_osm.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c
@@ -886,7 +886,7 @@ ahc_linux_setup_tag_info_global(char *p)
886 tags = simple_strtoul(p + 1, NULL, 0) & 0xff; 886 tags = simple_strtoul(p + 1, NULL, 0) & 0xff;
887 printf("Setting Global Tags= %d\n", tags); 887 printf("Setting Global Tags= %d\n", tags);
888 888
889 for (i = 0; i < NUM_ELEMENTS(aic7xxx_tag_info); i++) { 889 for (i = 0; i < ARRAY_SIZE(aic7xxx_tag_info); i++) {
890 for (j = 0; j < AHC_NUM_TARGETS; j++) { 890 for (j = 0; j < AHC_NUM_TARGETS; j++) {
891 aic7xxx_tag_info[i].tag_commands[j] = tags; 891 aic7xxx_tag_info[i].tag_commands[j] = tags;
892 } 892 }
@@ -898,7 +898,7 @@ ahc_linux_setup_tag_info(u_long arg, int instance, int targ, int32_t value)
898{ 898{
899 899
900 if ((instance >= 0) && (targ >= 0) 900 if ((instance >= 0) && (targ >= 0)
901 && (instance < NUM_ELEMENTS(aic7xxx_tag_info)) 901 && (instance < ARRAY_SIZE(aic7xxx_tag_info))
902 && (targ < AHC_NUM_TARGETS)) { 902 && (targ < AHC_NUM_TARGETS)) {
903 aic7xxx_tag_info[instance].tag_commands[targ] = value & 0xff; 903 aic7xxx_tag_info[instance].tag_commands[targ] = value & 0xff;
904 if (bootverbose) 904 if (bootverbose)
@@ -1020,7 +1020,7 @@ aic7xxx_setup(char *s)
1020 end = strchr(s, '\0'); 1020 end = strchr(s, '\0');
1021 1021
1022 /* 1022 /*
1023 * XXX ia64 gcc isn't smart enough to know that NUM_ELEMENTS 1023 * XXX ia64 gcc isn't smart enough to know that ARRAY_SIZE
1024 * will never be 0 in this case. 1024 * will never be 0 in this case.
1025 */ 1025 */
1026 n = 0; 1026 n = 0;
@@ -1028,13 +1028,13 @@ aic7xxx_setup(char *s)
1028 while ((p = strsep(&s, ",.")) != NULL) { 1028 while ((p = strsep(&s, ",.")) != NULL) {
1029 if (*p == '\0') 1029 if (*p == '\0')
1030 continue; 1030 continue;
1031 for (i = 0; i < NUM_ELEMENTS(options); i++) { 1031 for (i = 0; i < ARRAY_SIZE(options); i++) {
1032 1032
1033 n = strlen(options[i].name); 1033 n = strlen(options[i].name);
1034 if (strncmp(options[i].name, p, n) == 0) 1034 if (strncmp(options[i].name, p, n) == 0)
1035 break; 1035 break;
1036 } 1036 }
1037 if (i == NUM_ELEMENTS(options)) 1037 if (i == ARRAY_SIZE(options))
1038 continue; 1038 continue;
1039 1039
1040 if (strncmp(p, "global_tag_depth", n) == 0) { 1040 if (strncmp(p, "global_tag_depth", n) == 0) {
@@ -1360,7 +1360,7 @@ ahc_linux_user_tagdepth(struct ahc_softc *ahc, struct ahc_devinfo *devinfo)
1360 1360
1361 tags = 0; 1361 tags = 0;
1362 if ((ahc->user_discenable & devinfo->target_mask) != 0) { 1362 if ((ahc->user_discenable & devinfo->target_mask) != 0) {
1363 if (ahc->unit >= NUM_ELEMENTS(aic7xxx_tag_info)) { 1363 if (ahc->unit >= ARRAY_SIZE(aic7xxx_tag_info)) {
1364 if (warned_user == 0) { 1364 if (warned_user == 0) {
1365 1365
1366 printf(KERN_WARNING 1366 printf(KERN_WARNING
diff --git a/drivers/scsi/aic7xxx/aic7xxx_pci.c b/drivers/scsi/aic7xxx/aic7xxx_pci.c
index 5f586140e057..b1156fbd4a1a 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_pci.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_pci.c
@@ -553,7 +553,7 @@ struct ahc_pci_identity ahc_pci_ident_table [] =
553 } 553 }
554}; 554};
555 555
556const u_int ahc_num_pci_devs = NUM_ELEMENTS(ahc_pci_ident_table); 556const u_int ahc_num_pci_devs = ARRAY_SIZE(ahc_pci_ident_table);
557 557
558#define AHC_394X_SLOT_CHANNEL_A 4 558#define AHC_394X_SLOT_CHANNEL_A 4
559#define AHC_394X_SLOT_CHANNEL_B 5 559#define AHC_394X_SLOT_CHANNEL_B 5
diff --git a/drivers/scsi/aic7xxx/aic7xxx_proc.c b/drivers/scsi/aic7xxx/aic7xxx_proc.c
index 04a3506cf340..5914b4aa4a8f 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_proc.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_proc.c
@@ -77,11 +77,9 @@ static u_int
77ahc_calc_syncsrate(u_int period_factor) 77ahc_calc_syncsrate(u_int period_factor)
78{ 78{
79 int i; 79 int i;
80 int num_syncrates;
81 80
82 num_syncrates = sizeof(scsi_syncrates) / sizeof(scsi_syncrates[0]);
83 /* See if the period is in the "exception" table */ 81 /* See if the period is in the "exception" table */
84 for (i = 0; i < num_syncrates; i++) { 82 for (i = 0; i < ARRAY_SIZE(scsi_syncrates); i++) {
85 83
86 if (period_factor == scsi_syncrates[i].period_factor) { 84 if (period_factor == scsi_syncrates[i].period_factor) {
87 /* Period in kHz */ 85 /* Period in kHz */