aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/firewire/core-card.c1
-rw-r--r--drivers/firewire/core.h15
-rw-r--r--include/linux/firewire.h14
3 files changed, 15 insertions, 15 deletions
diff --git a/drivers/firewire/core-card.c b/drivers/firewire/core-card.c
index cc595eba7ba9..f5552b362efc 100644
--- a/drivers/firewire/core-card.c
+++ b/drivers/firewire/core-card.c
@@ -676,6 +676,7 @@ void fw_card_release(struct kref *kref)
676 676
677 complete(&card->done); 677 complete(&card->done);
678} 678}
679EXPORT_SYMBOL_GPL(fw_card_release);
679 680
680void fw_core_remove_card(struct fw_card *card) 681void fw_core_remove_card(struct fw_card *card)
681{ 682{
diff --git a/drivers/firewire/core.h b/drivers/firewire/core.h
index 9047f5547d98..b5a2f6197053 100644
--- a/drivers/firewire/core.h
+++ b/drivers/firewire/core.h
@@ -120,21 +120,6 @@ int fw_compute_block_crc(__be32 *block);
120void fw_schedule_bus_reset(struct fw_card *card, bool delayed, bool short_reset); 120void fw_schedule_bus_reset(struct fw_card *card, bool delayed, bool short_reset);
121void fw_schedule_bm_work(struct fw_card *card, unsigned long delay); 121void fw_schedule_bm_work(struct fw_card *card, unsigned long delay);
122 122
123static inline struct fw_card *fw_card_get(struct fw_card *card)
124{
125 kref_get(&card->kref);
126
127 return card;
128}
129
130void fw_card_release(struct kref *kref);
131
132static inline void fw_card_put(struct fw_card *card)
133{
134 kref_put(&card->kref, fw_card_release);
135}
136
137
138/* -cdev */ 123/* -cdev */
139 124
140extern const struct file_operations fw_device_ops; 125extern const struct file_operations fw_device_ops;
diff --git a/include/linux/firewire.h b/include/linux/firewire.h
index 46831303b0b9..e83c24af358a 100644
--- a/include/linux/firewire.h
+++ b/include/linux/firewire.h
@@ -135,6 +135,20 @@ struct fw_card {
135 __be32 maint_utility_register; 135 __be32 maint_utility_register;
136}; 136};
137 137
138static inline struct fw_card *fw_card_get(struct fw_card *card)
139{
140 kref_get(&card->kref);
141
142 return card;
143}
144
145void fw_card_release(struct kref *kref);
146
147static inline void fw_card_put(struct fw_card *card)
148{
149 kref_put(&card->kref, fw_card_release);
150}
151
138struct fw_attribute_group { 152struct fw_attribute_group {
139 struct attribute_group *groups[2]; 153 struct attribute_group *groups[2];
140 struct attribute_group group; 154 struct attribute_group group;