mbox series

[for-9.2,00/53] arm: Drop deprecated boards

Message ID 20240903160751.4100218-1-peter.maydell@linaro.org
Headers show
Series arm: Drop deprecated boards | expand

Message

Peter Maydell Sept. 3, 2024, 4:06 p.m. UTC
This patchset removes the various Arm machines which we deprecated
for the 9.0 release and are therefore allowed to remove for the 9.2
release:
 akita, borzoi, cheetah, connex, mainstone, n800, n810,
 spitz, terrier, tosa, verdex, z2
We get to drop over 30,000 lines of unmaintained code. So it's
a big patchset but it's almost all deletions.

We have some command line options which were documented as only used
by the pxa2xx LCD display driver: -portrait and -rotate.  These
allowed the user to tell the display device to rotate its output by
90/180/270 degrees (and the ui input layer to correspondingly rotate
mouse event coordinates to match).  I didn't realize these existed
when we deprecated the pxa2xx machines -- do we need a separate
deprecate-and-drop period to remove the command line options?  (If
so, I can drop the relevant patch from this series.)

The series includes removal of some code which while not strictly
specific to these machines was in practice used only by them:
 * the OneNAND flash memory device
 * the PCMCIA subsystem
 * the MUSB USB2.0 OTG USB controller chip (hcd-musb)

Removing these machines hopefully will make it easier to complete
some API transitions (e.g.  there is only one caller of the
ui/input-legacy.c function qemu_add_kbd_event_handler() left, and
five of qemu_add_mouse_event_handler(); a lot of
qemu_register_reset() calls have gone; and so on).

(There will be a trivial conflict with my reset patch that gets rid
of direct setting of DeviceClass::reset in some places, but I'll fix
that up when merging.)

thanks
-- PMM

Peter Maydell (53):
  hw/arm: Remove deprecated akita, borzoi, spitz, terrier, tosa boards
  hw/input: Drop ADS7846 device
  hw/adc: Remove MAX111X device
  hw/gpio: Remove MAX7310 device
  hw/ide: Remove DSCM-1XXXX microdrive device model
  hw/display: Remove tc6393xb device
  hw/arm/KConfig: Replace ZAURUS with ZAURUS_SCOOP
  hw/arm: Remove 'cheetah' machine
  hw/arm: Remove 'connex' and 'verdex' machines
  hw/arm: Remove 'mainstone' machine
  hw/misc: Remove MAINSTONE_FPGA device
  hw/arm: Remove 'z2' machine
  hw/arm: Remove STRONGARM->PXA2XX dependency
  hw/timer/pxa2xx_timer: Remove use of pxa.h header
  hw/arm: Remove pxa2xx.c
  hw/sd: Remove pxa2xx_mmci.c
  hw/input: Remove pxa2xx_keypad
  hw/display: Remove pxa2xx_lcd.c
  hw/dma: Remove pxa2xx_dma
  hw/pcmcia: Remove pxa2xx pcmcia device
  hw/arm: Remove pxa2xx_gpio
  hw/arm: Remove pxa2xx_pic
  hw/timer: Remove pxa27x-timer
  vl.c: Remove pxa2xx-specific -portrait and -rotate options
  hw/arm: Remove 'n800' and 'n810' machines
  hw/misc: Remove cbus
  hw/display: Remove Blizzard display device
  hw/input: Remove tsc2005 touchscreen controller
  hw/input: Remove tsc210x device
  hw/rtc: Remove twl92230 device
  hw/input: Remove lm832x device
  hw/block: Remove OneNAND device
  hw/usb: Remove tusb6010 USB controller
  hw/usb: Remove MUSB USB host controller
  hw: Remove PCMCIA subsystem
  docs: Document removal of old Arm boards
  hw/arm: Remove omap2.c
  hw/gpio: Remove TYPE_OMAP2_GPIO
  hw/char: Remove omap2_uart
  hw/intc: Remove omap2-intc device
  hw/sd: Remove omap2_mmc device
  hw/misc: Remove omap_sdrc device
  hw/misc: Remove omap_gpmc
  hw/timer: Remove omap_gptimer
  hw/timer: Remove omap_synctimer
  hw/block: Remove ecc
  hw/ssi: Remove omap_mcspi
  hw/misc: Remove omap_tap device
  hw/display: Remove omap_dss
  hw/misc: Remove omap_l4 device
  hw/misc/omap_clk: Remove OMAP2-specifics
  hw/dma: Remove omap_dma4 device
  hw: Remove omap2 specific defines and enums

 MAINTAINERS                             |   58 +-
 docs/about/deprecated.rst               |   15 -
 docs/about/removed-features.rst         |   15 +
 docs/system/arm/gumstix.rst             |   21 -
 docs/system/arm/mainstone.rst           |   25 -
 docs/system/arm/nseries.rst             |   33 -
 docs/system/arm/palm.rst                |   23 -
 docs/system/arm/xscale.rst              |   35 -
 docs/system/target-arm.rst              |    5 -
 configs/devices/arm-softmmu/default.mak |    7 -
 include/hw/adc/max111x.h                |   56 -
 include/hw/arm/omap.h                   |  350 +--
 include/hw/arm/pxa.h                    |  197 --
 include/hw/block/flash.h                |   14 -
 include/hw/display/blizzard.h           |   21 -
 include/hw/display/tc6393xb.h           |   21 -
 include/hw/input/lm832x.h               |   28 -
 include/hw/input/tsc2xxx.h              |   41 -
 include/hw/misc/cbus.h                  |   31 -
 include/hw/pcmcia.h                     |   66 -
 include/hw/usb/hcd-musb.h               |   49 -
 include/sysemu/sysemu.h                 |    1 -
 hw/adc/max111x.c                        |  236 --
 hw/arm/gumstix.c                        |  141 --
 hw/arm/mainstone.c                      |  175 --
 hw/arm/nseries.c                        | 1473 ------------
 hw/arm/omap2.c                          | 2715 -----------------------
 hw/arm/palm.c                           |  324 ---
 hw/arm/pxa2xx.c                         | 2393 --------------------
 hw/arm/pxa2xx_gpio.c                    |  365 ---
 hw/arm/pxa2xx_pic.c                     |  359 ---
 hw/arm/spitz.c                          | 1284 -----------
 hw/arm/tosa.c                           |  327 ---
 hw/arm/z2.c                             |  355 ---
 hw/block/ecc.c                          |   91 -
 hw/block/onenand.c                      |  872 --------
 hw/char/omap_uart.c                     |  113 -
 hw/display/blizzard.c                   | 1026 ---------
 hw/display/omap_dss.c                   | 1093 ---------
 hw/display/pxa2xx_lcd.c                 | 1451 ------------
 hw/display/tc6393xb.c                   |  568 -----
 hw/dma/omap_dma.c                       |  451 +---
 hw/dma/pxa2xx_dma.c                     |  591 -----
 hw/gpio/max7310.c                       |  217 --
 hw/gpio/omap_gpio.c                     |  557 -----
 hw/ide/microdrive.c                     |  644 ------
 hw/input/ads7846.c                      |  186 --
 hw/input/lm832x.c                       |  528 -----
 hw/input/pxa2xx_keypad.c                |  331 ---
 hw/input/tsc2005.c                      |  571 -----
 hw/input/tsc210x.c                      | 1241 -----------
 hw/intc/omap_intc.c                     |  276 ---
 hw/misc/cbus.c                          |  619 ------
 hw/misc/mst_fpga.c                      |  269 ---
 hw/misc/omap_clk.c                      |  527 +----
 hw/misc/omap_gpmc.c                     |  898 --------
 hw/misc/omap_l4.c                       |  162 --
 hw/misc/omap_sdrc.c                     |  167 --
 hw/misc/omap_tap.c                      |  117 -
 hw/pcmcia/pcmcia.c                      |   24 -
 hw/pcmcia/pxa2xx.c                      |  248 ---
 hw/rtc/twl92230.c                       |  882 --------
 hw/sd/omap_mmc.c                        |   63 -
 hw/sd/pxa2xx_mmci.c                     |  594 -----
 hw/ssi/omap_spi.c                       |  380 ----
 hw/timer/omap_gptimer.c                 |  512 -----
 hw/timer/omap_synctimer.c               |  110 -
 hw/timer/pxa2xx_timer.c                 |   25 -
 hw/usb/hcd-musb.c                       | 1553 -------------
 hw/usb/tusb6010.c                       |  850 -------
 system/globals.c                        |    1 -
 system/vl.c                             |   11 -
 ui/input.c                              |   36 -
 hw/Kconfig                              |    1 -
 hw/adc/Kconfig                          |    3 -
 hw/adc/meson.build                      |    1 -
 hw/arm/Kconfig                          |   90 +-
 hw/arm/meson.build                      |    9 -
 hw/block/Kconfig                        |    6 -
 hw/block/meson.build                    |    2 -
 hw/display/Kconfig                      |    3 -
 hw/display/meson.build                  |    4 -
 hw/dma/meson.build                      |    1 -
 hw/gpio/Kconfig                         |    7 +-
 hw/gpio/meson.build                     |    3 +-
 hw/ide/Kconfig                          |    6 -
 hw/ide/meson.build                      |    1 -
 hw/input/Kconfig                        |   13 -
 hw/input/meson.build                    |    5 -
 hw/input/trace-events                   |    3 -
 hw/meson.build                          |    1 -
 hw/misc/Kconfig                         |    1 -
 hw/misc/meson.build                     |    6 -
 hw/pcmcia/Kconfig                       |    2 -
 hw/pcmcia/meson.build                   |    2 -
 hw/rtc/Kconfig                          |    4 -
 hw/rtc/meson.build                      |    1 -
 hw/sd/meson.build                       |    1 -
 hw/sd/trace-events                      |    4 -
 hw/ssi/meson.build                      |    1 -
 hw/timer/Kconfig                        |    3 +
 hw/timer/meson.build                    |    4 +-
 hw/usb/Kconfig                          |    8 -
 hw/usb/meson.build                      |    2 -
 qemu-options.hx                         |   16 -
 tests/avocado/machine_arm_n8x0.py       |   49 -
 106 files changed, 39 insertions(+), 30338 deletions(-)
 delete mode 100644 docs/system/arm/gumstix.rst
 delete mode 100644 docs/system/arm/mainstone.rst
 delete mode 100644 docs/system/arm/nseries.rst
 delete mode 100644 docs/system/arm/palm.rst
 delete mode 100644 docs/system/arm/xscale.rst
 delete mode 100644 include/hw/adc/max111x.h
 delete mode 100644 include/hw/arm/pxa.h
 delete mode 100644 include/hw/display/blizzard.h
 delete mode 100644 include/hw/display/tc6393xb.h
 delete mode 100644 include/hw/input/lm832x.h
 delete mode 100644 include/hw/input/tsc2xxx.h
 delete mode 100644 include/hw/misc/cbus.h
 delete mode 100644 include/hw/pcmcia.h
 delete mode 100644 include/hw/usb/hcd-musb.h
 delete mode 100644 hw/adc/max111x.c
 delete mode 100644 hw/arm/gumstix.c
 delete mode 100644 hw/arm/mainstone.c
 delete mode 100644 hw/arm/nseries.c
 delete mode 100644 hw/arm/omap2.c
 delete mode 100644 hw/arm/palm.c
 delete mode 100644 hw/arm/pxa2xx.c
 delete mode 100644 hw/arm/pxa2xx_gpio.c
 delete mode 100644 hw/arm/pxa2xx_pic.c
 delete mode 100644 hw/arm/spitz.c
 delete mode 100644 hw/arm/tosa.c
 delete mode 100644 hw/arm/z2.c
 delete mode 100644 hw/block/ecc.c
 delete mode 100644 hw/block/onenand.c
 delete mode 100644 hw/display/blizzard.c
 delete mode 100644 hw/display/omap_dss.c
 delete mode 100644 hw/display/pxa2xx_lcd.c
 delete mode 100644 hw/display/tc6393xb.c
 delete mode 100644 hw/dma/pxa2xx_dma.c
 delete mode 100644 hw/gpio/max7310.c
 delete mode 100644 hw/ide/microdrive.c
 delete mode 100644 hw/input/ads7846.c
 delete mode 100644 hw/input/lm832x.c
 delete mode 100644 hw/input/pxa2xx_keypad.c
 delete mode 100644 hw/input/tsc2005.c
 delete mode 100644 hw/input/tsc210x.c
 delete mode 100644 hw/misc/cbus.c
 delete mode 100644 hw/misc/mst_fpga.c
 delete mode 100644 hw/misc/omap_gpmc.c
 delete mode 100644 hw/misc/omap_l4.c
 delete mode 100644 hw/misc/omap_sdrc.c
 delete mode 100644 hw/misc/omap_tap.c
 delete mode 100644 hw/pcmcia/pcmcia.c
 delete mode 100644 hw/pcmcia/pxa2xx.c
 delete mode 100644 hw/rtc/twl92230.c
 delete mode 100644 hw/sd/pxa2xx_mmci.c
 delete mode 100644 hw/ssi/omap_spi.c
 delete mode 100644 hw/timer/omap_gptimer.c
 delete mode 100644 hw/timer/omap_synctimer.c
 delete mode 100644 hw/usb/hcd-musb.c
 delete mode 100644 hw/usb/tusb6010.c
 delete mode 100644 hw/pcmcia/Kconfig
 delete mode 100644 hw/pcmcia/meson.build
 delete mode 100644 tests/avocado/machine_arm_n8x0.py

Comments

Paolo Bonzini Sept. 3, 2024, 4:55 p.m. UTC | #1
On 9/3/24 18:06, Peter Maydell wrote:
> This patchset removes the various Arm machines which we deprecated
> for the 9.0 release and are therefore allowed to remove for the 9.2
> release:
>   akita, borzoi, cheetah, connex, mainstone, n800, n810,
>   spitz, terrier, tosa, verdex, z2
> We get to drop over 30,000 lines of unmaintained code. So it's
> a big patchset but it's almost all deletions.
> 
> We have some command line options which were documented as only used
> by the pxa2xx LCD display driver: -portrait and -rotate.  These
> allowed the user to tell the display device to rotate its output by
> 90/180/270 degrees (and the ui input layer to correspondingly rotate
> mouse event coordinates to match).  I didn't realize these existed
> when we deprecated the pxa2xx machines -- do we need a separate
> deprecate-and-drop period to remove the command line options?  (If
> so, I can drop the relevant patch from this series.)

They are not specific to PXA; PXA LCD is the only one that supports 
passing it to the guest, but the logic is generic: if (for whatever 
reason) your VM generates output that is rotated, you can use the option 
to rotate mouse input.

It's okay to remove it without deprecation notice, but also to keep it. 
Your choice, it's not a lot of code.

Paolo

