Re: [PATCH 09/11] drm/panel: Add support for the Raspberry Pi 7" Touchscreen.

Thierry Reding
2017-01-31T21:38:51Z

[-- Attachment #1: Type: text/plain, Size: 1266 bytes --]

On Tue, Jan 31, 2017 at 10:19:52PM +0100, Daniel Vetter wrote:
> On Tue, Jan 31, 2017 at 10:07:19PM +0100, Thierry Reding wrote:
> > On Wed, Dec 14, 2016 at 11:46:19AM -0800, Eric Anholt wrote:
> > > +static int rpi_touchscreen_dsi_remove(struct mipi_dsi_device *dsi)
> > > +{
> > > + struct device *dev = &dsi->dev;
> > > + struct rpi_touchscreen *ts = dev_get_drvdata(dev);
> > > + int ret;
> > > +
> > > + ret = mipi_dsi_detach(dsi);
> > > + if (ret < 0) {
> > > + dev_err(&dsi->dev, "failed to detach from DSI host: %d\n", ret);
> > > + return ret;
> > > + }
> >
> > You might want to continue after this anyway, because the driver will be
> > unloaded regardless of your error code and you'll leave behind a
> > dangling panel and leak a reference to the I2C bridge.
>
> Sounds like we should switch the mipi_dsi_driver->remove callback to
> return void then? But separate cleanup series if someone bothers with it.

I think there are advantages to keeping this consistent with the driver
core's definition of ->remove(). There have been efforts lately to deny
unloading drivers if they are a dependency for other drivers, so we may
yet see the day where the driver core actually does something with this
return value.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]