]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/firewire/fw-card.c
via-velocity: lean and clean velocity_init_rings
[linux-2.6-omap-h63xx.git] / drivers / firewire / fw-card.c
index a03462750b95ee0045408a5c8d669ba7bc3d461d..5b4c0d9f517346ec79a1426a4d7982ebe07986c8 100644 (file)
@@ -167,7 +167,6 @@ fw_core_add_descriptor(struct fw_descriptor *desc)
 
        return 0;
 }
-EXPORT_SYMBOL(fw_core_add_descriptor);
 
 void
 fw_core_remove_descriptor(struct fw_descriptor *desc)
@@ -182,7 +181,6 @@ fw_core_remove_descriptor(struct fw_descriptor *desc)
 
        mutex_unlock(&card_mutex);
 }
-EXPORT_SYMBOL(fw_core_remove_descriptor);
 
 static const char gap_count_table[] = {
        63, 5, 7, 8, 10, 13, 16, 18, 21, 24, 26, 29, 32, 35, 37, 40
@@ -220,7 +218,7 @@ fw_card_bm_work(struct work_struct *work)
        struct bm_data bmd;
        unsigned long flags;
        int root_id, new_root_id, irm_id, gap_count, generation, grace;
-       int do_reset = 0;
+       bool do_reset = false;
 
        spin_lock_irqsave(&card->lock, flags);
        local_node = card->local_node;
@@ -331,7 +329,7 @@ fw_card_bm_work(struct work_struct *work)
                 */
                spin_unlock_irqrestore(&card->lock, flags);
                goto out;
-       } else if (root_device->config_rom[2] & BIB_CMC) {
+       } else if (root_device->cmc) {
                /*
                 * FIXME: I suppose we should set the cmstr bit in the
                 * STATE_CLEAR register of this node, as described in
@@ -360,14 +358,14 @@ fw_card_bm_work(struct work_struct *work)
                gap_count = 63;
 
        /*
-        * Finally, figure out if we should do a reset or not.  If we've
-        * done less that 5 resets with the same physical topology and we
+        * Finally, figure out if we should do a reset or not.  If we have
+        * done less than 5 resets with the same physical topology and we
         * have either a new root or a new gap count setting, let's do it.
         */
 
        if (card->bm_retries++ < 5 &&
            (card->gap_count != gap_count || new_root_id != root_id))
-               do_reset = 1;
+               do_reset = true;
 
        spin_unlock_irqrestore(&card->lock, flags);
 
@@ -398,7 +396,6 @@ fw_card_initialize(struct fw_card *card, const struct fw_card_driver *driver,
 {
        static atomic_t index = ATOMIC_INIT(-1);
 
-       kref_init(&card->kref);
        atomic_set(&card->device_count, 0);
        card->index = atomic_inc_return(&index);
        card->driver = driver;
@@ -429,12 +426,6 @@ fw_card_add(struct fw_card *card,
        card->link_speed = link_speed;
        card->guid = guid;
 
-       /*
-        * The subsystem grabs a reference when the card is added and
-        * drops it when the driver calls fw_core_remove_card.
-        */
-       fw_card_get(card);
-
        mutex_lock(&card_mutex);
        config_rom = generate_config_rom(card, &length);
        list_add_tail(&card->link, &card_list);
@@ -540,40 +531,9 @@ fw_core_remove_card(struct fw_card *card)
        cancel_delayed_work_sync(&card->work);
        fw_flush_transactions(card);
        del_timer_sync(&card->flush_timer);
-
-       fw_card_put(card);
 }
 EXPORT_SYMBOL(fw_core_remove_card);
 
-struct fw_card *
-fw_card_get(struct fw_card *card)
-{
-       kref_get(&card->kref);
-
-       return card;
-}
-EXPORT_SYMBOL(fw_card_get);
-
-static void
-release_card(struct kref *kref)
-{
-       struct fw_card *card = container_of(kref, struct fw_card, kref);
-
-       kfree(card);
-}
-
-/*
- * An assumption for fw_card_put() is that the card driver allocates
- * the fw_card struct with kalloc and that it has been shut down
- * before the last ref is dropped.
- */
-void
-fw_card_put(struct fw_card *card)
-{
-       kref_put(&card->kref, release_card);
-}
-EXPORT_SYMBOL(fw_card_put);
-
 int
 fw_core_initiate_bus_reset(struct fw_card *card, int short_reset)
 {