> The series includes removal of some code which while not strictly
> specific to these machines was in practice used only by them:
>   * the OneNAND flash memory device
>   * the PCMCIA subsystem
>   * the MUSB USB2.0 OTG USB controller chip (hcd-musb)
> 
> Removing these machines hopefully will make it easier to complete
> some API transitions (e.g.  there is only one caller of the
> ui/input-legacy.c function qemu_add_kbd_event_handler() left, and
> five of qemu_add_mouse_event_handler(); a lot of
> qemu_register_reset() calls have gone; and so on).
> 
> (There will be a trivial conflict with my reset patch that gets rid
> of direct setting of DeviceClass::reset in some places, but I'll fix
> that up when merging.)
> 
> thanks
> -- PMM
> 
> Peter Maydell (53):
>    hw/arm: Remove deprecated akita, borzoi, spitz, terrier, tosa boards
>    hw/input: Drop ADS7846 device
>    hw/adc: Remove MAX111X device
>    hw/gpio: Remove MAX7310 device
>    hw/ide: Remove DSCM-1XXXX microdrive device model
>    hw/display: Remove tc6393xb device
>    hw/arm/KConfig: Replace ZAURUS with ZAURUS_SCOOP
>    hw/arm: Remove 'cheetah' machine
>    hw/arm: Remove 'connex' and 'verdex' machines
>    hw/arm: Remove 'mainstone' machine
>    hw/misc: Remove MAINSTONE_FPGA device
>    hw/arm: Remove 'z2' machine
>    hw/arm: Remove STRONGARM->PXA2XX dependency
>    hw/timer/pxa2xx_timer: Remove use of pxa.h header
>    hw/arm: Remove pxa2xx.c
>    hw/sd: Remove pxa2xx_mmci.c
>    hw/input: Remove pxa2xx_keypad
>    hw/display: Remove pxa2xx_lcd.c
>    hw/dma: Remove pxa2xx_dma
>    hw/pcmcia: Remove pxa2xx pcmcia device
>    hw/arm: Remove pxa2xx_gpio
>    hw/arm: Remove pxa2xx_pic
>    hw/timer: Remove pxa27x-timer
>    vl.c: Remove pxa2xx-specific -portrait and -rotate options
>    hw/arm: Remove 'n800' and 'n810' machines
>    hw/misc: Remove cbus
>    hw/display: Remove Blizzard display device
>    hw/input: Remove tsc2005 touchscreen controller
>    hw/input: Remove tsc210x device
>    hw/rtc: Remove twl92230 device
>    hw/input: Remove lm832x device
>    hw/block: Remove OneNAND device
>    hw/usb: Remove tusb6010 USB controller
>    hw/usb: Remove MUSB USB host controller
>    hw: Remove PCMCIA subsystem
>    docs: Document removal of old Arm boards
>    hw/arm: Remove omap2.c
>    hw/gpio: Remove TYPE_OMAP2_GPIO
>    hw/char: Remove omap2_uart
>    hw/intc: Remove omap2-intc device
>    hw/sd: Remove omap2_mmc device
>    hw/misc: Remove omap_sdrc device
>    hw/misc: Remove omap_gpmc
>    hw/timer: Remove omap_gptimer
>    hw/timer: Remove omap_synctimer
>    hw/block: Remove ecc
>    hw/ssi: Remove omap_mcspi
>    hw/misc: Remove omap_tap device
>    hw/display: Remove omap_dss
>    hw/misc: Remove omap_l4 device
>    hw/misc/omap_clk: Remove OMAP2-specifics
>    hw/dma: Remove omap_dma4 device
>    hw: Remove omap2 specific defines and enums
> 
>   MAINTAINERS                             |   58 +-
>   docs/about/deprecated.rst               |   15 -
>   docs/about/removed-features.rst         |   15 +
>   docs/system/arm/gumstix.rst             |   21 -
>   docs/system/arm/mainstone.rst           |   25 -
>   docs/system/arm/nseries.rst             |   33 -
>   docs/system/arm/palm.rst                |   23 -
>   docs/system/arm/xscale.rst              |   35 -
>   docs/system/target-arm.rst              |    5 -
>   configs/devices/arm-softmmu/default.mak |    7 -
>   include/hw/adc/max111x.h                |   56 -
>   include/hw/arm/omap.h                   |  350 +--
>   include/hw/arm/pxa.h                    |  197 --
>   include/hw/block/flash.h                |   14 -
>   include/hw/display/blizzard.h           |   21 -
>   include/hw/display/tc6393xb.h           |   21 -
>   include/hw/input/lm832x.h               |   28 -
>   include/hw/input/tsc2xxx.h              |   41 -
>   include/hw/misc/cbus.h                  |   31 -
>   include/hw/pcmcia.h                     |   66 -
>   include/hw/usb/hcd-musb.h               |   49 -
>   include/sysemu/sysemu.h                 |    1 -
>   hw/adc/max111x.c                        |  236 --
>   hw/arm/gumstix.c                        |  141 --
>   hw/arm/mainstone.c                      |  175 --
>   hw/arm/nseries.c                        | 1473 ------------
>   hw/arm/omap2.c                          | 2715 -----------------------
>   hw/arm/palm.c                           |  324 ---
>   hw/arm/pxa2xx.c                         | 2393 --------------------
>   hw/arm/pxa2xx_gpio.c                    |  365 ---
>   hw/arm/pxa2xx_pic.c                     |  359 ---
>   hw/arm/spitz.c                          | 1284 -----------
>   hw/arm/tosa.c                           |  327 ---
>   hw/arm/z2.c                             |  355 ---
>   hw/block/ecc.c                          |   91 -
>   hw/block/onenand.c                      |  872 --------
>   hw/char/omap_uart.c                     |  113 -
>   hw/display/blizzard.c                   | 1026 ---------
>   hw/display/omap_dss.c                   | 1093 ---------
>   hw/display/pxa2xx_lcd.c                 | 1451 ------------
>   hw/display/tc6393xb.c                   |  568 -----
>   hw/dma/omap_dma.c                       |  451 +---
>   hw/dma/pxa2xx_dma.c                     |  591 -----
>   hw/gpio/max7310.c                       |  217 --
>   hw/gpio/omap_gpio.c                     |  557 -----
>   hw/ide/microdrive.c                     |  644 ------
>   hw/input/ads7846.c                      |  186 --
>   hw/input/lm832x.c                       |  528 -----
>   hw/input/pxa2xx_keypad.c                |  331 ---
>   hw/input/tsc2005.c                      |  571 -----
>   hw/input/tsc210x.c                      | 1241 -----------
>   hw/intc/omap_intc.c                     |  276 ---
>   hw/misc/cbus.c                          |  619 ------
>   hw/misc/mst_fpga.c                      |  269 ---
>   hw/misc/omap_clk.c                      |  527 +----
>   hw/misc/omap_gpmc.c                     |  898 --------
>   hw/misc/omap_l4.c                       |  162 --
>   hw/misc/omap_sdrc.c                     |  167 --
>   hw/misc/omap_tap.c                      |  117 -
>   hw/pcmcia/pcmcia.c                      |   24 -
>   hw/pcmcia/pxa2xx.c                      |  248 ---
>   hw/rtc/twl92230.c                       |  882 --------
>   hw/sd/omap_mmc.c                        |   63 -
>   hw/sd/pxa2xx_mmci.c                     |  594 -----
>   hw/ssi/omap_spi.c                       |  380 ----
>   hw/timer/omap_gptimer.c                 |  512 -----
>   hw/timer/omap_synctimer.c               |  110 -
>   hw/timer/pxa2xx_timer.c                 |   25 -
>   hw/usb/hcd-musb.c                       | 1553 -------------
>   hw/usb/tusb6010.c                       |  850 -------
>   system/globals.c                        |    1 -
>   system/vl.c                             |   11 -
>   ui/input.c                              |   36 -
>   hw/Kconfig                              |    1 -
>   hw/adc/Kconfig                          |    3 -
>   hw/adc/meson.build                      |    1 -
>   hw/arm/Kconfig                          |   90 +-
>   hw/arm/meson.build                      |    9 -
>   hw/block/Kconfig                        |    6 -
>   hw/block/meson.build                    |    2 -
>   hw/display/Kconfig                      |    3 -
>   hw/display/meson.build                  |    4 -
>   hw/dma/meson.build                      |    1 -
>   hw/gpio/Kconfig                         |    7 +-
>   hw/gpio/meson.build                     |    3 +-
>   hw/ide/Kconfig                          |    6 -
>   hw/ide/meson.build                      |    1 -
>   hw/input/Kconfig                        |   13 -
>   hw/input/meson.build                    |    5 -
>   hw/input/trace-events                   |    3 -
>   hw/meson.build                          |    1 -
>   hw/misc/Kconfig                         |    1 -
>   hw/misc/meson.build                     |    6 -
>   hw/pcmcia/Kconfig                       |    2 -
>   hw/pcmcia/meson.build                   |    2 -
>   hw/rtc/Kconfig                          |    4 -
>   hw/rtc/meson.build                      |    1 -
>   hw/sd/meson.build                       |    1 -
>   hw/sd/trace-events                      |    4 -
>   hw/ssi/meson.build                      |    1 -
>   hw/timer/Kconfig                        |    3 +
>   hw/timer/meson.build                    |    4 +-
>   hw/usb/Kconfig                          |    8 -
>   hw/usb/meson.build                      |    2 -
>   qemu-options.hx                         |   16 -
>   tests/avocado/machine_arm_n8x0.py       |   49 -
>   106 files changed, 39 insertions(+), 30338 deletions(-)
>   delete mode 100644 docs/system/arm/gumstix.rst
>   delete mode 100644 docs/system/arm/mainstone.rst
>   delete mode 100644 docs/system/arm/nseries.rst
>   delete mode 100644 docs/system/arm/palm.rst
>   delete mode 100644 docs/system/arm/xscale.rst
>   delete mode 100644 include/hw/adc/max111x.h
>   delete mode 100644 include/hw/arm/pxa.h
>   delete mode 100644 include/hw/display/blizzard.h
>   delete mode 100644 include/hw/display/tc6393xb.h
>   delete mode 100644 include/hw/input/lm832x.h
>   delete mode 100644 include/hw/input/tsc2xxx.h
>   delete mode 100644 include/hw/misc/cbus.h
>   delete mode 100644 include/hw/pcmcia.h
>   delete mode 100644 include/hw/usb/hcd-musb.h
>   delete mode 100644 hw/adc/max111x.c
>   delete mode 100644 hw/arm/gumstix.c
>   delete mode 100644 hw/arm/mainstone.c
>   delete mode 100644 hw/arm/nseries.c
>   delete mode 100644 hw/arm/omap2.c
>   delete mode 100644 hw/arm/palm.c
>   delete mode 100644 hw/arm/pxa2xx.c
>   delete mode 100644 hw/arm/pxa2xx_gpio.c
>   delete mode 100644 hw/arm/pxa2xx_pic.c
>   delete mode 100644 hw/arm/spitz.c
>   delete mode 100644 hw/arm/tosa.c
>   delete mode 100644 hw/arm/z2.c
>   delete mode 100644 hw/block/ecc.c
>   delete mode 100644 hw/block/onenand.c
>   delete mode 100644 hw/display/blizzard.c
>   delete mode 100644 hw/display/omap_dss.c
>   delete mode 100644 hw/display/pxa2xx_lcd.c
>   delete mode 100644 hw/display/tc6393xb.c
>   delete mode 100644 hw/dma/pxa2xx_dma.c
>   delete mode 100644 hw/gpio/max7310.c
>   delete mode 100644 hw/ide/microdrive.c
>   delete mode 100644 hw/input/ads7846.c
>   delete mode 100644 hw/input/lm832x.c
>   delete mode 100644 hw/input/pxa2xx_keypad.c
>   delete mode 100644 hw/input/tsc2005.c
>   delete mode 100644 hw/input/tsc210x.c
>   delete mode 100644 hw/misc/cbus.c
>   delete mode 100644 hw/misc/mst_fpga.c
>   delete mode 100644 hw/misc/omap_gpmc.c
>   delete mode 100644 hw/misc/omap_l4.c
>   delete mode 100644 hw/misc/omap_sdrc.c
>   delete mode 100644 hw/misc/omap_tap.c
>   delete mode 100644 hw/pcmcia/pcmcia.c
>   delete mode 100644 hw/pcmcia/pxa2xx.c
>   delete mode 100644 hw/rtc/twl92230.c
>   delete mode 100644 hw/sd/pxa2xx_mmci.c
>   delete mode 100644 hw/ssi/omap_spi.c
>   delete mode 100644 hw/timer/omap_gptimer.c
>   delete mode 100644 hw/timer/omap_synctimer.c
>   delete mode 100644 hw/usb/hcd-musb.c
>   delete mode 100644 hw/usb/tusb6010.c
>   delete mode 100644 hw/pcmcia/Kconfig
>   delete mode 100644 hw/pcmcia/meson.build
>   delete mode 100644 tests/avocado/machine_arm_n8x0.py
>
Peter Maydell Sept. 3, 2024, 5:03 p.m. UTC | #2
On Tue, 3 Sept 2024 at 17:55, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> On 9/3/24 18:06, Peter Maydell wrote:
> > This patchset removes the various Arm machines which we deprecated
> > for the 9.0 release and are therefore allowed to remove for the 9.2
> > release:
> >   akita, borzoi, cheetah, connex, mainstone, n800, n810,
> >   spitz, terrier, tosa, verdex, z2
> > We get to drop over 30,000 lines of unmaintained code. So it's
> > a big patchset but it's almost all deletions.
> >
> > We have some command line options which were documented as only used
> > by the pxa2xx LCD display driver: -portrait and -rotate.  These
> > allowed the user to tell the display device to rotate its output by
> > 90/180/270 degrees (and the ui input layer to correspondingly rotate
> > mouse event coordinates to match).  I didn't realize these existed
> > when we deprecated the pxa2xx machines -- do we need a separate
> > deprecate-and-drop period to remove the command line options?  (If
> > so, I can drop the relevant patch from this series.)
>
> They are not specific to PXA; PXA LCD is the only one that supports
> passing it to the guest, but the logic is generic: if (for whatever
> reason) your VM generates output that is rotated, you can use the option
> to rotate mouse input.
>
> It's okay to remove it without deprecation notice, but also to keep it.
> Your choice, it's not a lot of code.

