On Monday 12 October 2015 23:20:16 John Garry wrote: > + > + 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. > + 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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html