On Tuesday 30 January 2018 20:14:26 Andy Shevchenko wrote: > >> -static void dell_set_arguments(u32 arg0, u32 arg1, u32 arg2, u32 arg3) > >> +static void dell_set_arguments(struct calling_interface_buffer *buffer, > >> + u32 arg0, u32 arg1, u32 arg2, u32 arg3) > > > > Hm... this function has too many parameters :-( > > > > What about following API? > > > > static struct calling_interface_buffer dell_set_arguments(u32 arg0, u32 arg1, u32 arg2, u32 arg3); > > > > It would return filled structure (not a pointer !) > > I do not think it's a good idea. Either we allocate request on a heap > and return a pointer, or we fill the struct with some data on spot. > > To naming: > > for allocation: ..._alloc_request() > for filling: _fill_request() / _prepare_request() > > or alike. > > _set_arguments() not good enough to me. Ok. Then we need to stick with 5 arguments... What about name dell_fill_request()? E.g. struct calling_interface_buffer buffer; dell_fill_request(&buffer, 0x2, 0, 0, 0); ret = dell_send_request(&buffer, CLASS_INFO, SELECT_RFKILL); -- Pali Rohár pali.rohar@xxxxxxxxx