Well, the documentation for them says:
 -portrait       rotate graphical output 90 deg left (only PXA LCD)
 -rotate <deg>   rotate graphical output some deg left (only PXA LCD)

so the original intent was clearly (a) that the main effect
was rotation of the graphical output and (b) that these were
only effective for PXA.

The PXA display device doesn't pass anything through to the guest,
by the way -- it just draws the pixels in the guest framebuffer
in a different place in the UI window. As the FIXME comment in
pxa2xx_lcd.c notes, this should really have been done in common
code, not in a specific display driver.

As we both note, the UI input layer part *is* generic code so it
will do the rotation regardless of whether the display device is
also rotating the guest output. But that seems to me more of
an accident than an intentional feature.

I don't care very much because there's not that much code
involved. It's all separated out into patch 24 of this series:
https://patchew.org/QEMU/20240903160751.4100218-1-peter.maydell@linaro.org/20240903160751.4100218-25-peter.maydell@linaro.org/

-- PMM
Paolo Bonzini Sept. 3, 2024, 5:15 p.m. UTC | #3
On Tue, Sep 3, 2024 at 7:04 PM Peter Maydell <peter.maydell@linaro.org> wrote:
> The PXA display device doesn't pass anything through to the guest,
> by the way -- it just draws the pixels in the guest framebuffer
> in a different place in the UI window. As the FIXME comment in
> pxa2xx_lcd.c notes, this should really have been done in common
> code, not in a specific display driver.

spitz also passes it through SPITZ_GPIO_SWB ("Tablet mode"), though
it's incomplete because it should have treated 180 the same as 0.

> As we both note, the UI input layer part *is* generic code so it
> will do the rotation regardless of whether the display device is
> also rotating the guest output. But that seems to me more of
> an accident than an intentional feature.

Yes, it is, though it *is* working. On the other hand I doubt anyone
is using it. Since we have in the past removed single options like
-alt-grab, whoever needs it can resurrect the code from git and add
the options to -display. They can also add rotation of the output as a
separate knob from rotation of the input.

Paolo
Peter Maydell Sept. 5, 2024, 12:06 p.m. UTC | #4
On Tue, 3 Sept 2024 at 18:15, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> On Tue, Sep 3, 2024 at 7:04 PM Peter Maydell <peter.maydell@linaro.org> wrote:
> > The PXA display device doesn't pass anything through to the guest,
> > by the way -- it just draws the pixels in the guest framebuffer
> > in a different place in the UI window. As the FIXME comment in
> > pxa2xx_lcd.c notes, this should really have been done in common
> > code, not in a specific display driver.
>
> spitz also passes it through SPITZ_GPIO_SWB ("Tablet mode"), though
> it's incomplete because it should have treated 180 the same as 0.

Whoops, yes -- by the time I got to grepping the sources for
uses of the graphic_rotate variable I'd already deleted
the spitz.c source file, so I missed that :-)

> > As we both note, the UI input layer part *is* generic code so it
> > will do the rotation regardless of whether the display device is
> > also rotating the guest output. But that seems to me more of
> > an accident than an intentional feature.
>
> Yes, it is, though it *is* working. On the other hand I doubt anyone
> is using it. Since we have in the past removed single options like
> -alt-grab, whoever needs it can resurrect the code from git and add
> the options to -display. They can also add rotation of the output as a
> separate knob from rotation of the input.

Yeah, I agree. I'll reroll this particular patch separately
from the rest and include a paragraph for removed-features.rst
specifically documenting that -portrait and -rotate have gone
away and why.

thanks
-- PMM
Philippe Mathieu-Daudé Sept. 9, 2024, 1:40 p.m. UTC | #5
Hi,

On 3/9/24 18:06, Peter Maydell wrote:
> This patchset removes the various Arm machines which we deprecated
> for the 9.0 release and are therefore allowed to remove for the 9.2
> release:
>   akita, borzoi, cheetah, connex, mainstone, n800, n810,
>   spitz, terrier, tosa, verdex, z2

> The series includes removal of some code which while not strictly
> specific to these machines was in practice used only by them:
>   * the OneNAND flash memory device
>   * the PCMCIA subsystem
>   * the MUSB USB2.0 OTG USB controller chip (hcd-musb)

> thanks
> -- PMM
> 
> Peter Maydell (53):
>    hw/input: Drop ADS7846 device
>    hw/adc: Remove MAX111X device
>    hw/gpio: Remove MAX7310 device
>    hw/input: Remove tsc2005 touchscreen controller
>    hw/input: Remove tsc210x device
>    hw/rtc: Remove twl92230 device
>    hw/input: Remove lm832x device
>    hw/usb: Remove tusb6010 USB controller
>    hw/usb: Remove MUSB USB host controller

Some of these devices are user-creatable and only rely on a bus
(not a particular removed machine), so could potentially be used
on other maintained machines which expose a similar bus.
We don't have in-tree (tests/) examples, but I wonder if it is OK
to remove them without first explicitly deprecating them in
docs/about/deprecated.rst. I wouldn't surprise users when 9.2 is
release. Maybe this isn't an issue, but I prefer to mention it
now to be sure.

Regards,

Phil.
Peter Maydell Sept. 9, 2024, 1:44 p.m. UTC | #6
On Mon, 9 Sept 2024 at 14:41, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> Hi,
>
> On 3/9/24 18:06, Peter Maydell wrote:
> > This patchset removes the various Arm machines which we deprecated
> > for the 9.0 release and are therefore allowed to remove for the 9.2
> > release:
> >   akita, borzoi, cheetah, connex, mainstone, n800, n810,
> >   spitz, terrier, tosa, verdex, z2
>
> > The series includes removal of some code which while not strictly
> > specific to these machines was in practice used only by them:
> >   * the OneNAND flash memory device
> >   * the PCMCIA subsystem
> >   * the MUSB USB2.0 OTG USB controller chip (hcd-musb)
>
> > thanks
> > -- PMM
> >
> > Peter Maydell (53):
> >    hw/input: Drop ADS7846 device
> >    hw/adc: Remove MAX111X device
> >    hw/gpio: Remove MAX7310 device
> >    hw/input: Remove tsc2005 touchscreen controller
> >    hw/input: Remove tsc210x device
> >    hw/rtc: Remove twl92230 device
> >    hw/input: Remove lm832x device
> >    hw/usb: Remove tusb6010 USB controller
> >    hw/usb: Remove MUSB USB host controller
>
> Some of these devices are user-creatable and only rely on a bus
> (not a particular removed machine), so could potentially be used
> on other maintained machines which expose a similar bus.

Which ones in particular? Almost all of them are sysbus.
At least one of them that I looked at (lm832x) is an I2C
device but it also requires the board to wire up a GPIO line
and to call a specific C function to inject key events, so it's
not actually generally usable.

> We don't have in-tree (tests/) examples, but I wonder if it is OK
> to remove them without first explicitly deprecating them in
> docs/about/deprecated.rst. I wouldn't surprise users when 9.2 is
> release. Maybe this isn't an issue, but I prefer to mention it
> now to be sure.

I think this is unlikely to be a problem, but if you have
a specific device you think might be a problem we can
look at whether it seems likely (e.g. whether a web search
turns up users using it in odd ways).

thanks
-- PMM
Guenter Roeck Sept. 9, 2024, 2:55 p.m. UTC | #7
On 9/9/24 06:40, Philippe Mathieu-Daudé wrote:
> Hi,
> 
> On 3/9/24 18:06, Peter Maydell wrote:
>> This patchset removes the various Arm machines which we deprecated
>> for the 9.0 release and are therefore allowed to remove for the 9.2
>> release:
>>   akita, borzoi, cheetah, connex, mainstone, n800, n810,
>>   spitz, terrier, tosa, verdex, z2
> 
>> The series includes removal of some code which while not strictly
>> specific to these machines was in practice used only by them:
>>   * the OneNAND flash memory device
>>   * the PCMCIA subsystem
>>   * the MUSB USB2.0 OTG USB controller chip (hcd-musb)
> 
>> thanks
>> -- PMM
>>
>> Peter Maydell (53):
>>    hw/input: Drop ADS7846 device
>>    hw/adc: Remove MAX111X device
>>    hw/gpio: Remove MAX7310 device

max7310 is a gpio controller which is at least somewhat compatible
to pca953x. It is used on imx6qdl-sabreauto, and also instantiated
by Linux with the INT3491 ACPI ID.

Is there real pressure to remove support for such devices ?

Thanks,
Guenter

>>    hw/input: Remove tsc2005 touchscreen controller
>>    hw/input: Remove tsc210x device
>>    hw/rtc: Remove twl92230 device
>>    hw/input: Remove lm832x device
>>    hw/usb: Remove tusb6010 USB controller
>>    hw/usb: Remove MUSB USB host controller
> 
> Some of these devices are user-creatable and only rely on a bus
> (not a particular removed machine), so could potentially be used
> on other maintained machines which expose a similar bus.
> We don't have in-tree (tests/) examples, but I wonder if it is OK
> to remove them without first explicitly deprecating them in
> docs/about/deprecated.rst. I wouldn't surprise users when 9.2 is
> release. Maybe this isn't an issue, but I prefer to mention it
> now to be sure.
> 
> Regards,
> 
> Phil.
Peter Maydell Sept. 9, 2024, 3:02 p.m. UTC | #8
On Mon, 9 Sept 2024 at 15:55, Guenter Roeck <linux@roeck-us.net> wrote:
>
> On 9/9/24 06:40, Philippe Mathieu-Daudé wrote:
> > Hi,
> >
> > On 3/9/24 18:06, Peter Maydell wrote:
> >> This patchset removes the various Arm machines which we deprecated
> >> for the 9.0 release and are therefore allowed to remove for the 9.2
> >> release:
> >>   akita, borzoi, cheetah, connex, mainstone, n800, n810,
> >>   spitz, terrier, tosa, verdex, z2
> >
> >> The series includes removal of some code which while not strictly
> >> specific to these machines was in practice used only by them:
> >>   * the OneNAND flash memory device
> >>   * the PCMCIA subsystem
> >>   * the MUSB USB2.0 OTG USB controller chip (hcd-musb)
> >
> >> thanks
> >> -- PMM
> >>
> >> Peter Maydell (53):
> >>    hw/input: Drop ADS7846 device
> >>    hw/adc: Remove MAX111X device
> >>    hw/gpio: Remove MAX7310 device
>
> max7310 is a gpio controller which is at least somewhat compatible
> to pca953x. It is used on imx6qdl-sabreauto, and also instantiated
> by Linux with the INT3491 ACPI ID.
>
> Is there real pressure to remove support for such devices ?

"git grep" says the only place we use our max7310 device is
on the "spitz" board. The point of removing all those
elderly Arm boards is that all this code is ancient and
unmaintained. If we were using this device on the imx6
boards I would have kept it, but we aren't. I don't want
to keep old, unmaintained, untested, dead code in the tree.
If anybody does want to use it on some board in future
they can always pull it out of the git history (and
check whether it needs work to bring it up to modern
standards, and write some tests for it...)

thanks
-- PMM
Philippe Mathieu-Daudé Sept. 9, 2024, 3:45 p.m. UTC | #9
On 9/9/24 17:02, Peter Maydell wrote:
> On Mon, 9 Sept 2024 at 15:55, Guenter Roeck <linux@roeck-us.net> wrote:
>>
>> On 9/9/24 06:40, Philippe Mathieu-Daudé wrote:
>>> Hi,
>>>
>>> On 3/9/24 18:06, Peter Maydell wrote:
>>>> This patchset removes the various Arm machines which we deprecated
>>>> for the 9.0 release and are therefore allowed to remove for the 9.2
>>>> release:
>>>>    akita, borzoi, cheetah, connex, mainstone, n800, n810,
>>>>    spitz, terrier, tosa, verdex, z2
>>>
>>>> The series includes removal of some code which while not strictly
>>>> specific to these machines was in practice used only by them:
>>>>    * the OneNAND flash memory device
>>>>    * the PCMCIA subsystem
>>>>    * the MUSB USB2.0 OTG USB controller chip (hcd-musb)
>>>
>>>> thanks
>>>> -- PMM
>>>>
>>>> Peter Maydell (53):
>>>>     hw/input: Drop ADS7846 device
>>>>     hw/adc: Remove MAX111X device
>>>>     hw/gpio: Remove MAX7310 device
>>
>> max7310 is a gpio controller which is at least somewhat compatible
>> to pca953x. It is used on imx6qdl-sabreauto, and also instantiated
>> by Linux with the INT3491 ACPI ID.

