2021-03-22 12:22:20

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH v5 08/24] wfx: add bus_sdio.c

On Mon, 15 Mar 2021 at 14:25, Jerome Pouiller
<[email protected]> wrote:
>
> From: Jérôme Pouiller <[email protected]>
>
> Signed-off-by: Jérôme Pouiller <[email protected]>
> ---
> drivers/net/wireless/silabs/wfx/bus_sdio.c | 259 +++++++++++++++++++++
> 1 file changed, 259 insertions(+)
> create mode 100644 drivers/net/wireless/silabs/wfx/bus_sdio.c

[...]

> +static const struct sdio_device_id wfx_sdio_ids[] = {
> + { SDIO_DEVICE(SDIO_VENDOR_ID_SILABS, SDIO_DEVICE_ID_SILABS_WF200) },
> + { },
> +};
> +MODULE_DEVICE_TABLE(sdio, wfx_sdio_ids);
> +
> +struct sdio_driver wfx_sdio_driver = {
> + .name = "wfx-sdio",
> + .id_table = wfx_sdio_ids,
> + .probe = wfx_sdio_probe,
> + .remove = wfx_sdio_remove,
> + .drv = {
> + .owner = THIS_MODULE,
> + .of_match_table = wfx_sdio_of_match,

It's not mandatory to support power management, like system
suspend/resume. However, as this looks like this is a driver for an
embedded SDIO device, you probably want this.

If that is the case, please assign the dev_pm_ops here and implement
the ->suspend|resume() callbacks.

[...]

Kind regards
Uffe


2021-03-22 17:16:27

by Jérôme Pouiller

[permalink] [raw]
Subject: Re: [PATCH v5 08/24] wfx: add bus_sdio.c

Hello Ulf,

On Monday 22 March 2021 13:20:35 CET Ulf Hansson wrote:
> On Mon, 15 Mar 2021 at 14:25, Jerome Pouiller
> <[email protected]> wrote:
> >
> > From: J?r?me Pouiller <[email protected]>
> >
> > Signed-off-by: J?r?me Pouiller <[email protected]>
> > ---
> > drivers/net/wireless/silabs/wfx/bus_sdio.c | 259 +++++++++++++++++++++
> > 1 file changed, 259 insertions(+)
> > create mode 100644 drivers/net/wireless/silabs/wfx/bus_sdio.c
>
> [...]
>
> > +static const struct sdio_device_id wfx_sdio_ids[] = {
> > + { SDIO_DEVICE(SDIO_VENDOR_ID_SILABS, SDIO_DEVICE_ID_SILABS_WF200) },
> > + { },
> > +};
> > +MODULE_DEVICE_TABLE(sdio, wfx_sdio_ids);
> > +
> > +struct sdio_driver wfx_sdio_driver = {
> > + .name = "wfx-sdio",
> > + .id_table = wfx_sdio_ids,
> > + .probe = wfx_sdio_probe,
> > + .remove = wfx_sdio_remove,
> > + .drv = {
> > + .owner = THIS_MODULE,
> > + .of_match_table = wfx_sdio_of_match,
>
> It's not mandatory to support power management, like system
> suspend/resume. However, as this looks like this is a driver for an
> embedded SDIO device, you probably want this.
>
> If that is the case, please assign the dev_pm_ops here and implement
> the ->suspend|resume() callbacks.

I have no platform to test suspend/resume, so I have only a
theoretical understanding of this subject.

I understanding is that with the current implementation, the
device will be powered off on suspend and then totally reset
(including reloading of the firmware) on resume. I am wrong?

This behavior sounds correct to me. You would expect something
more?


--
J?r?me Pouiller