STRUCT USB_OHCI_PDATA(9)
β¨ struct usb_ohci_pdata β the kernel API manual, bestie edition β¨
okay so real talk, this is a page from the Kernel API Manual and it's literally about struct usb_ohci_pdata β the platform_data for the generic ohci driver. that's the whole vibe. it's giving "little struct, big responsibilities" π
πΈ NAME πΈ
struct usb_ohci_pdata β the platform_data for the generic ohci driver. yes bestie, that's it, that's the job π
β¨ SYNOPSIS β¨
here's the whole struct, copied exactly, don't @ me:
struct usb_ohci_pdata {
unsigned big_endian_desc:1;
unsigned big_endian_mmio:1;
unsigned no_big_frame_no:1;
unsigned int num_ports;
int (*power_on)(struct platform_device *pdev);
void (*power_off)(struct platform_device *pdev);
void (*power_suspend)(struct platform_device *pdev);
};
like look at those little :1 bitfields, they're so tiny and so important π¦
π§ Members π§
okay let's go member by member, no skips, no cap:
big_endian_descβ BE descriptors. it's big endian, for the descriptors. iconic β¨big_endian_mmioβ BE registers. big endian again, but this time for the memory-mapped I/O registers π«Άno_big_frame_noβ no big endian frame_no shift. that's it, that's the whole thing, no shift for you πnum_portsβ number of ports. anunsigned int, because ports are many πpower_onβ a function pointer,int (*power_on)(struct platform_device *pdev);β takes astruct platform_device *pdevand returns anintπpower_offβ a function pointer,void (*power_off)(struct platform_device *pdev);β takes astruct platform_device *pdev, returns nothing πpower_suspendβ a function pointer,void (*power_suspend)(struct platform_device *pdev);β takes astruct platform_device *pdev, returns nothing either πΈ
π Description π
so what are these, you ask? these are the general configuration options for the OHCI controller. all of them. and here's the tea: every single one of these options is lowkey just activating a workaround β more or less β for some specific hardware out there in the wild π like every flag is a little "this hardware is quirky so we do this instead" note. it's giving hardware whisperer energy, fr fr.
π₯ SEE ALSO π₯
- the kernel file
./include/linux/usb/ohci_pdriver.hβ go read it, bestie, iykyk β
and that's the page!! π this one lives in ./include/linux/usb, it's dated October 2026, and it's part of the Kernel API Manual. mwah, go forth and configure your OHCI controller responsibly π
π¦β¨
π¦ 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