On 03/07/2025 00:14, Haren Myneni wrote: > +static struct miscdevice papr_hvpipe_dev = { > + .minor = MISC_DYNAMIC_MINOR, > + .name = "papr-hvpipe", > + .fops = &papr_hvpipe_ops, > +}; > + > +static int __init papr_hvpipe_init(void) > +{ > + int ret; > + > + if (!of_find_property(rtas.dev, "ibm,hypervisor-pipe-capable",
Where did you document the ABI? Anyway, so you just run it on x86 and every other arch? Why you cannot use proper devices and device driver matching/binding? > + NULL)) > + return -ENODEV; Totally odd wrapping. > + > + if (!rtas_function_implemented(RTAS_FN_IBM_SEND_HVPIPE_MSG) || > + !rtas_function_implemented(RTAS_FN_IBM_RECEIVE_HVPIPE_MSG)) Odd alignment. > + return -ENODEV; > + > + ret = misc_register(&papr_hvpipe_dev); > + if (ret) { > + pr_err("misc-dev registration failed %d\n", ret); > + return ret; > + } > + > + return 0; > +} Best regards, Krzysztof