OSDN Git Service

media: cxd2880: Eliminate dead code
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tue, 12 Oct 2021 15:39:32 +0000 (17:39 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 7 Dec 2021 10:29:57 +0000 (11:29 +0100)
An spi remove callback is never called with an spi_device pointer that
is NULL. Also it is only called for devices that probed successfully. As
cxd2880_spi_probe() always sets driver data, spi_get_drvdata() cannot be
NULL.

Also the return value of spi remove callbacks is ignored anyway and not
freeing resources in .remove() is a bad idea.

Link: https://lore.kernel.org/linux-media/20211012153945.2651412-8-u.kleine-koenig@pengutronix.de
Cc: Mark Brown <broonie@kernel.org>, kernel@pengutronix.de, linux-media@vger.kernel.org, linux-spi@vger.kernel.org
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/spi/cxd2880-spi.c

index 506f52c..6f2a66b 100644 (file)
@@ -628,19 +628,8 @@ fail_regulator:
 static int
 cxd2880_spi_remove(struct spi_device *spi)
 {
-       struct cxd2880_dvb_spi *dvb_spi;
+       struct cxd2880_dvb_spi *dvb_spi = spi_get_drvdata(spi);
 
-       if (!spi) {
-               pr_err("invalid arg\n");
-               return -EINVAL;
-       }
-
-       dvb_spi = spi_get_drvdata(spi);
-
-       if (!dvb_spi) {
-               pr_err("failed\n");
-               return -EINVAL;
-       }
        dvb_spi->demux.dmx.remove_frontend(&dvb_spi->demux.dmx,
                                           &dvb_spi->dmx_fe);
        dvb_dmxdev_release(&dvb_spi->dmxdev);