On Wed, Jul 30, 2025 at 02:52:48PM +0100, Jonathan Cameron wrote: > > +static int init_dev_communication_buffers(struct cca_host_comm_data *comm_data) > > +{ > > + int ret = -ENOMEM; > > + > > + comm_data->io_params = (struct rmi_dev_comm_data *)get_zeroed_page(GFP_KERNEL); > > Hmm. There isn't a DEFINE_FREE() yet for free_page(). Maybe time to add one. > If we did then we'd use local variables until all allocations succeed then > assign with no_free_ptr() Maybe think carefully if you really need a "page". What would prevent just using kzalloc(PAGE_SIZE)? Under the covers it is almost the same thing. Jason