2023-02-01 14:36:43

by Dawei Li

[permalink] [raw]
Subject: [PATCH v3] powerpc: macio: Make remove callback of macio driver void returned

Commit fc7a6209d571 ("bus: Make remove callback return void") forces
bus_type::remove be void-returned, it doesn't make much sense for any
bus based driver implementing remove callbalk to return non-void to
its caller.

This change is for macio bus based drivers.

Signed-off-by: Dawei Li <[email protected]>
---
v2 -> v3
- Rebased on latest powerpc/next.
- cc' to relevant subsysem lists.

v1 -> v2
- Revert unneeded changes.
- Rebased on latest powerpc/next.

v1
- https://lore.kernel.org/all/TYCP286MB2323FCDC7ECD87F8D97CB74BCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM/
---
arch/powerpc/include/asm/macio.h | 2 +-
drivers/ata/pata_macio.c | 4 +---
drivers/macintosh/rack-meter.c | 4 +---
drivers/net/ethernet/apple/bmac.c | 4 +---
drivers/net/ethernet/apple/mace.c | 4 +---
drivers/net/wireless/intersil/orinoco/airport.c | 4 +---
drivers/scsi/mac53c94.c | 5 +----
drivers/scsi/mesh.c | 5 +----
drivers/tty/serial/pmac_zilog.c | 7 ++-----
sound/aoa/soundbus/i2sbus/core.c | 4 +---
10 files changed, 11 insertions(+), 32 deletions(-)

diff --git a/arch/powerpc/include/asm/macio.h b/arch/powerpc/include/asm/macio.h
index ff5fd82d9ff0..cb9c386dacf8 100644
--- a/arch/powerpc/include/asm/macio.h
+++ b/arch/powerpc/include/asm/macio.h
@@ -125,7 +125,7 @@ static inline struct pci_dev *macio_get_pci_dev(struct macio_dev *mdev)
struct macio_driver
{
int (*probe)(struct macio_dev* dev, const struct of_device_id *match);
- int (*remove)(struct macio_dev* dev);
+ void (*remove)(struct macio_dev *dev);

int (*suspend)(struct macio_dev* dev, pm_message_t state);
int (*resume)(struct macio_dev* dev);
diff --git a/drivers/ata/pata_macio.c b/drivers/ata/pata_macio.c
index 9ccaac9e2bc3..653106716a4b 100644
--- a/drivers/ata/pata_macio.c
+++ b/drivers/ata/pata_macio.c
@@ -1187,7 +1187,7 @@ static int pata_macio_attach(struct macio_dev *mdev,
return rc;
}

-static int pata_macio_detach(struct macio_dev *mdev)
+static void pata_macio_detach(struct macio_dev *mdev)
{
struct ata_host *host = macio_get_drvdata(mdev);
struct pata_macio_priv *priv = host->private_data;
@@ -1202,8 +1202,6 @@ static int pata_macio_detach(struct macio_dev *mdev)
ata_host_detach(host);

unlock_media_bay(priv->mdev->media_bay);
-
- return 0;
}

#ifdef CONFIG_PM_SLEEP
diff --git a/drivers/macintosh/rack-meter.c b/drivers/macintosh/rack-meter.c
index c28893e41a8b..f2f83c4f3af5 100644
--- a/drivers/macintosh/rack-meter.c
+++ b/drivers/macintosh/rack-meter.c
@@ -523,7 +523,7 @@ static int rackmeter_probe(struct macio_dev* mdev,
return rc;
}

-static int rackmeter_remove(struct macio_dev* mdev)
+static void rackmeter_remove(struct macio_dev *mdev)
{
struct rackmeter *rm = dev_get_drvdata(&mdev->ofdev.dev);

@@ -558,8 +558,6 @@ static int rackmeter_remove(struct macio_dev* mdev)

/* Get rid of me */
kfree(rm);
-
- return 0;
}

static int rackmeter_shutdown(struct macio_dev* mdev)
diff --git a/drivers/net/ethernet/apple/bmac.c b/drivers/net/ethernet/apple/bmac.c
index 9e653e2925f7..292b1f9cd9e7 100644
--- a/drivers/net/ethernet/apple/bmac.c
+++ b/drivers/net/ethernet/apple/bmac.c
@@ -1591,7 +1591,7 @@ bmac_proc_info(char *buffer, char **start, off_t offset, int length)
}
#endif

-static int bmac_remove(struct macio_dev *mdev)
+static void bmac_remove(struct macio_dev *mdev)
{
struct net_device *dev = macio_get_drvdata(mdev);
struct bmac_data *bp = netdev_priv(dev);
@@ -1609,8 +1609,6 @@ static int bmac_remove(struct macio_dev *mdev)
macio_release_resources(mdev);

free_netdev(dev);
-
- return 0;
}

static const struct of_device_id bmac_match[] =
diff --git a/drivers/net/ethernet/apple/mace.c b/drivers/net/ethernet/apple/mace.c
index fd1b008b7208..e6350971c707 100644
--- a/drivers/net/ethernet/apple/mace.c
+++ b/drivers/net/ethernet/apple/mace.c
@@ -272,7 +272,7 @@ static int mace_probe(struct macio_dev *mdev, const struct of_device_id *match)
return rc;
}

-static int mace_remove(struct macio_dev *mdev)
+static void mace_remove(struct macio_dev *mdev)
{
struct net_device *dev = macio_get_drvdata(mdev);
struct mace_data *mp;
@@ -296,8 +296,6 @@ static int mace_remove(struct macio_dev *mdev)
free_netdev(dev);

macio_release_resources(mdev);
-
- return 0;
}

static void dbdma_reset(volatile struct dbdma_regs __iomem *dma)
diff --git a/drivers/net/wireless/intersil/orinoco/airport.c b/drivers/net/wireless/intersil/orinoco/airport.c
index a890bfa0d5cc..276a06cdd1f5 100644
--- a/drivers/net/wireless/intersil/orinoco/airport.c
+++ b/drivers/net/wireless/intersil/orinoco/airport.c
@@ -85,7 +85,7 @@ airport_resume(struct macio_dev *mdev)
return err;
}

-static int
+static void
airport_detach(struct macio_dev *mdev)
{
struct orinoco_private *priv = dev_get_drvdata(&mdev->ofdev.dev);
@@ -111,8 +111,6 @@ airport_detach(struct macio_dev *mdev)

macio_set_drvdata(mdev, NULL);
free_orinocodev(priv);
-
- return 0;
}

static int airport_hard_reset(struct orinoco_private *priv)
diff --git a/drivers/scsi/mac53c94.c b/drivers/scsi/mac53c94.c
index f75928f7773e..42648ca9b8ed 100644
--- a/drivers/scsi/mac53c94.c
+++ b/drivers/scsi/mac53c94.c
@@ -508,7 +508,7 @@ static int mac53c94_probe(struct macio_dev *mdev, const struct of_device_id *mat
return rc;
}

-static int mac53c94_remove(struct macio_dev *mdev)
+static void mac53c94_remove(struct macio_dev *mdev)
{
struct fsc_state *fp = (struct fsc_state *)macio_get_drvdata(mdev);
struct Scsi_Host *host = fp->host;
@@ -526,11 +526,8 @@ static int mac53c94_remove(struct macio_dev *mdev)
scsi_host_put(host);

macio_release_resources(mdev);
-
- return 0;
}

-
static struct of_device_id mac53c94_match[] =
{
{
diff --git a/drivers/scsi/mesh.c b/drivers/scsi/mesh.c
index 84b541a57b7b..cd2575b88c85 100644
--- a/drivers/scsi/mesh.c
+++ b/drivers/scsi/mesh.c
@@ -1986,7 +1986,7 @@ static int mesh_probe(struct macio_dev *mdev, const struct of_device_id *match)
return -ENODEV;
}

-static int mesh_remove(struct macio_dev *mdev)
+static void mesh_remove(struct macio_dev *mdev)
{
struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev);
struct Scsi_Host *mesh_host = ms->host;
@@ -2013,11 +2013,8 @@ static int mesh_remove(struct macio_dev *mdev)
macio_release_resources(mdev);

scsi_host_put(mesh_host);
-
- return 0;
}

