On Monday 12 October 2015 23:20:16 John Garry wrote:Will address.
+
+ shost = scsi_host_alloc(&hisi_sas_sht, sizeof(void *));
+ if (!shost)
+ return -ENOMEM;
+
+ hisi_hba = hisi_sas_hba_alloc(pdev, shost, np);
+ if (!hisi_hba) {
+ rc = -ENOMEM;
+ goto err_out_ha;
+ }
You can collapse the allocations into one and just pass sizeof(*hisi_hba)
instead of sizeof(void *) above.
In a later patch we set as follows:
+ sha = SHOST_TO_SAS_HA(shost) = &hisi_hba->sha;
+ platform_set_drvdata(pdev, sha);
+
+ phy_nr = port_nr = HISI_SAS_MAX_PHYS;
+
+ arr_phy = devm_kcalloc(dev, phy_nr, sizeof(void *), GFP_KERNEL);
+ arr_port = devm_kcalloc(dev, port_nr, sizeof(void *), GFP_KERNEL);
+ if (!arr_phy || !arr_port)
+ return -ENOMEM;
And since these are fixed-size arrays, they can be moved in there as well.
Arnd
.