2021-08-16 12:02:01

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 2/6] gpio: mlxbf2: Drop wrong use of ACPI_PTR()

ACPI_PTR() is more harmful than helpful. For example, in this case
if CONFIG_ACPI=n, the ID table left unused which is not what we want.

Instead of adding ifdeffery here and there, drop ACPI_PTR() and
replace acpi.h with mod_devicetable.h.

Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/gpio/gpio-mlxbf2.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpio/gpio-mlxbf2.c b/drivers/gpio/gpio-mlxbf2.c
index 68c471c10fa4..c0aa622fef76 100644
--- a/drivers/gpio/gpio-mlxbf2.c
+++ b/drivers/gpio/gpio-mlxbf2.c
@@ -1,6 +1,5 @@
// SPDX-License-Identifier: GPL-2.0

-#include <linux/acpi.h>
#include <linux/bitfield.h>
#include <linux/bitops.h>
#include <linux/device.h>
@@ -8,6 +7,7 @@
#include <linux/io.h>
#include <linux/ioport.h>
#include <linux/kernel.h>
+#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pm.h>
@@ -307,14 +307,14 @@ static SIMPLE_DEV_PM_OPS(mlxbf2_pm_ops, mlxbf2_gpio_suspend, mlxbf2_gpio_resume)

static const struct acpi_device_id __maybe_unused mlxbf2_gpio_acpi_match[] = {
{ "MLNXBF22", 0 },
- {},
+ {}
};
MODULE_DEVICE_TABLE(acpi, mlxbf2_gpio_acpi_match);

