]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
firewire: core: use from_work() macro to expand parent structure of work_struct
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Sun, 8 Jun 2025 23:38:08 +0000 (08:38 +0900)
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>
Sun, 8 Jun 2025 23:45:48 +0000 (08:45 +0900)
A commit 60b2ebf48526 ("workqueue: Introduce from_work() helper for cleaner
callback declarations") introduces a new macro to retrieve a poiner for the
parent structure of the work item. It is convenient to reduce input text.

This commit uses the macro in core functionalities.

Link: https://lore.kernel.org/r/20250608233808.202355-3-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
drivers/firewire/core-card.c
drivers/firewire/core-cdev.c
drivers/firewire/core-device.c

index 01354b9de8b23612789c208d717f7964af5f47b0..2b6ad47b6d57ac384bb32126b8fc1805aa522b48 100644 (file)
@@ -237,7 +237,7 @@ EXPORT_SYMBOL(fw_schedule_bus_reset);
 
 static void br_work(struct work_struct *work)
 {
-       struct fw_card *card = container_of(work, struct fw_card, br_work.work);
+       struct fw_card *card = from_work(card, work, br_work.work);
 
        /* Delay for 2s after last reset per IEEE 1394 clause 8.2.1. */
        if (card->reset_jiffies != 0 &&
@@ -286,7 +286,7 @@ void fw_schedule_bm_work(struct fw_card *card, unsigned long delay)
 
 static void bm_work(struct work_struct *work)
 {
-       struct fw_card *card = container_of(work, struct fw_card, bm_work.work);
+       struct fw_card *card = from_work(card, work, bm_work.work);
        struct fw_device *root_device, *irm_device;
        struct fw_node *root_node;
        int root_id, new_root_id, irm_id, bm_id, local_id;
index bd04980009a467bc85d3f001d05f0b5b4a966fc7..78b10c6ef7fec741e677f2f0ba07915acc887f0e 100644 (file)
@@ -1313,8 +1313,7 @@ static int ioctl_get_cycle_timer(struct client *client, union ioctl_arg *arg)
 static void iso_resource_work(struct work_struct *work)
 {
        struct iso_resource_event *e;
-       struct iso_resource *r =
-                       container_of(work, struct iso_resource, work.work);
+       struct iso_resource *r = from_work(r, work, work.work);
        struct client *client = r->client;
        unsigned long index = r->resource.handle;
        int generation, channel, bandwidth, todo;
index ec3e21ad202520dda745064b954c853a26d03e3d..aeacd4cfd6944efb10a72f1c6683b81ce31e2353 100644 (file)
@@ -853,8 +853,7 @@ static void fw_schedule_device_work(struct fw_device *device,
 
 static void fw_device_shutdown(struct work_struct *work)
 {
-       struct fw_device *device =
-               container_of(work, struct fw_device, work.work);
+       struct fw_device *device = from_work(device, work, work.work);
 
        if (time_before64(get_jiffies_64(),
                          device->card->reset_jiffies + SHUTDOWN_DELAY)
@@ -921,8 +920,7 @@ static int update_unit(struct device *dev, void *data)
 
 static void fw_device_update(struct work_struct *work)
 {
-       struct fw_device *device =
-               container_of(work, struct fw_device, work.work);
+       struct fw_device *device = from_work(device, work, work.work);
 
        fw_device_cdev_update(device);
        device_for_each_child(&device->device, NULL, update_unit);
@@ -1002,8 +1000,7 @@ static int compare_configuration_rom(struct device *dev, const void *data)
 
 static void fw_device_init(struct work_struct *work)
 {
-       struct fw_device *device =
-               container_of(work, struct fw_device, work.work);
+       struct fw_device *device = from_work(device, work, work.work);
        struct fw_card *card = device->card;
        struct device *found;
        u32 minor;
@@ -1184,8 +1181,7 @@ static int reread_config_rom(struct fw_device *device, int generation,
 
 static void fw_device_refresh(struct work_struct *work)
 {
-       struct fw_device *device =
-               container_of(work, struct fw_device, work.work);
+       struct fw_device *device = from_work(device, work, work.work);
        struct fw_card *card = device->card;
        int ret, node_id = device->node_id;
        bool changed;
@@ -1251,8 +1247,7 @@ static void fw_device_refresh(struct work_struct *work)
 
 static void fw_device_workfn(struct work_struct *work)
 {
-       struct fw_device *device = container_of(to_delayed_work(work),
-                                               struct fw_device, work);
+       struct fw_device *device = from_work(device, to_delayed_work(work), work);
        device->workfn(work);
 }