Re: [PATCH v2 02/15] spi: Drop duplicate IDR allocation code in spi_register_controller()

From: Mark Brown
Date: Mon Jul 10 2023 - 13:09:24 EST


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.

> - 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...

Attachment: signature.asc
Description: PGP signature