pdc_dt_read(9)
π pdc_dt_read(9) β like, the Kernel API Manual page, bestie π
okay so real quick: this is pdc_dt_read(9) from the Kernel API Manual, and it's basically the little gremlin function that goes and asks the device tree for its whole personality β¨
πΈ NAME πΈ
pdc_dt_read β read application-specific data from the device tree, no cap π§
β¨ SYNOPSIS β¨
int pdc_dt_read (struct platform_device *pdev , struct pdc_state *pdcs
);
like yes that's the whole signature, she's lowkey tiny but she matters π
π¦ ARGUMENTS π¦
pdevβ the platform device, aka the actual thingy we're snooping on πpdcsβ the PDC state, the vibe-holder where the answers get stashed π«Ά
π DESCRIPTION π
so what does she actually do? two things, and honestly both are iconic:
- she reads the number of bytes of receive status that come before each received frame π₯β¨
- and she reads whether transmit and received frames should be preceded by an 8-byte BCM header π (yes,
8-byte, exactly 8, don't come for me)
that's it. that's the whole job. device tree in, application-specific data out, main character energy only π₯
β RETURN β
0β slay, it worked β¨-ENODEVβ the device wasn't available, and we're π about it
π SEE ALSO π
first up, the kernel file this diva lives in: ./drivers/mailbox/bcm-pdc-mailbox.c ππ
and then the whole friend group, fr fr:
pdc_setup_debugfs(9)pdc_build_rxd(9)pdc_build_txd(9)pdc_receive_one(9)pdc_receive(9)pdc_tx_list_sg_add(9)pdc_tx_list_final(9)pdc_rx_list_init(9)pdc_rx_list_sg_add(9)pdc_irq_handler(9)pdc_work_cb(9)pdc_ring_init(9)pdc_desc_count(9)pdc_rings_full(9)pdc_last_tx_done(9)pdc_send_data(9)pdc_hw_init(9)pdc_hw_disable(9)pdc_rx_buf_pool_create(9)pdc_interrupts_init(9)pdc_mb_init(9)pdc_probe(9)
ngl bestie, this page was brought to you by ./drivers/mailbox and dated October 2026 β go drink some water and read your device tree πππ«Ά
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms