Re: [PATCH] media: rc: Drop obsolete dependencies on COMPILE_TEST

From: Andy Shevchenko
Date: Mon Dec 12 2022 - 04:24:37 EST


On Mon, Dec 12, 2022 at 08:59:07AM +0100, Uwe Kleine-König wrote:
> On Sun, Dec 11, 2022 at 11:14:35PM +0100, Jean Delvare wrote:
> > On Sun, 11 Dec 2022 21:56:48 +0100, Uwe Kleine-König wrote:
> > > On Mon, Nov 21, 2022 at 05:09:11PM +0100, Jean Delvare wrote:

...

> > > > - .of_match_table = of_match_ptr(pwm_ir_of_match),
> > > > + .of_match_table = pwm_ir_of_match,

> > > That hunk makes sense even without the Kconfig change. ACPI makes use of
> > > .of_match_table, so
> > >
> > > .of_match_table = of_match_ptr(pwm_ir_of_match),
> > >
> > > is (almost?) always wrong.
> >
> > Should we just get rid of this macro altogether then?
> >
> > (Somehow I have a strange feeling that we already had this
> > discussion...)
>
> Might be. But for me this is only second hand knowledge, too. Maybe
> someone of the new recipents in this thread feels competent to comment
> here?!

Pros of of_match_ptr() / ACPI_PTR():
- saves a few dozens of bytes in the module ID tables
- doesn't show ACPI ID for non-ACPI platform or OF ID on non-OF platforms

Cons:
- prevents from using OF IDs on ACPI platforms
- doesn't show ACPI ID for non-ACPI platform or OF ID on non-OF platforms
- makes error prone for the compiler to have the variable unused
- makes code uglier

(I left the second in the both because I find useful to have all supported IDs
to be listed even if the system is compiled with OF/ACPI opted-out.)

Personally I remove the of_match_ptr()/ACPI_PTR() from drivers that can be used
on OF or ACPI platforms, which leaves us only with the drivers we are 100% sure
that they won't ever be used on non-OF platforms. BUT, I do not see any sense
to have of_match_ptr() that either in use, because the driver in question is
100% for OF platform, or not when it's compile tested, which means it reduces
test coverage anyway. All the same for ACPI_PTR().

TL;DR: I don't see any [big] usefulness of keeping those macros.

--
With Best Regards,
Andy Shevchenko