__parport_ip32_frob_control(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to the __parport_ip32_frob_control(9) page from the Kernel API Manual πŸ’…βœ¨. This is the little function that changes bits in the DCR register, and we're keeping every detail, no cap.

🌸 NAME 🌸

__parport_ip32_frob_control β€” change bits from the DCR register πŸ’–

✨ SYNOPSIS ✨

void __parport_ip32_frob_control (struct parport *p , unsigned int mask
, unsigned int val );

πŸŽ€ ARGUMENTS πŸŽ€

  • p (struct parport *) β€” pointer to struct parport
  • mask (unsigned int) β€” bit mask of bits to change
  • val (unsigned int) β€” new value for changed bits

πŸ’– DESCRIPTION πŸ’–

okay so picture this, bestie: this function is equivalent to reading from the DCR, masking out the bits in mask, exclusive-or-ing with the bits in val, and writing the result to the DCR. Plot twist: it actually uses the cached contents of the DCR. That's the whole vibe. It's void, so it's not handing you anything back β€” it just frobs the control bits and dips πŸ’….

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/parport/parport_ip32.c β€” and the whole linked-up squad is: struct parport_ip32_regs(9), enum parport_ip32_irq_mode(9), struct parport_ip32_private(9), struct parport_ip32_dma_data(9), parport_ip32_dma_setup_context(9), parport_ip32_dma_interrupt(9), parport_ip32_dma_start(9), parport_ip32_dma_stop(9), parport_ip32_dma_get_residue(9), parport_ip32_dma_register(9), parport_ip32_dma_unregister(9), parport_ip32_wakeup(9), parport_ip32_interrupt(9), parport_ip32_read_econtrol(9), parport_ip32_write_econtrol(9), parport_ip32_frob_econtrol(9), parport_ip32_set_mode(9), parport_ip32_read_data(9), parport_ip32_write_data(9), parport_ip32_read_status(9), __parport_ip32_read_control(9), __parport_ip32_write_control(9), parport_ip32_read_control(9), parport_ip32_write_control(9), parport_ip32_frob_control(9), parport_ip32_disable_irq(9), parport_ip32_enable_irq(9), parport_ip32_data_forward(9), parport_ip32_data_reverse(9), parport_ip32_init_state(9), parport_ip32_save_state(9), parport_ip32_restore_state(9), parport_ip32_clear_epp_timeout(9), parport_ip32_epp_read(9), parport_ip32_epp_write(9), parport_ip32_epp_read_data(9), parport_ip32_epp_write_data(9), parport_ip32_epp_read_addr(9), parport_ip32_epp_write_addr(9), parport_ip32_fifo_wait_break(9), parport_ip32_fwp_wait_polling(9), parport_ip32_fwp_wait_interrupt(9), parport_ip32_fifo_write_block_pio(9), parport_ip32_fifo_write_block_dma(9), parport_ip32_fifo_write_block(9), parport_ip32_drain_fifo(9), parport_ip32_get_fifo_residue(9), parport_ip32_compat_write_data(9), parport_ip32_ecp_write_data(9), parport_ip32_ecp_supported(9), parport_ip32_fifo_supported(9), parport_ip32_make_isa_registers(9), parport_ip32_probe_port(9), parport_ip32_unregister_port(9), parport_ip32_init(9), parport_ip32_exit(9).


that's it, bestie β€” source/version ./drivers/parport, dated October 2026, for __parport_ip32_frob_control(9). go frob responsibly πŸ’–πŸ¦‹

πŸ“¦ where this page comes from