Message ID | TYCP286MB232391520CB471E7C8D6EA84CAD19@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM |
---|---|
State | New |
Headers | show |
Series | [v3] powerpc: macio: Make remove callback of macio driver void returned | expand |
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 <set_pte_at@outlook.com> Acked-by: Jakub Kicinski <kuba@kernel.org>
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 <set_pte_at@outlook.com> 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
Dawei Li <set_pte_at@outlook.com> 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 <set_pte_at@outlook.com> >> >> 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
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
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
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 <set_pte_at@outlook.com> --- 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(-)