STRUCT CCW_DRIVER(9)
πΈ struct ccw_driver(9) πΈ
okay so bestie, we're in the Kernel API Manual today and the star of the show is struct ccw_driver β literally the device driver for channel attached devices. yes, s390 content, yes it's iconic, stay with me π
β¨ NAME β¨
struct ccw_driver β device driver for channel attached devices π
π¦ SYNOPSIS π¦
struct ccw_driver {
struct ccw_device_id *ids;
int (*probe) (struct ccw_device *);
void (*remove) (struct ccw_device *);
int (*set_online) (struct ccw_device *);
int (*set_offline) (struct ccw_device *);
int (*notify) (struct ccw_device *, int);
void (*path_event) (struct ccw_device *, int *);
void (*shutdown) (struct ccw_device *);
enum uc_todo (*uc_handler) (struct ccw_device *, struct irb *);
struct device_driver driver;
enum interruption_class int_class;
};
like, that's the whole struct, no notes, we love a clean layout π«Ά
π Members π
get comfy, we're doing a lil tour of every single field and honestly? obsessed.
idsβ the ids supported by this driver. it's giving guest list at the club πprobeβ function called on probe. first contact, bestie πremoveβ function called on remove. the goodbye arc, we hate to see it but it's necessary πset_onlineβ called when setting device online. waking that device up β¨set_offlineβ called when setting device offline. nap time fr fr πΈnotifyβ notify driver of device state changes. it's literally the group chat ping π¦path_eventβ notify driver of channel path events. main character energy for the paths πshutdownβ called at device shutdown. sad but iconic πuc_handlerβ callback for unit check handler. the plot twist handler π₯driverβ embedded device driver structure. yes it's nested, no we don't make the rules πint_classβ interruption class to use for accounting interrupts. keeping the books balanced, ngl β
π SEE ALSO π
- Kernel file
./arch/s390/include/asm/ccwdev.hstruct ccw_device(9)β go read the sibling struct too, iykyk π
real talk: every field above is a pointer/hook the kernel will call into, so keep the exact names and signatures β no renaming, no vibes-based edits π«Ά
and that's the page, bestie! brought to you by the <rainbow>./arch/s390/include/asm` manual, October 2026 edition β ty for reading, mwah ππβ¨
π¦ 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