On Mon, Jul 10, 2023 at 06:09:00PM +0100, Mark Brown wrote:
On Mon, Jul 10, 2023 at 06:49:19PM +0300, Andy Shevchenko wrote:
Refactor spi_register_controller() to drop duplicate IDR allocation. Instead of if-else-if branching use two sequential if:s, which allows to re-use the logic of IDR allocation in all cases.
For legibility this should have been split into a separate factoring out of the shared code and rewriting of the logic, that'd make it trivial to review.
Should I do that for v3?
mutex_lock(&board_lock);
id = idr_alloc(&spi_master_idr, ctlr, first_dynamic,
0, GFP_KERNEL);
mutex_unlock(&board_lock);
if (WARN(id < 0, "couldn't get idr"))
return id;
ctlr->bus_num = id;
status = spi_controller_id_alloc(ctlr, first_dynamic, 0);
if (status)
return status;
The original does not do the remapping of return codes that the previous two copies do...
Yes, I had to mention this in the commit message that in my opinion this makes no difference. With the dynamically allocated aliases the absence of the slot has the same effect as in the other cases.