[PATCH] ALSA: hda: cs35l41: Make cs35l41_hda_remove() return void
Uwe Kleine-König
u.kleine-koenig at pengutronix.de
Tue Jan 18 13:15:30 CET 2022
On Tue, Jan 18, 2022 at 11:59:15AM +0000, Lucas tanure wrote:
> On 1/17/22 22:00, Uwe Kleine-König wrote:
> > Up to now cs35l41_hda_remove() returns zero unconditionally. Make it
> > return void instead which makes it easier to see in the callers that
> > there is no error to handle.
> >
> > Also the return value of i2c and spi remove callbacks is ignored anyway.
> >
> > Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
> > ---
> > sound/pci/hda/cs35l41_hda.c | 4 +---
> > sound/pci/hda/cs35l41_hda.h | 2 +-
> > sound/pci/hda/cs35l41_hda_i2c.c | 4 +++-
> > sound/pci/hda/cs35l41_hda_spi.c | 4 +++-
> > 4 files changed, 8 insertions(+), 6 deletions(-)
> >
> > diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
> > index 30b40d865863..ce3782826830 100644
> > --- a/sound/pci/hda/cs35l41_hda.c
> > +++ b/sound/pci/hda/cs35l41_hda.c
> > @@ -508,7 +508,7 @@ int cs35l41_hda_probe(struct device *dev, const char *device_name, int id, int i
> > }
> > EXPORT_SYMBOL_GPL(cs35l41_hda_probe);
> > -int cs35l41_hda_remove(struct device *dev)
> > +void cs35l41_hda_remove(struct device *dev)
> > {
> > struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
> > @@ -517,8 +517,6 @@ int cs35l41_hda_remove(struct device *dev)
> > if (!cs35l41->vspk_always_on)
> > gpiod_set_value_cansleep(cs35l41->reset_gpio, 0);
> > gpiod_put(cs35l41->reset_gpio);
> > -
> > - return 0;
> > }
> > EXPORT_SYMBOL_GPL(cs35l41_hda_remove);
> > diff --git a/sound/pci/hda/cs35l41_hda.h b/sound/pci/hda/cs35l41_hda.h
> > index 76c69a8a22f6..8ecaddf5f132 100644
> > --- a/sound/pci/hda/cs35l41_hda.h
> > +++ b/sound/pci/hda/cs35l41_hda.h
> > @@ -64,6 +64,6 @@ struct cs35l41_hda {
> > int cs35l41_hda_probe(struct device *dev, const char *device_name, int id, int irq,
> > struct regmap *regmap);
> > -int cs35l41_hda_remove(struct device *dev);
> > +void cs35l41_hda_remove(struct device *dev);
> > #endif /*__CS35L41_HDA_H__*/
> > diff --git a/sound/pci/hda/cs35l41_hda_i2c.c b/sound/pci/hda/cs35l41_hda_i2c.c
> > index 4a9462fb5c14..d4240b8ded10 100644
> > --- a/sound/pci/hda/cs35l41_hda_i2c.c
> > +++ b/sound/pci/hda/cs35l41_hda_i2c.c
> > @@ -32,7 +32,9 @@ static int cs35l41_hda_i2c_probe(struct i2c_client *clt, const struct i2c_device
> > static int cs35l41_hda_i2c_remove(struct i2c_client *clt)
> > {
> > - return cs35l41_hda_remove(&clt->dev);
> > + cs35l41_hda_remove(&clt->dev);
> > +
> > + return 0;
> > }
> > static const struct i2c_device_id cs35l41_hda_i2c_id[] = {
> > diff --git a/sound/pci/hda/cs35l41_hda_spi.c b/sound/pci/hda/cs35l41_hda_spi.c
> > index 77426e96c58f..d63c487bc3a9 100644
> > --- a/sound/pci/hda/cs35l41_hda_spi.c
> > +++ b/sound/pci/hda/cs35l41_hda_spi.c
> > @@ -30,7 +30,9 @@ static int cs35l41_hda_spi_probe(struct spi_device *spi)
> > static int cs35l41_hda_spi_remove(struct spi_device *spi)
> > {
> > - return cs35l41_hda_remove(&spi->dev);
> > + cs35l41_hda_remove(&spi->dev);
> > +
> > + return 0;
> > }
> > static const struct spi_device_id cs35l41_hda_spi_id[] = {
> >
> > base-commit: 0c947b893d69231a9add855939da7c66237ab44f
>
> I don't see much point in this patch. The idea of the core driver is to
> concentrate as much as code as possible can, so the I2C and SPI driver are
> minimal.
How is the spi (or i2c) driver any bigger here? For now the core driver
has a feature (returning an error code, but always 0) that isn't used at
all. How is that any good?
The motivation for this patch is that I want to do this in the near
future:
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h
--- a/include/linux/spi/spi.h
+++ b/include/linux/spi/spi.h
@@ -280,7 +280,7 @@ struct spi_message;
struct spi_driver {
const struct spi_device_id *id_table;
int (*probe)(struct spi_device *spi);
- int (*remove)(struct spi_device *spi);
+ void (*remove)(struct spi_device *spi);
void (*shutdown)(struct spi_device *spi);
struct device_driver driver;
};
And as this has to touch all spi drivers in the same commit, I prefer
having only hunks like:
-static int cs35l41_hda_spi_remove(struct spi_device *spi)
+static void cs35l41_hda_spi_remove(struct spi_device *spi)
{
cs35l41_hda_remove(&spi->dev);
-
- return 0;
}
which are obviously correct compared to
-static int cs35l41_hda_spi_remove(struct spi_device *spi)
+static void cs35l41_hda_spi_remove(struct spi_device *spi)
{
- return cs35l41_hda_remove(&spi->dev);
+ cs35l41_hda_remove(&spi->dev);
}
BTW, the long term plan is to do the same for i2c.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20220118/8b496241/attachment.sig>
More information about the Alsa-devel
mailing list