Can you use the PCF8574 port expander instead? It uses more recent
QEMU design model.

>> Is there real pressure to remove support for such devices ?
> 
> "git grep" says the only place we use our max7310 device is
> on the "spitz" board. The point of removing all those
> elderly Arm boards is that all this code is ancient and
> unmaintained. If we were using this device on the imx6
> boards I would have kept it, but we aren't. I don't want
> to keep old, unmaintained, untested, dead code in the tree.
> If anybody does want to use it on some board in future
> they can always pull it out of the git history (and
> check whether it needs work to bring it up to modern
> standards, and write some tests for it...)
> 
> thanks
> -- PMM
Guenter Roeck Sept. 9, 2024, 5:02 p.m. UTC | #10
On Mon, Sep 09, 2024 at 05:45:35PM +0200, Philippe Mathieu-Daudé wrote:
> On 9/9/24 17:02, Peter Maydell wrote:
> > On Mon, 9 Sept 2024 at 15:55, Guenter Roeck <linux@roeck-us.net> wrote:
> > > 
> > > On 9/9/24 06:40, Philippe Mathieu-Daudé wrote:
> > > > Hi,
> > > > 
> > > > On 3/9/24 18:06, Peter Maydell wrote:
> > > > > This patchset removes the various Arm machines which we deprecated
> > > > > for the 9.0 release and are therefore allowed to remove for the 9.2
> > > > > release:
> > > > >    akita, borzoi, cheetah, connex, mainstone, n800, n810,
> > > > >    spitz, terrier, tosa, verdex, z2
> > > > 
> > > > > The series includes removal of some code which while not strictly
> > > > > specific to these machines was in practice used only by them:
> > > > >    * the OneNAND flash memory device
> > > > >    * the PCMCIA subsystem
> > > > >    * the MUSB USB2.0 OTG USB controller chip (hcd-musb)
> > > > 
> > > > > thanks
> > > > > -- PMM
> > > > > 
> > > > > Peter Maydell (53):
> > > > >     hw/input: Drop ADS7846 device
> > > > >     hw/adc: Remove MAX111X device
> > > > >     hw/gpio: Remove MAX7310 device
> > > 
> > > max7310 is a gpio controller which is at least somewhat compatible
> > > to pca953x. It is used on imx6qdl-sabreauto, and also instantiated
> > > by Linux with the INT3491 ACPI ID.
> 
> Can you use the PCF8574 port expander instead? It uses more recent
> QEMU design model.
> 

Ok with me.

Guenter
Philippe Mathieu-Daudé Sept. 9, 2024, 5:25 p.m. UTC | #11
Hi Peter,

On 9/9/24 15:44, Peter Maydell wrote:
> On Mon, 9 Sept 2024 at 14:41, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>>
>> Hi,
>>
>> On 3/9/24 18:06, Peter Maydell wrote:
>>> This patchset removes the various Arm machines which we deprecated
>>> for the 9.0 release and are therefore allowed to remove for the 9.2
>>> release:
>>>    akita, borzoi, cheetah, connex, mainstone, n800, n810,
>>>    spitz, terrier, tosa, verdex, z2
>>
>>> The series includes removal of some code which while not strictly
>>> specific to these machines was in practice used only by them:
>>>    * the OneNAND flash memory device
>>>    * the PCMCIA subsystem
>>>    * the MUSB USB2.0 OTG USB controller chip (hcd-musb)
>>
>>> thanks
>>> -- PMM
>>>
>>> Peter Maydell (53):
>>>     hw/input: Drop ADS7846 device
>>>     hw/adc: Remove MAX111X device
>>>     hw/gpio: Remove MAX7310 device
>>>     hw/input: Remove tsc2005 touchscreen controller
>>>     hw/input: Remove tsc210x device
>>>     hw/rtc: Remove twl92230 device
>>>     hw/input: Remove lm832x device
>>>     hw/usb: Remove tusb6010 USB controller
>>>     hw/usb: Remove MUSB USB host controller
>>
>> Some of these devices are user-creatable and only rely on a bus
>> (not a particular removed machine), so could potentially be used
>> on other maintained machines which expose a similar bus.
> 
> Which ones in particular? Almost all of them are sysbus.
> At least one of them that I looked at (lm832x) is an I2C
> device but it also requires the board to wire up a GPIO line
> and to call a specific C function to inject key events, so it's
> not actually generally usable.
> 
>> We don't have in-tree (tests/) examples, but I wonder if it is OK
>> to remove them without first explicitly deprecating them in
>> docs/about/deprecated.rst. I wouldn't surprise users when 9.2 is
>> release. Maybe this isn't an issue, but I prefer to mention it
>> now to be sure.
> 
> I think this is unlikely to be a problem, but if you have
> a specific device you think might be a problem we can
> look at whether it seems likely (e.g. whether a web search
> turns up users using it in odd ways).

I don't have specific example and am happy to remove these
legacy devices.

I'm wondering more generically about removing user-creatable &
on-bus devices, when explicit use is removed (deprecated board
removed), but we can still use them elsewhere. IMHO for clarity
in the future we should list them in deprecated.rst along with
some lines like "this device is explicitly used by the FOO machine which
is being deprecated; if you want to keep them, provide test cases".

