Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 247823
b: refs/heads/master
c: 105e53f
h: refs/heads/master
i:
  247821: 895f48f
  247819: d613d78
  247815: e40c941
  247807: 3d0bcdc
v: v3
  • Loading branch information
Stefan Richter committed May 10, 2011
1 parent 562e615 commit e06b413
Show file tree
Hide file tree
Showing 8 changed files with 16 additions and 22 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 81bf52d8622f05cfe89893fd5c1101efd85f855b
refs/heads/master: 105e53f863c04e1d9e5bb34bf753c9fdbce6a60c
4 changes: 2 additions & 2 deletions trunk/drivers/firewire/core-card.c
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ void fw_schedule_bus_reset(struct fw_card *card, bool delayed, bool short_reset)

/* Use an arbitrary short delay to combine multiple reset requests. */
fw_card_get(card);
if (!queue_delayed_work(fw_wq, &card->br_work,
if (!queue_delayed_work(fw_workqueue, &card->br_work,
delayed ? DIV_ROUND_UP(HZ, 100) : 0))
fw_card_put(card);
}
Expand All @@ -241,7 +241,7 @@ static void br_work(struct work_struct *work)
/* Delay for 2s after last reset per IEEE 1394 clause 8.2.1. */
if (card->reset_jiffies != 0 &&
time_before64(get_jiffies_64(), card->reset_jiffies + 2 * HZ)) {
if (!queue_delayed_work(fw_wq, &card->br_work, 2 * HZ))
if (!queue_delayed_work(fw_workqueue, &card->br_work, 2 * HZ))
fw_card_put(card);
return;
}
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/firewire/core-cdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ static void release_iso_resource(struct client *, struct client_resource *);
static void schedule_iso_resource(struct iso_resource *r, unsigned long delay)
{
client_get(r->client);
if (!queue_delayed_work(fw_wq, &r->work, delay))
if (!queue_delayed_work(fw_workqueue, &r->work, delay))
client_put(r->client);
}

Expand Down
5 changes: 3 additions & 2 deletions trunk/drivers/firewire/core-device.c
Original file line number Diff line number Diff line change
Expand Up @@ -725,12 +725,13 @@ struct fw_device *fw_device_get_by_devt(dev_t devt)
return device;
}

struct workqueue_struct *fw_wq;
struct workqueue_struct *fw_workqueue;
EXPORT_SYMBOL(fw_workqueue);

static void fw_schedule_device_work(struct fw_device *device,
unsigned long delay)
{
queue_delayed_work(fw_wq, &device->work, delay);
queue_delayed_work(fw_workqueue, &device->work, delay);
}

/*
Expand Down
12 changes: 6 additions & 6 deletions trunk/drivers/firewire/core-transaction.c
Original file line number Diff line number Diff line change
Expand Up @@ -1214,21 +1214,21 @@ static int __init fw_core_init(void)
{
int ret;

fw_wq = alloc_workqueue(KBUILD_MODNAME,
WQ_NON_REENTRANT | WQ_MEM_RECLAIM, 0);
if (!fw_wq)
fw_workqueue = alloc_workqueue("firewire",
WQ_NON_REENTRANT | WQ_MEM_RECLAIM, 0);
if (!fw_workqueue)
return -ENOMEM;

ret = bus_register(&fw_bus_type);
if (ret < 0) {
destroy_workqueue(fw_wq);
destroy_workqueue(fw_workqueue);
return ret;
}

fw_cdev_major = register_chrdev(0, "firewire", &fw_device_ops);
if (fw_cdev_major < 0) {
bus_unregister(&fw_bus_type);
destroy_workqueue(fw_wq);
destroy_workqueue(fw_workqueue);
return fw_cdev_major;
}

Expand All @@ -1244,7 +1244,7 @@ static void __exit fw_core_cleanup(void)
{
unregister_chrdev(fw_cdev_major, "firewire");
bus_unregister(&fw_bus_type);
destroy_workqueue(fw_wq);
destroy_workqueue(fw_workqueue);
idr_destroy(&fw_device_idr);
}

Expand Down
2 changes: 0 additions & 2 deletions trunk/drivers/firewire/core.h
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,6 @@ void fw_cdev_handle_phy_packet(struct fw_card *card, struct fw_packet *p);
extern struct rw_semaphore fw_device_rwsem;
extern struct idr fw_device_idr;
extern int fw_cdev_major;
struct workqueue_struct;
extern struct workqueue_struct *fw_wq;

struct fw_device *fw_device_get_by_devt(dev_t devt);
int fw_device_set_broadcast_channel(struct device *dev, void *gen);
Expand Down
9 changes: 1 addition & 8 deletions trunk/drivers/firewire/sbp2.c
Original file line number Diff line number Diff line change
Expand Up @@ -826,16 +826,14 @@ static void sbp2_target_put(struct sbp2_target *tgt)
kref_put(&tgt->kref, sbp2_release_target);
}

static struct workqueue_struct *sbp2_wq;

/*
* Always get the target's kref when scheduling work on one its units.
* Each workqueue job is responsible to call sbp2_target_put() upon return.
*/
static void sbp2_queue_work(struct sbp2_logical_unit *lu, unsigned long delay)
{
sbp2_target_get(lu->tgt);
if (!queue_delayed_work(sbp2_wq, &lu->work, delay))
if (!queue_delayed_work(fw_workqueue, &lu->work, delay))
sbp2_target_put(lu->tgt);
}

Expand Down Expand Up @@ -1645,17 +1643,12 @@ MODULE_ALIAS("sbp2");

static int __init sbp2_init(void)
{
sbp2_wq = create_singlethread_workqueue(KBUILD_MODNAME);
if (!sbp2_wq)
return -ENOMEM;

return driver_register(&sbp2_driver.driver);
}

static void __exit sbp2_cleanup(void)
{
driver_unregister(&sbp2_driver.driver);
destroy_workqueue(sbp2_wq);
}

module_init(sbp2_init);
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/linux/firewire.h
Original file line number Diff line number Diff line change
Expand Up @@ -449,4 +449,6 @@ void fw_iso_resource_manage(struct fw_card *card, int generation,
u64 channels_mask, int *channel, int *bandwidth,
bool allocate);

extern struct workqueue_struct *fw_workqueue;

#endif /* _LINUX_FIREWIRE_H */

0 comments on commit e06b413

Please sign in to comment.