Re: [PATCH v2 char-misc-next] misc: microchip: pci1xxxx: use DEFINE_SIMPLE_DEV_PM_OPS() in place of the SIMPLE_DEV_PM_OPS() in pci1xxxx's gpio driver

From: Zeng Heng
Date: Wed Sep 21 2022 - 23:22:46 EST


在 2022/9/22 0:48, Conor Dooley 写道:
On Thu, Sep 15, 2022 at 03:17:29PM +0530, Kumaravel Thiagarajan wrote:
misc: microchip: pci1xxxx: use DEFINE_SIMPLE_DEV_PM_OPS() in place of the SIMPLE_DEV_PM_OPS() in pci1xxxx's gpio driver
^^
FYI, double space in the subject here, rather a mouthful though and
surely everything after SIMPLE_DEV_PM_OPS() is redundant?

build errors listed below and reported by Sudip Mukherjee
<sudipm.mukherjee@xxxxxxxxx> for the builds of
riscv, s390, csky, alpha and loongarch allmodconfig are fixed in
this patch.
allmodconfig has been broken for a while now, and this patch appears
to have been sitting for a week & a second fix has shown up at:
https://lore.kernel.org/all/20220919094250.858716-1-zengheng4@xxxxxxxxxx/

I do note that Zeng Hang's patch does slightly more than this one does,
but idk about about the PM APIs /shrug.

Using 'pm_sleep_ptr' here just for telling compiler to optimize the struct pci1xxxx_gpio_pm_ops,

which is located in ro_data section.

~~~

0000000000000770 t pci1xxxx_gpio_irq_set_mask
00000000000008b2 t pci1xxxx_gpio_irq_unmask
0000000000000080 r pci1xxxx_gpio_pm_ops        <--
0000000000000000 t pci1xxxx_gpio_probe
0000000000000636 t pci1xxxx_gpio_set

~~~

Has this just slipped under the radar since so many of us were
attending conferences etc the last while or are you looking for
Kumaravel to do something more here?

Just my fault about double check similar patch emails in the concerned area,

or maybe I would pass the warning and not send the patch.

Thanks all.


Best regards,

Zeng Heng


Thanks,
Conor.

drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gpio.c:311:12: error: 'pci1xxxx_gpio_resume' defined but not used [-Werror=unused-function]
311 | static int pci1xxxx_gpio_resume(struct device *dev)
| ^~~~~~~~~~~~~~~~~~~~
drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gpio.c:295:12: error: 'pci1xxxx_gpio_suspend' defined but not used [-Werror=unused-function]
295 | static int pci1xxxx_gpio_suspend(struct device *dev)
| ^~~~~~~~~~~~~~~~~~~~~

Fixes: 4ec7ac90ff39 ("misc: microchip: pci1xxxx: Add power management functions - suspend & resume handlers.")
Reported-by: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Signed-off-by: Kumaravel Thiagarajan <kumaravel.thiagarajan@xxxxxxxxxxxxx>
---
Changes in v2:
- Mention as Sudip had reported in the commit description
as suggested by Bagas Sanjaya <bagasdotme@xxxxxxxxx>
---
drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gpio.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gpio.c b/drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gpio.c
index 9cc771c604ed..4cd541166b0c 100644
--- a/drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gpio.c
+++ b/drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gpio.c
@@ -405,7 +405,7 @@ static int pci1xxxx_gpio_probe(struct auxiliary_device *aux_dev,
return devm_gpiochip_add_data(&aux_dev->dev, &priv->gpio, priv);
}
-static SIMPLE_DEV_PM_OPS(pci1xxxx_gpio_pm_ops, pci1xxxx_gpio_suspend, pci1xxxx_gpio_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(pci1xxxx_gpio_pm_ops, pci1xxxx_gpio_suspend, pci1xxxx_gpio_resume);
static const struct auxiliary_device_id pci1xxxx_gpio_auxiliary_id_table[] = {
{.name = "mchp_pci1xxxx_gp.gp_gpio"},
--
2.25.1