diff --git a/drivers/ata/pata_buddha.c b/drivers/ata/pata_buddha.c index c36ee991d5e5..3b1f0ee2f875 100644 --- a/drivers/ata/pata_buddha.c +++ b/drivers/ata/pata_buddha.c @@ -253,9 +253,9 @@ static void pata_buddha_remove(struct zorro_dev *z) } static const struct zorro_device_id pata_buddha_zorro_tbl[] = { - { ZORRO_PROD_INDIVIDUAL_COMPUTERS_BUDDHA, BOARD_BUDDHA}, - { ZORRO_PROD_INDIVIDUAL_COMPUTERS_CATWEASEL, BOARD_CATWEASEL}, - { 0 } + { .id = ZORRO_PROD_INDIVIDUAL_COMPUTERS_BUDDHA, .driver_data = BOARD_BUDDHA }, + { .id = ZORRO_PROD_INDIVIDUAL_COMPUTERS_CATWEASEL, .driver_data = BOARD_CATWEASEL }, + { } }; MODULE_DEVICE_TABLE(zorro, pata_buddha_zorro_tbl); @@ -282,7 +282,7 @@ static int __init pata_buddha_late_init(void) /* Manually bind to all X-Surf boards */ while ((z = zorro_find_device(ZORRO_PROD_INDIVIDUAL_COMPUTERS_X_SURF, z))) { static struct zorro_device_id xsurf_ent = { - ZORRO_PROD_INDIVIDUAL_COMPUTERS_X_SURF, BOARD_XSURF + .id = ZORRO_PROD_INDIVIDUAL_COMPUTERS_X_SURF, .driver_data = BOARD_XSURF }; pata_buddha_probe(z, &xsurf_ent); diff --git a/drivers/scsi/a2091.c b/drivers/scsi/a2091.c index 204448bfd04b..f81e53b53e20 100644 --- a/drivers/scsi/a2091.c +++ b/drivers/scsi/a2091.c @@ -275,9 +275,9 @@ static void a2091_remove(struct zorro_dev *z) } static struct zorro_device_id a2091_zorro_tbl[] = { - { ZORRO_PROD_CBM_A590_A2091_1 }, - { ZORRO_PROD_CBM_A590_A2091_2 }, - { 0 } + { .id = ZORRO_PROD_CBM_A590_A2091_1 }, + { .id = ZORRO_PROD_CBM_A590_A2091_2 }, + { } }; MODULE_DEVICE_TABLE(zorro, a2091_zorro_tbl); diff --git a/drivers/scsi/aha1542.c b/drivers/scsi/aha1542.c index fd766282d4a4..93dab19c1cb9 100644 --- a/drivers/scsi/aha1542.c +++ b/drivers/scsi/aha1542.c @@ -1083,7 +1083,7 @@ static int isa_registered; #ifdef CONFIG_PNP static const struct pnp_device_id aha1542_pnp_ids[] = { { .id = "ADP1542" }, - { .id = "" } + { } }; MODULE_DEVICE_TABLE(pnp, aha1542_pnp_ids); diff --git a/drivers/scsi/g_NCR5380.c b/drivers/scsi/g_NCR5380.c index 270eae7ac427..41731a7304dd 100644 --- a/drivers/scsi/g_NCR5380.c +++ b/drivers/scsi/g_NCR5380.c @@ -739,7 +739,7 @@ static struct isa_driver generic_NCR5380_isa_driver = { #ifdef CONFIG_PNP static const struct pnp_device_id generic_NCR5380_pnp_ids[] = { { .id = "DTC436e", .driver_data = BOARD_DTC3181E }, - { .id = "" } + { } }; MODULE_DEVICE_TABLE(pnp, generic_NCR5380_pnp_ids); diff --git a/drivers/scsi/gvp11.c b/drivers/scsi/gvp11.c index 0420bfe9bd42..79bd64e12adc 100644 --- a/drivers/scsi/gvp11.c +++ b/drivers/scsi/gvp11.c @@ -442,14 +442,15 @@ static void gvp11_remove(struct zorro_dev *z) */ static struct zorro_device_id gvp11_zorro_tbl[] = { - { ZORRO_PROD_GVP_COMBO_030_R3_SCSI, ~0x00ffffff }, - { ZORRO_PROD_GVP_SERIES_II, ~0x00ffffff }, - { ZORRO_PROD_GVP_GFORCE_030_SCSI, ~0x01ffffff }, - { ZORRO_PROD_GVP_A530_SCSI, ~0x01ffffff }, - { ZORRO_PROD_GVP_COMBO_030_R4_SCSI, ~0x01ffffff }, - { ZORRO_PROD_GVP_A1291, ~0x07ffffff }, - { ZORRO_PROD_GVP_GFORCE_040_SCSI_1, ~0x07ffffff }, - { 0 } + /* .driver_data specifies the DMA mask */ + { .id = ZORRO_PROD_GVP_COMBO_030_R3_SCSI, .driver_data = ~0x00ffffff }, + { .id = ZORRO_PROD_GVP_SERIES_II, .driver_data = ~0x00ffffff }, + { .id = ZORRO_PROD_GVP_GFORCE_030_SCSI, .driver_data = ~0x01ffffff }, + { .id = ZORRO_PROD_GVP_A530_SCSI, .driver_data = ~0x01ffffff }, + { .id = ZORRO_PROD_GVP_COMBO_030_R4_SCSI, .driver_data = ~0x01ffffff }, + { .id = ZORRO_PROD_GVP_A1291, .driver_data = ~0x07ffffff }, + { .id = ZORRO_PROD_GVP_GFORCE_040_SCSI_1, .driver_data = ~0x07ffffff }, + { } }; MODULE_DEVICE_TABLE(zorro, gvp11_zorro_tbl); diff --git a/drivers/scsi/zorro7xx.c b/drivers/scsi/zorro7xx.c index 6aca9897b231..21c769dc1ecb 100644 --- a/drivers/scsi/zorro7xx.c +++ b/drivers/scsi/zorro7xx.c @@ -50,25 +50,25 @@ static struct zorro_driver_data { static struct zorro_device_id zorro7xx_zorro_tbl[] = { { .id = ZORRO_PROD_PHASE5_BLIZZARD_603E_PLUS, - .driver_data = (unsigned long)&zorro7xx_driver_data[0], + .driver_data_ptr = &zorro7xx_driver_data[0], }, { .id = ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE_40xx, - .driver_data = (unsigned long)&zorro7xx_driver_data[1], + .driver_data_ptr = &zorro7xx_driver_data[1], }, { .id = ZORRO_PROD_CBM_A4091_1, - .driver_data = (unsigned long)&zorro7xx_driver_data[2], + .driver_data_ptr = &zorro7xx_driver_data[2], }, { .id = ZORRO_PROD_CBM_A4091_2, - .driver_data = (unsigned long)&zorro7xx_driver_data[2], + .driver_data_ptr = &zorro7xx_driver_data[2], }, { .id = ZORRO_PROD_GVP_GFORCE_040_060, - .driver_data = (unsigned long)&zorro7xx_driver_data[3], + .driver_data_ptr = &zorro7xx_driver_data[3], }, - { 0 } + { } }; MODULE_DEVICE_TABLE(zorro, zorro7xx_zorro_tbl); @@ -77,11 +77,11 @@ static int zorro7xx_init_one(struct zorro_dev *z, { struct Scsi_Host *host; struct NCR_700_Host_Parameters *hostdata; - struct zorro_driver_data *zdd; + const struct zorro_driver_data *zdd; unsigned long board, ioaddr; board = zorro_resource_start(z); - zdd = (struct zorro_driver_data *)ent->driver_data; + zdd = ent->driver_data_ptr; if (zdd->absolute) { ioaddr = zdd->offset; diff --git a/drivers/scsi/zorro_esp.c b/drivers/scsi/zorro_esp.c index 1622285c9aec..178d46140674 100644 --- a/drivers/scsi/zorro_esp.c +++ b/drivers/scsi/zorro_esp.c @@ -706,7 +706,7 @@ static const struct zorro_device_id zorro_esp_zorro_tbl[] = { .id = ZORRO_ID(PHASE5, 0x19, 0), .driver_data = ZORRO_CYBERII, }, - { 0 } + { } }; MODULE_DEVICE_TABLE(zorro, zorro_esp_zorro_tbl); diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index 3b0c9a251a2e..2673a1bd82c4 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h @@ -640,7 +640,11 @@ struct mdio_device_id { struct zorro_device_id { __u32 id; /* Device ID or ZORRO_WILDCARD */ - kernel_ulong_t driver_data; /* Data private to the driver */ + union { + /* Data private to the driver */ + kernel_ulong_t driver_data; + const void *driver_data_ptr; + }; }; #define ZORRO_WILDCARD (0xffffffff) /* not official */