Re: [PATCH v2] workqueue: Introduce from_work() helper for cleaner callback declarations

From: Tejun Heo
Date: Tue Feb 27 2024 - 14:39:26 EST


On Tue, Feb 27, 2024 at 07:10:37PM +0000, Allen Pais wrote:
> To streamline the transition from tasklets to worqueues, a new helper
> function, from_work(), is introduced. This helper, inspired by existing
> from_() patterns, utilizes container_of() and eliminates the redundancy
> of declaring variable types, leading to more concise and readable code.
>
> The modified code snippet demonstrates the enhanced clarity achieved
> with from_wq():
>
> void callback(struct work_struct *w)
> {
> - struct some_data_structure *local = container_of(w,
> struct some_data_structure,
> work);
> + struct some_data_structure *local = from_work(local, w, work);
>
> This change aims to facilitate a smoother transition and uphold code
> quality standards.
>
> Based on:
> git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git disable_work-v3
>
> Signed-off-by: Allen Pais <allen.lkml@xxxxxxxxx>

Applied to wq/for-6.9.

Thanks.

--
tejun