Re: [RFT PATCH v2] spi: bcm2835: reduce the abuse of the GPIO API

From: Linus Walleij
Date: Sat Sep 02 2023 - 12:57:09 EST


On Fri, Sep 1, 2023 at 2:31 PM Mark Brown <broonie@xxxxxxxxxx> wrote:

> > > + struct gpiod_lookup_table *lookup __free(kfree) = NULL;
>
> > Whoa!
> > This is really neat.
> > As noted, it will confuse static checkers at no end, but they just have
> > to adopt. (CC to Dan C if he now runs into this.)
>
> It also doesn't look amazing for humans, it's very not C like...

<linux/cleanup.h> and the __free() macro was introduced by Peter
Z who also very famously suggested (OTOMH!) that instead of
adopting Rust to the kernel it would be possible to bring the
desired Rust features into C.

Which is what he does, well the feature has been there for a while
but he identified it and made it easily accessible.

Now if this path is desirable ... yeah. Maybe a matter of taste.

Yours,
Linus Walleij