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

Mark Brown
2023-07-10T17:09:26Z

[-- Attachment #1.1: Type: text/plain, Size: 845 bytes --]

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 #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 161 bytes --]