Message ID | 20240903160751.4100218-1-peter.maydell@linaro.org |
---|---|
Headers | show |
Series | arm: Drop deprecated boards | expand |
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 >
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
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
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
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.
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
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.
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
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
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
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.
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
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
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
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