drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
1705
u32 bpp, bpc, pxlfmt, framer;
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
1855
ret = cdns_mhdp_reg_read(mhdp, CDNS_DP_FRAMER_GLOBAL_CONFIG, &framer);
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
1862
framer |= CDNS_DP_FRAMER_EN;
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
1863
framer &= ~CDNS_DP_NO_VIDEO_MODE;
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
1864
cdns_mhdp_reg_write(mhdp, CDNS_DP_FRAMER_GLOBAL_CONFIG, framer);
drivers/net/wan/framer/framer-core.c
102
mutex_lock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
103
if (framer->power_count > framer->init_count)
drivers/net/wan/framer/framer-core.c
104
dev_warn(&framer->dev, "framer_power_on was called before framer init\n");
drivers/net/wan/framer/framer-core.c
106
if (framer->init_count == 0) {
drivers/net/wan/framer/framer-core.c
107
if (framer->ops->init) {
drivers/net/wan/framer/framer-core.c
108
ret = framer->ops->init(framer);
drivers/net/wan/framer/framer-core.c
110
dev_err(&framer->dev, "framer init failed --> %d\n", ret);
drivers/net/wan/framer/framer-core.c
114
if (framer->ops->flags & FRAMER_FLAG_POLL_STATUS)
drivers/net/wan/framer/framer-core.c
117
++framer->init_count;
drivers/net/wan/framer/framer-core.c
120
mutex_unlock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
123
ret = framer_get_status(framer, &framer->prev_status);
drivers/net/wan/framer/framer-core.c
125
dev_warn(&framer->dev, "framer get status failed --> %d\n", ret);
drivers/net/wan/framer/framer-core.c
129
queue_delayed_work(system_power_efficient_wq, &framer->polling_work, 1 * HZ);
drivers/net/wan/framer/framer-core.c
132
framer_pm_runtime_put(framer);
drivers/net/wan/framer/framer-core.c
143
int framer_exit(struct framer *framer)
drivers/net/wan/framer/framer-core.c
147
ret = framer_pm_runtime_get_sync(framer);
drivers/net/wan/framer/framer-core.c
152
mutex_lock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
153
--framer->init_count;
drivers/net/wan/framer/framer-core.c
154
if (framer->init_count == 0) {
drivers/net/wan/framer/framer-core.c
155
if (framer->ops->flags & FRAMER_FLAG_POLL_STATUS) {
drivers/net/wan/framer/framer-core.c
156
mutex_unlock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
157
cancel_delayed_work_sync(&framer->polling_work);
drivers/net/wan/framer/framer-core.c
158
mutex_lock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
161
if (framer->ops->exit)
drivers/net/wan/framer/framer-core.c
162
framer->ops->exit(framer);
drivers/net/wan/framer/framer-core.c
165
mutex_unlock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
166
framer_pm_runtime_put(framer);
drivers/net/wan/framer/framer-core.c
179
int framer_power_on(struct framer *framer)
drivers/net/wan/framer/framer-core.c
183
if (framer->pwr) {
drivers/net/wan/framer/framer-core.c
184
ret = regulator_enable(framer->pwr);
drivers/net/wan/framer/framer-core.c
189
ret = framer_pm_runtime_get_sync(framer);
drivers/net/wan/framer/framer-core.c
193
mutex_lock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
194
if (framer->power_count == 0 && framer->ops->power_on) {
drivers/net/wan/framer/framer-core.c
195
ret = framer->ops->power_on(framer);
drivers/net/wan/framer/framer-core.c
197
dev_err(&framer->dev, "framer poweron failed --> %d\n", ret);
drivers/net/wan/framer/framer-core.c
201
++framer->power_count;
drivers/net/wan/framer/framer-core.c
202
mutex_unlock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
206
mutex_unlock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
207
framer_pm_runtime_put_sync(framer);
drivers/net/wan/framer/framer-core.c
209
if (framer->pwr)
drivers/net/wan/framer/framer-core.c
210
regulator_disable(framer->pwr);
drivers/net/wan/framer/framer-core.c
223
int framer_power_off(struct framer *framer)
drivers/net/wan/framer/framer-core.c
227
mutex_lock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
228
if (framer->power_count == 1 && framer->ops->power_off) {
drivers/net/wan/framer/framer-core.c
229
ret = framer->ops->power_off(framer);
drivers/net/wan/framer/framer-core.c
231
dev_err(&framer->dev, "framer poweroff failed --> %d\n", ret);
drivers/net/wan/framer/framer-core.c
232
mutex_unlock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
236
--framer->power_count;
drivers/net/wan/framer/framer-core.c
237
mutex_unlock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
238
framer_pm_runtime_put(framer);
drivers/net/wan/framer/framer-core.c
240
if (framer->pwr)
drivers/net/wan/framer/framer-core.c
241
regulator_disable(framer->pwr);
drivers/net/wan/framer/framer-core.c
257
int framer_get_status(struct framer *framer, struct framer_status *status)
drivers/net/wan/framer/framer-core.c
261
if (!framer->ops->get_status)
drivers/net/wan/framer/framer-core.c
267
mutex_lock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
268
ret = framer->ops->get_status(framer, status);
drivers/net/wan/framer/framer-core.c
269
mutex_unlock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
285
int framer_set_config(struct framer *framer, const struct framer_config *config)
drivers/net/wan/framer/framer-core.c
289
if (!framer->ops->set_config)
drivers/net/wan/framer/framer-core.c
292
mutex_lock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
293
ret = framer->ops->set_config(framer, config);
drivers/net/wan/framer/framer-core.c
294
mutex_unlock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
31
#define dev_to_framer(a) (container_of((a), struct framer, dev))
drivers/net/wan/framer/framer-core.c
310
int framer_get_config(struct framer *framer, struct framer_config *config)
drivers/net/wan/framer/framer-core.c
314
if (!framer->ops->get_config)
drivers/net/wan/framer/framer-core.c
317
mutex_lock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
318
ret = framer->ops->get_config(framer, config);
drivers/net/wan/framer/framer-core.c
319
mutex_unlock(&framer->mutex);
drivers/net/wan/framer/framer-core.c
327
struct framer *framer = container_of(work, struct framer, polling_work.work);
drivers/net/wan/framer/framer-core.c
33
int framer_pm_runtime_get(struct framer *framer)
drivers/net/wan/framer/framer-core.c
331
ret = framer_get_status(framer, &status);
drivers/net/wan/framer/framer-core.c
333
dev_err(&framer->dev, "polling, get status failed (%d)\n", ret);
drivers/net/wan/framer/framer-core.c
336
if (memcmp(&framer->prev_status, &status, sizeof(status))) {
drivers/net/wan/framer/framer-core.c
337
blocking_notifier_call_chain(&framer->notifier_list,
drivers/net/wan/framer/framer-core.c
339
memcpy(&framer->prev_status, &status, sizeof(status));
drivers/net/wan/framer/framer-core.c
344
queue_delayed_work(system_power_efficient_wq, &framer->polling_work, 1 * HZ);
drivers/net/wan/framer/framer-core.c
358
int framer_notifier_register(struct framer *framer, struct notifier_block *nb)
drivers/net/wan/framer/framer-core.c
360
return blocking_notifier_chain_register(&framer->notifier_list, nb);
drivers/net/wan/framer/framer-core.c
37
if (!pm_runtime_enabled(&framer->dev))
drivers/net/wan/framer/framer-core.c
374
int framer_notifier_unregister(struct framer *framer, struct notifier_block *nb)
drivers/net/wan/framer/framer-core.c
376
return blocking_notifier_chain_unregister(&framer->notifier_list, nb);
drivers/net/wan/framer/framer-core.c
392
static struct framer *framer_of_get_from_provider(const struct of_phandle_args *args)
drivers/net/wan/framer/framer-core.c
395
struct framer *framer;
drivers/net/wan/framer/framer-core.c
40
ret = pm_runtime_get(&framer->dev);
drivers/net/wan/framer/framer-core.c
400
framer = ERR_PTR(-EPROBE_DEFER);
drivers/net/wan/framer/framer-core.c
404
framer = framer_provider->of_xlate(framer_provider->dev, args);
drivers/net/wan/framer/framer-core.c
411
return framer;
drivers/net/wan/framer/framer-core.c
414
static struct framer *framer_of_get_byphandle(struct device_node *np, const char *propname,
drivers/net/wan/framer/framer-core.c
418
struct framer *framer;
drivers/net/wan/framer/framer-core.c
42
pm_runtime_put_noidle(&framer->dev);
drivers/net/wan/framer/framer-core.c
426
framer = ERR_PTR(-ENODEV);
drivers/net/wan/framer/framer-core.c
430
framer = framer_of_get_from_provider(&args);
drivers/net/wan/framer/framer-core.c
435
return framer;
drivers/net/wan/framer/framer-core.c
438
static struct framer *framer_of_get_byparent(struct device_node *np, int index)
drivers/net/wan/framer/framer-core.c
441
struct framer *framer;
drivers/net/wan/framer/framer-core.c
448
framer = framer_of_get_from_provider(&args);
drivers/net/wan/framer/framer-core.c
449
if (IS_ERR(framer) && PTR_ERR(framer) != -EPROBE_DEFER) {
drivers/net/wan/framer/framer-core.c
454
return framer;
drivers/net/wan/framer/framer-core.c
469
struct framer *framer_get(struct device *dev, const char *con_id)
drivers/net/wan/framer/framer-core.c
471
struct framer *framer = ERR_PTR(-ENODEV);
drivers/net/wan/framer/framer-core.c
477
framer = framer_of_get_byphandle(dev->of_node, con_id, 0);
drivers/net/wan/framer/framer-core.c
479
framer = framer_of_get_byparent(dev->of_node, 0);
drivers/net/wan/framer/framer-core.c
48
int framer_pm_runtime_get_sync(struct framer *framer)
drivers/net/wan/framer/framer-core.c
482
if (IS_ERR(framer))
drivers/net/wan/framer/framer-core.c
483
return framer;
drivers/net/wan/framer/framer-core.c
485
get_device(&framer->dev);
drivers/net/wan/framer/framer-core.c
487
if (!try_module_get(framer->ops->owner)) {
drivers/net/wan/framer/framer-core.c
492
link = device_link_add(dev, &framer->dev, DL_FLAG_STATELESS);
drivers/net/wan/framer/framer-core.c
494
dev_err(dev, "failed to create device_link to %s\n", dev_name(&framer->dev));
drivers/net/wan/framer/framer-core.c
499
return framer;
drivers/net/wan/framer/framer-core.c
502
module_put(framer->ops->owner);
drivers/net/wan/framer/framer-core.c
504
put_device(&framer->dev);
drivers/net/wan/framer/framer-core.c
516
void framer_put(struct device *dev, struct framer *framer)
drivers/net/wan/framer/framer-core.c
518
device_link_remove(dev, &framer->dev);
drivers/net/wan/framer/framer-core.c
52
if (!pm_runtime_enabled(&framer->dev))
drivers/net/wan/framer/framer-core.c
520
module_put(framer->ops->owner);
drivers/net/wan/framer/framer-core.c
521
put_device(&framer->dev);
drivers/net/wan/framer/framer-core.c
527
struct framer *framer = *(struct framer **)res;
drivers/net/wan/framer/framer-core.c
529
framer_put(dev, framer);
drivers/net/wan/framer/framer-core.c
541
struct framer *devm_framer_get(struct device *dev, const char *con_id)
drivers/net/wan/framer/framer-core.c
543
struct framer **ptr, *framer;
drivers/net/wan/framer/framer-core.c
549
framer = framer_get(dev, con_id);
drivers/net/wan/framer/framer-core.c
55
ret = pm_runtime_get_sync(&framer->dev);
drivers/net/wan/framer/framer-core.c
550
if (!IS_ERR(framer)) {
drivers/net/wan/framer/framer-core.c
551
*ptr = framer;
drivers/net/wan/framer/framer-core.c
555
return framer;
drivers/net/wan/framer/framer-core.c
558
return framer;
drivers/net/wan/framer/framer-core.c
57
pm_runtime_put_sync(&framer->dev);
drivers/net/wan/framer/framer-core.c
572
struct framer *devm_framer_optional_get(struct device *dev, const char *con_id)
drivers/net/wan/framer/framer-core.c
574
struct framer *framer = devm_framer_get(dev, con_id);
drivers/net/wan/framer/framer-core.c
576
if (PTR_ERR(framer) == -ENODEV)
drivers/net/wan/framer/framer-core.c
577
framer = NULL;
drivers/net/wan/framer/framer-core.c
579
return framer;
drivers/net/wan/framer/framer-core.c
585
struct framer *framer = container_of(work, struct framer, notify_status_work);
drivers/net/wan/framer/framer-core.c
587
blocking_notifier_call_chain(&framer->notifier_list, FRAMER_EVENT_STATUS, NULL);
drivers/net/wan/framer/framer-core.c
590
void framer_notify_status_change(struct framer *framer)
drivers/net/wan/framer/framer-core.c
595
queue_work(system_power_efficient_wq, &framer->notify_status_work);
drivers/net/wan/framer/framer-core.c
607
struct framer *framer_create(struct device *dev, struct device_node *node,
drivers/net/wan/framer/framer-core.c
610
struct framer *framer;
drivers/net/wan/framer/framer-core.c
618
framer = kzalloc_obj(*framer);
drivers/net/wan/framer/framer-core.c
619
if (!framer)
drivers/net/wan/framer/framer-core.c
629
device_initialize(&framer->dev);
drivers/net/wan/framer/framer-core.c
63
void framer_pm_runtime_put(struct framer *framer)
drivers/net/wan/framer/framer-core.c
630
mutex_init(&framer->mutex);
drivers/net/wan/framer/framer-core.c
631
INIT_WORK(&framer->notify_status_work, framer_notify_status_work);
drivers/net/wan/framer/framer-core.c
632
INIT_DELAYED_WORK(&framer->polling_work, framer_polling_work);
drivers/net/wan/framer/framer-core.c
633
BLOCKING_INIT_NOTIFIER_HEAD(&framer->notifier_list);
drivers/net/wan/framer/framer-core.c
635
framer->dev.class = &framer_class;
drivers/net/wan/framer/framer-core.c
636
framer->dev.parent = dev;
drivers/net/wan/framer/framer-core.c
637
framer->dev.of_node = node ? node : dev->of_node;
drivers/net/wan/framer/framer-core.c
638
framer->id = id;
drivers/net/wan/framer/framer-core.c
639
framer->ops = ops;
drivers/net/wan/framer/framer-core.c
641
ret = dev_set_name(&framer->dev, "framer-%s.%d", dev_name(dev), id);
drivers/net/wan/framer/framer-core.c
646
framer->pwr = regulator_get_optional(&framer->dev, "framer");
drivers/net/wan/framer/framer-core.c
647
if (IS_ERR(framer->pwr)) {
drivers/net/wan/framer/framer-core.c
648
ret = PTR_ERR(framer->pwr);
drivers/net/wan/framer/framer-core.c
65
if (!pm_runtime_enabled(&framer->dev))
drivers/net/wan/framer/framer-core.c
652
framer->pwr = NULL;
drivers/net/wan/framer/framer-core.c
655
ret = device_add(&framer->dev);
drivers/net/wan/framer/framer-core.c
660
pm_runtime_enable(&framer->dev);
drivers/net/wan/framer/framer-core.c
661
pm_runtime_no_callbacks(&framer->dev);
drivers/net/wan/framer/framer-core.c
664
return framer;
drivers/net/wan/framer/framer-core.c
667
put_device(&framer->dev); /* calls framer_release() which frees resources */
drivers/net/wan/framer/framer-core.c
671
kfree(framer);
drivers/net/wan/framer/framer-core.c
68
pm_runtime_put(&framer->dev);
drivers/net/wan/framer/framer-core.c
682
void framer_destroy(struct framer *framer)
drivers/net/wan/framer/framer-core.c
687
cancel_delayed_work_sync(&framer->polling_work);
drivers/net/wan/framer/framer-core.c
688
cancel_work_sync(&framer->notify_status_work);
drivers/net/wan/framer/framer-core.c
689
pm_runtime_disable(&framer->dev);
drivers/net/wan/framer/framer-core.c
690
device_unregister(&framer->dev); /* calls framer_release() which frees resources */
drivers/net/wan/framer/framer-core.c
696
struct framer *framer = *(struct framer **)res;
drivers/net/wan/framer/framer-core.c
698
framer_destroy(framer);
drivers/net/wan/framer/framer-core.c
712
struct framer *devm_framer_create(struct device *dev, struct device_node *node,
drivers/net/wan/framer/framer-core.c
715
struct framer **ptr, *framer;
drivers/net/wan/framer/framer-core.c
72
int framer_pm_runtime_put_sync(struct framer *framer)
drivers/net/wan/framer/framer-core.c
721
framer = framer_create(dev, node, ops);
drivers/net/wan/framer/framer-core.c
722
if (!IS_ERR(framer)) {
drivers/net/wan/framer/framer-core.c
723
*ptr = framer;
drivers/net/wan/framer/framer-core.c
729
return framer;
drivers/net/wan/framer/framer-core.c
74
if (!pm_runtime_enabled(&framer->dev))
drivers/net/wan/framer/framer-core.c
743
struct framer *framer_provider_simple_of_xlate(struct device *dev,
drivers/net/wan/framer/framer-core.c
769
struct framer *(*of_xlate)(struct device *dev,
drivers/net/wan/framer/framer-core.c
77
return pm_runtime_put_sync(&framer->dev);
drivers/net/wan/framer/framer-core.c
831
struct framer *(*of_xlate)(struct device *dev,
drivers/net/wan/framer/framer-core.c
861
struct framer *framer;
drivers/net/wan/framer/framer-core.c
863
framer = dev_to_framer(dev);
drivers/net/wan/framer/framer-core.c
864
regulator_put(framer->pwr);
drivers/net/wan/framer/framer-core.c
865
ida_free(&framer_ida, framer->id);
drivers/net/wan/framer/framer-core.c
866
kfree(framer);
drivers/net/wan/framer/framer-core.c
92
int framer_init(struct framer *framer)
drivers/net/wan/framer/framer-core.c
97
ret = framer_pm_runtime_get_sync(framer);
drivers/net/wan/framer/pef2256/pef2256.c
52
struct framer *framer;
drivers/net/wan/framer/pef2256/pef2256.c
525
framer_notify_status_change(pef2256->framer);
drivers/net/wan/framer/pef2256/pef2256.c
657
static int pef2256_framer_get_status(struct framer *framer, struct framer_status *status)
drivers/net/wan/framer/pef2256/pef2256.c
659
struct pef2256 *pef2256 = framer_get_drvdata(framer);
drivers/net/wan/framer/pef2256/pef2256.c
665
static int pef2256_framer_set_config(struct framer *framer, const struct framer_config *config)
drivers/net/wan/framer/pef2256/pef2256.c
667
struct pef2256 *pef2256 = framer_get_drvdata(framer);
drivers/net/wan/framer/pef2256/pef2256.c
689
static int pef2256_framer_get_config(struct framer *framer, struct framer_config *config)
drivers/net/wan/framer/pef2256/pef2256.c
691
struct pef2256 *pef2256 = framer_get_drvdata(framer);
drivers/net/wan/framer/pef2256/pef2256.c
795
pef2256->framer = devm_framer_create(pef2256->dev, NULL, &pef2256_framer_ops);
drivers/net/wan/framer/pef2256/pef2256.c
796
if (IS_ERR(pef2256->framer))
drivers/net/wan/framer/pef2256/pef2256.c
797
return PTR_ERR(pef2256->framer);
drivers/net/wan/framer/pef2256/pef2256.c
799
framer_set_drvdata(pef2256->framer, pef2256);
drivers/net/wan/fsl_qmc_hdlc.c
100
ret = framer_power_on(qmc_hdlc->framer);
drivers/net/wan/fsl_qmc_hdlc.c
107
ret = framer_get_status(qmc_hdlc->framer, &framer_status);
drivers/net/wan/fsl_qmc_hdlc.c
114
ret = framer_notifier_register(qmc_hdlc->framer, &qmc_hdlc->nb);
drivers/net/wan/fsl_qmc_hdlc.c
123
framer_power_off(qmc_hdlc->framer);
drivers/net/wan/fsl_qmc_hdlc.c
129
if (!qmc_hdlc->framer)
drivers/net/wan/fsl_qmc_hdlc.c
132
framer_notifier_unregister(qmc_hdlc->framer, &qmc_hdlc->nb);
drivers/net/wan/fsl_qmc_hdlc.c
133
framer_power_off(qmc_hdlc->framer);
drivers/net/wan/fsl_qmc_hdlc.c
142
if (!qmc_hdlc->framer)
drivers/net/wan/fsl_qmc_hdlc.c
145
ret = framer_get_config(qmc_hdlc->framer, &config);
drivers/net/wan/fsl_qmc_hdlc.c
175
return framer_set_config(qmc_hdlc->framer, &config);
drivers/net/wan/fsl_qmc_hdlc.c
183
if (!qmc_hdlc->framer) {
drivers/net/wan/fsl_qmc_hdlc.c
188
ret = framer_get_config(qmc_hdlc->framer, &config);
drivers/net/wan/fsl_qmc_hdlc.c
222
if (!qmc_hdlc->framer)
drivers/net/wan/fsl_qmc_hdlc.c
225
ret = framer_init(qmc_hdlc->framer);
drivers/net/wan/fsl_qmc_hdlc.c
236
if (!qmc_hdlc->framer)
drivers/net/wan/fsl_qmc_hdlc.c
239
framer_exit(qmc_hdlc->framer);
drivers/net/wan/fsl_qmc_hdlc.c
40
struct framer *framer;
drivers/net/wan/fsl_qmc_hdlc.c
61
if (!qmc_hdlc->framer)
drivers/net/wan/fsl_qmc_hdlc.c
66
ret = framer_get_status(qmc_hdlc->framer, &framer_status);
drivers/net/wan/fsl_qmc_hdlc.c
745
qmc_hdlc->framer = devm_framer_optional_get(dev, "fsl,framer");
drivers/net/wan/fsl_qmc_hdlc.c
746
if (IS_ERR(qmc_hdlc->framer))
drivers/net/wan/fsl_qmc_hdlc.c
747
return PTR_ERR(qmc_hdlc->framer);
drivers/net/wan/fsl_qmc_hdlc.c
97
if (!qmc_hdlc->framer)
drivers/slimbus/qcom-ngd-ctrl.c
149
struct slim_framer framer;
drivers/slimbus/qcom-ngd-ctrl.c
1633
ctrl->framer.rootfreq = SLIM_ROOT_FREQ >> 3;
drivers/slimbus/qcom-ngd-ctrl.c
1634
ctrl->framer.superfreq =
drivers/slimbus/qcom-ngd-ctrl.c
1635
ctrl->framer.rootfreq / SLIM_CL_PER_SUPERFRAME_DIV8;
drivers/slimbus/qcom-ngd-ctrl.c
1637
ctrl->ctrl.a_framer = &ctrl->framer;
include/linux/framer/framer-provider.h
100
dev_set_drvdata(&framer->dev, data);
include/linux/framer/framer-provider.h
103
static inline void *framer_get_drvdata(struct framer *framer)
include/linux/framer/framer-provider.h
105
return dev_get_drvdata(&framer->dev);
include/linux/framer/framer-provider.h
111
struct framer *framer_create(struct device *dev, struct device_node *node,
include/linux/framer/framer-provider.h
113
void framer_destroy(struct framer *framer);
include/linux/framer/framer-provider.h
116
struct framer *devm_framer_create(struct device *dev, struct device_node *node,
include/linux/framer/framer-provider.h
119
struct framer *framer_provider_simple_of_xlate(struct device *dev,
include/linux/framer/framer-provider.h
124
struct framer *(*of_xlate)(struct device *dev,
include/linux/framer/framer-provider.h
131
struct framer *(*of_xlate)(struct device *dev,
include/linux/framer/framer-provider.h
134
void framer_notify_status_change(struct framer *framer);
include/linux/framer/framer-provider.h
138
static inline struct framer *framer_create(struct device *dev, struct device_node *node,
include/linux/framer/framer-provider.h
144
static inline void framer_destroy(struct framer *framer)
include/linux/framer/framer-provider.h
149
static inline struct framer *devm_framer_create(struct device *dev, struct device_node *node,
include/linux/framer/framer-provider.h
155
static inline struct framer *framer_provider_simple_of_xlate(struct device *dev,
include/linux/framer/framer-provider.h
163
struct framer *(*of_xlate)(struct device *dev,
include/linux/framer/framer-provider.h
175
struct framer *(*of_xlate)(struct device *dev,
include/linux/framer/framer-provider.h
181
void framer_notify_status_change(struct framer *framer)
include/linux/framer/framer-provider.h
38
int (*init)(struct framer *framer);
include/linux/framer/framer-provider.h
39
void (*exit)(struct framer *framer);
include/linux/framer/framer-provider.h
40
int (*power_on)(struct framer *framer);
include/linux/framer/framer-provider.h
41
int (*power_off)(struct framer *framer);
include/linux/framer/framer-provider.h
53
int (*get_status)(struct framer *framer, struct framer_status *status);
include/linux/framer/framer-provider.h
65
int (*set_config)(struct framer *framer, const struct framer_config *config);
include/linux/framer/framer-provider.h
77
int (*get_config)(struct framer *framer, struct framer_config *config);
include/linux/framer/framer-provider.h
94
struct framer * (*of_xlate)(struct device *dev,
include/linux/framer/framer-provider.h
98
static inline void framer_set_drvdata(struct framer *framer, void *data)
include/linux/framer/framer.h
100
int framer_pm_runtime_put_sync(struct framer *framer);
include/linux/framer/framer.h
101
int framer_init(struct framer *framer);
include/linux/framer/framer.h
102
int framer_exit(struct framer *framer);
include/linux/framer/framer.h
103
int framer_power_on(struct framer *framer);
include/linux/framer/framer.h
104
int framer_power_off(struct framer *framer);
include/linux/framer/framer.h
105
int framer_get_status(struct framer *framer, struct framer_status *status);
include/linux/framer/framer.h
106
int framer_get_config(struct framer *framer, struct framer_config *config);
include/linux/framer/framer.h
107
int framer_set_config(struct framer *framer, const struct framer_config *config);
include/linux/framer/framer.h
108
int framer_notifier_register(struct framer *framer, struct notifier_block *nb);
include/linux/framer/framer.h
109
int framer_notifier_unregister(struct framer *framer, struct notifier_block *nb);
include/linux/framer/framer.h
111
struct framer *framer_get(struct device *dev, const char *con_id);
include/linux/framer/framer.h
112
void framer_put(struct device *dev, struct framer *framer);
include/linux/framer/framer.h
114
struct framer *devm_framer_get(struct device *dev, const char *con_id);
include/linux/framer/framer.h
115
struct framer *devm_framer_optional_get(struct device *dev, const char *con_id);
include/linux/framer/framer.h
117
static inline int framer_pm_runtime_get(struct framer *framer)
include/linux/framer/framer.h
122
static inline int framer_pm_runtime_get_sync(struct framer *framer)
include/linux/framer/framer.h
127
static inline void framer_pm_runtime_put(struct framer *framer)
include/linux/framer/framer.h
131
static inline int framer_pm_runtime_put_sync(struct framer *framer)
include/linux/framer/framer.h
136
static inline int framer_init(struct framer *framer)
include/linux/framer/framer.h
141
static inline int framer_exit(struct framer *framer)
include/linux/framer/framer.h
146
static inline int framer_power_on(struct framer *framer)
include/linux/framer/framer.h
151
static inline int framer_power_off(struct framer *framer)
include/linux/framer/framer.h
156
static inline int framer_get_status(struct framer *framer, struct framer_status *status)
include/linux/framer/framer.h
161
static inline int framer_get_config(struct framer *framer, struct framer_config *config)
include/linux/framer/framer.h
166
static inline int framer_set_config(struct framer *framer, const struct framer_config *config)
include/linux/framer/framer.h
171
static inline int framer_notifier_register(struct framer *framer,
include/linux/framer/framer.h
177
static inline int framer_notifier_unregister(struct framer *framer,
include/linux/framer/framer.h
183
static inline struct framer *framer_get(struct device *dev, const char *con_id)
include/linux/framer/framer.h
188
static inline void framer_put(struct device *dev, struct framer *framer)
include/linux/framer/framer.h
192
static inline struct framer *devm_framer_get(struct device *dev, const char *con_id)
include/linux/framer/framer.h
197
static inline struct framer *devm_framer_optional_get(struct device *dev, const char *con_id)
include/linux/framer/framer.h
97
int framer_pm_runtime_get(struct framer *framer);
include/linux/framer/framer.h
98
int framer_pm_runtime_get_sync(struct framer *framer);
include/linux/framer/framer.h
99
void framer_pm_runtime_put(struct framer *framer);
sound/soc/codecs/framer-codec.c
104
struct framer_codec *framer = snd_soc_component_get_drvdata(dai->component);
sound/soc/codecs/framer-codec.c
106
return framer_dai_hw_rule_channels_by_format(dai, params, framer->max_chan_capture);
sound/soc/codecs/framer-codec.c
141
struct framer_codec *framer = snd_soc_component_get_drvdata(dai->component);
sound/soc/codecs/framer-codec.c
143
return framer_dai_hw_rule_format_by_channels(dai, params, framer->max_chan_playback);
sound/soc/codecs/framer-codec.c
150
struct framer_codec *framer = snd_soc_component_get_drvdata(dai->component);
sound/soc/codecs/framer-codec.c
152
return framer_dai_hw_rule_format_by_channels(dai, params, framer->max_chan_capture);
sound/soc/codecs/framer-codec.c
188
struct framer_codec *framer = snd_soc_component_get_drvdata(dai->component);
sound/soc/codecs/framer-codec.c
196
format = framer_formats(framer->max_chan_capture);
sound/soc/codecs/framer-codec.c
199
frame_bits = framer->max_chan_capture * 8;
sound/soc/codecs/framer-codec.c
201
format = framer_formats(framer->max_chan_playback);
sound/soc/codecs/framer-codec.c
204
frame_bits = framer->max_chan_playback * 8;
sound/soc/codecs/framer-codec.c
24
struct framer *framer;
sound/soc/codecs/framer-codec.c
273
struct framer_codec *framer = container_of(work, struct framer_codec, carrier_work);
sound/soc/codecs/framer-codec.c
278
ret = framer_get_status(framer->framer, &framer_status);
sound/soc/codecs/framer-codec.c
280
dev_err(framer->dev, "get framer status failed (%d)\n", ret);
sound/soc/codecs/framer-codec.c
285
snd_soc_jack_report(&framer->jack, jack_status, FRAMER_JACK_MASK);
sound/soc/codecs/framer-codec.c
291
struct framer_codec *framer = container_of(nb, struct framer_codec, nb);
sound/soc/codecs/framer-codec.c
295
queue_work(system_power_efficient_wq, &framer->carrier_work);
sound/soc/codecs/framer-codec.c
306
struct framer_codec *framer = snd_soc_component_get_drvdata(component);
sound/soc/codecs/framer-codec.c
311
INIT_WORK(&framer->carrier_work, framer_carrier_work);
sound/soc/codecs/framer-codec.c
320
ret = snd_soc_card_jack_new(component->card, name, FRAMER_JACK_MASK, &framer->jack);
sound/soc/codecs/framer-codec.c
328
ret = framer_init(framer->framer);
sound/soc/codecs/framer-codec.c
334
ret = framer_power_on(framer->framer);
sound/soc/codecs/framer-codec.c
341
ret = framer_get_status(framer->framer, &status);
sound/soc/codecs/framer-codec.c
347
framer->nb.notifier_call = framer_carrier_notifier;
sound/soc/codecs/framer-codec.c
348
ret = framer_notifier_register(framer->framer, &framer->nb);
sound/soc/codecs/framer-codec.c
355
queue_work(system_power_efficient_wq, &framer->carrier_work);
sound/soc/codecs/framer-codec.c
36
struct framer_codec *framer = snd_soc_component_get_drvdata(dai->component);
sound/soc/codecs/framer-codec.c
360
framer_power_off(framer->framer);
sound/soc/codecs/framer-codec.c
362
framer_exit(framer->framer);
sound/soc/codecs/framer-codec.c
368
struct framer_codec *framer = snd_soc_component_get_drvdata(component);
sound/soc/codecs/framer-codec.c
370
framer_notifier_unregister(framer->framer, &framer->nb);
sound/soc/codecs/framer-codec.c
371
cancel_work_sync(&framer->carrier_work);
sound/soc/codecs/framer-codec.c
372
framer_power_off(framer->framer);
sound/soc/codecs/framer-codec.c
373
framer_exit(framer->framer);
sound/soc/codecs/framer-codec.c
384
struct framer_codec *framer;
sound/soc/codecs/framer-codec.c
386
framer = devm_kzalloc(&pdev->dev, sizeof(*framer), GFP_KERNEL);
sound/soc/codecs/framer-codec.c
387
if (!framer)
sound/soc/codecs/framer-codec.c
390
framer->dev = &pdev->dev;
sound/soc/codecs/framer-codec.c
393
framer->framer = devm_framer_get(&pdev->dev, NULL);
sound/soc/codecs/framer-codec.c
394
if (IS_ERR(framer->framer))
sound/soc/codecs/framer-codec.c
395
return dev_err_probe(&pdev->dev, PTR_ERR(framer->framer), "get framer failed\n");
sound/soc/codecs/framer-codec.c
397
platform_set_drvdata(pdev, framer);
sound/soc/codecs/framer-codec.c
48
framer->max_chan_playback = hweight32(tx_mask);
sound/soc/codecs/framer-codec.c
49
if (framer->max_chan_playback > FRAMER_NB_CHANNEL) {
sound/soc/codecs/framer-codec.c
55
framer->max_chan_capture = hweight32(rx_mask);
sound/soc/codecs/framer-codec.c
56
if (framer->max_chan_capture > FRAMER_NB_CHANNEL) {
sound/soc/codecs/framer-codec.c
95
struct framer_codec *framer = snd_soc_component_get_drvdata(dai->component);
sound/soc/codecs/framer-codec.c
97
return framer_dai_hw_rule_channels_by_format(dai, params, framer->max_chan_playback);