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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxx>
> 
> 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@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
> > ---
> >   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




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux