diff options
Diffstat (limited to 'drivers/firewire/sbp2.c')
-rw-r--r-- | drivers/firewire/sbp2.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/drivers/firewire/sbp2.c b/drivers/firewire/sbp2.c index 47674b913843..281029daf98c 100644 --- a/drivers/firewire/sbp2.c +++ b/drivers/firewire/sbp2.c | |||
@@ -1128,11 +1128,10 @@ static void sbp2_init_workarounds(struct sbp2_target *tgt, u32 model, | |||
1128 | } | 1128 | } |
1129 | 1129 | ||
1130 | static struct scsi_host_template scsi_driver_template; | 1130 | static struct scsi_host_template scsi_driver_template; |
1131 | static int sbp2_remove(struct device *dev); | 1131 | static void sbp2_remove(struct fw_unit *unit); |
1132 | 1132 | ||
1133 | static int sbp2_probe(struct device *dev) | 1133 | static int sbp2_probe(struct fw_unit *unit, const struct ieee1394_device_id *id) |
1134 | { | 1134 | { |
1135 | struct fw_unit *unit = fw_unit(dev); | ||
1136 | struct fw_device *device = fw_parent_device(unit); | 1135 | struct fw_device *device = fw_parent_device(unit); |
1137 | struct sbp2_target *tgt; | 1136 | struct sbp2_target *tgt; |
1138 | struct sbp2_logical_unit *lu; | 1137 | struct sbp2_logical_unit *lu; |
@@ -1196,7 +1195,7 @@ static int sbp2_probe(struct device *dev) | |||
1196 | return 0; | 1195 | return 0; |
1197 | 1196 | ||
1198 | fail_remove: | 1197 | fail_remove: |
1199 | sbp2_remove(dev); | 1198 | sbp2_remove(unit); |
1200 | return -ENOMEM; | 1199 | return -ENOMEM; |
1201 | 1200 | ||
1202 | fail_shost_put: | 1201 | fail_shost_put: |
@@ -1222,9 +1221,8 @@ static void sbp2_update(struct fw_unit *unit) | |||
1222 | } | 1221 | } |
1223 | } | 1222 | } |
1224 | 1223 | ||
1225 | static int sbp2_remove(struct device *dev) | 1224 | static void sbp2_remove(struct fw_unit *unit) |
1226 | { | 1225 | { |
1227 | struct fw_unit *unit = fw_unit(dev); | ||
1228 | struct fw_device *device = fw_parent_device(unit); | 1226 | struct fw_device *device = fw_parent_device(unit); |
1229 | struct sbp2_target *tgt = dev_get_drvdata(&unit->device); | 1227 | struct sbp2_target *tgt = dev_get_drvdata(&unit->device); |
1230 | struct sbp2_logical_unit *lu, *next; | 1228 | struct sbp2_logical_unit *lu, *next; |
@@ -1261,10 +1259,9 @@ static int sbp2_remove(struct device *dev) | |||
1261 | kfree(lu); | 1259 | kfree(lu); |
1262 | } | 1260 | } |
1263 | scsi_remove_host(shost); | 1261 | scsi_remove_host(shost); |
1264 | dev_notice(dev, "released target %d:0:0\n", shost->host_no); | 1262 | dev_notice(&unit->device, "released target %d:0:0\n", shost->host_no); |
1265 | 1263 | ||
1266 | scsi_host_put(shost); | 1264 | scsi_host_put(shost); |
1267 | return 0; | ||
1268 | } | 1265 | } |
1269 | 1266 | ||
1270 | #define SBP2_UNIT_SPEC_ID_ENTRY 0x0000609e | 1267 | #define SBP2_UNIT_SPEC_ID_ENTRY 0x0000609e |
@@ -1285,10 +1282,10 @@ static struct fw_driver sbp2_driver = { | |||
1285 | .owner = THIS_MODULE, | 1282 | .owner = THIS_MODULE, |
1286 | .name = KBUILD_MODNAME, | 1283 | .name = KBUILD_MODNAME, |
1287 | .bus = &fw_bus_type, | 1284 | .bus = &fw_bus_type, |
1288 | .probe = sbp2_probe, | ||
1289 | .remove = sbp2_remove, | ||
1290 | }, | 1285 | }, |
1286 | .probe = sbp2_probe, | ||
1291 | .update = sbp2_update, | 1287 | .update = sbp2_update, |
1288 | .remove = sbp2_remove, | ||
1292 | .id_table = sbp2_id_table, | 1289 | .id_table = sbp2_id_table, |
1293 | }; | 1290 | }; |
1294 | 1291 | ||