-
static struct of_device_id mesh_match[] =
{
{
diff --git a/drivers/tty/serial/pmac_zilog.c b/drivers/tty/serial/pmac_zilog.c
index 13668ffdb1e7..d4640479c338 100644
--- a/drivers/tty/serial/pmac_zilog.c
+++ b/drivers/tty/serial/pmac_zilog.c
@@ -1507,12 +1507,12 @@ static int pmz_attach(struct macio_dev *mdev, const struct of_device_id *match)
* That one should not be called, macio isn't really a hotswap device,
* we don't expect one of those serial ports to go away...
*/
-static int pmz_detach(struct macio_dev *mdev)
+static void pmz_detach(struct macio_dev *mdev)
{
struct uart_pmac_port *uap = dev_get_drvdata(&mdev->ofdev.dev);

if (!uap)
- return -ENODEV;
+ return;

uart_remove_one_port(&pmz_uart_reg, &uap->port);

@@ -1523,11 +1523,8 @@ static int pmz_detach(struct macio_dev *mdev)
dev_set_drvdata(&mdev->ofdev.dev, NULL);
uap->dev = NULL;
uap->port.dev = NULL;
-
- return 0;
}

-
static int pmz_suspend(struct macio_dev *mdev, pm_message_t pm_state)
{
struct uart_pmac_port *uap = dev_get_drvdata(&mdev->ofdev.dev);
diff --git a/sound/aoa/soundbus/i2sbus/core.c b/sound/aoa/soundbus/i2sbus/core.c
index 51ed2f34b276..35f39727994d 100644
--- a/sound/aoa/soundbus/i2sbus/core.c
+++ b/sound/aoa/soundbus/i2sbus/core.c
@@ -364,15 +364,13 @@ static int i2sbus_probe(struct macio_dev* dev, const struct of_device_id *match)
return 0;
}

-static int i2sbus_remove(struct macio_dev* dev)
+static void i2sbus_remove(struct macio_dev *dev)
{
struct i2sbus_control *control = dev_get_drvdata(&dev->ofdev.dev);
struct i2sbus_dev *i2sdev, *tmp;

list_for_each_entry_safe(i2sdev, tmp, &control->list, item)
soundbus_remove_one(&i2sdev->sound);
-
- return 0;
}

#ifdef CONFIG_PM
--
2.25.1



2023-02-01 21:06:40

by Damien Le Moal

[permalink] [raw]
Subject: Re: [PATCH v3] powerpc: macio: Make remove callback of macio driver void returned

On 2/1/23 23:36, Dawei Li wrote:
> Commit fc7a6209d571 ("bus: Make remove callback return void") forces
> bus_type::remove be void-returned, it doesn't make much sense for any
> bus based driver implementing remove callbalk to return non-void to
> its caller.
>
> This change is for macio bus based drivers.
>
> Signed-off-by: Dawei Li <[email protected]>
> ---
> v2 -> v3
> - Rebased on latest powerpc/next.
> - cc' to relevant subsysem lists.
>
> v1 -> v2
> - Revert unneeded changes.
> - Rebased on latest powerpc/next.
>
> v1
> - https://lore.kernel.org/all/TYCP286MB2323FCDC7ECD87F8D97CB74BCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM/
> ---
> arch/powerpc/include/asm/macio.h | 2 +-
> drivers/ata/pata_macio.c | 4 +---
> drivers/macintosh/rack-meter.c | 4 +---
> drivers/net/ethernet/apple/bmac.c | 4 +---
> drivers/net/ethernet/apple/mace.c | 4 +---
> drivers/net/wireless/intersil/orinoco/airport.c | 4 +---
> drivers/scsi/mac53c94.c | 5 +----
> drivers/scsi/mesh.c | 5 +----
> drivers/tty/serial/pmac_zilog.c | 7 ++-----
> sound/aoa/soundbus/i2sbus/core.c | 4 +---
> 10 files changed, 11 insertions(+), 32 deletions(-)

For the ata bits:

Acked-by: Damien Le Moal <[email protected]>

--
Damien Le Moal
Western Digital Research


2023-02-03 18:27:10

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH v3] powerpc: macio: Make remove callback of macio driver void returned

On Wed, 1 Feb 2023 22:36:19 +0800 Dawei Li wrote:
> Commit fc7a6209d571 ("bus: Make remove callback return void") forces
> bus_type::remove be void-returned, it doesn't make much sense for any
> bus based driver implementing remove callbalk to return non-void to
> its caller.
>
> This change is for macio bus based drivers.
>
> Signed-off-by: Dawei Li <[email protected]>

Acked-by: Jakub Kicinski <[email protected]>

2024-02-20 16:12:32

by Christophe Leroy

[permalink] [raw]
Subject: Re: [PATCH v3] powerpc: macio: Make remove callback of macio driver void returned

Hi Michael,

ping ?

Le 01/02/2023 à 15:36, Dawei Li a écrit :
> Commit fc7a6209d571 ("bus: Make remove callback return void") forces
> bus_type::remove be void-returned, it doesn't make much sense for any
> bus based driver implementing remove callbalk to return non-void to
> its caller.
>
> This change is for macio bus based drivers.
>
> Signed-off-by: Dawei Li <[email protected]>

This patch is Acked , any special reason for not applying it ?

Note that it now conflicts with commit 1535d5962d79 ("wifi: remove
orphaned orinoco driver") but resolution is trivial, just drop the
changes to that file.

Christophe

> ---
> v2 -> v3
> - Rebased on latest powerpc/next.
> - cc' to relevant subsysem lists.
>
> v1 -> v2
> - Revert unneeded changes.
> - Rebased on latest powerpc/next.
>
> v1
> - https://lore.kernel.org/all/TYCP286MB2323FCDC7ECD87F8D97CB74BCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM/
> ---
> arch/powerpc/include/asm/macio.h | 2 +-
> drivers/ata/pata_macio.c | 4 +---
> drivers/macintosh/rack-meter.c | 4 +---
> drivers/net/ethernet/apple/bmac.c | 4 +---
> drivers/net/ethernet/apple/mace.c | 4 +---
> drivers/net/wireless/intersil/orinoco/airport.c | 4 +---
> drivers/scsi/mac53c94.c | 5 +----
> drivers/scsi/mesh.c | 5 +----
> drivers/tty/serial/pmac_zilog.c | 7 ++-----
> sound/aoa/soundbus/i2sbus/core.c | 4 +---
> 10 files changed, 11 insertions(+), 32 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/macio.h b/arch/powerpc/include/asm/macio.h
> index ff5fd82d9ff0..cb9c386dacf8 100644
> --- a/arch/powerpc/include/asm/macio.h
> +++ b/arch/powerpc/include/asm/macio.h
> @@ -125,7 +125,7 @@ static inline struct pci_dev *macio_get_pci_dev(struct macio_dev *mdev)
> struct macio_driver
> {
> int (*probe)(struct macio_dev* dev, const struct of_device_id *match);
> - int (*remove)(struct macio_dev* dev);
> + void (*remove)(struct macio_dev *dev);
>
> int (*suspend)(struct macio_dev* dev, pm_message_t state);
> int (*resume)(struct macio_dev* dev);
> diff --git a/drivers/ata/pata_macio.c b/drivers/ata/pata_macio.c
> index 9ccaac9e2bc3..653106716a4b 100644
> --- a/drivers/ata/pata_macio.c
> +++ b/drivers/ata/pata_macio.c
> @@ -1187,7 +1187,7 @@ static int pata_macio_attach(struct macio_dev *mdev,
> return rc;
> }
>
> -static int pata_macio_detach(struct macio_dev *mdev)
> +static void pata_macio_detach(struct macio_dev *mdev)
> {
> struct ata_host *host = macio_get_drvdata(mdev);
> struct pata_macio_priv *priv = host->private_data;
> @@ -1202,8 +1202,6 @@ static int pata_macio_detach(struct macio_dev *mdev)
> ata_host_detach(host);
>
> unlock_media_bay(priv->mdev->media_bay);
> -
> - return 0;
> }
>
> #ifdef CONFIG_PM_SLEEP
> diff --git a/drivers/macintosh/rack-meter.c b/drivers/macintosh/rack-meter.c
> index c28893e41a8b..f2f83c4f3af5 100644
> --- a/drivers/macintosh/rack-meter.c
> +++ b/drivers/macintosh/rack-meter.c
> @@ -523,7 +523,7 @@ static int rackmeter_probe(struct macio_dev* mdev,
> return rc;
> }
>
> -static int rackmeter_remove(struct macio_dev* mdev)
> +static void rackmeter_remove(struct macio_dev *mdev)
> {
> struct rackmeter *rm = dev_get_drvdata(&mdev->ofdev.dev);
>
> @@ -558,8 +558,6 @@ static int rackmeter_remove(struct macio_dev* mdev)
>
> /* Get rid of me */
> kfree(rm);
> -
> - return 0;
> }
>
> static int rackmeter_shutdown(struct macio_dev* mdev)
> diff --git a/drivers/net/ethernet/apple/bmac.c b/drivers/net/ethernet/apple/bmac.c
> index 9e653e2925f7..292b1f9cd9e7 100644
> --- a/drivers/net/ethernet/apple/bmac.c
> +++ b/drivers/net/ethernet/apple/bmac.c
> @@ -1591,7 +1591,7 @@ bmac_proc_info(char *buffer, char **start, off_t offset, int length)
> }
> #endif
>
> -static int bmac_remove(struct macio_dev *mdev)
> +static void bmac_remove(struct macio_dev *mdev)
> {
> struct net_device *dev = macio_get_drvdata(mdev);
> struct bmac_data *bp = netdev_priv(dev);
> @@ -1609,8 +1609,6 @@ static int bmac_remove(struct macio_dev *mdev)
> macio_release_resources(mdev);
>
> free_netdev(dev);
> -
> - return 0;
> }
>
> static const struct of_device_id bmac_match[] =
> diff --git a/drivers/net/ethernet/apple/mace.c b/drivers/net/ethernet/apple/mace.c
> index fd1b008b7208..e6350971c707 100644
> --- a/drivers/net/ethernet/apple/mace.c
> +++ b/drivers/net/ethernet/apple/mace.c
> @@ -272,7 +272,7 @@ static int mace_probe(struct macio_dev *mdev, const struct of_device_id *match)
> return rc;
> }
>
> -static int mace_remove(struct macio_dev *mdev)
> +static void mace_remove(struct macio_dev *mdev)
> {
> struct net_device *dev = macio_get_drvdata(mdev);
> struct mace_data *mp;
> @@ -296,8 +296,6 @@ static int mace_remove(struct macio_dev *mdev)
> free_netdev(dev);
>
> macio_release_resources(mdev);
> -
> - return 0;
> }
>
> static void dbdma_reset(volatile struct dbdma_regs __iomem *dma)
> diff --git a/drivers/net/wireless/intersil/orinoco/airport.c b/drivers/net/wireless/intersil/orinoco/airport.c
> index a890bfa0d5cc..276a06cdd1f5 100644
> --- a/drivers/net/wireless/intersil/orinoco/airport.c
> +++ b/drivers/net/wireless/intersil/orinoco/airport.c
> @@ -85,7 +85,7 @@ airport_resume(struct macio_dev *mdev)
> return err;
> }
>
> -static int
> +static void
> airport_detach(struct macio_dev *mdev)
> {
> struct orinoco_private *priv = dev_get_drvdata(&mdev->ofdev.dev);
> @@ -111,8 +111,6 @@ airport_detach(struct macio_dev *mdev)
>
> macio_set_drvdata(mdev, NULL);
> free_orinocodev(priv);
> -
> - return 0;
> }
>
> static int airport_hard_reset(struct orinoco_private *priv)
> diff --git a/drivers/scsi/mac53c94.c b/drivers/scsi/mac53c94.c
> index f75928f7773e..42648ca9b8ed 100644
> --- a/drivers/scsi/mac53c94.c
> +++ b/drivers/scsi/mac53c94.c
> @@ -508,7 +508,7 @@ static int mac53c94_probe(struct macio_dev *mdev, const struct of_device_id *mat
> return rc;
> }
>
> -static int mac53c94_remove(struct macio_dev *mdev)
> +static void mac53c94_remove(struct macio_dev *mdev)
> {
> struct fsc_state *fp = (struct fsc_state *)macio_get_drvdata(mdev);
> struct Scsi_Host *host = fp->host;
> @@ -526,11 +526,8 @@ static int mac53c94_remove(struct macio_dev *mdev)
> scsi_host_put(host);
>
> macio_release_resources(mdev);
> -
> - return 0;
> }
>
> -
> static struct of_device_id mac53c94_match[] =
> {
> {
> diff --git a/drivers/scsi/mesh.c b/drivers/scsi/mesh.c
> index 84b541a57b7b..cd2575b88c85 100644
> --- a/drivers/scsi/mesh.c
> +++ b/drivers/scsi/mesh.c
> @@ -1986,7 +1986,7 @@ static int mesh_probe(struct macio_dev *mdev, const struct of_device_id *match)
> return -ENODEV;
> }
>
> -static int mesh_remove(struct macio_dev *mdev)
> +static void mesh_remove(struct macio_dev *mdev)
> {
> struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev);
> struct Scsi_Host *mesh_host = ms->host;
> @@ -2013,11 +2013,8 @@ static int mesh_remove(struct macio_dev *mdev)
> macio_release_resources(mdev);
>
> scsi_host_put(mesh_host);
> -
> - return 0;
> }
>
> -
> static struct of_device_id mesh_match[] =
> {
> {
> diff --git a/drivers/tty/serial/pmac_zilog.c b/drivers/tty/serial/pmac_zilog.c
> index 13668ffdb1e7..d4640479c338 100644
> --- a/drivers/tty/serial/pmac_zilog.c
> +++ b/drivers/tty/serial/pmac_zilog.c
> @@ -1507,12 +1507,12 @@ static int pmz_attach(struct macio_dev *mdev, const struct of_device_id *match)
> * That one should not be called, macio isn't really a hotswap device,
> * we don't expect one of those serial ports to go away...
> */
> -static int pmz_detach(struct macio_dev *mdev)
> +static void pmz_detach(struct macio_dev *mdev)
> {
> struct uart_pmac_port *uap = dev_get_drvdata(&mdev->ofdev.dev);
>
> if (!uap)
> - return -ENODEV;
> + return;
>
> uart_remove_one_port(&pmz_uart_reg, &uap->port);
>
> @@ -1523,11 +1523,8 @@ static int pmz_detach(struct macio_dev *mdev)
> dev_set_drvdata(&mdev->ofdev.dev, NULL);
> uap->dev = NULL;
> uap->port.dev = NULL;
> -
> - return 0;
> }
>
> -
> static int pmz_suspend(struct macio_dev *mdev, pm_message_t pm_state)
> {
> struct uart_pmac_port *uap = dev_get_drvdata(&mdev->ofdev.dev);
> diff --git a/sound/aoa/soundbus/i2sbus/core.c b/sound/aoa/soundbus/i2sbus/core.c
> index 51ed2f34b276..35f39727994d 100644
> --- a/sound/aoa/soundbus/i2sbus/core.c
> +++ b/sound/aoa/soundbus/i2sbus/core.c
> @@ -364,15 +364,13 @@ static int i2sbus_probe(struct macio_dev* dev, const struct of_device_id *match)
> return 0;
> }
>
> -static int i2sbus_remove(struct macio_dev* dev)
> +static void i2sbus_remove(struct macio_dev *dev)
> {
> struct i2sbus_control *control = dev_get_drvdata(&dev->ofdev.dev);
> struct i2sbus_dev *i2sdev, *tmp;
>
> list_for_each_entry_safe(i2sdev, tmp, &control->list, item)
> soundbus_remove_one(&i2sdev->sound);
> -
> - return 0;
> }
>
> #ifdef CONFIG_PM

2024-03-06 12:40:51

by Dawei Li

[permalink] [raw]
Subject: Re: [PATCH v3] powerpc: macio: Make remove callback of macio driver void returned

Hi Christophe,

On Tue, Feb 20, 2024 at 04:12:17PM +0000, Christophe Leroy wrote:
> Hi Michael,
>
> ping ?
>
> Le 01/02/2023 ? 15:36, Dawei Li a ?crit?:
> > Commit fc7a6209d571 ("bus: Make remove callback return void") forces
> > bus_type::remove be void-returned, it doesn't make much sense for any
> > bus based driver implementing remove callbalk to return non-void to
> > its caller.
> >
> > This change is for macio bus based drivers.
> >
> > Signed-off-by: Dawei Li <[email protected]>
>
> This patch is Acked , any special reason for not applying it ?
>
> Note that it now conflicts with commit 1535d5962d79 ("wifi: remove
> orphaned orinoco driver") but resolution is trivial, just drop the
> changes to that file.

Thanks for picking it up, hardly believe that it's been one year.

Michael,

I will respin V4 if it's needed.

Thanks,

Dawei

>
> Christophe
>
> > ---
> > v2 -> v3
> > - Rebased on latest powerpc/next.
> > - cc' to relevant subsysem lists.
> >
> > v1 -> v2
> > - Revert unneeded changes.
> > - Rebased on latest powerpc/next.
> >
> > v1
> > - https://lore.kernel.org/all/TYCP286MB2323FCDC7ECD87F8D97CB74BCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM/
> > ---
> > arch/powerpc/include/asm/macio.h | 2 +-
> > drivers/ata/pata_macio.c | 4 +---
> > drivers/macintosh/rack-meter.c | 4 +---
> > drivers/net/ethernet/apple/bmac.c | 4 +---
> > drivers/net/ethernet/apple/mace.c | 4 +---
> > drivers/net/wireless/intersil/orinoco/airport.c | 4 +---
> > drivers/scsi/mac53c94.c | 5 +----
> > drivers/scsi/mesh.c | 5 +----
> > drivers/tty/serial/pmac_zilog.c | 7 ++-----
> > sound/aoa/soundbus/i2sbus/core.c | 4 +---
> > 10 files changed, 11 insertions(+), 32 deletions(-)
> >
> > diff --git a/arch/powerpc/include/asm/macio.h b/arch/powerpc/include/asm/macio.h
> > index ff5fd82d9ff0..cb9c386dacf8 100644
> > --- a/arch/powerpc/include/asm/macio.h
> > +++ b/arch/powerpc/include/asm/macio.h
> > @@ -125,7 +125,7 @@ static inline struct pci_dev *macio_get_pci_dev(struct macio_dev *mdev)
> > struct macio_driver
> > {
> > int (*probe)(struct macio_dev* dev, const struct of_device_id *match);
> > - int (*remove)(struct macio_dev* dev);
> > + void (*remove)(struct macio_dev *dev);
> >
> > int (*suspend)(struct macio_dev* dev, pm_message_t state);
> > int (*resume)(struct macio_dev* dev);
> > diff --git a/drivers/ata/pata_macio.c b/drivers/ata/pata_macio.c
> > index 9ccaac9e2bc3..653106716a4b 100644
> > --- a/drivers/ata/pata_macio.c
> > +++ b/drivers/ata/pata_macio.c
> > @@ -1187,7 +1187,7 @@ static int pata_macio_attach(struct macio_dev *mdev,
> > return rc;
> > }
> >
> > -static int pata_macio_detach(struct macio_dev *mdev)
> > +static void pata_macio_detach(struct macio_dev *mdev)
> > {
> > struct ata_host *host = macio_get_drvdata(mdev);
> > struct pata_macio_priv *priv = host->private_data;
> > @@ -1202,8 +1202,6 @@ static int pata_macio_detach(struct macio_dev *mdev)
> > ata_host_detach(host);
> >
> > unlock_media_bay(priv->mdev->media_bay);
> > -
> > - return 0;
> > }
> >
> > #ifdef CONFIG_PM_SLEEP
> > diff --git a/drivers/macintosh/rack-meter.c b/drivers/macintosh/rack-meter.c
> > index c28893e41a8b..f2f83c4f3af5 100644
> > --- a/drivers/macintosh/rack-meter.c
> > +++ b/drivers/macintosh/rack-meter.c
> > @@ -523,7 +523,7 @@ static int rackmeter_probe(struct macio_dev* mdev,
> > return rc;
> > }
> >
> > -static int rackmeter_remove(struct macio_dev* mdev)
> > +static void rackmeter_remove(struct macio_dev *mdev)
> > {
> > struct rackmeter *rm = dev_get_drvdata(&mdev->ofdev.dev);
> >
> > @@ -558,8 +558,6 @@ static int rackmeter_remove(struct macio_dev* mdev)
> >
> > /* Get rid of me */
> > kfree(rm);
> > -
> > - return 0;
> > }
> >
> > static int rackmeter_shutdown(struct macio_dev* mdev)
> > diff --git a/drivers/net/ethernet/apple/bmac.c b/drivers/net/ethernet/apple/bmac.c
> > index 9e653e2925f7..292b1f9cd9e7 100644
> > --- a/drivers/net/ethernet/apple/bmac.c
> > +++ b/drivers/net/ethernet/apple/bmac.c
> > @@ -1591,7 +1591,7 @@ bmac_proc_info(char *buffer, char **start, off_t offset, int length)
> > }
> > #endif
> >
> > -static int bmac_remove(struct macio_dev *mdev)
> > +static void bmac_remove(struct macio_dev *mdev)
> > {
> > struct net_device *dev = macio_get_drvdata(mdev);
> > struct bmac_data *bp = netdev_priv(dev);
> > @@ -1609,8 +1609,6 @@ static int bmac_remove(struct macio_dev *mdev)
> > macio_release_resources(mdev);
> >
> > free_netdev(dev);
> > -
> > - return 0;
> > }
> >
> > static const struct of_device_id bmac_match[] =
> > diff --git a/drivers/net/ethernet/apple/mace.c b/drivers/net/ethernet/apple/mace.c
> > index fd1b008b7208..e6350971c707 100644
> > --- a/drivers/net/ethernet/apple/mace.c
> > +++ b/drivers/net/ethernet/apple/mace.c
> > @@ -272,7 +272,7 @@ static int mace_probe(struct macio_dev *mdev, const struct of_device_id *match)
> > return rc;
> > }
> >
> > -static int mace_remove(struct macio_dev *mdev)
> > +static void mace_remove(struct macio_dev *mdev)
> > {
> > struct net_device *dev = macio_get_drvdata(mdev);
> > struct mace_data *mp;
> > @@ -296,8 +296,6 @@ static int mace_remove(struct macio_dev *mdev)
> > free_netdev(dev);
> >
> > macio_release_resources(mdev);
> > -
> > - return 0;
> > }
> >
> > static void dbdma_reset(volatile struct dbdma_regs __iomem *dma)
> > diff --git a/drivers/net/wireless/intersil/orinoco/airport.c b/drivers/net/wireless/intersil/orinoco/airport.c
> > index a890bfa0d5cc..276a06cdd1f5 100644
> > --- a/drivers/net/wireless/intersil/orinoco/airport.c
> > +++ b/drivers/net/wireless/intersil/orinoco/airport.c
> > @@ -85,7 +85,7 @@ airport_resume(struct macio_dev *mdev)
> > return err;
> > }
> >
> > -static int
> > +static void
> > airport_detach(struct macio_dev *mdev)
> > {
> > struct orinoco_private *priv = dev_get_drvdata(&mdev->ofdev.dev);
> > @@ -111,8 +111,6 @@ airport_detach(struct macio_dev *mdev)
> >
> > macio_set_drvdata(mdev, NULL);
> > free_orinocodev(priv);
> > -
> > - return 0;
> > }
> >
> > static int airport_hard_reset(struct orinoco_private *priv)
> > diff --git a/drivers/scsi/mac53c94.c b/drivers/scsi/mac53c94.c
> > index f75928f7773e..42648ca9b8ed 100644
> > --- a/drivers/scsi/mac53c94.c
> > +++ b/drivers/scsi/mac53c94.c
> > @@ -508,7 +508,7 @@ static int mac53c94_probe(struct macio_dev *mdev, const struct of_device_id *mat
> > return rc;
> > }
> >
> > -static int mac53c94_remove(struct macio_dev *mdev)
> > +static void mac53c94_remove(struct macio_dev *mdev)
> > {
> > struct fsc_state *fp = (struct fsc_state *)macio_get_drvdata(mdev);
> > struct Scsi_Host *host = fp->host;
> > @@ -526,11 +526,8 @@ static int mac53c94_remove(struct macio_dev *mdev)
> > scsi_host_put(host);
> >
> > macio_release_resources(mdev);
> > -
> > - return 0;
> > }
> >
> > -
> > static struct of_device_id mac53c94_match[] =
> > {
> > {
> > diff --git a/drivers/scsi/mesh.c b/drivers/scsi/mesh.c
> > index 84b541a57b7b..cd2575b88c85 100644
> > --- a/drivers/scsi/mesh.c
> > +++ b/drivers/scsi/mesh.c
> > @@ -1986,7 +1986,7 @@ static int mesh_probe(struct macio_dev *mdev, const struct of_device_id *match)
> > return -ENODEV;
> > }
> >
> > -static int mesh_remove(struct macio_dev *mdev)
> > +static void mesh_remove(struct macio_dev *mdev)
> > {
> > struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev);
> > struct Scsi_Host *mesh_host = ms->host;
> > @@ -2013,11 +2013,8 @@ static int mesh_remove(struct macio_dev *mdev)
> > macio_release_resources(mdev);
> >
> > scsi_host_put(mesh_host);
> > -
> > - return 0;
> > }
> >
> > -
> > static struct of_device_id mesh_match[] =
> > {
> > {
> > diff --git a/drivers/tty/serial/pmac_zilog.c b/drivers/tty/serial/pmac_zilog.c
> > index 13668ffdb1e7..d4640479c338 100644
> > --- a/drivers/tty/serial/pmac_zilog.c
> > +++ b/drivers/tty/serial/pmac_zilog.c
> > @@ -1507,12 +1507,12 @@ static int pmz_attach(struct macio_dev *mdev, const struct of_device_id *match)
> > * That one should not be called, macio isn't really a hotswap device,
> > * we don't expect one of those serial ports to go away...
> > */
> > -static int pmz_detach(struct macio_dev *mdev)
> > +static void pmz_detach(struct macio_dev *mdev)
> > {
> > struct uart_pmac_port *uap = dev_get_drvdata(&mdev->ofdev.dev);
> >
> > if (!uap)
> > - return -ENODEV;
> > + return;
> >
> > uart_remove_one_port(&pmz_uart_reg, &uap->port);
> >
> > @@ -1523,11 +1523,8 @@ static int pmz_detach(struct macio_dev *mdev)
> > dev_set_drvdata(&mdev->ofdev.dev, NULL);
> > uap->dev = NULL;
> > uap->port.dev = NULL;
> > -
> > - return 0;
> > }
> >
> > -
> > static int pmz_suspend(struct macio_dev *mdev, pm_message_t pm_state)
> > {
> > struct uart_pmac_port *uap = dev_get_drvdata(&mdev->ofdev.dev);
> > diff --git a/sound/aoa/soundbus/i2sbus/core.c b/sound/aoa/soundbus/i2sbus/core.c
> > index 51ed2f34b276..35f39727994d 100644
> > --- a/sound/aoa/soundbus/i2sbus/core.c
> > +++ b/sound/aoa/soundbus/i2sbus/core.c
> > @@ -364,15 +364,13 @@ static int i2sbus_probe(struct macio_dev* dev, const struct of_device_id *match)
> > return 0;
> > }
> >
> > -static int i2sbus_remove(struct macio_dev* dev)
> > +static void i2sbus_remove(struct macio_dev *dev)
> > {
> > struct i2sbus_control *control = dev_get_drvdata(&dev->ofdev.dev);
> > struct i2sbus_dev *i2sdev, *tmp;
> >
> > list_for_each_entry_safe(i2sdev, tmp, &control->list, item)
> > soundbus_remove_one(&i2sdev->sound);
> > -
> > - return 0;
> > }
> >
> > #ifdef CONFIG_PM

2024-03-07 12:32:28

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH v3] powerpc: macio: Make remove callback of macio driver void returned

Dawei Li <[email protected]> writes:
> Hi Christophe,
>
> On Tue, Feb 20, 2024 at 04:12:17PM +0000, Christophe Leroy wrote:
>> Hi Michael,
>>
>> ping ?
>>
>> Le 01/02/2023 à 15:36, Dawei Li a écrit :
>> > Commit fc7a6209d571 ("bus: Make remove callback return void") forces
>> > bus_type::remove be void-returned, it doesn't make much sense for any
>> > bus based driver implementing remove callbalk to return non-void to
>> > its caller.
>> >
>> > This change is for macio bus based drivers.
>> >
>> > Signed-off-by: Dawei Li <[email protected]>
>>
>> This patch is Acked , any special reason for not applying it ?
>>
>> Note that it now conflicts with commit 1535d5962d79 ("wifi: remove
>> orphaned orinoco driver") but resolution is trivial, just drop the
>> changes to that file.
>
> Thanks for picking it up, hardly believe that it's been one year.
>
> Michael,
>
> I will respin V4 if it's needed.

No that's fine, I'll sort it out.

cheers

2024-03-13 13:30:15

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH v3] powerpc: macio: Make remove callback of macio driver void returned

On Wed, 01 Feb 2023 22:36:19 +0800, Dawei Li wrote:
> Commit fc7a6209d571 ("bus: Make remove callback return void") forces
> bus_type::remove be void-returned, it doesn't make much sense for any
> bus based driver implementing remove callbalk to return non-void to
> its caller.
>
> This change is for macio bus based drivers.
>
> [...]

Applied to powerpc/next.

[1/1] powerpc: macio: Make remove callback of macio driver void returned
https://git.kernel.org/powerpc/c/9db2235326c4b868b6e065dfa3a69011ee570848

cheers