Symbol: work_data
drivers/crypto/atmel-ecc.c
169
struct atmel_i2c_work_data *work_data;
drivers/crypto/atmel-ecc.c
185
work_data = kmalloc_obj(*work_data, gfp);
drivers/crypto/atmel-ecc.c
186
if (!work_data)
drivers/crypto/atmel-ecc.c
189
work_data->ctx = ctx;
drivers/crypto/atmel-ecc.c
190
work_data->client = ctx->client;
drivers/crypto/atmel-ecc.c
192
ret = atmel_i2c_init_ecdh_cmd(&work_data->cmd, req->src);
drivers/crypto/atmel-ecc.c
196
atmel_i2c_enqueue(work_data, atmel_ecdh_done, req);
drivers/crypto/atmel-ecc.c
201
kfree(work_data);
drivers/crypto/atmel-ecc.c
48
static void atmel_ecdh_done(struct atmel_i2c_work_data *work_data, void *areq,
drivers/crypto/atmel-ecc.c
52
struct atmel_i2c_cmd *cmd = &work_data->cmd;
drivers/crypto/atmel-ecc.c
69
kfree_sensitive(work_data);
drivers/crypto/atmel-i2c.c
280
struct atmel_i2c_work_data *work_data =
drivers/crypto/atmel-i2c.c
282
struct atmel_i2c_cmd *cmd = &work_data->cmd;
drivers/crypto/atmel-i2c.c
283
struct i2c_client *client = work_data->client;
drivers/crypto/atmel-i2c.c
287
work_data->cbk(work_data, work_data->areq, status);
drivers/crypto/atmel-i2c.c
292
void atmel_i2c_enqueue(struct atmel_i2c_work_data *work_data,
drivers/crypto/atmel-i2c.c
293
void (*cbk)(struct atmel_i2c_work_data *work_data,
drivers/crypto/atmel-i2c.c
297
work_data->cbk = (void *)cbk;
drivers/crypto/atmel-i2c.c
298
work_data->areq = areq;
drivers/crypto/atmel-i2c.c
300
INIT_WORK(&work_data->work, atmel_i2c_work_handler);
drivers/crypto/atmel-i2c.c
301
queue_work(atmel_wq, &work_data->work);
drivers/crypto/atmel-i2c.h
168
void (*cbk)(struct atmel_i2c_work_data *work_data, void *areq,
drivers/crypto/atmel-i2c.h
177
void atmel_i2c_enqueue(struct atmel_i2c_work_data *work_data,
drivers/crypto/atmel-i2c.h
178
void (*cbk)(struct atmel_i2c_work_data *work_data,
drivers/crypto/atmel-sha204a.c
21
static void atmel_sha204a_rng_done(struct atmel_i2c_work_data *work_data,
drivers/crypto/atmel-sha204a.c
24
struct atmel_i2c_client_priv *i2c_priv = work_data->ctx;
drivers/crypto/atmel-sha204a.c
32
rng->priv = (unsigned long)work_data;
drivers/crypto/atmel-sha204a.c
40
struct atmel_i2c_work_data *work_data;
drivers/crypto/atmel-sha204a.c
49
work_data = (struct atmel_i2c_work_data *)rng->priv;
drivers/crypto/atmel-sha204a.c
50
max = min(sizeof(work_data->cmd.data), max);
drivers/crypto/atmel-sha204a.c
51
memcpy(data, &work_data->cmd.data, max);
drivers/crypto/atmel-sha204a.c
54
work_data = kmalloc_obj(*work_data, GFP_ATOMIC);
drivers/crypto/atmel-sha204a.c
55
if (!work_data) {
drivers/crypto/atmel-sha204a.c
59
work_data->ctx = i2c_priv;
drivers/crypto/atmel-sha204a.c
60
work_data->client = i2c_priv->client;
drivers/crypto/atmel-sha204a.c
65
atmel_i2c_init_random_cmd(&work_data->cmd);
drivers/crypto/atmel-sha204a.c
66
atmel_i2c_enqueue(work_data, atmel_sha204a_rng_done, rng);
drivers/crypto/inside-secure/safexcel.c
1133
&priv->ring[ring].work_data.work);
drivers/crypto/inside-secure/safexcel.c
1661
priv->ring[i].work_data.priv = priv;
drivers/crypto/inside-secure/safexcel.c
1662
priv->ring[i].work_data.ring = i;
drivers/crypto/inside-secure/safexcel.c
1663
INIT_WORK(&priv->ring[i].work_data.work,
drivers/crypto/inside-secure/safexcel.h
698
struct safexcel_work_data work_data;
drivers/crypto/inside-secure/safexcel_cipher.c
1113
&priv->ring[ring].work_data.work);
drivers/crypto/inside-secure/safexcel_cipher.c
1189
&priv->ring[ring].work_data.work);
drivers/crypto/inside-secure/safexcel_cipher.c
969
&priv->ring[ring].work_data.work);
drivers/crypto/inside-secure/safexcel_hash.c
558
&priv->ring[ring].work_data.work);
drivers/crypto/inside-secure/safexcel_hash.c
647
&priv->ring[ring].work_data.work);
drivers/crypto/inside-secure/safexcel_hash.c
735
&priv->ring[ring].work_data.work);
drivers/input/misc/cs40l50-vibra.c
139
static int cs40l50_effect_bank_set(struct cs40l50_work *work_data,
drivers/input/misc/cs40l50-vibra.c
142
s16 bank_type = work_data->custom_data[0] & CS40L50_CUSTOM_DATA_MASK;
drivers/input/misc/cs40l50-vibra.c
145
dev_err(work_data->vib->dev, "Invalid bank (%d)\n", bank_type);
drivers/input/misc/cs40l50-vibra.c
149
if (work_data->custom_len > CS40L50_OWT_CUSTOM_DATA_SIZE)
drivers/input/misc/cs40l50-vibra.c
157
static int cs40l50_effect_index_set(struct cs40l50_work *work_data,
drivers/input/misc/cs40l50-vibra.c
160
struct cs40l50_vibra *vib = work_data->vib;
drivers/input/misc/cs40l50-vibra.c
177
effect->index += work_data->custom_data[1] & CS40L50_CUSTOM_DATA_MASK;
drivers/input/misc/cs40l50-vibra.c
192
static int cs40l50_effect_gpio_mapping_set(struct cs40l50_work *work_data,
drivers/input/misc/cs40l50-vibra.c
195
u16 gpio_edge, gpio_num, button = work_data->effect->trigger.button;
drivers/input/misc/cs40l50-vibra.c
196
struct cs40l50_vibra *vib = work_data->vib;
drivers/input/misc/cs40l50-vibra.c
217
static int cs40l50_upload_owt(struct cs40l50_work *work_data)
drivers/input/misc/cs40l50-vibra.c
220
struct cs40l50_vibra *vib = work_data->vib;
drivers/input/misc/cs40l50-vibra.c
221
size_t len = work_data->custom_len * 2;
drivers/input/misc/cs40l50-vibra.c
235
header.type = work_data->custom_data[0] == CS40L50_PCM_ID ? CS40L50_TYPE_PCM :
drivers/input/misc/cs40l50-vibra.c
245
memcpy(new_owt_effect_data + sizeof(header), work_data->custom_data, len);
drivers/input/misc/cs40l50-vibra.c
266
struct cs40l50_work *work_data = container_of(work, struct cs40l50_work, work);
drivers/input/misc/cs40l50-vibra.c
267
struct cs40l50_vibra *vib = work_data->vib;
drivers/input/misc/cs40l50-vibra.c
277
effect = cs40l50_find_effect(work_data->effect->id, &vib->effect_head);
drivers/input/misc/cs40l50-vibra.c
285
effect->id = work_data->effect->id;
drivers/input/misc/cs40l50-vibra.c
289
error = cs40l50_effect_bank_set(work_data, effect);
drivers/input/misc/cs40l50-vibra.c
293
error = cs40l50_effect_index_set(work_data, effect);
drivers/input/misc/cs40l50-vibra.c
297
error = cs40l50_effect_gpio_mapping_set(work_data, effect);
drivers/input/misc/cs40l50-vibra.c
302
error = cs40l50_upload_owt(work_data);
drivers/input/misc/cs40l50-vibra.c
313
work_data->error = error;
drivers/input/misc/cs40l50-vibra.c
321
struct cs40l50_work work_data;
drivers/input/misc/cs40l50-vibra.c
329
work_data.custom_data = memdup_array_user(effect->u.periodic.custom_data,
drivers/input/misc/cs40l50-vibra.c
332
if (IS_ERR(work_data.custom_data))
drivers/input/misc/cs40l50-vibra.c
333
return PTR_ERR(work_data.custom_data);
drivers/input/misc/cs40l50-vibra.c
335
work_data.custom_len = effect->u.periodic.custom_len;
drivers/input/misc/cs40l50-vibra.c
336
work_data.vib = vib;
drivers/input/misc/cs40l50-vibra.c
337
work_data.effect = effect;
drivers/input/misc/cs40l50-vibra.c
338
INIT_WORK_ONSTACK(&work_data.work, cs40l50_add_worker);
drivers/input/misc/cs40l50-vibra.c
341
queue_work(vib->vib_wq, &work_data.work);
drivers/input/misc/cs40l50-vibra.c
342
flush_work(&work_data.work);
drivers/input/misc/cs40l50-vibra.c
343
destroy_work_on_stack(&work_data.work);
drivers/input/misc/cs40l50-vibra.c
345
kfree(work_data.custom_data);
drivers/input/misc/cs40l50-vibra.c
347
return work_data.error;
drivers/input/misc/cs40l50-vibra.c
352
struct cs40l50_work *work_data = container_of(work, struct cs40l50_work, work);
drivers/input/misc/cs40l50-vibra.c
353
struct cs40l50_vibra *vib = work_data->vib;
drivers/input/misc/cs40l50-vibra.c
359
start_effect = cs40l50_find_effect(work_data->effect->id, &vib->effect_head);
drivers/input/misc/cs40l50-vibra.c
361
while (--work_data->count >= 0) {
drivers/input/misc/cs40l50-vibra.c
363
usleep_range(work_data->effect->replay.length,
drivers/input/misc/cs40l50-vibra.c
364
work_data->effect->replay.length + 100);
drivers/input/misc/cs40l50-vibra.c
372
kfree(work_data);
drivers/input/misc/cs40l50-vibra.c
377
struct cs40l50_work *work_data = container_of(work, struct cs40l50_work, work);
drivers/input/misc/cs40l50-vibra.c
378
struct cs40l50_vibra *vib = work_data->vib;
drivers/input/misc/cs40l50-vibra.c
387
kfree(work_data);
drivers/input/misc/cs40l50-vibra.c
393
struct cs40l50_work *work_data;
drivers/input/misc/cs40l50-vibra.c
395
work_data = kzalloc_obj(*work_data, GFP_ATOMIC);
drivers/input/misc/cs40l50-vibra.c
396
if (!work_data)
drivers/input/misc/cs40l50-vibra.c
399
work_data->vib = vib;
drivers/input/misc/cs40l50-vibra.c
402
work_data->effect = &dev->ff->effects[effect_id];
drivers/input/misc/cs40l50-vibra.c
403
work_data->count = val;
drivers/input/misc/cs40l50-vibra.c
404
INIT_WORK(&work_data->work, cs40l50_start_worker);
drivers/input/misc/cs40l50-vibra.c
407
INIT_WORK(&work_data->work, cs40l50_stop_worker);
drivers/input/misc/cs40l50-vibra.c
410
queue_work(vib->vib_wq, &work_data->work);
drivers/input/misc/cs40l50-vibra.c
417
struct cs40l50_work *work_data = container_of(work, struct cs40l50_work, work);
drivers/input/misc/cs40l50-vibra.c
419
struct cs40l50_vibra *vib = work_data->vib;
drivers/input/misc/cs40l50-vibra.c
426
erase_effect = cs40l50_find_effect(work_data->effect->id, &vib->effect_head);
drivers/input/misc/cs40l50-vibra.c
458
work_data->error = error;
drivers/input/misc/cs40l50-vibra.c
464
struct cs40l50_work work_data;
drivers/input/misc/cs40l50-vibra.c
466
work_data.vib = vib;
drivers/input/misc/cs40l50-vibra.c
467
work_data.effect = &dev->ff->effects[effect_id];
drivers/input/misc/cs40l50-vibra.c
469
INIT_WORK_ONSTACK(&work_data.work, cs40l50_erase_worker);
drivers/input/misc/cs40l50-vibra.c
472
queue_work(vib->vib_wq, &work_data.work);
drivers/input/misc/cs40l50-vibra.c
473
flush_work(&work_data.work);
drivers/input/misc/cs40l50-vibra.c
474
destroy_work_on_stack(&work_data.work);
drivers/input/misc/cs40l50-vibra.c
476
return work_data.error;
drivers/net/wireless/realtek/rtw88/sdio.c
1250
struct rtw_sdio_work_data *work_data =
drivers/net/wireless/realtek/rtw88/sdio.c
1256
rtwdev = work_data->rtwdev;
kernel/workqueue.c
2005
static void pwq_dec_nr_in_flight(struct pool_workqueue *pwq, unsigned long work_data)
kernel/workqueue.c
2007
int color = get_work_color(work_data);
kernel/workqueue.c
2009
if (!(work_data & WORK_STRUCT_INACTIVE))
kernel/workqueue.c
2108
unsigned long work_data = *work_data_bits(work);
kernel/workqueue.c
2126
if (work_data & WORK_STRUCT_INACTIVE)
kernel/workqueue.c
2139
pwq_dec_nr_in_flight(pwq, work_data);
kernel/workqueue.c
3180
unsigned long work_data;
kernel/workqueue.c
3208
work_data = *work_data_bits(work);
kernel/workqueue.c
3209
worker->current_color = get_work_color(work_data);
kernel/workqueue.c
3333
pwq_dec_nr_in_flight(pwq, work_data);
kernel/workqueue.c
759
static int get_work_color(unsigned long work_data)
kernel/workqueue.c
761
return (work_data >> WORK_STRUCT_COLOR_SHIFT) &
tools/perf/util/bpf_kwork_top.c
239
struct work_data *data, int cpu)
tools/perf/util/bpf_kwork_top.c
271
struct work_data *data;
tools/perf/util/bpf_kwork_top.c
281
data = calloc(nr_cpus, sizeof(struct work_data));
tools/perf/util/bpf_skel/kwork_top.bpf.c
125
struct work_data *data;
tools/perf/util/bpf_skel/kwork_top.bpf.c
131
struct work_data new_data = {
tools/perf/util/bpf_skel/kwork_top.bpf.c
74
__uint(value_size, sizeof(struct work_data));