(To be clear, I'm not asking we do that for this devices set.)

Regards,

Phil.
Peter Maydell Sept. 9, 2024, 6:16 p.m. UTC | #12
On Mon, 9 Sept 2024 at 18:25, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> Hi Peter,
>
> On 9/9/24 15:44, Peter Maydell wrote:
> > On Mon, 9 Sept 2024 at 14:41, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
> >>
> >> Hi,
> >>
> >> On 3/9/24 18:06, Peter Maydell wrote:
> >>> This patchset removes the various Arm machines which we deprecated
> >>> for the 9.0 release and are therefore allowed to remove for the 9.2
> >>> release:
> >>>    akita, borzoi, cheetah, connex, mainstone, n800, n810,
> >>>    spitz, terrier, tosa, verdex, z2
> >>
> >>> The series includes removal of some code which while not strictly
> >>> specific to these machines was in practice used only by them:
> >>>    * the OneNAND flash memory device
> >>>    * the PCMCIA subsystem
> >>>    * the MUSB USB2.0 OTG USB controller chip (hcd-musb)
> >>
> >>> thanks
> >>> -- PMM
> >>>
> >>> Peter Maydell (53):
> >>>     hw/input: Drop ADS7846 device
> >>>     hw/adc: Remove MAX111X device
> >>>     hw/gpio: Remove MAX7310 device
> >>>     hw/input: Remove tsc2005 touchscreen controller
> >>>     hw/input: Remove tsc210x device
> >>>     hw/rtc: Remove twl92230 device
> >>>     hw/input: Remove lm832x device
> >>>     hw/usb: Remove tusb6010 USB controller
> >>>     hw/usb: Remove MUSB USB host controller
> >>
> >> Some of these devices are user-creatable and only rely on a bus
> >> (not a particular removed machine), so could potentially be used
> >> on other maintained machines which expose a similar bus.
> >
> > Which ones in particular? Almost all of them are sysbus.
> > At least one of them that I looked at (lm832x) is an I2C
> > device but it also requires the board to wire up a GPIO line
> > and to call a specific C function to inject key events, so it's
> > not actually generally usable.
> >
> >> We don't have in-tree (tests/) examples, but I wonder if it is OK
> >> to remove them without first explicitly deprecating them in
> >> docs/about/deprecated.rst. I wouldn't surprise users when 9.2 is
> >> release. Maybe this isn't an issue, but I prefer to mention it
> >> now to be sure.
> >
> > I think this is unlikely to be a problem, but if you have
> > a specific device you think might be a problem we can
> > look at whether it seems likely (e.g. whether a web search
> > turns up users using it in odd ways).
>
> I don't have specific example and am happy to remove these
> legacy devices.
>
> I'm wondering more generically about removing user-creatable &
> on-bus devices, when explicit use is removed (deprecated board
> removed), but we can still use them elsewhere. IMHO for clarity
> in the future we should list them in deprecated.rst along with
> some lines like "this device is explicitly used by the FOO machine which
> is being deprecated; if you want to keep them, provide test cases".

Yes, I think that would be a good idea going forward. I didn't
realise in this case that some of the boards used devices that
were i2c or whatever and at least nominally usable elsewhere.

-- PMM
Peter Maydell Sept. 10, 2024, 10:17 a.m. UTC | #13
On Mon, 9 Sept 2024 at 16:02, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> On Mon, 9 Sept 2024 at 15:55, Guenter Roeck <linux@roeck-us.net> wrote:
> >
> > On 9/9/24 06:40, Philippe Mathieu-Daudé wrote:
> > > Hi,
> > >
> > > On 3/9/24 18:06, Peter Maydell wrote:
> > >> This patchset removes the various Arm machines which we deprecated
> > >> for the 9.0 release and are therefore allowed to remove for the 9.2
> > >> release:
> > >>   akita, borzoi, cheetah, connex, mainstone, n800, n810,
> > >>   spitz, terrier, tosa, verdex, z2
> > >
> > >> The series includes removal of some code which while not strictly
> > >> specific to these machines was in practice used only by them:
> > >>   * the OneNAND flash memory device
> > >>   * the PCMCIA subsystem
> > >>   * the MUSB USB2.0 OTG USB controller chip (hcd-musb)
> > >
> > >> thanks
> > >> -- PMM
> > >>
> > >> Peter Maydell (53):
> > >>    hw/input: Drop ADS7846 device
> > >>    hw/adc: Remove MAX111X device
> > >>    hw/gpio: Remove MAX7310 device
> >
> > max7310 is a gpio controller which is at least somewhat compatible
> > to pca953x. It is used on imx6qdl-sabreauto, and also instantiated
> > by Linux with the INT3491 ACPI ID.
> >
> > Is there real pressure to remove support for such devices ?
>
> "git grep" says the only place we use our max7310 device is
> on the "spitz" board. The point of removing all those
> elderly Arm boards is that all this code is ancient and
> unmaintained. If we were using this device on the imx6
> boards I would have kept it, but we aren't. I don't want
> to keep old, unmaintained, untested, dead code in the tree.

I should clarify here that if anybody is actually using
these devices with some other board model today, then
that would be a good reason to keep them. The situations
that I don't think justify retaining them are "in theory
somebody could create this device on the command line
with some other board" and "some future machine or SoC
model that we don't yet have might want this device".

thanks
-- PMM
Peter Maydell Sept. 16, 2024, 10:26 a.m. UTC | #14
On Tue, 3 Sept 2024 at 17:07, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> This patchset removes the various Arm machines which we deprecated
> for the 9.0 release and are therefore allowed to remove for the 9.2
> release:
>  akita, borzoi, cheetah, connex, mainstone, n800, n810,
>  spitz, terrier, tosa, verdex, z2
> We get to drop over 30,000 lines of unmaintained code. So it's
> a big patchset but it's almost all deletions.

Hi -- ping for review on at least patches 06, 08, 18:

>   hw/display: Remove tc6393xb device
>   hw/arm: Remove 'cheetah' machine
>   hw/display: Remove pxa2xx_lcd.c

These are all straightforward removals of either
deprecated machines or devices that are definitely
exclusively used by those machines. That would be
enough for me to get the bulk of the uncontroversial
reviewed parts of this series upstream. I can then
roll a much smaller v2 with the parts still under
discussion.

Patches 22, 26 would also be helpful but they're a
bit further down the patchstack so less critical:

>   hw/arm: Remove pxa2xx_pic
>   hw/misc: Remove cbus

thanks
-- PMM
Peter Maydell Oct. 1, 2024, 1:04 p.m. UTC | #15
On Mon, 16 Sept 2024 at 11:26, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> On Tue, 3 Sept 2024 at 17:07, Peter Maydell <peter.maydell@linaro.org> wrote:
> >
> > This patchset removes the various Arm machines which we deprecated
> > for the 9.0 release and are therefore allowed to remove for the 9.2
> > release:
> >  akita, borzoi, cheetah, connex, mainstone, n800, n810,
> >  spitz, terrier, tosa, verdex, z2
> > We get to drop over 30,000 lines of unmaintained code. So it's
> > a big patchset but it's almost all deletions.
>
> Hi -- ping for review on at least patches 06, 08, 18:
>
> >   hw/display: Remove tc6393xb device
> >   hw/arm: Remove 'cheetah' machine
> >   hw/display: Remove pxa2xx_lcd.c
>
> These are all straightforward removals of either
> deprecated machines or devices that are definitely
> exclusively used by those machines. That would be
> enough for me to get the bulk of the uncontroversial
> reviewed parts of this series upstream. I can then
> roll a much smaller v2 with the parts still under
> discussion.
>
> Patches 22, 26 would also be helpful but they're a
> bit further down the patchstack so less critical:
>
> >   hw/arm: Remove pxa2xx_pic
> >   hw/misc: Remove cbus

In the absence of further review I'm taking these patches
anyway; they're only removals, so not complex stuff that
benefits from close review, and this patchset is too big to be
sat unapplied for long.

thanks
-- PMM