aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/hosts.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/hosts.c')
-rw-r--r--drivers/scsi/hosts.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c
index c968cc31cd86..554626e18062 100644
--- a/drivers/scsi/hosts.c
+++ b/drivers/scsi/hosts.c
@@ -180,14 +180,20 @@ void scsi_remove_host(struct Scsi_Host *shost)
180EXPORT_SYMBOL(scsi_remove_host); 180EXPORT_SYMBOL(scsi_remove_host);
181 181
182/** 182/**
183 * scsi_add_host - add a scsi host 183 * scsi_add_host_with_dma - add a scsi host with dma device
184 * @shost: scsi host pointer to add 184 * @shost: scsi host pointer to add
185 * @dev: a struct device of type scsi class 185 * @dev: a struct device of type scsi class
186 * @dma_dev: dma device for the host
187 *
188 * Note: You rarely need to worry about this unless you're in a
189 * virtualised host environments, so use the simpler scsi_add_host()
190 * function instead.
186 * 191 *
187 * Return value: 192 * Return value:
188 * 0 on success / != 0 for error 193 * 0 on success / != 0 for error
189 **/ 194 **/
190int scsi_add_host(struct Scsi_Host *shost, struct device *dev) 195int scsi_add_host_with_dma(struct Scsi_Host *shost, struct device *dev,
196 struct device *dma_dev)
191{ 197{
192 struct scsi_host_template *sht = shost->hostt; 198 struct scsi_host_template *sht = shost->hostt;
193 int error = -EINVAL; 199 int error = -EINVAL;
@@ -207,6 +213,7 @@ int scsi_add_host(struct Scsi_Host *shost, struct device *dev)
207 213
208 if (!shost->shost_gendev.parent) 214 if (!shost->shost_gendev.parent)
209 shost->shost_gendev.parent = dev ? dev : &platform_bus; 215 shost->shost_gendev.parent = dev ? dev : &platform_bus;
216 shost->dma_dev = dma_dev;
210 217
211 error = device_add(&shost->shost_gendev); 218 error = device_add(&shost->shost_gendev);
212 if (error) 219 if (error)
@@ -262,7 +269,7 @@ int scsi_add_host(struct Scsi_Host *shost, struct device *dev)
262 fail: 269 fail:
263 return error; 270 return error;
264} 271}
265EXPORT_SYMBOL(scsi_add_host); 272EXPORT_SYMBOL(scsi_add_host_with_dma);
266 273
267static void scsi_host_dev_release(struct device *dev) 274static void scsi_host_dev_release(struct device *dev)
268{ 275{