static struct platform_driver mlxbf2_gpio_driver = {
.driver = {
.name = "mlxbf2_gpio",
- .acpi_match_table = ACPI_PTR(mlxbf2_gpio_acpi_match),
+ .acpi_match_table = mlxbf2_gpio_acpi_match,
.pm = &mlxbf2_pm_ops,
},
.probe = mlxbf2_gpio_probe,
--
2.30.2


2021-08-16 13:10:38

by Asmaa Mnebhi

[permalink] [raw]
Subject: RE: [PATCH v1 2/6] gpio: mlxbf2: Drop wrong use of ACPI_PTR()

Acked-by: Asmaa Mnehi <[email protected]>

-----Original Message-----
From: Andy Shevchenko <[email protected]>
Sent: Monday, August 16, 2021 8:00 AM
To: Andy Shevchenko <[email protected]>; David Thompson <[email protected]>; [email protected]; [email protected]; [email protected]; [email protected]
Cc: Linus Walleij <[email protected]>; Bartosz Golaszewski <[email protected]>; David S. Miller <[email protected]>; Jakub Kicinski <[email protected]>; Rafael J. Wysocki <[email protected]>; Asmaa Mnebhi <[email protected]>; Liming Sun <[email protected]>
Subject: [PATCH v1 2/6] gpio: mlxbf2: Drop wrong use of ACPI_PTR()
Importance: High

ACPI_PTR() is more harmful than helpful. For example, in this case if CONFIG_ACPI=n, the ID table left unused which is not what we want.

Instead of adding ifdeffery here and there, drop ACPI_PTR() and replace acpi.h with mod_devicetable.h.

Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/gpio/gpio-mlxbf2.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpio/gpio-mlxbf2.c b/drivers/gpio/gpio-mlxbf2.c index 68c471c10fa4..c0aa622fef76 100644
--- a/drivers/gpio/gpio-mlxbf2.c
+++ b/drivers/gpio/gpio-mlxbf2.c
@@ -1,6 +1,5 @@
// SPDX-License-Identifier: GPL-2.0

-#include <linux/acpi.h>
#include <linux/bitfield.h>
#include <linux/bitops.h>
#include <linux/device.h>
@@ -8,6 +7,7 @@
#include <linux/io.h>
#include <linux/ioport.h>
#include <linux/kernel.h>
+#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pm.h>
@@ -307,14 +307,14 @@ static SIMPLE_DEV_PM_OPS(mlxbf2_pm_ops, mlxbf2_gpio_suspend, mlxbf2_gpio_resume)

static const struct acpi_device_id __maybe_unused mlxbf2_gpio_acpi_match[] = {
{ "MLNXBF22", 0 },
- {},
+ {}
};
MODULE_DEVICE_TABLE(acpi, mlxbf2_gpio_acpi_match);

static struct platform_driver mlxbf2_gpio_driver = {
.driver = {
.name = "mlxbf2_gpio",
- .acpi_match_table = ACPI_PTR(mlxbf2_gpio_acpi_match),
+ .acpi_match_table = mlxbf2_gpio_acpi_match,
.pm = &mlxbf2_pm_ops,
},
.probe = mlxbf2_gpio_probe,
--
2.30.2

2021-08-16 19:23:35

by Bartosz Golaszewski

[permalink] [raw]
Subject: Re: [PATCH v1 2/6] gpio: mlxbf2: Drop wrong use of ACPI_PTR()

On Mon, Aug 16, 2021 at 2:00 PM Andy Shevchenko
<[email protected]> wrote:
>
> ACPI_PTR() is more harmful than helpful. For example, in this case
> if CONFIG_ACPI=n, the ID table left unused which is not what we want.
>
> Instead of adding ifdeffery here and there, drop ACPI_PTR() and
> replace acpi.h with mod_devicetable.h.
>
> Signed-off-by: Andy Shevchenko <[email protected]>
> ---
> drivers/gpio/gpio-mlxbf2.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpio/gpio-mlxbf2.c b/drivers/gpio/gpio-mlxbf2.c
> index 68c471c10fa4..c0aa622fef76 100644
> --- a/drivers/gpio/gpio-mlxbf2.c
> +++ b/drivers/gpio/gpio-mlxbf2.c
> @@ -1,6 +1,5 @@
> // SPDX-License-Identifier: GPL-2.0
>
> -#include <linux/acpi.h>
> #include <linux/bitfield.h>
> #include <linux/bitops.h>
> #include <linux/device.h>
> @@ -8,6 +7,7 @@
> #include <linux/io.h>
> #include <linux/ioport.h>
> #include <linux/kernel.h>
> +#include <linux/mod_devicetable.h>
> #include <linux/module.h>
> #include <linux/platform_device.h>
> #include <linux/pm.h>
> @@ -307,14 +307,14 @@ static SIMPLE_DEV_PM_OPS(mlxbf2_pm_ops, mlxbf2_gpio_suspend, mlxbf2_gpio_resume)
>
> static const struct acpi_device_id __maybe_unused mlxbf2_gpio_acpi_match[] = {
> { "MLNXBF22", 0 },
> - {},
> + {}

Ninja change :) I removed it - send a separate patch for this if you want to.

Bart

> };
> MODULE_DEVICE_TABLE(acpi, mlxbf2_gpio_acpi_match);
>
> static struct platform_driver mlxbf2_gpio_driver = {
> .driver = {
> .name = "mlxbf2_gpio",
> - .acpi_match_table = ACPI_PTR(mlxbf2_gpio_acpi_match),
> + .acpi_match_table = mlxbf2_gpio_acpi_match,
> .pm = &mlxbf2_pm_ops,
> },
> .probe = mlxbf2_gpio_probe,
> --
> 2.30.2
>

2021-08-16 19:35:38

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v1 2/6] gpio: mlxbf2: Drop wrong use of ACPI_PTR()

On Mon, Aug 16, 2021 at 10:21 PM Bartosz Golaszewski
<[email protected]> wrote:
> On Mon, Aug 16, 2021 at 2:00 PM Andy Shevchenko
> <[email protected]> wrote:

...

> > static const struct acpi_device_id __maybe_unused mlxbf2_gpio_acpi_match[] = {
> > { "MLNXBF22", 0 },
> > - {},
> > + {}
>
> Ninja change :) I removed it -

Thanks!

> send a separate patch for this if you want to.

I don't think it's needed per se right now.

--
With Best Regards,
Andy Shevchenko