Linux Media Controller development
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Hans Verkuil <hverkuil+cisco@kernel.org>
Cc: Linux Media Mailing List <linux-media@vger.kernel.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Ethan Nelson-Moore <enelsonmoore@gmail.com>,
	Frank Zago <frank@zago.net>, Olivier Lorin <o.lorin@laposte.net>,
	Erik Andren <erik.andren@gmail.com>,
	Brian Johnson <brijohn@gmail.com>,
	Leandro Costantino <lcostantino@gmail.com>
Subject: Re: [RFC PATCH] media: usb: gspca: remove driver for old webcams
Date: Wed, 30 Sep 2026 15:15:02 +0300	[thread overview]
Message-ID: <20260930121502.GA944070@killaraus.ideasonboard.com> (raw)
In-Reply-To: <d355baaf-3c7b-42d9-8364-18cf91e1bcf3@kernel.org>

On Wed, Sep 30, 2026 at 11:59:49AM +0200, Hans Verkuil wrote:
> On 23/09/2026 09:51, Laurent Pinchart wrote:
> > On Wed, Sep 23, 2026 at 09:32:54AM +0200, Hans Verkuil wrote:
> >> The gspca driver supports a large number of old non-UVC webcams that use
> >> proprietary formats.
> >>
> >> These webcams are poorly maintained, have very poor image quality, and
> >> there is no use-case for them anymore since even the cheapest UVC webcam
> >> will be better than these.
> >>
> >> The last time there was a 'real' change to gspca was in 2021, one in
> >> 2019 and one in 2018.
> >>
> >> We see an uptick in the number of suspected AI patches in this driver,
> >> and I really don't want to waste time on that.
> >>
> >> So let's remove this driver.
> >>
> >> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
> >> ---
> >> I CC-ed this to several maintainers of gspca webcams listed in the MAINTAINERS
> >> file. It would not surprise me if at least some of these emails are obsolete.
> >>
> >> This is an RFC for now, and if we do this then it will be for kernel 7.5.
> >>
> >> Regards,
> >>
> >> 	Hans
> >> ---
> >>  .../admin-guide/media/gspca-cardlist.rst      |  451 --
> >>  .../admin-guide/media/usb-cardlist.rst        |    6 -
> >>  .../media/v4l/pixfmt-reserved.rst             |   32 +-
> > 
> > There are other mentions of gspca in the following files:
> > 
> > - Documentation/.renames.txt
> 
> I wasn't sure if it should be removed there as well, but I see that it should.
> 
> I'll do that.
> 
> > - Documentation/admin-guide/bug-hunting.rst
> > - Documentation/translations/zh_CN/admin-guide/bug-hunting.rst
> 
> Yeah, that's a separate patch. Not so easy, it has to be rewritten with
> a different example driver.

Especially with the Chinese translation, that will take more work. It
can be done later too.

> > arch/arm/configs/tegra_defconfig also needs to be updated to drop
> > CONFIG_USB_GSPCA=y.
> 
> Probably best to do in a separate patch as well.

Fine with me (I suppose you mean a separate patch in the same series).

> > Should we move the gspca-specific pixel formats in
> > include/uapi/linux/videodev2.h to a separate section with a header that
> > documents them as deprecated ? I think we can also drop them from
> > v4l_fill_fmtdesc() if nothing uses them in the kernel any more.
> 
> Good question. I think putting them in a separate section is certainly
> a good idea. But should they be removed from v4l_fill_fmtdesc?
> 
> One reason for keeping them there is if someone (or some distro) decides to
> keep the gspca driver. On the other hand, how likely is that?

I think distributions could then also restore the format descriptions in
v4l_fill_fmtdesc.

> It's probably best to drop them in v4l_fill_fmtdesc.
> 
> >>  MAINTAINERS                                   |   49 -
> >>  drivers/media/usb/Kconfig                     |    1 -
> >>  drivers/media/usb/Makefile                    |    1 -
> >>  drivers/media/usb/gspca/Kconfig               |  455 --
> >>  drivers/media/usb/gspca/Makefile              |  100 -
> >>  drivers/media/usb/gspca/autogain_functions.c  |  165 -
> >>  drivers/media/usb/gspca/benq.c                |  274 -
> >>  drivers/media/usb/gspca/conex.c               |  953 ---
> >>  drivers/media/usb/gspca/cpia1.c               | 1898 -----
> >>  drivers/media/usb/gspca/dtcs033.c             |  430 -
> >>  drivers/media/usb/gspca/etoms.c               |  782 --
> >>  drivers/media/usb/gspca/finepix.c             |  293 -
> >>  drivers/media/usb/gspca/gl860/Kconfig         |    9 -
> >>  drivers/media/usb/gspca/gl860/Makefile        |   11 -
> >>  drivers/media/usb/gspca/gl860/gl860-mi1320.c  |  551 --
> >>  drivers/media/usb/gspca/gl860/gl860-mi2020.c  |  793 --
> >>  drivers/media/usb/gspca/gl860/gl860-ov2640.c  |  477 --
> >>  drivers/media/usb/gspca/gl860/gl860-ov9655.c  |  373 -
> >>  drivers/media/usb/gspca/gl860/gl860.c         |  730 --
> >>  drivers/media/usb/gspca/gl860/gl860.h         |   93 -
> >>  drivers/media/usb/gspca/gspca.c               | 1700 ----
> >>  drivers/media/usb/gspca/gspca.h               |  243 -
> >>  drivers/media/usb/gspca/jeilinj.c             |  537 --
> >>  drivers/media/usb/gspca/jl2005bcd.c           |  519 --
> >>  drivers/media/usb/gspca/jpeg.h                |  156 -
> >>  drivers/media/usb/gspca/kinect.c              |  474 --
> >>  drivers/media/usb/gspca/konica.c              |  478 --
> >>  drivers/media/usb/gspca/m5602/Kconfig         |   10 -
> >>  drivers/media/usb/gspca/m5602/Makefile        |   12 -
> >>  drivers/media/usb/gspca/m5602/m5602_bridge.h  |  161 -
> >>  drivers/media/usb/gspca/m5602/m5602_core.c    |  446 --
> >>  drivers/media/usb/gspca/m5602/m5602_mt9m111.c |  600 --
> >>  drivers/media/usb/gspca/m5602/m5602_mt9m111.h |  125 -
> >>  drivers/media/usb/gspca/m5602/m5602_ov7660.c  |  468 --
> >>  drivers/media/usb/gspca/m5602/m5602_ov7660.h  |  105 -
> >>  drivers/media/usb/gspca/m5602/m5602_ov9650.c  |  784 --
> >>  drivers/media/usb/gspca/m5602/m5602_ov9650.h  |  155 -
> >>  drivers/media/usb/gspca/m5602/m5602_po1030.c  |  623 --
> >>  drivers/media/usb/gspca/m5602/m5602_po1030.h  |  166 -
> >>  drivers/media/usb/gspca/m5602/m5602_s5k4aa.c  |  759 --
> >>  drivers/media/usb/gspca/m5602/m5602_s5k4aa.h  |   84 -
> >>  drivers/media/usb/gspca/m5602/m5602_s5k83a.c  |  576 --
> >>  drivers/media/usb/gspca/m5602/m5602_s5k83a.h  |   60 -
> >>  drivers/media/usb/gspca/m5602/m5602_sensor.h  |   69 -
> >>  drivers/media/usb/gspca/mars.c                |  427 -
> >>  drivers/media/usb/gspca/mr97310a.c            | 1077 ---
> >>  drivers/media/usb/gspca/nw80x.c               | 2105 -----
> >>  drivers/media/usb/gspca/ov519.c               | 5030 ------------
> >>  drivers/media/usb/gspca/ov534.c               | 1608 ----
> >>  drivers/media/usb/gspca/ov534_9.c             | 1821 -----
> >>  drivers/media/usb/gspca/pac207.c              |  475 --
> >>  drivers/media/usb/gspca/pac7302.c             |  951 ---
> >>  drivers/media/usb/gspca/pac7311.c             |  687 --
> >>  drivers/media/usb/gspca/pac_common.h          |  119 -
> >>  drivers/media/usb/gspca/se401.c               |  730 --
> >>  drivers/media/usb/gspca/se401.h               |   76 -
> >>  drivers/media/usb/gspca/sn9c2028.c            |  963 ---
> >>  drivers/media/usb/gspca/sn9c2028.h            |   48 -
> >>  drivers/media/usb/gspca/sn9c20x.c             | 2409 ------
> >>  drivers/media/usb/gspca/sonixb.c              | 1469 ----
> >>  drivers/media/usb/gspca/sonixj.c              | 2981 -------
> >>  drivers/media/usb/gspca/spca1528.c            |  438 -
> >>  drivers/media/usb/gspca/spca500.c             |  979 ---
> >>  drivers/media/usb/gspca/spca501.c             | 2036 -----
> >>  drivers/media/usb/gspca/spca505.c             |  791 --
> >>  drivers/media/usb/gspca/spca506.c             |  599 --
> >>  drivers/media/usb/gspca/spca508.c             | 1526 ----
> >>  drivers/media/usb/gspca/spca561.c             |  911 ---
> >>  drivers/media/usb/gspca/sq905.c               |  428 -
> >>  drivers/media/usb/gspca/sq905c.c              |  330 -
> >>  drivers/media/usb/gspca/sq930x.c              | 1156 ---
> >>  drivers/media/usb/gspca/stk014.c              |  434 -
> >>  drivers/media/usb/gspca/stk1135.c             |  676 --
> >>  drivers/media/usb/gspca/stk1135.h             |   44 -
> >>  drivers/media/usb/gspca/stv0680.c             |  339 -
> >>  drivers/media/usb/gspca/stv06xx/Kconfig       |   10 -
> >>  drivers/media/usb/gspca/stv06xx/Makefile      |   11 -
> >>  drivers/media/usb/gspca/stv06xx/stv06xx.c     |  647 --
> >>  drivers/media/usb/gspca/stv06xx/stv06xx.h     |  103 -
> >>  .../media/usb/gspca/stv06xx/stv06xx_hdcs.c    |  532 --
> >>  .../media/usb/gspca/stv06xx/stv06xx_hdcs.h    |  193 -
> >>  .../media/usb/gspca/stv06xx/stv06xx_pb0100.c  |  432 -
> >>  .../media/usb/gspca/stv06xx/stv06xx_pb0100.h  |  131 -
> >>  .../media/usb/gspca/stv06xx/stv06xx_sensor.h  |   74 -
> >>  .../media/usb/gspca/stv06xx/stv06xx_st6422.c  |  273 -
> >>  .../media/usb/gspca/stv06xx/stv06xx_st6422.h  |   38 -
> >>  .../media/usb/gspca/stv06xx/stv06xx_vv6410.c  |  265 -
> >>  .../media/usb/gspca/stv06xx/stv06xx_vv6410.h  |  242 -
> >>  drivers/media/usb/gspca/sunplus.c             | 1073 ---
> >>  drivers/media/usb/gspca/t613.c                | 1041 ---
> >>  drivers/media/usb/gspca/topro.c               | 4972 ------------
> >>  drivers/media/usb/gspca/touptek.c             |  712 --
> >>  drivers/media/usb/gspca/tv8532.c              |  365 -
> >>  drivers/media/usb/gspca/vc032x.c              | 3838 ---------
> >>  drivers/media/usb/gspca/vicam.c               |  353 -
> >>  drivers/media/usb/gspca/w996Xcf.c             |  569 --
> >>  drivers/media/usb/gspca/xirlink_cit.c         | 3149 --------
> >>  drivers/media/usb/gspca/zc3xx-reg.h           |  250 -
> >>  drivers/media/usb/gspca/zc3xx.c               | 7029 -----------------
> >>  102 files changed, 16 insertions(+), 78186 deletions(-)
> >>  delete mode 100644 Documentation/admin-guide/media/gspca-cardlist.rst
> >>  delete mode 100644 drivers/media/usb/gspca/Kconfig
> >>  delete mode 100644 drivers/media/usb/gspca/Makefile
> >>  delete mode 100644 drivers/media/usb/gspca/autogain_functions.c
> >>  delete mode 100644 drivers/media/usb/gspca/benq.c
> >>  delete mode 100644 drivers/media/usb/gspca/conex.c
> >>  delete mode 100644 drivers/media/usb/gspca/cpia1.c
> >>  delete mode 100644 drivers/media/usb/gspca/dtcs033.c
> >>  delete mode 100644 drivers/media/usb/gspca/etoms.c
> >>  delete mode 100644 drivers/media/usb/gspca/finepix.c
> >>  delete mode 100644 drivers/media/usb/gspca/gl860/Kconfig
> >>  delete mode 100644 drivers/media/usb/gspca/gl860/Makefile
> >>  delete mode 100644 drivers/media/usb/gspca/gl860/gl860-mi1320.c
> >>  delete mode 100644 drivers/media/usb/gspca/gl860/gl860-mi2020.c
> >>  delete mode 100644 drivers/media/usb/gspca/gl860/gl860-ov2640.c
> >>  delete mode 100644 drivers/media/usb/gspca/gl860/gl860-ov9655.c
> >>  delete mode 100644 drivers/media/usb/gspca/gl860/gl860.c
> >>  delete mode 100644 drivers/media/usb/gspca/gl860/gl860.h
> >>  delete mode 100644 drivers/media/usb/gspca/gspca.c
> >>  delete mode 100644 drivers/media/usb/gspca/gspca.h
> >>  delete mode 100644 drivers/media/usb/gspca/jeilinj.c
> >>  delete mode 100644 drivers/media/usb/gspca/jl2005bcd.c
> >>  delete mode 100644 drivers/media/usb/gspca/jpeg.h
> >>  delete mode 100644 drivers/media/usb/gspca/kinect.c
> >>  delete mode 100644 drivers/media/usb/gspca/konica.c
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/Kconfig
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/Makefile
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/m5602_bridge.h
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/m5602_core.c
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/m5602_mt9m111.c
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/m5602_mt9m111.h
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/m5602_ov7660.c
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/m5602_ov7660.h
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/m5602_ov9650.c
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/m5602_ov9650.h
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/m5602_po1030.c
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/m5602_po1030.h
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/m5602_s5k4aa.h
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/m5602_s5k83a.c
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/m5602_s5k83a.h
> >>  delete mode 100644 drivers/media/usb/gspca/m5602/m5602_sensor.h
> >>  delete mode 100644 drivers/media/usb/gspca/mars.c
> >>  delete mode 100644 drivers/media/usb/gspca/mr97310a.c
> >>  delete mode 100644 drivers/media/usb/gspca/nw80x.c
> >>  delete mode 100644 drivers/media/usb/gspca/ov519.c
> >>  delete mode 100644 drivers/media/usb/gspca/ov534.c
> >>  delete mode 100644 drivers/media/usb/gspca/ov534_9.c
> >>  delete mode 100644 drivers/media/usb/gspca/pac207.c
> >>  delete mode 100644 drivers/media/usb/gspca/pac7302.c
> >>  delete mode 100644 drivers/media/usb/gspca/pac7311.c
> >>  delete mode 100644 drivers/media/usb/gspca/pac_common.h
> >>  delete mode 100644 drivers/media/usb/gspca/se401.c
> >>  delete mode 100644 drivers/media/usb/gspca/se401.h
> >>  delete mode 100644 drivers/media/usb/gspca/sn9c2028.c
> >>  delete mode 100644 drivers/media/usb/gspca/sn9c2028.h
> >>  delete mode 100644 drivers/media/usb/gspca/sn9c20x.c
> >>  delete mode 100644 drivers/media/usb/gspca/sonixb.c
> >>  delete mode 100644 drivers/media/usb/gspca/sonixj.c
> >>  delete mode 100644 drivers/media/usb/gspca/spca1528.c
> >>  delete mode 100644 drivers/media/usb/gspca/spca500.c
> >>  delete mode 100644 drivers/media/usb/gspca/spca501.c
> >>  delete mode 100644 drivers/media/usb/gspca/spca505.c
> >>  delete mode 100644 drivers/media/usb/gspca/spca506.c
> >>  delete mode 100644 drivers/media/usb/gspca/spca508.c
> >>  delete mode 100644 drivers/media/usb/gspca/spca561.c
> >>  delete mode 100644 drivers/media/usb/gspca/sq905.c
> >>  delete mode 100644 drivers/media/usb/gspca/sq905c.c
> >>  delete mode 100644 drivers/media/usb/gspca/sq930x.c
> >>  delete mode 100644 drivers/media/usb/gspca/stk014.c
> >>  delete mode 100644 drivers/media/usb/gspca/stk1135.c
> >>  delete mode 100644 drivers/media/usb/gspca/stk1135.h
> >>  delete mode 100644 drivers/media/usb/gspca/stv0680.c
> >>  delete mode 100644 drivers/media/usb/gspca/stv06xx/Kconfig
> >>  delete mode 100644 drivers/media/usb/gspca/stv06xx/Makefile
> >>  delete mode 100644 drivers/media/usb/gspca/stv06xx/stv06xx.c
> >>  delete mode 100644 drivers/media/usb/gspca/stv06xx/stv06xx.h
> >>  delete mode 100644 drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
> >>  delete mode 100644 drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.h
> >>  delete mode 100644 drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
> >>  delete mode 100644 drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.h
> >>  delete mode 100644 drivers/media/usb/gspca/stv06xx/stv06xx_sensor.h
> >>  delete mode 100644 drivers/media/usb/gspca/stv06xx/stv06xx_st6422.c
> >>  delete mode 100644 drivers/media/usb/gspca/stv06xx/stv06xx_st6422.h
> >>  delete mode 100644 drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
> >>  delete mode 100644 drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.h
> >>  delete mode 100644 drivers/media/usb/gspca/sunplus.c
> >>  delete mode 100644 drivers/media/usb/gspca/t613.c
> >>  delete mode 100644 drivers/media/usb/gspca/topro.c
> >>  delete mode 100644 drivers/media/usb/gspca/touptek.c
> >>  delete mode 100644 drivers/media/usb/gspca/tv8532.c
> >>  delete mode 100644 drivers/media/usb/gspca/vc032x.c
> >>  delete mode 100644 drivers/media/usb/gspca/vicam.c
> >>  delete mode 100644 drivers/media/usb/gspca/w996Xcf.c
> >>  delete mode 100644 drivers/media/usb/gspca/xirlink_cit.c
> >>  delete mode 100644 drivers/media/usb/gspca/zc3xx-reg.h
> >>  delete mode 100644 drivers/media/usb/gspca/zc3xx.c

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2026-09-30 12:15 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-23  7:32 [RFC PATCH] media: usb: gspca: remove driver for old webcams Hans Verkuil
2026-09-23  7:43 ` Hans Verkuil
2026-09-23  7:51 ` Laurent Pinchart
2026-09-30  9:59   ` Hans Verkuil
2026-09-30 12:15     ` Laurent Pinchart [this message]
2026-09-23 15:29 ` johannes.goede
2026-09-27  9:40   ` Michal Pecio
2026-09-30 10:27   ` Hans Verkuil
2026-10-02  8:35     ` Hans de Goede

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260930121502.GA944070@killaraus.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=brijohn@gmail.com \
    --cc=enelsonmoore@gmail.com \
    --cc=erik.andren@gmail.com \
    --cc=frank@zago.net \
    --cc=hverkuil+cisco@kernel.org \
    --cc=lcostantino@gmail.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=o.lorin@laposte.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox