ieee1394: dv1394: tidy up card removal

small coding style touch-up and terser coding

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
This commit is contained in:
Stefan Richter 2007-01-27 13:54:23 +01:00
parent 88e7bf2a4c
commit 12ba145c94

View file

@ -2255,40 +2255,30 @@ static int dv1394_init(struct ti_ohci *ohci, enum pal_or_ntsc format, enum modes
return 0; return 0;
} }
static void dv1394_un_init(struct video_card *video)
{
/* obviously nobody has the driver open at this point */
do_dv1394_shutdown(video, 1);
kfree(video);
}
static void dv1394_remove_host(struct hpsb_host *host) static void dv1394_remove_host(struct hpsb_host *host)
{ {
struct video_card *video; struct video_card *video, *tmp_video;
unsigned long flags; unsigned long flags;
int id = host->id, found_ohci_card = 0; int found_ohci_card = 0;
/* find the corresponding video_cards */
do { do {
struct video_card *tmp_vid;
video = NULL; video = NULL;
spin_lock_irqsave(&dv1394_cards_lock, flags); spin_lock_irqsave(&dv1394_cards_lock, flags);
list_for_each_entry(tmp_vid, &dv1394_cards, list) { list_for_each_entry(tmp_video, &dv1394_cards, list) {
if ((tmp_vid->id >> 2) == id) { if ((tmp_video->id >> 2) == host->id) {
list_del(&tmp_vid->list); list_del(&tmp_video->list);
video = tmp_vid; video = tmp_video;
found_ohci_card = 1; found_ohci_card = 1;
break; break;
} }
} }
spin_unlock_irqrestore(&dv1394_cards_lock, flags); spin_unlock_irqrestore(&dv1394_cards_lock, flags);
if (video) if (video) {
dv1394_un_init(video); do_dv1394_shutdown(video, 1);
} while (video != NULL); kfree(video);
}
} while (video);
if (found_ohci_card) if (found_ohci_card)
class_device_destroy(hpsb_protocol_class, MKDEV(IEEE1394_MAJOR, class_device_destroy(hpsb_protocol_class, MKDEV(IEEE1394_MAJOR,