linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/21] ARM: s3c: clean out obsolete platforms
@ 2022-10-21 20:22 Arnd Bergmann
  2022-10-21 20:27 ` [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks Arnd Bergmann
                   ` (3 more replies)
  0 siblings, 4 replies; 17+ messages in thread
From: Arnd Bergmann @ 2022-10-21 20:22 UTC (permalink / raw)
  To: linux-arm-kernel, Krzysztof Kozlowski
  Cc: linux-kernel, Ben Dooks, Simtec Linux Team, Arnd Bergmann,
	linux-doc, linux-samsung-soc, devicetree, patches, linux-stm32,
	linux-ide, linux-clk, linux-pm, dmaengine, linux-hwmon,
	linux-i2c, linux-iio, linux-input, linux-leds, linux-media,
	linux-mmc, linux-mtd, linux-gpio, linux-rtc, linux-spi,
	linux-serial, linux-usb, linux-fbdev, dri-devel, linux-watchdog,
	alsa-devel, linux-pwm

From: Arnd Bergmann <arnd@arndb.de>

The s3c24xx platform was marked as deprecated a while ago,
and for the s3c64xx platform, we marked all except one legacy
board file as unused.

This series removes all of those, leaving only s3c64xx support
for DT based boots as well as the cragg6410 board file.

About half of the s3c specific drivers were only used on
the now removed machines, so these drivers can be retired
as well. I can either merge the driver removal patches through
the soc tree along with the board file patches, or subsystem
maintainers can pick them up into their own trees, whichever
they prefer.

Arnd Bergmann (21):
  ARM: s3c: remove all s3c24xx support
  ARM: s3c: remove s3c24xx specific hacks
  ARM: s3c: remove most s3c64xx board support
  ARM: s3c: remove adc.c
  ARM: s3c: simplify platform code
  ARM: s3c: remove s3c6400 support
  power: remove s3c adc battery driver
  hwmon: remove s3c driver
  pata: remove samsung_cf driver
  mmc: remove s3cmci driver
  clk: remove s3c24xx driver
  leds: remove s3c24xx driver
  usb: gadget: remove s3c24xx drivers
  dmaengine: remove s3c24xx driver
  cpufreq: remove s3c24xx drivers
  fbdev: remove s3c2410 framebuffer
  input: remove s3c24xx touchscreen driver
  pinctrl: remove s3c24xx driver
  spi: remove s3c24xx driver
  soc: s3c: remove pm-debug hack
  ASoC: samsung: remove unused drivers

Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Simtec Linux Team <linux@simtec.co.uk>
Bcc: Alim Akhtar <alim.akhtar@samsung.com>
Bcc: Rob Herring <robh+dt@kernel.org>
Bcc: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Bcc: Sergey Shtylyov <s.shtylyov@omp.ru>
Bcc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Bcc: Tomasz Figa <tomasz.figa@gmail.com>
Bcc: Chanwoo Choi <cw00.choi@samsung.com>
Bcc: Michael Turquette <mturquette@baylibre.com>
Bcc: Stephen Boyd <sboyd@kernel.org>
Bcc: Daniel Lezcano <daniel.lezcano@linaro.org>
Bcc: Thomas Gleixner <tglx@linutronix.de>
Bcc: "Rafael J. Wysocki" <rafael@kernel.org>
Bcc: Viresh Kumar <viresh.kumar@linaro.org>
Bcc: Vinod Koul <vkoul@kernel.org>
Bcc: Jean Delvare <jdelvare@suse.com>
Bcc: Guenter Roeck <linux@roeck-us.net>
Bcc: Jonathan Cameron <jic23@kernel.org>
Bcc: Lars-Peter Clausen <lars@metafoo.de>
Bcc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Bcc: Pavel Machek <pavel@ucw.cz>
Bcc: Mauro Carvalho Chehab <mchehab@kernel.org>
Bcc: Ulf Hansson <ulf.hansson@linaro.org>
Bcc: Miquel Raynal <miquel.raynal@bootlin.com>
Bcc: Richard Weinberger <richard@nod.at>
Bcc: Vignesh Raghavendra <vigneshr@ti.com>
Bcc: Linus Walleij <linus.walleij@linaro.org>
Bcc: Sebastian Reichel <sre@kernel.org>
Bcc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Bcc: Mark Brown <broonie@kernel.org>
Bcc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bcc: Jiri Slaby <jirislaby@kernel.org>
Bcc: Felipe Balbi <balbi@kernel.org>
Bcc: Helge Deller <deller@gmx.de>
Bcc: Wim Van Sebroeck <wim@linux-watchdog.org>
Bcc: Liam Girdwood <lgirdwood@gmail.com>
Bcc: Thierry Reding <thierry.reding@gmail.com>
Bcc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Cc: linux-doc@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: patches@opensource.cirrus.com
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-ide@vger.kernel.org
Cc: linux-clk@vger.kernel.org
Cc: linux-pm@vger.kernel.org
Cc: dmaengine@vger.kernel.org
Cc: linux-hwmon@vger.kernel.org
Cc: linux-i2c@vger.kernel.org
Cc: linux-iio@vger.kernel.org
Cc: linux-input@vger.kernel.org
Cc: linux-leds@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: linux-mmc@vger.kernel.org
Cc: linux-mtd@lists.infradead.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-rtc@vger.kernel.org
Cc: linux-spi@vger.kernel.org
Cc: linux-serial@vger.kernel.org
Cc: linux-usb@vger.kernel.org
Cc: linux-fbdev@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linux-watchdog@vger.kernel.org
Cc: alsa-devel@alsa-project.org
Cc: linux-pwm@vger.kernel.org

 Documentation/arm/index.rst                   |    1 -
 Documentation/arm/samsung-s3c24xx/cpufreq.rst |   77 -
 .../arm/samsung-s3c24xx/eb2410itx.rst         |   59 -
 Documentation/arm/samsung-s3c24xx/gpio.rst    |  172 --
 Documentation/arm/samsung-s3c24xx/h1940.rst   |   41 -
 Documentation/arm/samsung-s3c24xx/index.rst   |   20 -
 Documentation/arm/samsung-s3c24xx/nand.rst    |   30 -
 .../arm/samsung-s3c24xx/overview.rst          |  311 ---
 Documentation/arm/samsung-s3c24xx/s3c2412.rst |  121 -
 Documentation/arm/samsung-s3c24xx/s3c2413.rst |   22 -
 .../arm/samsung-s3c24xx/smdk2440.rst          |   57 -
 Documentation/arm/samsung-s3c24xx/suspend.rst |  137 --
 .../arm/samsung-s3c24xx/usb-host.rst          |   91 -
 Documentation/arm/samsung/overview.rst        |   13 -
 MAINTAINERS                                   |   31 -
 arch/arm/Kconfig                              |    3 +-
 arch/arm/Kconfig.debug                        |   58 +-
 arch/arm/Makefile                             |    2 -
 arch/arm/boot/dts/Makefile                    |    2 -
 arch/arm/boot/dts/s3c2410-pinctrl.h           |   19 -
 arch/arm/boot/dts/s3c2416-pinctrl.dtsi        |  172 --
 arch/arm/boot/dts/s3c2416-smdk2416.dts        |   77 -
 arch/arm/boot/dts/s3c2416.dtsi                |  124 --
 arch/arm/boot/dts/s3c24xx.dtsi                |   92 -
 arch/arm/configs/mini2440_defconfig           |  338 ---
 arch/arm/configs/s3c2410_defconfig            |  437 ----
 arch/arm/configs/tct_hammer_defconfig         |   58 -
 arch/arm/include/debug/s3c24xx.S              |   10 -
 arch/arm/mach-s3c/Kconfig                     |   92 +-
 arch/arm/mach-s3c/Kconfig.s3c24xx             |  604 -----
 arch/arm/mach-s3c/Kconfig.s3c64xx             |  212 --
 arch/arm/mach-s3c/Makefile                    |   12 -
 arch/arm/mach-s3c/Makefile.s3c24xx            |  102 -
 arch/arm/mach-s3c/Makefile.s3c64xx            |   15 -
 arch/arm/mach-s3c/adc-core.h                  |   24 -
 arch/arm/mach-s3c/adc.c                       |  510 -----
 arch/arm/mach-s3c/anubis.h                    |   50 -
 arch/arm/mach-s3c/ata-core-s3c64xx.h          |   24 -
 arch/arm/mach-s3c/backlight-s3c64xx.h         |   22 -
 arch/arm/mach-s3c/bast-ide.c                  |   82 -
 arch/arm/mach-s3c/bast-irq.c                  |  137 --
 arch/arm/mach-s3c/bast.h                      |  194 --
 arch/arm/mach-s3c/common-smdk-s3c24xx.c       |  228 --
 arch/arm/mach-s3c/common-smdk-s3c24xx.h       |   11 -
 arch/arm/mach-s3c/cpu.h                       |   47 -
 arch/arm/mach-s3c/cpufreq-utils-s3c24xx.c     |   94 -
 arch/arm/mach-s3c/dev-audio-s3c64xx.c         |  127 --
 arch/arm/mach-s3c/dev-backlight-s3c64xx.c     |  137 --
 arch/arm/mach-s3c/devs.c                      |  726 ------
 arch/arm/mach-s3c/devs.h                      |   37 -
 arch/arm/mach-s3c/dma-s3c24xx.h               |   51 -
 arch/arm/mach-s3c/dma-s3c64xx.h               |   57 -
 arch/arm/mach-s3c/dma.h                       |    9 -
 arch/arm/mach-s3c/fb-core-s3c24xx.h           |   24 -
 arch/arm/mach-s3c/gpio-cfg-helpers.h          |  124 --
 arch/arm/mach-s3c/gpio-cfg.h                  |   19 -
 arch/arm/mach-s3c/gpio-core.h                 |    3 -
 arch/arm/mach-s3c/gpio-samsung-s3c24xx.h      |  103 -
 arch/arm/mach-s3c/gpio-samsung.c              |  443 +---
 arch/arm/mach-s3c/gpio-samsung.h              |    7 -
 arch/arm/mach-s3c/gta02.h                     |   20 -
 arch/arm/mach-s3c/h1940-bluetooth.c           |  140 --
 arch/arm/mach-s3c/h1940.h                     |   52 -
 arch/arm/mach-s3c/hardware-s3c24xx.h          |   14 -
 arch/arm/mach-s3c/iic-core.h                  |    7 -
 arch/arm/mach-s3c/init.c                      |   26 +-
 arch/arm/mach-s3c/iotiming-s3c2410.c          |  472 ----
 arch/arm/mach-s3c/iotiming-s3c2412.c          |  278 ---
 arch/arm/mach-s3c/irq-pm-s3c24xx.c            |  115 -
 arch/arm/mach-s3c/irq-s3c24xx-fiq-exports.c   |    9 -
 arch/arm/mach-s3c/irq-s3c24xx-fiq.S           |  112 -
 arch/arm/mach-s3c/irq-s3c24xx.c               | 1352 -----------
 arch/arm/mach-s3c/irqs-s3c24xx.h              |  219 --
 arch/arm/mach-s3c/irqs.h                      |    7 -
 arch/arm/mach-s3c/mach-amlm5900.c             |  248 ---
 arch/arm/mach-s3c/mach-anubis.c               |  422 ----
 arch/arm/mach-s3c/mach-anw6410.c              |  230 --
 arch/arm/mach-s3c/mach-at2440evb.c            |  233 --
 arch/arm/mach-s3c/mach-bast.c                 |  583 -----
 arch/arm/mach-s3c/mach-crag6410.c             |    1 -
 arch/arm/mach-s3c/mach-gta02.c                |  588 -----
 arch/arm/mach-s3c/mach-h1940.c                |  809 -------
 arch/arm/mach-s3c/mach-hmt.c                  |  282 ---
 arch/arm/mach-s3c/mach-jive.c                 |  693 ------
 arch/arm/mach-s3c/mach-mini2440.c             |  804 -------
 arch/arm/mach-s3c/mach-mini6410.c             |  365 ---
 arch/arm/mach-s3c/mach-n30.c                  |  682 ------
 arch/arm/mach-s3c/mach-ncp.c                  |  100 -
 arch/arm/mach-s3c/mach-nexcoder.c             |  162 --
 arch/arm/mach-s3c/mach-osiris-dvs.c           |  178 --
 arch/arm/mach-s3c/mach-osiris.c               |  405 ----
 arch/arm/mach-s3c/mach-otom.c                 |  124 --
 arch/arm/mach-s3c/mach-qt2410.c               |  375 ----
 arch/arm/mach-s3c/mach-real6410.c             |  333 ---
 arch/arm/mach-s3c/mach-rx1950.c               |  884 --------
 arch/arm/mach-s3c/mach-rx3715.c               |  213 --
 arch/arm/mach-s3c/mach-s3c2416-dt.c           |   48 -
 arch/arm/mach-s3c/mach-smartq.c               |  424 ----
 arch/arm/mach-s3c/mach-smartq.h               |   16 -
 arch/arm/mach-s3c/mach-smartq5.c              |  154 --
 arch/arm/mach-s3c/mach-smartq7.c              |  170 --
 arch/arm/mach-s3c/mach-smdk2410.c             |  112 -
 arch/arm/mach-s3c/mach-smdk2413.c             |  169 --
 arch/arm/mach-s3c/mach-smdk2416.c             |  248 ---
 arch/arm/mach-s3c/mach-smdk2440.c             |  180 --
 arch/arm/mach-s3c/mach-smdk2443.c             |  126 --
 arch/arm/mach-s3c/mach-smdk6400.c             |   90 -
 arch/arm/mach-s3c/mach-smdk6410.c             |  706 ------
 arch/arm/mach-s3c/mach-tct_hammer.c           |  157 --
 arch/arm/mach-s3c/mach-vr1000.c               |  364 ---
 arch/arm/mach-s3c/mach-vstms.c                |  166 --
 arch/arm/mach-s3c/map-s3c.h                   |   37 -
 arch/arm/mach-s3c/map-s3c24xx.h               |  159 --
 arch/arm/mach-s3c/map.h                       |    7 -
 arch/arm/mach-s3c/nand-core-s3c24xx.h         |   24 -
 arch/arm/mach-s3c/onenand-core-s3c64xx.h      |   32 -
 arch/arm/mach-s3c/osiris.h                    |   50 -
 arch/arm/mach-s3c/otom.h                      |   25 -
 arch/arm/mach-s3c/pll-s3c2410.c               |   83 -
 arch/arm/mach-s3c/pll-s3c2440-12000000.c      |   95 -
 arch/arm/mach-s3c/pll-s3c2440-16934400.c      |  122 -
 arch/arm/mach-s3c/pm-core-s3c24xx.h           |   96 -
 arch/arm/mach-s3c/pm-core-s3c64xx.h           |   17 -
 arch/arm/mach-s3c/pm-core.h                   |    7 -
 arch/arm/mach-s3c/pm-h1940.S                  |   19 -
 arch/arm/mach-s3c/pm-s3c2410.c                |  170 --
 arch/arm/mach-s3c/pm-s3c2412.c                |  126 --
 arch/arm/mach-s3c/pm-s3c2416.c                |   81 -
 arch/arm/mach-s3c/pm-s3c24xx.c                |  121 -
 arch/arm/mach-s3c/pm-s3c64xx.c                |   83 -
 arch/arm/mach-s3c/pm.c                        |    7 +-
 arch/arm/mach-s3c/pm.h                        |   12 -
 arch/arm/mach-s3c/regs-adc.h                  |   64 -
 arch/arm/mach-s3c/regs-clock-s3c24xx.h        |  146 --
 arch/arm/mach-s3c/regs-clock.h                |    7 -
 arch/arm/mach-s3c/regs-dsc-s3c24xx.h          |   22 -
 arch/arm/mach-s3c/regs-gpio-s3c24xx.h         |  608 -----
 arch/arm/mach-s3c/regs-gpio.h                 |    7 -
 arch/arm/mach-s3c/regs-irq-s3c24xx.h          |   51 -
 arch/arm/mach-s3c/regs-irq.h                  |    7 -
 arch/arm/mach-s3c/regs-mem-s3c24xx.h          |   53 -
 arch/arm/mach-s3c/regs-s3c2443-clock.h        |  238 --
 arch/arm/mach-s3c/regs-srom-s3c64xx.h         |   55 -
 arch/arm/mach-s3c/rtc-core-s3c24xx.h          |   23 -
 arch/arm/mach-s3c/s3c2410.c                   |  130 --
 arch/arm/mach-s3c/s3c2412-power.h             |   34 -
 arch/arm/mach-s3c/s3c2412.c                   |  175 --
 arch/arm/mach-s3c/s3c2412.h                   |   25 -
 arch/arm/mach-s3c/s3c2416.c                   |  132 --
 arch/arm/mach-s3c/s3c2440.c                   |   71 -
 arch/arm/mach-s3c/s3c2442.c                   |   62 -
 arch/arm/mach-s3c/s3c2443.c                   |  112 -
 arch/arm/mach-s3c/s3c244x.c                   |  128 --
 arch/arm/mach-s3c/s3c24xx.c                   |  687 ------
 arch/arm/mach-s3c/s3c24xx.h                   |  124 --
 arch/arm/mach-s3c/s3c6400.c                   |   90 -
 arch/arm/mach-s3c/s3c6410.c                   |    9 -
 arch/arm/mach-s3c/s3c64xx.c                   |    8 -
 arch/arm/mach-s3c/sdhci.h                     |   25 -
 arch/arm/mach-s3c/setup-i2c-s3c24xx.c         |   23 -
 arch/arm/mach-s3c/setup-ide-s3c64xx.c         |   40 -
 arch/arm/mach-s3c/setup-sdhci-gpio-s3c24xx.c  |   31 -
 arch/arm/mach-s3c/setup-spi-s3c24xx.c         |   27 -
 arch/arm/mach-s3c/setup-ts-s3c24xx.c          |   29 -
 arch/arm/mach-s3c/simtec-audio.c              |   76 -
 arch/arm/mach-s3c/simtec-nor.c                |   74 -
 arch/arm/mach-s3c/simtec-pm.c                 |   60 -
 arch/arm/mach-s3c/simtec-usb.c                |  125 --
 arch/arm/mach-s3c/simtec.h                    |   17 -
 arch/arm/mach-s3c/sleep-s3c2410.S             |   54 -
 arch/arm/mach-s3c/sleep-s3c2412.S             |   53 -
 arch/arm/mach-s3c/sleep-s3c24xx.S             |   69 -
 arch/arm/mach-s3c/sleep-s3c64xx.S             |   27 -
 arch/arm/mach-s3c/spi-core-s3c24xx.h          |   21 -
 arch/arm/mach-s3c/vr1000.h                    |  113 -
 drivers/ata/Kconfig                           |   10 -
 drivers/ata/Makefile                          |    1 -
 drivers/ata/pata_samsung_cf.c                 |  662 ------
 drivers/clk/samsung/Kconfig                   |   32 -
 drivers/clk/samsung/Makefile                  |    4 -
 drivers/clk/samsung/clk-s3c2410-dclk.c        |  440 ----
 drivers/clk/samsung/clk-s3c2410.c             |  446 ----
 drivers/clk/samsung/clk-s3c2412.c             |  254 ---
 drivers/clk/samsung/clk-s3c2443.c             |  438 ----
 drivers/clocksource/Kconfig                   |    2 +-
 drivers/cpufreq/Kconfig.arm                   |   78 -
 drivers/cpufreq/Makefile                      |    6 -
 drivers/cpufreq/s3c2410-cpufreq.c             |  155 --
 drivers/cpufreq/s3c2412-cpufreq.c             |  240 --
 drivers/cpufreq/s3c2416-cpufreq.c             |  492 ----
 drivers/cpufreq/s3c2440-cpufreq.c             |  321 ---
 drivers/cpufreq/s3c24xx-cpufreq-debugfs.c     |  163 --
 drivers/cpufreq/s3c24xx-cpufreq.c             |  648 ------
 drivers/dma/Kconfig                           |   12 -
 drivers/dma/Makefile                          |    1 -
 drivers/dma/s3c24xx-dma.c                     | 1428 ------------
 drivers/hwmon/Kconfig                         |   17 -
 drivers/hwmon/Makefile                        |    1 -
 drivers/hwmon/s3c-hwmon.c                     |  379 ----
 drivers/i2c/busses/Kconfig                    |    3 +-
 drivers/i2c/busses/i2c-s3c2410.c              |   72 -
 drivers/iio/adc/Kconfig                       |    6 +-
 drivers/input/touchscreen/Kconfig             |   12 -
 drivers/input/touchscreen/Makefile            |    1 -
 drivers/input/touchscreen/s3c2410_ts.c        |  464 ----
 drivers/leds/Kconfig                          |    8 -
 drivers/leds/Makefile                         |    1 -
 drivers/leds/leds-s3c24xx.c                   |   83 -
 .../media/platform/samsung/s3c-camif/Kconfig  |    8 +-
 drivers/mmc/host/Kconfig                      |   48 +-
 drivers/mmc/host/Makefile                     |    1 -
 drivers/mmc/host/s3cmci.c                     | 1777 ---------------
 drivers/mmc/host/s3cmci.h                     |   75 -
 drivers/mtd/nand/raw/Kconfig                  |    2 +-
 drivers/mtd/nand/raw/s3c2410.c                |   60 -
 drivers/pinctrl/samsung/Kconfig               |    5 -
 drivers/pinctrl/samsung/Makefile              |    1 -
 drivers/pinctrl/samsung/pinctrl-s3c24xx.c     |  653 ------
 drivers/pinctrl/samsung/pinctrl-samsung.c     |   10 -
 drivers/power/supply/Kconfig                  |    6 -
 drivers/power/supply/Makefile                 |    1 -
 drivers/power/supply/s3c_adc_battery.c        |  453 ----
 drivers/rtc/Kconfig                           |    8 +-
 drivers/soc/samsung/Kconfig                   |   26 +-
 drivers/soc/samsung/Makefile                  |    1 -
 drivers/soc/samsung/s3c-pm-debug.c            |   79 -
 drivers/spi/Kconfig                           |   18 -
 drivers/spi/Makefile                          |    2 -
 drivers/spi/spi-s3c24xx-regs.h                |   41 -
 drivers/spi/spi-s3c24xx.c                     |  596 -----
 drivers/tty/serial/Kconfig                    |    8 +-
 drivers/tty/serial/samsung_tty.c              |  199 --
 drivers/usb/gadget/udc/Kconfig                |   25 -
 drivers/usb/gadget/udc/Makefile               |    2 -
 drivers/usb/gadget/udc/s3c-hsudc.c            | 1319 -----------
 drivers/usb/gadget/udc/s3c2410_udc.c          | 1980 -----------------
 drivers/usb/gadget/udc/s3c2410_udc.h          |   99 -
 drivers/usb/gadget/udc/s3c2410_udc_regs.h     |  146 --
 drivers/usb/host/Kconfig                      |    8 +-
 drivers/video/fbdev/Kconfig                   |   33 +-
 drivers/video/fbdev/Makefile                  |    1 -
 drivers/video/fbdev/s3c2410fb-regs-lcd.h      |  143 --
 drivers/video/fbdev/s3c2410fb.c               | 1142 ----------
 drivers/video/fbdev/s3c2410fb.h               |   48 -
 drivers/watchdog/Kconfig                      |    9 +-
 drivers/watchdog/s3c2410_wdt.c                |   84 +-
 include/dt-bindings/clock/s3c2410.h           |   59 -
 include/dt-bindings/clock/s3c2412.h           |   70 -
 include/dt-bindings/clock/s3c2443.h           |   91 -
 include/linux/amba/pl093.h                    |   77 -
 include/linux/clk/samsung.h                   |   32 -
 .../linux/platform_data/asoc-s3c24xx_simtec.h |   30 -
 include/linux/platform_data/ata-samsung_cf.h  |   31 -
 include/linux/platform_data/clk-s3c2410.h     |   19 -
 include/linux/platform_data/dma-s3c24xx.h     |   48 -
 include/linux/platform_data/fb-s3c2410.h      |   99 -
 include/linux/platform_data/leds-s3c24xx.h    |   18 -
 include/linux/platform_data/media/s5p_hdmi.h  |   32 -
 include/linux/platform_data/mmc-s3cmci.h      |   51 -
 include/linux/platform_data/s3c-hsudc.h       |   33 -
 include/linux/platform_data/usb-s3c2410_udc.h |   33 -
 include/linux/s3c_adc_battery.h               |   39 -
 include/linux/soc/samsung/s3c-adc.h           |   32 -
 include/linux/soc/samsung/s3c-cpufreq-core.h  |  299 ---
 include/linux/soc/samsung/s3c-pm.h            |   58 -
 include/linux/spi/s3c24xx-fiq.h               |   33 -
 include/linux/spi/s3c24xx.h                   |   20 -
 include/sound/s3c24xx_uda134x.h               |   14 -
 sound/soc/samsung/Kconfig                     |   93 -
 sound/soc/samsung/Makefile                    |   26 -
 sound/soc/samsung/h1940_uda1380.c             |  224 --
 sound/soc/samsung/jive_wm8750.c               |  143 --
 sound/soc/samsung/neo1973_wm8753.c            |  360 ---
 sound/soc/samsung/regs-i2s-v2.h               |  111 -
 sound/soc/samsung/regs-iis.h                  |   66 -
 sound/soc/samsung/rx1950_uda1380.c            |  245 --
 sound/soc/samsung/s3c-i2s-v2.c                |  670 ------
 sound/soc/samsung/s3c-i2s-v2.h                |  108 -
 sound/soc/samsung/s3c2412-i2s.c               |  251 ---
 sound/soc/samsung/s3c2412-i2s.h               |   22 -
 sound/soc/samsung/s3c24xx-i2s.c               |  463 ----
 sound/soc/samsung/s3c24xx-i2s.h               |   31 -
 sound/soc/samsung/s3c24xx_simtec.c            |  372 ----
 sound/soc/samsung/s3c24xx_simtec.h            |   18 -
 sound/soc/samsung/s3c24xx_simtec_hermes.c     |  112 -
 .../soc/samsung/s3c24xx_simtec_tlv320aic23.c  |  100 -
 sound/soc/samsung/s3c24xx_uda134x.c           |  257 ---
 sound/soc/samsung/smartq_wm8987.c             |  224 --
 sound/soc/samsung/smdk_wm8580.c               |  211 --
 289 files changed, 48 insertions(+), 48148 deletions(-)
 delete mode 100644 Documentation/arm/samsung-s3c24xx/cpufreq.rst
 delete mode 100644 Documentation/arm/samsung-s3c24xx/eb2410itx.rst
 delete mode 100644 Documentation/arm/samsung-s3c24xx/gpio.rst
 delete mode 100644 Documentation/arm/samsung-s3c24xx/h1940.rst
 delete mode 100644 Documentation/arm/samsung-s3c24xx/index.rst
 delete mode 100644 Documentation/arm/samsung-s3c24xx/nand.rst
 delete mode 100644 Documentation/arm/samsung-s3c24xx/overview.rst
 delete mode 100644 Documentation/arm/samsung-s3c24xx/s3c2412.rst
 delete mode 100644 Documentation/arm/samsung-s3c24xx/s3c2413.rst
 delete mode 100644 Documentation/arm/samsung-s3c24xx/smdk2440.rst
 delete mode 100644 Documentation/arm/samsung-s3c24xx/suspend.rst
 delete mode 100644 Documentation/arm/samsung-s3c24xx/usb-host.rst
 delete mode 100644 arch/arm/boot/dts/s3c2410-pinctrl.h
 delete mode 100644 arch/arm/boot/dts/s3c2416-pinctrl.dtsi
 delete mode 100644 arch/arm/boot/dts/s3c2416-smdk2416.dts
 delete mode 100644 arch/arm/boot/dts/s3c2416.dtsi
 delete mode 100644 arch/arm/boot/dts/s3c24xx.dtsi
 delete mode 100644 arch/arm/configs/mini2440_defconfig
 delete mode 100644 arch/arm/configs/s3c2410_defconfig
 delete mode 100644 arch/arm/configs/tct_hammer_defconfig
 delete mode 100644 arch/arm/mach-s3c/Kconfig.s3c24xx
 delete mode 100644 arch/arm/mach-s3c/Makefile.s3c24xx
 delete mode 100644 arch/arm/mach-s3c/adc-core.h
 delete mode 100644 arch/arm/mach-s3c/adc.c
 delete mode 100644 arch/arm/mach-s3c/anubis.h
 delete mode 100644 arch/arm/mach-s3c/ata-core-s3c64xx.h
 delete mode 100644 arch/arm/mach-s3c/backlight-s3c64xx.h
 delete mode 100644 arch/arm/mach-s3c/bast-ide.c
 delete mode 100644 arch/arm/mach-s3c/bast-irq.c
 delete mode 100644 arch/arm/mach-s3c/bast.h
 delete mode 100644 arch/arm/mach-s3c/common-smdk-s3c24xx.c
 delete mode 100644 arch/arm/mach-s3c/common-smdk-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/cpufreq-utils-s3c24xx.c
 delete mode 100644 arch/arm/mach-s3c/dev-backlight-s3c64xx.c
 delete mode 100644 arch/arm/mach-s3c/dma-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/dma-s3c64xx.h
 delete mode 100644 arch/arm/mach-s3c/dma.h
 delete mode 100644 arch/arm/mach-s3c/fb-core-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/gpio-samsung-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/gta02.h
 delete mode 100644 arch/arm/mach-s3c/h1940-bluetooth.c
 delete mode 100644 arch/arm/mach-s3c/h1940.h
 delete mode 100644 arch/arm/mach-s3c/hardware-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/iotiming-s3c2410.c
 delete mode 100644 arch/arm/mach-s3c/iotiming-s3c2412.c
 delete mode 100644 arch/arm/mach-s3c/irq-pm-s3c24xx.c
 delete mode 100644 arch/arm/mach-s3c/irq-s3c24xx-fiq-exports.c
 delete mode 100644 arch/arm/mach-s3c/irq-s3c24xx-fiq.S
 delete mode 100644 arch/arm/mach-s3c/irq-s3c24xx.c
 delete mode 100644 arch/arm/mach-s3c/irqs-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/mach-amlm5900.c
 delete mode 100644 arch/arm/mach-s3c/mach-anubis.c
 delete mode 100644 arch/arm/mach-s3c/mach-anw6410.c
 delete mode 100644 arch/arm/mach-s3c/mach-at2440evb.c
 delete mode 100644 arch/arm/mach-s3c/mach-bast.c
 delete mode 100644 arch/arm/mach-s3c/mach-gta02.c
 delete mode 100644 arch/arm/mach-s3c/mach-h1940.c
 delete mode 100644 arch/arm/mach-s3c/mach-hmt.c
 delete mode 100644 arch/arm/mach-s3c/mach-jive.c
 delete mode 100644 arch/arm/mach-s3c/mach-mini2440.c
 delete mode 100644 arch/arm/mach-s3c/mach-mini6410.c
 delete mode 100644 arch/arm/mach-s3c/mach-n30.c
 delete mode 100644 arch/arm/mach-s3c/mach-ncp.c
 delete mode 100644 arch/arm/mach-s3c/mach-nexcoder.c
 delete mode 100644 arch/arm/mach-s3c/mach-osiris-dvs.c
 delete mode 100644 arch/arm/mach-s3c/mach-osiris.c
 delete mode 100644 arch/arm/mach-s3c/mach-otom.c
 delete mode 100644 arch/arm/mach-s3c/mach-qt2410.c
 delete mode 100644 arch/arm/mach-s3c/mach-real6410.c
 delete mode 100644 arch/arm/mach-s3c/mach-rx1950.c
 delete mode 100644 arch/arm/mach-s3c/mach-rx3715.c
 delete mode 100644 arch/arm/mach-s3c/mach-s3c2416-dt.c
 delete mode 100644 arch/arm/mach-s3c/mach-smartq.c
 delete mode 100644 arch/arm/mach-s3c/mach-smartq.h
 delete mode 100644 arch/arm/mach-s3c/mach-smartq5.c
 delete mode 100644 arch/arm/mach-s3c/mach-smartq7.c
 delete mode 100644 arch/arm/mach-s3c/mach-smdk2410.c
 delete mode 100644 arch/arm/mach-s3c/mach-smdk2413.c
 delete mode 100644 arch/arm/mach-s3c/mach-smdk2416.c
 delete mode 100644 arch/arm/mach-s3c/mach-smdk2440.c
 delete mode 100644 arch/arm/mach-s3c/mach-smdk2443.c
 delete mode 100644 arch/arm/mach-s3c/mach-smdk6400.c
 delete mode 100644 arch/arm/mach-s3c/mach-smdk6410.c
 delete mode 100644 arch/arm/mach-s3c/mach-tct_hammer.c
 delete mode 100644 arch/arm/mach-s3c/mach-vr1000.c
 delete mode 100644 arch/arm/mach-s3c/mach-vstms.c
 delete mode 100644 arch/arm/mach-s3c/map-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/nand-core-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/onenand-core-s3c64xx.h
 delete mode 100644 arch/arm/mach-s3c/osiris.h
 delete mode 100644 arch/arm/mach-s3c/otom.h
 delete mode 100644 arch/arm/mach-s3c/pll-s3c2410.c
 delete mode 100644 arch/arm/mach-s3c/pll-s3c2440-12000000.c
 delete mode 100644 arch/arm/mach-s3c/pll-s3c2440-16934400.c
 delete mode 100644 arch/arm/mach-s3c/pm-core-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/pm-h1940.S
 delete mode 100644 arch/arm/mach-s3c/pm-s3c2410.c
 delete mode 100644 arch/arm/mach-s3c/pm-s3c2412.c
 delete mode 100644 arch/arm/mach-s3c/pm-s3c2416.c
 delete mode 100644 arch/arm/mach-s3c/pm-s3c24xx.c
 delete mode 100644 arch/arm/mach-s3c/regs-adc.h
 delete mode 100644 arch/arm/mach-s3c/regs-clock-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/regs-dsc-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/regs-gpio-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/regs-irq-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/regs-mem-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/regs-s3c2443-clock.h
 delete mode 100644 arch/arm/mach-s3c/regs-srom-s3c64xx.h
 delete mode 100644 arch/arm/mach-s3c/rtc-core-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/s3c2410.c
 delete mode 100644 arch/arm/mach-s3c/s3c2412-power.h
 delete mode 100644 arch/arm/mach-s3c/s3c2412.c
 delete mode 100644 arch/arm/mach-s3c/s3c2412.h
 delete mode 100644 arch/arm/mach-s3c/s3c2416.c
 delete mode 100644 arch/arm/mach-s3c/s3c2440.c
 delete mode 100644 arch/arm/mach-s3c/s3c2442.c
 delete mode 100644 arch/arm/mach-s3c/s3c2443.c
 delete mode 100644 arch/arm/mach-s3c/s3c244x.c
 delete mode 100644 arch/arm/mach-s3c/s3c24xx.c
 delete mode 100644 arch/arm/mach-s3c/s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/s3c6400.c
 delete mode 100644 arch/arm/mach-s3c/setup-i2c-s3c24xx.c
 delete mode 100644 arch/arm/mach-s3c/setup-ide-s3c64xx.c
 delete mode 100644 arch/arm/mach-s3c/setup-sdhci-gpio-s3c24xx.c
 delete mode 100644 arch/arm/mach-s3c/setup-spi-s3c24xx.c
 delete mode 100644 arch/arm/mach-s3c/setup-ts-s3c24xx.c
 delete mode 100644 arch/arm/mach-s3c/simtec-audio.c
 delete mode 100644 arch/arm/mach-s3c/simtec-nor.c
 delete mode 100644 arch/arm/mach-s3c/simtec-pm.c
 delete mode 100644 arch/arm/mach-s3c/simtec-usb.c
 delete mode 100644 arch/arm/mach-s3c/simtec.h
 delete mode 100644 arch/arm/mach-s3c/sleep-s3c2410.S
 delete mode 100644 arch/arm/mach-s3c/sleep-s3c2412.S
 delete mode 100644 arch/arm/mach-s3c/sleep-s3c24xx.S
 delete mode 100644 arch/arm/mach-s3c/spi-core-s3c24xx.h
 delete mode 100644 arch/arm/mach-s3c/vr1000.h
 delete mode 100644 drivers/ata/pata_samsung_cf.c
 delete mode 100644 drivers/clk/samsung/clk-s3c2410-dclk.c
 delete mode 100644 drivers/clk/samsung/clk-s3c2410.c
 delete mode 100644 drivers/clk/samsung/clk-s3c2412.c
 delete mode 100644 drivers/clk/samsung/clk-s3c2443.c
 delete mode 100644 drivers/cpufreq/s3c2410-cpufreq.c
 delete mode 100644 drivers/cpufreq/s3c2412-cpufreq.c
 delete mode 100644 drivers/cpufreq/s3c2416-cpufreq.c
 delete mode 100644 drivers/cpufreq/s3c2440-cpufreq.c
 delete mode 100644 drivers/cpufreq/s3c24xx-cpufreq-debugfs.c
 delete mode 100644 drivers/cpufreq/s3c24xx-cpufreq.c
 delete mode 100644 drivers/dma/s3c24xx-dma.c
 delete mode 100644 drivers/hwmon/s3c-hwmon.c
 delete mode 100644 drivers/input/touchscreen/s3c2410_ts.c
 delete mode 100644 drivers/leds/leds-s3c24xx.c
 delete mode 100644 drivers/mmc/host/s3cmci.c
 delete mode 100644 drivers/mmc/host/s3cmci.h
 delete mode 100644 drivers/pinctrl/samsung/pinctrl-s3c24xx.c
 delete mode 100644 drivers/power/supply/s3c_adc_battery.c
 delete mode 100644 drivers/soc/samsung/s3c-pm-debug.c
 delete mode 100644 drivers/spi/spi-s3c24xx-regs.h
 delete mode 100644 drivers/spi/spi-s3c24xx.c
 delete mode 100644 drivers/usb/gadget/udc/s3c-hsudc.c
 delete mode 100644 drivers/usb/gadget/udc/s3c2410_udc.c
 delete mode 100644 drivers/usb/gadget/udc/s3c2410_udc.h
 delete mode 100644 drivers/usb/gadget/udc/s3c2410_udc_regs.h
 delete mode 100644 drivers/video/fbdev/s3c2410fb-regs-lcd.h
 delete mode 100644 drivers/video/fbdev/s3c2410fb.c
 delete mode 100644 drivers/video/fbdev/s3c2410fb.h
 delete mode 100644 include/dt-bindings/clock/s3c2410.h
 delete mode 100644 include/dt-bindings/clock/s3c2412.h
 delete mode 100644 include/dt-bindings/clock/s3c2443.h
 delete mode 100644 include/linux/amba/pl093.h
 delete mode 100644 include/linux/platform_data/asoc-s3c24xx_simtec.h
 delete mode 100644 include/linux/platform_data/ata-samsung_cf.h
 delete mode 100644 include/linux/platform_data/clk-s3c2410.h
 delete mode 100644 include/linux/platform_data/dma-s3c24xx.h
 delete mode 100644 include/linux/platform_data/fb-s3c2410.h
 delete mode 100644 include/linux/platform_data/leds-s3c24xx.h
 delete mode 100644 include/linux/platform_data/media/s5p_hdmi.h
 delete mode 100644 include/linux/platform_data/mmc-s3cmci.h
 delete mode 100644 include/linux/platform_data/s3c-hsudc.h
 delete mode 100644 include/linux/platform_data/usb-s3c2410_udc.h
 delete mode 100644 include/linux/s3c_adc_battery.h
 delete mode 100644 include/linux/soc/samsung/s3c-adc.h
 delete mode 100644 include/linux/soc/samsung/s3c-cpufreq-core.h
 delete mode 100644 include/linux/spi/s3c24xx-fiq.h
 delete mode 100644 include/linux/spi/s3c24xx.h
 delete mode 100644 include/sound/s3c24xx_uda134x.h
 delete mode 100644 sound/soc/samsung/h1940_uda1380.c
 delete mode 100644 sound/soc/samsung/jive_wm8750.c
 delete mode 100644 sound/soc/samsung/neo1973_wm8753.c
 delete mode 100644 sound/soc/samsung/regs-i2s-v2.h
 delete mode 100644 sound/soc/samsung/regs-iis.h
 delete mode 100644 sound/soc/samsung/rx1950_uda1380.c
 delete mode 100644 sound/soc/samsung/s3c-i2s-v2.c
 delete mode 100644 sound/soc/samsung/s3c-i2s-v2.h
 delete mode 100644 sound/soc/samsung/s3c2412-i2s.c
 delete mode 100644 sound/soc/samsung/s3c2412-i2s.h
 delete mode 100644 sound/soc/samsung/s3c24xx-i2s.c
 delete mode 100644 sound/soc/samsung/s3c24xx-i2s.h
 delete mode 100644 sound/soc/samsung/s3c24xx_simtec.c
 delete mode 100644 sound/soc/samsung/s3c24xx_simtec.h
 delete mode 100644 sound/soc/samsung/s3c24xx_simtec_hermes.c
 delete mode 100644 sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c
 delete mode 100644 sound/soc/samsung/s3c24xx_uda134x.c
 delete mode 100644 sound/soc/samsung/smartq_wm8987.c
 delete mode 100644 sound/soc/samsung/smdk_wm8580.c

-- 
2.29.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks
  2022-10-21 20:22 [PATCH 00/21] ARM: s3c: clean out obsolete platforms Arnd Bergmann
@ 2022-10-21 20:27 ` Arnd Bergmann
  2022-10-21 22:33   ` Wolfram Sang
                     ` (8 more replies)
  2022-10-21 20:27 ` [PATCH 13/21] usb: gadget: remove s3c24xx drivers Arnd Bergmann
                   ` (2 subsequent siblings)
  3 siblings, 9 replies; 17+ messages in thread
From: Arnd Bergmann @ 2022-10-21 20:27 UTC (permalink / raw)
  To: linux-arm-kernel, Krzysztof Kozlowski
  Cc: linux-kernel, Ben Dooks, Simtec Linux Team, Arnd Bergmann,
	Alim Akhtar, Daniel Lezcano, Thomas Gleixner, Jonathan Cameron,
	Lars-Peter Clausen, Sylwester Nawrocki, Mauro Carvalho Chehab,
	Ulf Hansson, Miquel Raynal, Richard Weinberger,
	Vignesh Raghavendra, Tomasz Figa, Linus Walleij,
	Alessandro Zummo, Alexandre Belloni, Greg Kroah-Hartman,
	Jiri Slaby, Guenter Roeck, Chanwoo Choi, Stephen Boyd,
	linux-samsung-soc, linux-i2c, linux-iio, linux-media, linux-mmc,
	linux-mtd, linux-gpio, linux-rtc, linux-serial, linux-usb,
	linux-watchdog, linux-clk

From: Arnd Bergmann <arnd@arndb.de>

A number of device drivers reference CONFIG_ARM_S3C24XX_CPUFREQ or
similar symbols that are no longer available with the platform gone,
though the drivers themselves are still used on newer platforms,
so remove these hacks.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/include/debug/s3c24xx.S              |  10 -
 arch/arm/mach-s3c/Makefile                    |   2 -
 arch/arm/mach-s3c/devs.c                      |   1 -
 arch/arm/mach-s3c/dma.h                       |   7 -
 arch/arm/mach-s3c/gpio-samsung.h              |   7 -
 arch/arm/mach-s3c/irqs.h                      |   7 -
 arch/arm/mach-s3c/map.h                       |   7 -
 arch/arm/mach-s3c/pm-core.h                   |   7 -
 arch/arm/mach-s3c/regs-clock.h                |   7 -
 arch/arm/mach-s3c/regs-gpio.h                 |   7 -
 arch/arm/mach-s3c/regs-irq.h                  |   7 -
 drivers/clocksource/Kconfig                   |   2 +-
 drivers/i2c/busses/Kconfig                    |   3 +-
 drivers/i2c/busses/i2c-s3c2410.c              |  72 -------
 drivers/iio/adc/Kconfig                       |   6 +-
 .../media/platform/samsung/s3c-camif/Kconfig  |   8 +-
 drivers/mmc/host/Kconfig                      |   5 +-
 drivers/mtd/nand/raw/Kconfig                  |   2 +-
 drivers/mtd/nand/raw/s3c2410.c                |  60 ------
 drivers/pinctrl/samsung/pinctrl-samsung.c     |  10 -
 drivers/rtc/Kconfig                           |   8 +-
 drivers/tty/serial/Kconfig                    |   8 +-
 drivers/tty/serial/samsung_tty.c              | 199 ------------------
 drivers/usb/host/Kconfig                      |   8 +-
 drivers/watchdog/Kconfig                      |   9 +-
 drivers/watchdog/s3c2410_wdt.c                |  84 +-------
 include/linux/clk/samsung.h                   |  32 ---
 include/linux/soc/samsung/s3c-pm.h            |  58 -----
 28 files changed, 29 insertions(+), 614 deletions(-)

diff --git a/arch/arm/include/debug/s3c24xx.S b/arch/arm/include/debug/s3c24xx.S
index af873b526677..7ab5e577cd42 100644
--- a/arch/arm/include/debug/s3c24xx.S
+++ b/arch/arm/include/debug/s3c24xx.S
@@ -28,16 +28,6 @@
 		and	\rd, \rd, #S3C2410_UFSTAT_TXMASK
 	.endm
 
-/* Select the correct implementation depending on the configuration. The
- * S3C2440 will get selected by default, as these are the most widely
- * used variants of these
-*/
-
-#if defined(CONFIG_DEBUG_S3C2410_UART)
-#define fifo_full  fifo_full_s3c2410
-#define fifo_level fifo_level_s3c2410
-#endif
-
 /* include the reset of the code which will do the work */
 
 #include <debug/samsung.S>
diff --git a/arch/arm/mach-s3c/Makefile b/arch/arm/mach-s3c/Makefile
index e7f18039b149..a5135137e648 100644
--- a/arch/arm/mach-s3c/Makefile
+++ b/arch/arm/mach-s3c/Makefile
@@ -2,9 +2,7 @@
 #
 # Copyright 2009 Simtec Electronics
 
-ifdef CONFIG_ARCH_S3C64XX
 include $(src)/Makefile.s3c64xx
-endif
 
 # Objects we always build independent of SoC choice
 
diff --git a/arch/arm/mach-s3c/devs.c b/arch/arm/mach-s3c/devs.c
index 9ac07c023adf..a31d1c3038e8 100644
--- a/arch/arm/mach-s3c/devs.c
+++ b/arch/arm/mach-s3c/devs.c
@@ -29,7 +29,6 @@
 #include <linux/sizes.h>
 #include <linux/platform_data/s3c-hsudc.h>
 #include <linux/platform_data/s3c-hsotg.h>
-#include <linux/platform_data/dma-s3c24xx.h>
 
 #include <linux/platform_data/media/s5p_hdmi.h>
 
diff --git a/arch/arm/mach-s3c/dma.h b/arch/arm/mach-s3c/dma.h
index 59a4578c5f00..48057cb90070 100644
--- a/arch/arm/mach-s3c/dma.h
+++ b/arch/arm/mach-s3c/dma.h
@@ -1,9 +1,2 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-
-#ifdef CONFIG_ARCH_S3C24XX
-#include "dma-s3c24xx.h"
-#endif
-
-#ifdef CONFIG_ARCH_S3C64XX
 #include "dma-s3c64xx.h"
-#endif
diff --git a/arch/arm/mach-s3c/gpio-samsung.h b/arch/arm/mach-s3c/gpio-samsung.h
index 02f6f4a96862..4233515eddaa 100644
--- a/arch/arm/mach-s3c/gpio-samsung.h
+++ b/arch/arm/mach-s3c/gpio-samsung.h
@@ -1,9 +1,2 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-
-#ifdef CONFIG_ARCH_S3C24XX
-#include "gpio-samsung-s3c24xx.h"
-#endif
-
-#ifdef CONFIG_ARCH_S3C64XX
 #include "gpio-samsung-s3c64xx.h"
-#endif
diff --git a/arch/arm/mach-s3c/irqs.h b/arch/arm/mach-s3c/irqs.h
index 0bff1c1c8eb0..3ff0e0963080 100644
--- a/arch/arm/mach-s3c/irqs.h
+++ b/arch/arm/mach-s3c/irqs.h
@@ -1,9 +1,2 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-
-#ifdef CONFIG_ARCH_S3C24XX
-#include "irqs-s3c24xx.h"
-#endif
-
-#ifdef CONFIG_ARCH_S3C64XX
 #include "irqs-s3c64xx.h"
-#endif
diff --git a/arch/arm/mach-s3c/map.h b/arch/arm/mach-s3c/map.h
index 7cfb517d4886..778d6f81cb2b 100644
--- a/arch/arm/mach-s3c/map.h
+++ b/arch/arm/mach-s3c/map.h
@@ -1,9 +1,2 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-
-#ifdef CONFIG_ARCH_S3C24XX
-#include "map-s3c24xx.h"
-#endif
-
-#ifdef CONFIG_ARCH_S3C64XX
 #include "map-s3c64xx.h"
-#endif
diff --git a/arch/arm/mach-s3c/pm-core.h b/arch/arm/mach-s3c/pm-core.h
index b0e1d277f599..3e0c2df79120 100644
--- a/arch/arm/mach-s3c/pm-core.h
+++ b/arch/arm/mach-s3c/pm-core.h
@@ -1,9 +1,2 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-
-#ifdef CONFIG_ARCH_S3C24XX
-#include "pm-core-s3c24xx.h"
-#endif
-
-#ifdef CONFIG_ARCH_S3C64XX
 #include "pm-core-s3c64xx.h"
-#endif
diff --git a/arch/arm/mach-s3c/regs-clock.h b/arch/arm/mach-s3c/regs-clock.h
index 7df31f203d28..fc7e3886b07c 100644
--- a/arch/arm/mach-s3c/regs-clock.h
+++ b/arch/arm/mach-s3c/regs-clock.h
@@ -1,9 +1,2 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-
-#ifdef CONFIG_ARCH_S3C24XX
-#include "regs-clock-s3c24xx.h"
-#endif
-
-#ifdef CONFIG_ARCH_S3C64XX
 #include "regs-clock-s3c64xx.h"
-#endif
diff --git a/arch/arm/mach-s3c/regs-gpio.h b/arch/arm/mach-s3c/regs-gpio.h
index 0d41cb76d440..4e08e8609663 100644
--- a/arch/arm/mach-s3c/regs-gpio.h
+++ b/arch/arm/mach-s3c/regs-gpio.h
@@ -1,9 +1,2 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-
-#ifdef CONFIG_ARCH_S3C24XX
-#include "regs-gpio-s3c24xx.h"
-#endif
-
-#ifdef CONFIG_ARCH_S3C64XX
 #include "regs-gpio-s3c64xx.h"
-#endif
diff --git a/arch/arm/mach-s3c/regs-irq.h b/arch/arm/mach-s3c/regs-irq.h
index 57f0dda8dbf5..4243daa54bd1 100644
--- a/arch/arm/mach-s3c/regs-irq.h
+++ b/arch/arm/mach-s3c/regs-irq.h
@@ -1,9 +1,2 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-
-#ifdef CONFIG_ARCH_S3C24XX
-#include "regs-irq-s3c24xx.h"
-#endif
-
-#ifdef CONFIG_ARCH_S3C64XX
 #include "regs-irq-s3c64xx.h"
-#endif
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index 4469e7f555e9..fc10ecc3602d 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
@@ -441,7 +441,7 @@ config CLKSRC_EXYNOS_MCT
 config CLKSRC_SAMSUNG_PWM
 	bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
 	depends on HAS_IOMEM
-	depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
+	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
 	help
 	  This is a new clocksource driver for the PWM timer found in
 	  Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index f427c8ea5c7b..84d21e0a7cdf 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -1009,8 +1009,7 @@ config I2C_RZV2M
 
 config I2C_S3C2410
 	tristate "S3C/Exynos I2C Driver"
-	depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || \
-		   ARCH_S5PV210 || COMPILE_TEST
+	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
 	help
 	  Say Y here to include support for I2C controller in the
 	  Samsung SoCs (S3C, S5Pv210, Exynos).
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
index 36dab9cd208c..45e9df81345a 100644
--- a/drivers/i2c/busses/i2c-s3c2410.c
+++ b/drivers/i2c/busses/i2c-s3c2410.c
@@ -116,9 +116,6 @@ struct s3c24xx_i2c {
 	struct s3c2410_platform_i2c	*pdata;
 	struct gpio_desc	*gpios[2];
 	struct pinctrl          *pctrl;
-#if defined(CONFIG_ARM_S3C24XX_CPUFREQ)
-	struct notifier_block	freq_transition;
-#endif
 	struct regmap		*sysreg;
 	unsigned int		sys_i2c_cfg;
 };
@@ -885,65 +882,6 @@ static int s3c24xx_i2c_clockrate(struct s3c24xx_i2c *i2c, unsigned int *got)
 	return 0;
 }
 
-#if defined(CONFIG_ARM_S3C24XX_CPUFREQ)
-
-#define freq_to_i2c(_n) container_of(_n, struct s3c24xx_i2c, freq_transition)
-
-static int s3c24xx_i2c_cpufreq_transition(struct notifier_block *nb,
-					  unsigned long val, void *data)
-{
-	struct s3c24xx_i2c *i2c = freq_to_i2c(nb);
-	unsigned int got;
-	int delta_f;
-	int ret;
-
-	delta_f = clk_get_rate(i2c->clk) - i2c->clkrate;
-
-	/* if we're post-change and the input clock has slowed down
-	 * or at pre-change and the clock is about to speed up, then
-	 * adjust our clock rate. <0 is slow, >0 speedup.
-	 */
-
-	if ((val == CPUFREQ_POSTCHANGE && delta_f < 0) ||
-	    (val == CPUFREQ_PRECHANGE && delta_f > 0)) {
-		i2c_lock_bus(&i2c->adap, I2C_LOCK_ROOT_ADAPTER);
-		ret = s3c24xx_i2c_clockrate(i2c, &got);
-		i2c_unlock_bus(&i2c->adap, I2C_LOCK_ROOT_ADAPTER);
-
-		if (ret < 0)
-			dev_err(i2c->dev, "cannot find frequency (%d)\n", ret);
-		else
-			dev_info(i2c->dev, "setting freq %d\n", got);
-	}
-
-	return 0;
-}
-
-static inline int s3c24xx_i2c_register_cpufreq(struct s3c24xx_i2c *i2c)
-{
-	i2c->freq_transition.notifier_call = s3c24xx_i2c_cpufreq_transition;
-
-	return cpufreq_register_notifier(&i2c->freq_transition,
-					 CPUFREQ_TRANSITION_NOTIFIER);
-}
-
-static inline void s3c24xx_i2c_deregister_cpufreq(struct s3c24xx_i2c *i2c)
-{
-	cpufreq_unregister_notifier(&i2c->freq_transition,
-				    CPUFREQ_TRANSITION_NOTIFIER);
-}
-
-#else
-static inline int s3c24xx_i2c_register_cpufreq(struct s3c24xx_i2c *i2c)
-{
-	return 0;
-}
-
-static inline void s3c24xx_i2c_deregister_cpufreq(struct s3c24xx_i2c *i2c)
-{
-}
-#endif
-
 #ifdef CONFIG_OF
 static int s3c24xx_i2c_parse_dt_gpio(struct s3c24xx_i2c *i2c)
 {
@@ -1152,13 +1090,6 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
 		}
 	}
 
-	ret = s3c24xx_i2c_register_cpufreq(i2c);
-	if (ret < 0) {
-		dev_err(&pdev->dev, "failed to register cpufreq notifier\n");
-		clk_unprepare(i2c->clk);
-		return ret;
-	}
-
 	/*
 	 * Note, previous versions of the driver used i2c_add_adapter()
 	 * to add the bus at any number. We now pass the bus number via
@@ -1175,7 +1106,6 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
 	ret = i2c_add_numbered_adapter(&i2c->adap);
 	if (ret < 0) {
 		pm_runtime_disable(&pdev->dev);
-		s3c24xx_i2c_deregister_cpufreq(i2c);
 		clk_unprepare(i2c->clk);
 		return ret;
 	}
@@ -1192,8 +1122,6 @@ static int s3c24xx_i2c_remove(struct platform_device *pdev)
 
 	pm_runtime_disable(&pdev->dev);
 
-	s3c24xx_i2c_deregister_cpufreq(i2c);
-
 	i2c_del_adapter(&i2c->adap);
 
 	return 0;
diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
index 791612ca6012..9de7f05d40e2 100644
--- a/drivers/iio/adc/Kconfig
+++ b/drivers/iio/adc/Kconfig
@@ -437,11 +437,11 @@ config EP93XX_ADC
 
 config EXYNOS_ADC
 	tristate "Exynos ADC driver support"
-	depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || (OF && COMPILE_TEST)
+	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || (OF && COMPILE_TEST)
 	depends on HAS_IOMEM
 	help
-	  Driver for the ADC block found in the Samsung S3C (S3C2410, S3C2416,
-	  S3C2440, S3C2443, S3C6410), S5Pv210 and Exynos SoCs.
+	  Driver for the ADC block found in the Samsung S3C6410, S5Pv210 and
+	  Exynos SoCs.
 	  Choose Y here only if you build for such Samsung SoC.
 
 	  To compile this driver as a module, choose M here: the module will be
diff --git a/drivers/media/platform/samsung/s3c-camif/Kconfig b/drivers/media/platform/samsung/s3c-camif/Kconfig
index 8cb8d1ac3edc..f359f6382fff 100644
--- a/drivers/media/platform/samsung/s3c-camif/Kconfig
+++ b/drivers/media/platform/samsung/s3c-camif/Kconfig
@@ -1,15 +1,15 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config VIDEO_S3C_CAMIF
-	tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
+	tristate "Samsung 3C64XX SoC Camera Interface driver"
 	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_DEV && I2C && PM
-	depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
+	depends on ARCH_S3C64XX || COMPILE_TEST
 	select MEDIA_CONTROLLER
 	select VIDEO_V4L2_SUBDEV_API
 	select VIDEOBUF2_DMA_CONTIG
 	help
-	  This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
-	  host interface (CAMIF).
+	  This is a v4l2 driver for s3c64xx SoC series camera host interface
+	  (CAMIF).
 
 	  To compile this driver as a module, choose M here: the module
 	  will be called s3c-camif.
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index 84dd37ff2735..79d8ddf1f616 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -312,9 +312,8 @@ config MMC_SDHCI_S3C
 	depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
 	help
 	  This selects the Secure Digital Host Controller Interface (SDHCI)
-	  often referrered to as the HSMMC block in some of the Samsung S3C
-	  (S3C2416, S3C2443, S3C6410), S5Pv210 and Exynos (Exynso4210,
-	  Exynos4412) SoCs.
+	  often referrered to as the HSMMC block in some of the Samsung
+	  S3C6410, S5Pv210 and Exynos (Exynso4210, Exynos4412) SoCs.
 
 	  If you have a controller with this interface (thereforeyou build for
 	  such Samsung SoC), say Y or M here.
diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig
index 280a55139387..a347833b8f29 100644
--- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig
@@ -79,7 +79,7 @@ config MTD_NAND_NDFC
 
 config MTD_NAND_S3C2410
 	tristate "Samsung S3C NAND controller"
-	depends on ARCH_S3C24XX || ARCH_S3C64XX
+	depends on ARCH_S3C64XX
 	help
 	  This enables the NAND flash controller on the S3C24xx and S3C64xx
 	  SoCs
diff --git a/drivers/mtd/nand/raw/s3c2410.c b/drivers/mtd/nand/raw/s3c2410.c
index f0a4535c812a..80d96f94d6cb 100644
--- a/drivers/mtd/nand/raw/s3c2410.c
+++ b/drivers/mtd/nand/raw/s3c2410.c
@@ -166,10 +166,6 @@ struct s3c2410_nand_info {
 	enum s3c_nand_clk_state		clk_state;
 
 	enum s3c_cpu_type		cpu_type;
-
-#ifdef CONFIG_ARM_S3C24XX_CPUFREQ
-	struct notifier_block	freq_transition;
-#endif
 };
 
 struct s3c24XX_nand_devtype_data {
@@ -711,54 +707,6 @@ static void s3c2440_nand_write_buf(struct nand_chip *this, const u_char *buf,
 	}
 }
 
-/* cpufreq driver support */
-
-#ifdef CONFIG_ARM_S3C24XX_CPUFREQ
-
-static int s3c2410_nand_cpufreq_transition(struct notifier_block *nb,
-					  unsigned long val, void *data)
-{
-	struct s3c2410_nand_info *info;
-	unsigned long newclk;
-
-	info = container_of(nb, struct s3c2410_nand_info, freq_transition);
-	newclk = clk_get_rate(info->clk);
-
-	if ((val == CPUFREQ_POSTCHANGE && newclk < info->clk_rate) ||
-	    (val == CPUFREQ_PRECHANGE && newclk > info->clk_rate)) {
-		s3c2410_nand_setrate(info);
-	}
-
-	return 0;
-}
-
-static inline int s3c2410_nand_cpufreq_register(struct s3c2410_nand_info *info)
-{
-	info->freq_transition.notifier_call = s3c2410_nand_cpufreq_transition;
-
-	return cpufreq_register_notifier(&info->freq_transition,
-					 CPUFREQ_TRANSITION_NOTIFIER);
-}
-
-static inline void
-s3c2410_nand_cpufreq_deregister(struct s3c2410_nand_info *info)
-{
-	cpufreq_unregister_notifier(&info->freq_transition,
-				    CPUFREQ_TRANSITION_NOTIFIER);
-}
-
-#else
-static inline int s3c2410_nand_cpufreq_register(struct s3c2410_nand_info *info)
-{
-	return 0;
-}
-
-static inline void
-s3c2410_nand_cpufreq_deregister(struct s3c2410_nand_info *info)
-{
-}
-#endif
-
 /* device management functions */
 
 static int s3c24xx_nand_remove(struct platform_device *pdev)
@@ -768,8 +716,6 @@ static int s3c24xx_nand_remove(struct platform_device *pdev)
 	if (info == NULL)
 		return 0;
 
-	s3c2410_nand_cpufreq_deregister(info);
-
 	/* Release all our mtds  and their partitions, then go through
 	 * freeing the resources used
 	 */
@@ -1184,12 +1130,6 @@ static int s3c24xx_nand_probe(struct platform_device *pdev)
 	if (err != 0)
 		goto exit_error;
 
-	err = s3c2410_nand_cpufreq_register(info);
-	if (err < 0) {
-		dev_err(&pdev->dev, "failed to init cpufreq support\n");
-		goto exit_error;
-	}
-
 	if (allow_clk_suspend(info)) {
 		dev_info(&pdev->dev, "clock idle support enabled\n");
 		s3c2410_nand_clk_set_state(info, CLOCK_SUSPEND);
diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
index bd13b5ef246d..1a478854293f 100644
--- a/drivers/pinctrl/samsung/pinctrl-samsung.c
+++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
@@ -1322,16 +1322,6 @@ static const struct of_device_id samsung_pinctrl_dt_match[] = {
 #ifdef CONFIG_PINCTRL_S3C64XX
 	{ .compatible = "samsung,s3c64xx-pinctrl",
 		.data = &s3c64xx_of_data },
-#endif
-#ifdef CONFIG_PINCTRL_S3C24XX
-	{ .compatible = "samsung,s3c2412-pinctrl",
-		.data = &s3c2412_of_data },
-	{ .compatible = "samsung,s3c2416-pinctrl",
-		.data = &s3c2416_of_data },
-	{ .compatible = "samsung,s3c2440-pinctrl",
-		.data = &s3c2440_of_data },
-	{ .compatible = "samsung,s3c2450-pinctrl",
-		.data = &s3c2450_of_data },
 #endif
 	{},
 };
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 312dccfa3f18..d13ca620ea5d 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -1406,18 +1406,14 @@ config RTC_DRV_OMAP
 
 config RTC_DRV_S3C
 	tristate "Samsung S3C series SoC RTC"
-	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S3C24XX || ARCH_S5PV210 || \
+	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || \
 		   COMPILE_TEST
 	help
 	  RTC (Realtime Clock) driver for the clock inbuilt into the
-	  Samsung S3C24XX series of SoCs. This can provide periodic
+	  Samsung S3C64XX series of SoCs. This can provide periodic
 	  interrupt rates from 1Hz to 64Hz for user programs, and
 	  wakeup from Alarm.
 
-	  The driver currently supports the common features on all the
-	  S3C24XX range, such as the S3C2410, S3C2412, S3C2413, S3C2440
-	  and S3C2442.
-
 	  This driver can also be build as a module. If so, the module
 	  will be called rtc-s3c.
 
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index 434f83168546..3ba8a39655a3 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -242,23 +242,23 @@ config SERIAL_SAMSUNG
 	select SERIAL_CORE
 	help
 	  Support for the on-chip UARTs on the Samsung
-	  S3C24xx/S3C64xx/S5Pv210/Exynos and Apple M1 SoCs, providing
+	  S3C64xx/S5Pv210/Exynos and Apple M1 SoCs, providing
 	  /dev/ttySAC0, 1 and 2 (note, some machines may not provide all of
 	  these ports, depending on how the serial port pins are configured.
+
 	  Choose Y/M here only if you build for such SoC.
 
 config SERIAL_SAMSUNG_UARTS_4
 	bool
 	depends on SERIAL_SAMSUNG
-	default y if !(CPU_S3C2410 || CPU_S3C2412 || CPU_S3C2440 || CPU_S3C2442)
+	default y
 	help
 	  Internal node for the common case of 4 Samsung compatible UARTs
 
 config SERIAL_SAMSUNG_UARTS
 	int
 	depends on SERIAL_SAMSUNG
-	default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416
-	default 3
+	default 4
 	help
 	  Select the number of available UART ports for the Samsung S3C
 	  serial driver
diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
index 77d1363029f5..5adf3963b2f6 100644
--- a/drivers/tty/serial/samsung_tty.c
+++ b/drivers/tty/serial/samsung_tty.c
@@ -152,10 +152,6 @@ struct s3c24xx_uart_port {
 	const struct s3c2410_uartcfg	*cfg;
 
 	struct s3c24xx_uart_dma		*dma;
-
-#ifdef CONFIG_ARM_S3C24XX_CPUFREQ
-	struct notifier_block		freq_transition;
-#endif
 };
 
 static void s3c24xx_serial_tx_chars(struct s3c24xx_uart_port *ourport);
@@ -1859,93 +1855,6 @@ static void s3c24xx_serial_resetport(struct uart_port *port,
 	udelay(1);
 }
 
-#ifdef CONFIG_ARM_S3C24XX_CPUFREQ
-
-static int s3c24xx_serial_cpufreq_transition(struct notifier_block *nb,
-					     unsigned long val, void *data)
-{
-	struct s3c24xx_uart_port *port;
-	struct uart_port *uport;
-
-	port = container_of(nb, struct s3c24xx_uart_port, freq_transition);
-	uport = &port->port;
-
-	/* check to see if port is enabled */
-
-	if (port->pm_level != 0)
-		return 0;
-
-	/* try and work out if the baudrate is changing, we can detect
-	 * a change in rate, but we do not have support for detecting
-	 * a disturbance in the clock-rate over the change.
-	 */
-
-	if (IS_ERR(port->baudclk))
-		goto exit;
-
-	if (port->baudclk_rate == clk_get_rate(port->baudclk))
-		goto exit;
-
-	if (val == CPUFREQ_PRECHANGE) {
-		/* we should really shut the port down whilst the
-		 * frequency change is in progress.
-		 */
-
-	} else if (val == CPUFREQ_POSTCHANGE) {
-		struct ktermios *termios;
-		struct tty_struct *tty;
-
-		if (uport->state == NULL)
-			goto exit;
-
-		tty = uport->state->port.tty;
-
-		if (tty == NULL)
-			goto exit;
-
-		termios = &tty->termios;
-
-		if (termios == NULL) {
-			dev_warn(uport->dev, "%s: no termios?\n", __func__);
-			goto exit;
-		}
-
-		s3c24xx_serial_set_termios(uport, termios, NULL);
-	}
-
-exit:
-	return 0;
-}
-
-static inline int
-s3c24xx_serial_cpufreq_register(struct s3c24xx_uart_port *port)
-{
-	port->freq_transition.notifier_call = s3c24xx_serial_cpufreq_transition;
-
-	return cpufreq_register_notifier(&port->freq_transition,
-					 CPUFREQ_TRANSITION_NOTIFIER);
-}
-
-static inline void
-s3c24xx_serial_cpufreq_deregister(struct s3c24xx_uart_port *port)
-{
-	cpufreq_unregister_notifier(&port->freq_transition,
-				    CPUFREQ_TRANSITION_NOTIFIER);
-}
-
-#else
-static inline int
-s3c24xx_serial_cpufreq_register(struct s3c24xx_uart_port *port)
-{
-	return 0;
-}
-
-static inline void
-s3c24xx_serial_cpufreq_deregister(struct s3c24xx_uart_port *port)
-{
-}
-#endif
-
 static int s3c24xx_serial_enable_baudclk(struct s3c24xx_uart_port *ourport)
 {
 	struct device *dev = ourport->port.dev;
@@ -2237,10 +2146,6 @@ static int s3c24xx_serial_probe(struct platform_device *pdev)
 	if (!IS_ERR(ourport->baudclk))
 		clk_disable_unprepare(ourport->baudclk);
 
-	ret = s3c24xx_serial_cpufreq_register(ourport);
-	if (ret < 0)
-		dev_err(&pdev->dev, "failed to add cpufreq notifier\n");
-
 	probe_index++;
 
 	return 0;
@@ -2251,7 +2156,6 @@ static int s3c24xx_serial_remove(struct platform_device *dev)
 	struct uart_port *port = s3c24xx_dev_to_port(&dev->dev);
 
 	if (port) {
-		s3c24xx_serial_cpufreq_deregister(to_ourport(port));
 		uart_remove_one_port(&s3c24xx_uart_drv, port);
 	}
 
@@ -2589,94 +2493,6 @@ static struct console s3c24xx_serial_console = {
 };
 #endif /* CONFIG_SERIAL_SAMSUNG_CONSOLE */
 
-#ifdef CONFIG_CPU_S3C2410
-static const struct s3c24xx_serial_drv_data s3c2410_serial_drv_data = {
-	.info = {
-		.name		= "Samsung S3C2410 UART",
-		.type		= TYPE_S3C24XX,
-		.port_type	= PORT_S3C2410,
-		.fifosize	= 16,
-		.rx_fifomask	= S3C2410_UFSTAT_RXMASK,
-		.rx_fifoshift	= S3C2410_UFSTAT_RXSHIFT,
-		.rx_fifofull	= S3C2410_UFSTAT_RXFULL,
-		.tx_fifofull	= S3C2410_UFSTAT_TXFULL,
-		.tx_fifomask	= S3C2410_UFSTAT_TXMASK,
-		.tx_fifoshift	= S3C2410_UFSTAT_TXSHIFT,
-		.def_clk_sel	= S3C2410_UCON_CLKSEL0,
-		.num_clks	= 2,
-		.clksel_mask	= S3C2410_UCON_CLKMASK,
-		.clksel_shift	= S3C2410_UCON_CLKSHIFT,
-	},
-	.def_cfg = {
-		.ucon		= S3C2410_UCON_DEFAULT,
-		.ufcon		= S3C2410_UFCON_DEFAULT,
-	},
-};
-#define S3C2410_SERIAL_DRV_DATA (&s3c2410_serial_drv_data)
-#else
-#define S3C2410_SERIAL_DRV_DATA NULL
-#endif
-
-#ifdef CONFIG_CPU_S3C2412
-static const struct s3c24xx_serial_drv_data s3c2412_serial_drv_data = {
-	.info = {
-		.name		= "Samsung S3C2412 UART",
-		.type		= TYPE_S3C24XX,
-		.port_type	= PORT_S3C2412,
-		.fifosize	= 64,
-		.has_divslot	= 1,
-		.rx_fifomask	= S3C2440_UFSTAT_RXMASK,
-		.rx_fifoshift	= S3C2440_UFSTAT_RXSHIFT,
-		.rx_fifofull	= S3C2440_UFSTAT_RXFULL,
-		.tx_fifofull	= S3C2440_UFSTAT_TXFULL,
-		.tx_fifomask	= S3C2440_UFSTAT_TXMASK,
-		.tx_fifoshift	= S3C2440_UFSTAT_TXSHIFT,
-		.def_clk_sel	= S3C2410_UCON_CLKSEL2,
-		.num_clks	= 4,
-		.clksel_mask	= S3C2412_UCON_CLKMASK,
-		.clksel_shift	= S3C2412_UCON_CLKSHIFT,
-	},
-	.def_cfg = {
-		.ucon		= S3C2410_UCON_DEFAULT,
-		.ufcon		= S3C2410_UFCON_DEFAULT,
-	},
-};
-#define S3C2412_SERIAL_DRV_DATA (&s3c2412_serial_drv_data)
-#else
-#define S3C2412_SERIAL_DRV_DATA NULL
-#endif
-
-#if defined(CONFIG_CPU_S3C2440) || defined(CONFIG_CPU_S3C2416) || \
-	defined(CONFIG_CPU_S3C2443) || defined(CONFIG_CPU_S3C2442)
-static const struct s3c24xx_serial_drv_data s3c2440_serial_drv_data = {
-	.info = {
-		.name		= "Samsung S3C2440 UART",
-		.type		= TYPE_S3C24XX,
-		.port_type	= PORT_S3C2440,
-		.fifosize	= 64,
-		.has_divslot	= 1,
-		.rx_fifomask	= S3C2440_UFSTAT_RXMASK,
-		.rx_fifoshift	= S3C2440_UFSTAT_RXSHIFT,
-		.rx_fifofull	= S3C2440_UFSTAT_RXFULL,
-		.tx_fifofull	= S3C2440_UFSTAT_TXFULL,
-		.tx_fifomask	= S3C2440_UFSTAT_TXMASK,
-		.tx_fifoshift	= S3C2440_UFSTAT_TXSHIFT,
-		.def_clk_sel	= S3C2410_UCON_CLKSEL2,
-		.num_clks	= 4,
-		.clksel_mask	= S3C2412_UCON_CLKMASK,
-		.clksel_shift	= S3C2412_UCON_CLKSHIFT,
-		.ucon_mask	= S3C2440_UCON0_DIVMASK,
-	},
-	.def_cfg = {
-		.ucon		= S3C2410_UCON_DEFAULT,
-		.ufcon		= S3C2410_UFCON_DEFAULT,
-	},
-};
-#define S3C2440_SERIAL_DRV_DATA (&s3c2440_serial_drv_data)
-#else
-#define S3C2440_SERIAL_DRV_DATA NULL
-#endif
-
 #if defined(CONFIG_CPU_S3C6400) || defined(CONFIG_CPU_S3C6410)
 static const struct s3c24xx_serial_drv_data s3c6400_serial_drv_data = {
 	.info = {
@@ -2845,15 +2661,6 @@ static const struct s3c24xx_serial_drv_data artpec8_serial_drv_data = {
 
 static const struct platform_device_id s3c24xx_serial_driver_ids[] = {
 	{
-		.name		= "s3c2410-uart",
-		.driver_data	= (kernel_ulong_t)S3C2410_SERIAL_DRV_DATA,
-	}, {
-		.name		= "s3c2412-uart",
-		.driver_data	= (kernel_ulong_t)S3C2412_SERIAL_DRV_DATA,
-	}, {
-		.name		= "s3c2440-uart",
-		.driver_data	= (kernel_ulong_t)S3C2440_SERIAL_DRV_DATA,
-	}, {
 		.name		= "s3c6400-uart",
 		.driver_data	= (kernel_ulong_t)S3C6400_SERIAL_DRV_DATA,
 	}, {
@@ -2881,12 +2688,6 @@ MODULE_DEVICE_TABLE(platform, s3c24xx_serial_driver_ids);
 
 #ifdef CONFIG_OF
 static const struct of_device_id s3c24xx_uart_dt_match[] = {
-	{ .compatible = "samsung,s3c2410-uart",
-		.data = S3C2410_SERIAL_DRV_DATA },
-	{ .compatible = "samsung,s3c2412-uart",
-		.data = S3C2412_SERIAL_DRV_DATA },
-	{ .compatible = "samsung,s3c2440-uart",
-		.data = S3C2440_SERIAL_DRV_DATA },
 	{ .compatible = "samsung,s3c6400-uart",
 		.data = S3C6400_SERIAL_DRV_DATA },
 	{ .compatible = "samsung,s5pv210-uart",
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index fb7b603dddf8..8ba4fe9364b1 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -443,12 +443,12 @@ config USB_OHCI_HCD_STI
 	  STMicroelectronics consumer electronics SoC's.
 
 config USB_OHCI_HCD_S3C2410
-	tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series"
-	depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX || COMPILE_TEST)
-	default y if (ARCH_S3C24XX || ARCH_S3C64XX)
+	tristate "OHCI support for Samsung S3C64xx SoC series"
+	depends on USB_OHCI_HCD && (ARCH_S3C64XX || COMPILE_TEST)
+	default ARCH_S3C64XX
 	help
 	  Enables support for the on-chip OHCI controller on
-	  S3C24xx/S3C64xx chips.
+	  S3C64xx chips.
 
 config USB_OHCI_HCD_LPC32XX
 	tristate "Support for LPC on-chip OHCI USB controller"
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index b64bc49c7f30..eee7df45347a 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -491,14 +491,13 @@ config IXP4XX_WATCHDOG
 	  Say N if you are unsure.
 
 config S3C2410_WATCHDOG
-	tristate "S3C2410 Watchdog"
-	depends on ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || \
-		   COMPILE_TEST
+	tristate "S3C6410/S5Pv210/Exynos Watchdog"
+	depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
 	select WATCHDOG_CORE
 	select MFD_SYSCON if ARCH_EXYNOS
 	help
-	  Watchdog timer block in the Samsung S3C24xx, S3C64xx, S5Pv210 and
-	  Exynos SoCs. This will reboot the system when the timer expires with
+	  Watchdog timer block in the Samsung S3C64xx, S5Pv210 and Exynos
+	  SoCs. This will reboot the system when the timer expires with
 	  the watchdog enabled.
 
 	  The driver is limited by the speed of the system's PCLK
diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
index d3fc8ed886ff..200ba236a72e 100644
--- a/drivers/watchdog/s3c2410_wdt.c
+++ b/drivers/watchdog/s3c2410_wdt.c
@@ -562,73 +562,6 @@ static irqreturn_t s3c2410wdt_irq(int irqno, void *param)
 	return IRQ_HANDLED;
 }
 
-#ifdef CONFIG_ARM_S3C24XX_CPUFREQ
-
-static int s3c2410wdt_cpufreq_transition(struct notifier_block *nb,
-					  unsigned long val, void *data)
-{
-	int ret;
-	struct s3c2410_wdt *wdt = freq_to_wdt(nb);
-
-	if (!s3c2410wdt_is_running(wdt))
-		goto done;
-
-	if (val == CPUFREQ_PRECHANGE) {
-		/* To ensure that over the change we don't cause the
-		 * watchdog to trigger, we perform an keep-alive if
-		 * the watchdog is running.
-		 */
-
-		s3c2410wdt_keepalive(&wdt->wdt_device);
-	} else if (val == CPUFREQ_POSTCHANGE) {
-		s3c2410wdt_stop(&wdt->wdt_device);
-
-		ret = s3c2410wdt_set_heartbeat(&wdt->wdt_device,
-						wdt->wdt_device.timeout);
-
-		if (ret >= 0)
-			s3c2410wdt_start(&wdt->wdt_device);
-		else
-			goto err;
-	}
-
-done:
-	return 0;
-
- err:
-	dev_err(wdt->dev, "cannot set new value for timeout %d\n",
-				wdt->wdt_device.timeout);
-	return ret;
-}
-
-static inline int s3c2410wdt_cpufreq_register(struct s3c2410_wdt *wdt)
-{
-	wdt->freq_transition.notifier_call = s3c2410wdt_cpufreq_transition;
-
-	return cpufreq_register_notifier(&wdt->freq_transition,
-					 CPUFREQ_TRANSITION_NOTIFIER);
-}
-
-static inline void s3c2410wdt_cpufreq_deregister(struct s3c2410_wdt *wdt)
-{
-	wdt->freq_transition.notifier_call = s3c2410wdt_cpufreq_transition;
-
-	cpufreq_unregister_notifier(&wdt->freq_transition,
-				    CPUFREQ_TRANSITION_NOTIFIER);
-}
-
-#else
-
-static inline int s3c2410wdt_cpufreq_register(struct s3c2410_wdt *wdt)
-{
-	return 0;
-}
-
-static inline void s3c2410wdt_cpufreq_deregister(struct s3c2410_wdt *wdt)
-{
-}
-#endif
-
 static inline unsigned int s3c2410wdt_get_bootstatus(struct s3c2410_wdt *wdt)
 {
 	unsigned int rst_stat;
@@ -761,12 +694,6 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
 	wdt->wdt_device.min_timeout = 1;
 	wdt->wdt_device.max_timeout = s3c2410wdt_max_timeout(wdt);
 
-	ret = s3c2410wdt_cpufreq_register(wdt);
-	if (ret < 0) {
-		dev_err(dev, "failed to register cpufreq\n");
-		goto err_src_clk;
-	}
-
 	watchdog_set_drvdata(&wdt->wdt_device, wdt);
 
 	/* see if we can actually set the requested timer margin, and if
@@ -783,7 +710,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
 				 S3C2410_WATCHDOG_DEFAULT_TIME);
 		} else {
 			dev_err(dev, "failed to use default timeout\n");
-			goto err_cpufreq;
+			goto err_src_clk;
 		}
 	}
 
@@ -791,7 +718,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
 			       pdev->name, pdev);
 	if (ret != 0) {
 		dev_err(dev, "failed to install irq (%d)\n", ret);
-		goto err_cpufreq;
+		goto err_src_clk;
 	}
 
 	watchdog_set_nowayout(&wdt->wdt_device, nowayout);
@@ -817,7 +744,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
 
 	ret = watchdog_register_device(&wdt->wdt_device);
 	if (ret)
-		goto err_cpufreq;
+		goto err_src_clk;
 
 	ret = s3c2410wdt_enable(wdt, true);
 	if (ret < 0)
@@ -839,9 +766,6 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
  err_unregister:
 	watchdog_unregister_device(&wdt->wdt_device);
 
- err_cpufreq:
-	s3c2410wdt_cpufreq_deregister(wdt);
-
  err_src_clk:
 	clk_disable_unprepare(wdt->src_clk);
 
@@ -862,8 +786,6 @@ static int s3c2410wdt_remove(struct platform_device *dev)
 
 	watchdog_unregister_device(&wdt->wdt_device);
 
-	s3c2410wdt_cpufreq_deregister(wdt);
-
 	clk_disable_unprepare(wdt->src_clk);
 	clk_disable_unprepare(wdt->bus_clk);
 
diff --git a/include/linux/clk/samsung.h b/include/linux/clk/samsung.h
index 38b774001712..0cf7aac83439 100644
--- a/include/linux/clk/samsung.h
+++ b/include/linux/clk/samsung.h
@@ -21,36 +21,4 @@ static inline void s3c64xx_clk_init(struct device_node *np,
 				    bool s3c6400, void __iomem *base) { }
 #endif /* CONFIG_S3C64XX_COMMON_CLK */
 
-#ifdef CONFIG_S3C2410_COMMON_CLK
-void s3c2410_common_clk_init(struct device_node *np, unsigned long xti_f,
-			     int current_soc,
-			     void __iomem *reg_base);
-#else
-static inline void s3c2410_common_clk_init(struct device_node *np,
-					   unsigned long xti_f,
-					   int current_soc,
-					   void __iomem *reg_base) { }
-#endif /* CONFIG_S3C2410_COMMON_CLK */
-
-#ifdef CONFIG_S3C2412_COMMON_CLK
-void s3c2412_common_clk_init(struct device_node *np, unsigned long xti_f,
-			     unsigned long ext_f, void __iomem *reg_base);
-#else
-static inline void s3c2412_common_clk_init(struct device_node *np,
-					   unsigned long xti_f,
-					   unsigned long ext_f,
-					   void __iomem *reg_base) { }
-#endif /* CONFIG_S3C2412_COMMON_CLK */
-
-#ifdef CONFIG_S3C2443_COMMON_CLK
-void s3c2443_common_clk_init(struct device_node *np, unsigned long xti_f,
-			     int current_soc,
-			     void __iomem *reg_base);
-#else
-static inline void s3c2443_common_clk_init(struct device_node *np,
-					   unsigned long xti_f,
-					   int current_soc,
-					   void __iomem *reg_base) { }
-#endif /* CONFIG_S3C2443_COMMON_CLK */
-
 #endif /* __LINUX_CLK_SAMSUNG_H_ */
diff --git a/include/linux/soc/samsung/s3c-pm.h b/include/linux/soc/samsung/s3c-pm.h
index f9164559c99f..5b23d85d20ab 100644
--- a/include/linux/soc/samsung/s3c-pm.h
+++ b/include/linux/soc/samsung/s3c-pm.h
@@ -14,58 +14,10 @@
 
 /* PM debug functions */
 
-/**
- * struct pm_uart_save - save block for core UART
- * @ulcon: Save value for S3C2410_ULCON
- * @ucon: Save value for S3C2410_UCON
- * @ufcon: Save value for S3C2410_UFCON
- * @umcon: Save value for S3C2410_UMCON
- * @ubrdiv: Save value for S3C2410_UBRDIV
- *
- * Save block for UART registers to be held over sleep and restored if they
- * are needed (say by debug).
-*/
-struct pm_uart_save {
-	u32	ulcon;
-	u32	ucon;
-	u32	ufcon;
-	u32	umcon;
-	u32	ubrdiv;
-	u32	udivslot;
-};
-
-#ifdef CONFIG_SAMSUNG_PM_DEBUG
-/**
- * s3c_pm_dbg() - low level debug function for use in suspend/resume.
- * @msg: The message to print.
- *
- * This function is used mainly to debug the resume process before the system
- * can rely on printk/console output. It uses the low-level debugging output
- * routine printascii() to do its work.
- */
-extern void s3c_pm_dbg(const char *msg, ...);
-
-#define S3C_PMDBG(fmt...) s3c_pm_dbg(fmt)
-
-extern void s3c_pm_save_uarts(bool is_s3c24xx);
-extern void s3c_pm_restore_uarts(bool is_s3c24xx);
-
-#ifdef CONFIG_ARCH_S3C64XX
-extern void s3c_pm_arch_update_uart(void __iomem *regs,
-				    struct pm_uart_save *save);
-#else
-static inline void
-s3c_pm_arch_update_uart(void __iomem *regs, struct pm_uart_save *save)
-{
-}
-#endif
-
-#else
 #define S3C_PMDBG(fmt...) pr_debug(fmt)
 
 static inline void s3c_pm_save_uarts(bool is_s3c24xx) { }
 static inline void s3c_pm_restore_uarts(bool is_s3c24xx) { }
-#endif
 
 /* suspend memory checking */
 
@@ -81,14 +33,4 @@ extern void s3c_pm_check_store(void);
 #define s3c_pm_check_store()   do { } while (0)
 #endif
 
-/* system device subsystems */
-
-extern struct bus_type s3c2410_subsys;
-extern struct bus_type s3c2410a_subsys;
-extern struct bus_type s3c2412_subsys;
-extern struct bus_type s3c2416_subsys;
-extern struct bus_type s3c2440_subsys;
-extern struct bus_type s3c2442_subsys;
-extern struct bus_type s3c2443_subsys;
-
 #endif
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 13/21] usb: gadget: remove s3c24xx drivers
  2022-10-21 20:22 [PATCH 00/21] ARM: s3c: clean out obsolete platforms Arnd Bergmann
  2022-10-21 20:27 ` [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks Arnd Bergmann
@ 2022-10-21 20:27 ` Arnd Bergmann
  2022-10-24 12:39   ` Krzysztof Kozlowski
  2022-10-22 15:18 ` [PATCH 00/21] ARM: s3c: clean out obsolete platforms Krzysztof Kozlowski
  2022-10-24 13:00 ` Rob Herring
  3 siblings, 1 reply; 17+ messages in thread
From: Arnd Bergmann @ 2022-10-21 20:27 UTC (permalink / raw)
  To: linux-arm-kernel, Krzysztof Kozlowski, Felipe Balbi, Greg Kroah-Hartman
  Cc: linux-kernel, Ben Dooks, Simtec Linux Team, Arnd Bergmann,
	Alim Akhtar, linux-usb, linux-samsung-soc

From: Arnd Bergmann <arnd@arndb.de>

The s3c24xx platform is gone, so both the udc and hsudc drivers
can be removed as well.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/usb/gadget/udc/Kconfig                |   25 -
 drivers/usb/gadget/udc/Makefile               |    2 -
 drivers/usb/gadget/udc/s3c-hsudc.c            | 1319 -----------
 drivers/usb/gadget/udc/s3c2410_udc.c          | 1980 -----------------
 drivers/usb/gadget/udc/s3c2410_udc.h          |   99 -
 drivers/usb/gadget/udc/s3c2410_udc_regs.h     |  146 --
 include/linux/platform_data/s3c-hsudc.h       |   33 -
 include/linux/platform_data/usb-s3c2410_udc.h |   33 -
 8 files changed, 3637 deletions(-)
 delete mode 100644 drivers/usb/gadget/udc/s3c-hsudc.c
 delete mode 100644 drivers/usb/gadget/udc/s3c2410_udc.c
 delete mode 100644 drivers/usb/gadget/udc/s3c2410_udc.h
 delete mode 100644 drivers/usb/gadget/udc/s3c2410_udc_regs.h
 delete mode 100644 include/linux/platform_data/s3c-hsudc.h
 delete mode 100644 include/linux/platform_data/usb-s3c2410_udc.h

diff --git a/drivers/usb/gadget/udc/Kconfig b/drivers/usb/gadget/udc/Kconfig
index 82fe0c72b496..a96163f70a8c 100644
--- a/drivers/usb/gadget/udc/Kconfig
+++ b/drivers/usb/gadget/udc/Kconfig
@@ -218,31 +218,6 @@ config USB_PXA27X
 	   dynamically linked module called "pxa27x_udc" and force all
 	   gadget drivers to also be dynamically linked.
 
-config USB_S3C2410
-	tristate "S3C2410 USB Device Controller"
-	depends on ARCH_S3C24XX
-	help
-	  Samsung's S3C2410 is an ARM-4 processor with an integrated
-	  full speed USB 1.1 device controller.  It has 4 configurable
-	  endpoints, as well as endpoint zero (for control transfers).
-
-	  This driver has been tested on the S3C2410, S3C2412, and
-	  S3C2440 processors.
-
-config USB_S3C2410_DEBUG
-	bool "S3C2410 udc debug messages"
-	depends on USB_S3C2410
-
-config USB_S3C_HSUDC
-	tristate "S3C2416, S3C2443 and S3C2450 USB Device Controller"
-	depends on ARCH_S3C24XX
-	help
-	  Samsung's S3C2416, S3C2443 and S3C2450 is an ARM9 based SoC
-	  integrated with dual speed USB 2.0 device controller. It has
-	  8 endpoints, as well as endpoint zero.
-
-	  This driver has been tested on S3C2416 and S3C2450 processors.
-
 config USB_MV_UDC
 	tristate "Marvell USB2.0 Device Controller"
 	depends on HAS_DMA
diff --git a/drivers/usb/gadget/udc/Makefile b/drivers/usb/gadget/udc/Makefile
index 12f9e4c9eb0c..a05db5ea376c 100644
--- a/drivers/usb/gadget/udc/Makefile
+++ b/drivers/usb/gadget/udc/Makefile
@@ -17,7 +17,6 @@ obj-$(CONFIG_USB_PXA25X)	+= pxa25x_udc.o
 obj-$(CONFIG_USB_PXA27X)	+= pxa27x_udc.o
 obj-$(CONFIG_USB_GOKU)		+= goku_udc.o
 obj-$(CONFIG_USB_OMAP)		+= omap_udc.o
-obj-$(CONFIG_USB_S3C2410)	+= s3c2410_udc.o
 obj-$(CONFIG_USB_AT91)		+= at91_udc.o
 obj-$(CONFIG_USB_ATMEL_USBA)	+= atmel_usba_udc.o
 obj-$(CONFIG_USB_BCM63XX_UDC)	+= bcm63xx_udc.o
@@ -28,7 +27,6 @@ obj-$(CONFIG_USB_M66592)	+= m66592-udc.o
 obj-$(CONFIG_USB_R8A66597)	+= r8a66597-udc.o
 obj-$(CONFIG_USB_RENESAS_USB3)	+= renesas_usb3.o
 obj-$(CONFIG_USB_FSL_QE)	+= fsl_qe_udc.o
-obj-$(CONFIG_USB_S3C_HSUDC)	+= s3c-hsudc.o
 obj-$(CONFIG_USB_LPC32XX)	+= lpc32xx_udc.o
 obj-$(CONFIG_USB_EG20T)		+= pch_udc.o
 obj-$(CONFIG_USB_MV_UDC)	+= mv_udc.o
diff --git a/drivers/usb/gadget/udc/s3c-hsudc.c b/drivers/usb/gadget/udc/s3c-hsudc.c
deleted file mode 100644
index 4b7eb7701470..000000000000
diff --git a/drivers/usb/gadget/udc/s3c2410_udc.c b/drivers/usb/gadget/udc/s3c2410_udc.c
deleted file mode 100644
index 8c57b191e52b..000000000000
diff --git a/drivers/usb/gadget/udc/s3c2410_udc.h b/drivers/usb/gadget/udc/s3c2410_udc.h
deleted file mode 100644
index cdbf202e5ee8..000000000000
diff --git a/drivers/usb/gadget/udc/s3c2410_udc_regs.h b/drivers/usb/gadget/udc/s3c2410_udc_regs.h
deleted file mode 100644
index d8d2eeaca088..000000000000
diff --git a/include/linux/platform_data/s3c-hsudc.h b/include/linux/platform_data/s3c-hsudc.h
deleted file mode 100644
index a170939832d5..000000000000
diff --git a/include/linux/platform_data/usb-s3c2410_udc.h b/include/linux/platform_data/usb-s3c2410_udc.h
deleted file mode 100644
index c0fbe1fe3426..000000000000
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks
  2022-10-21 20:27 ` [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks Arnd Bergmann
@ 2022-10-21 22:33   ` Wolfram Sang
  2022-10-22 11:24   ` Greg Kroah-Hartman
                     ` (7 subsequent siblings)
  8 siblings, 0 replies; 17+ messages in thread
From: Wolfram Sang @ 2022-10-21 22:33 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Krzysztof Kozlowski, linux-kernel, Ben Dooks,
	Simtec Linux Team, Arnd Bergmann, Alim Akhtar, Daniel Lezcano,
	Thomas Gleixner, Jonathan Cameron, Lars-Peter Clausen,
	Sylwester Nawrocki, Mauro Carvalho Chehab, Ulf Hansson,
	Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
	Tomasz Figa, Linus Walleij, Alessandro Zummo, Alexandre Belloni,
	Greg Kroah-Hartman, Jiri Slaby, Guenter Roeck, Chanwoo Choi,
	Stephen Boyd, linux-samsung-soc, linux-i2c, linux-iio,
	linux-media, linux-mmc, linux-mtd, linux-gpio, linux-rtc,
	linux-serial, linux-usb, linux-watchdog, linux-clk

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

On Fri, Oct 21, 2022 at 10:27:35PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> A number of device drivers reference CONFIG_ARM_S3C24XX_CPUFREQ or
> similar symbols that are no longer available with the platform gone,
> though the drivers themselves are still used on newer platforms,
> so remove these hacks.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Wolfram Sang <wsa@kernel.org> # for I2C


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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks
  2022-10-21 20:27 ` [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks Arnd Bergmann
  2022-10-21 22:33   ` Wolfram Sang
@ 2022-10-22 11:24   ` Greg Kroah-Hartman
  2022-10-22 14:02   ` Linus Walleij
                     ` (6 subsequent siblings)
  8 siblings, 0 replies; 17+ messages in thread
From: Greg Kroah-Hartman @ 2022-10-22 11:24 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Krzysztof Kozlowski, linux-kernel, Ben Dooks,
	Simtec Linux Team, Arnd Bergmann, Alim Akhtar, Daniel Lezcano,
	Thomas Gleixner, Jonathan Cameron, Lars-Peter Clausen,
	Sylwester Nawrocki, Mauro Carvalho Chehab, Ulf Hansson,
	Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
	Tomasz Figa, Linus Walleij, Alessandro Zummo, Alexandre Belloni,
	Jiri Slaby, Guenter Roeck, Chanwoo Choi, Stephen Boyd,
	linux-samsung-soc, linux-i2c, linux-iio, linux-media, linux-mmc,
	linux-mtd, linux-gpio, linux-rtc, linux-serial, linux-usb,
	linux-watchdog, linux-clk

On Fri, Oct 21, 2022 at 10:27:35PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> A number of device drivers reference CONFIG_ARM_S3C24XX_CPUFREQ or
> similar symbols that are no longer available with the platform gone,
> though the drivers themselves are still used on newer platforms,
> so remove these hacks.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks
  2022-10-21 20:27 ` [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks Arnd Bergmann
  2022-10-21 22:33   ` Wolfram Sang
  2022-10-22 11:24   ` Greg Kroah-Hartman
@ 2022-10-22 14:02   ` Linus Walleij
  2022-10-23 11:00   ` Jonathan Cameron
                     ` (5 subsequent siblings)
  8 siblings, 0 replies; 17+ messages in thread
From: Linus Walleij @ 2022-10-22 14:02 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Krzysztof Kozlowski, linux-kernel, Ben Dooks,
	Simtec Linux Team, Arnd Bergmann, Alim Akhtar, Daniel Lezcano,
	Thomas Gleixner, Jonathan Cameron, Lars-Peter Clausen,
	Sylwester Nawrocki, Mauro Carvalho Chehab, Ulf Hansson,
	Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
	Tomasz Figa, Alessandro Zummo, Alexandre Belloni,
	Greg Kroah-Hartman, Jiri Slaby, Guenter Roeck, Chanwoo Choi,
	Stephen Boyd, linux-samsung-soc, linux-i2c, linux-iio,
	linux-media, linux-mmc, linux-mtd, linux-gpio, linux-rtc,
	linux-serial, linux-usb, linux-watchdog, linux-clk

On Fri, Oct 21, 2022 at 10:37 PM Arnd Bergmann <arnd@kernel.org> wrote:

> From: Arnd Bergmann <arnd@arndb.de>
>
> A number of device drivers reference CONFIG_ARM_S3C24XX_CPUFREQ or
> similar symbols that are no longer available with the platform gone,
> though the drivers themselves are still used on newer platforms,
> so remove these hacks.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 00/21] ARM: s3c: clean out obsolete platforms
  2022-10-21 20:22 [PATCH 00/21] ARM: s3c: clean out obsolete platforms Arnd Bergmann
  2022-10-21 20:27 ` [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks Arnd Bergmann
  2022-10-21 20:27 ` [PATCH 13/21] usb: gadget: remove s3c24xx drivers Arnd Bergmann
@ 2022-10-22 15:18 ` Krzysztof Kozlowski
  2022-10-22 19:48   ` Arnd Bergmann
  2022-10-24 13:00 ` Rob Herring
  3 siblings, 1 reply; 17+ messages in thread
From: Krzysztof Kozlowski @ 2022-10-22 15:18 UTC (permalink / raw)
  To: Arnd Bergmann, linux-arm-kernel
  Cc: linux-kernel, Ben Dooks, Simtec Linux Team, Arnd Bergmann,
	linux-doc, linux-samsung-soc, devicetree, patches, linux-stm32,
	linux-ide, linux-clk, linux-pm, dmaengine, linux-hwmon,
	linux-i2c, linux-iio, linux-input, linux-leds, linux-media,
	linux-mmc, linux-mtd, linux-gpio, linux-rtc, linux-spi,
	linux-serial, linux-usb, linux-fbdev, dri-devel, linux-watchdog,
	alsa-devel, linux-pwm

On 21/10/2022 16:22, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> The s3c24xx platform was marked as deprecated a while ago,
> and for the s3c64xx platform, we marked all except one legacy
> board file as unused.
> 
> This series removes all of those, leaving only s3c64xx support
> for DT based boots as well as the cragg6410 board file.
> 
> About half of the s3c specific drivers were only used on
> the now removed machines, so these drivers can be retired
> as well. I can either merge the driver removal patches through
> the soc tree along with the board file patches, or subsystem
> maintainers can pick them up into their own trees, whichever
> they prefer.

Just to be sure - do you expect me to ack the series, or rather as usual
pick them up?


Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 00/21] ARM: s3c: clean out obsolete platforms
  2022-10-22 15:18 ` [PATCH 00/21] ARM: s3c: clean out obsolete platforms Krzysztof Kozlowski
@ 2022-10-22 19:48   ` Arnd Bergmann
  0 siblings, 0 replies; 17+ messages in thread
From: Arnd Bergmann @ 2022-10-22 19:48 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Arnd Bergmann, linux-arm-kernel
  Cc: linux-kernel, Ben Dooks, Simtec Linux Team, linux-doc,
	linux-samsung-soc, devicetree, patches, linux-stm32, linux-ide,
	linux-clk, linux-pm, dmaengine, linux-hwmon, linux-i2c,
	linux-iio, linux-input, linux-leds, linux-media,
	linux-mmc @ vger . kernel . org, linux-mtd,
	open list:GPIO SUBSYSTEM, linux-rtc, linux-spi, linux-serial,
	linux-usb, linux-fbdev, dri-devel, linux-watchdog, alsa-devel,
	linux-pwm

On Sat, Oct 22, 2022, at 17:18, Krzysztof Kozlowski wrote:
> On 21/10/2022 16:22, Arnd Bergmann wrote:
>> From: Arnd Bergmann <arnd@arndb.de>
>> 
>> The s3c24xx platform was marked as deprecated a while ago,
>> and for the s3c64xx platform, we marked all except one legacy
>> board file as unused.
>> 
>> This series removes all of those, leaving only s3c64xx support
>> for DT based boots as well as the cragg6410 board file.
>> 
>> About half of the s3c specific drivers were only used on
>> the now removed machines, so these drivers can be retired
>> as well. I can either merge the driver removal patches through
>> the soc tree along with the board file patches, or subsystem
>> maintainers can pick them up into their own trees, whichever
>> they prefer.
>
> Just to be sure - do you expect me to ack the series, or rather as usual
> pick them up?

I think in this case it is easier if I pick them up with your
Ack along with the other platforms I posted, as there are
some minor conflicts between Makefile/Kconfig changes where
I remove adjacent lines.

       Arnd

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks
  2022-10-21 20:27 ` [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks Arnd Bergmann
                     ` (2 preceding siblings ...)
  2022-10-22 14:02   ` Linus Walleij
@ 2022-10-23 11:00   ` Jonathan Cameron
  2022-10-23 18:08   ` Daniel Lezcano
                     ` (4 subsequent siblings)
  8 siblings, 0 replies; 17+ messages in thread
From: Jonathan Cameron @ 2022-10-23 11:00 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Krzysztof Kozlowski, linux-kernel, Ben Dooks,
	Simtec Linux Team, Arnd Bergmann, Alim Akhtar, Daniel Lezcano,
	Thomas Gleixner, Lars-Peter Clausen, Sylwester Nawrocki,
	Mauro Carvalho Chehab, Ulf Hansson, Miquel Raynal,
	Richard Weinberger, Vignesh Raghavendra, Tomasz Figa,
	Linus Walleij, Alessandro Zummo, Alexandre Belloni,
	Greg Kroah-Hartman, Jiri Slaby, Guenter Roeck, Chanwoo Choi,
	Stephen Boyd, linux-samsung-soc, linux-i2c, linux-iio,
	linux-media, linux-mmc, linux-mtd, linux-gpio, linux-rtc,
	linux-serial, linux-usb, linux-watchdog, linux-clk

On Fri, 21 Oct 2022 22:27:35 +0200
Arnd Bergmann <arnd@kernel.org> wrote:

> From: Arnd Bergmann <arnd@arndb.de>
> 
> A number of device drivers reference CONFIG_ARM_S3C24XX_CPUFREQ or
> similar symbols that are no longer available with the platform gone,
> though the drivers themselves are still used on newer platforms,
> so remove these hacks.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
For the IIO Kconfig change

Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

> ---
>  arch/arm/include/debug/s3c24xx.S              |  10 -
>  arch/arm/mach-s3c/Makefile                    |   2 -
>  arch/arm/mach-s3c/devs.c                      |   1 -
>  arch/arm/mach-s3c/dma.h                       |   7 -
>  arch/arm/mach-s3c/gpio-samsung.h              |   7 -
>  arch/arm/mach-s3c/irqs.h                      |   7 -
>  arch/arm/mach-s3c/map.h                       |   7 -
>  arch/arm/mach-s3c/pm-core.h                   |   7 -
>  arch/arm/mach-s3c/regs-clock.h                |   7 -
>  arch/arm/mach-s3c/regs-gpio.h                 |   7 -
>  arch/arm/mach-s3c/regs-irq.h                  |   7 -
>  drivers/clocksource/Kconfig                   |   2 +-
>  drivers/i2c/busses/Kconfig                    |   3 +-
>  drivers/i2c/busses/i2c-s3c2410.c              |  72 -------
>  drivers/iio/adc/Kconfig                       |   6 +-
>  .../media/platform/samsung/s3c-camif/Kconfig  |   8 +-
>  drivers/mmc/host/Kconfig                      |   5 +-
>  drivers/mtd/nand/raw/Kconfig                  |   2 +-
>  drivers/mtd/nand/raw/s3c2410.c                |  60 ------
>  drivers/pinctrl/samsung/pinctrl-samsung.c     |  10 -
>  drivers/rtc/Kconfig                           |   8 +-
>  drivers/tty/serial/Kconfig                    |   8 +-
>  drivers/tty/serial/samsung_tty.c              | 199 ------------------
>  drivers/usb/host/Kconfig                      |   8 +-
>  drivers/watchdog/Kconfig                      |   9 +-
>  drivers/watchdog/s3c2410_wdt.c                |  84 +-------
>  include/linux/clk/samsung.h                   |  32 ---
>  include/linux/soc/samsung/s3c-pm.h            |  58 -----
>  28 files changed, 29 insertions(+), 614 deletions(-)
> 
> diff --git a/arch/arm/include/debug/s3c24xx.S b/arch/arm/include/debug/s3c24xx.S
> index af873b526677..7ab5e577cd42 100644
> --- a/arch/arm/include/debug/s3c24xx.S
> +++ b/arch/arm/include/debug/s3c24xx.S
> @@ -28,16 +28,6 @@
>  		and	\rd, \rd, #S3C2410_UFSTAT_TXMASK
>  	.endm
>  
> -/* Select the correct implementation depending on the configuration. The
> - * S3C2440 will get selected by default, as these are the most widely
> - * used variants of these
> -*/
> -
> -#if defined(CONFIG_DEBUG_S3C2410_UART)
> -#define fifo_full  fifo_full_s3c2410
> -#define fifo_level fifo_level_s3c2410
> -#endif
> -
>  /* include the reset of the code which will do the work */
>  
>  #include <debug/samsung.S>
> diff --git a/arch/arm/mach-s3c/Makefile b/arch/arm/mach-s3c/Makefile
> index e7f18039b149..a5135137e648 100644
> --- a/arch/arm/mach-s3c/Makefile
> +++ b/arch/arm/mach-s3c/Makefile
> @@ -2,9 +2,7 @@
>  #
>  # Copyright 2009 Simtec Electronics
>  
> -ifdef CONFIG_ARCH_S3C64XX
>  include $(src)/Makefile.s3c64xx
> -endif
>  
>  # Objects we always build independent of SoC choice
>  
> diff --git a/arch/arm/mach-s3c/devs.c b/arch/arm/mach-s3c/devs.c
> index 9ac07c023adf..a31d1c3038e8 100644
> --- a/arch/arm/mach-s3c/devs.c
> +++ b/arch/arm/mach-s3c/devs.c
> @@ -29,7 +29,6 @@
>  #include <linux/sizes.h>
>  #include <linux/platform_data/s3c-hsudc.h>
>  #include <linux/platform_data/s3c-hsotg.h>
> -#include <linux/platform_data/dma-s3c24xx.h>
>  
>  #include <linux/platform_data/media/s5p_hdmi.h>
>  
> diff --git a/arch/arm/mach-s3c/dma.h b/arch/arm/mach-s3c/dma.h
> index 59a4578c5f00..48057cb90070 100644
> --- a/arch/arm/mach-s3c/dma.h
> +++ b/arch/arm/mach-s3c/dma.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "dma-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "dma-s3c64xx.h"
> -#endif
> diff --git a/arch/arm/mach-s3c/gpio-samsung.h b/arch/arm/mach-s3c/gpio-samsung.h
> index 02f6f4a96862..4233515eddaa 100644
> --- a/arch/arm/mach-s3c/gpio-samsung.h
> +++ b/arch/arm/mach-s3c/gpio-samsung.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "gpio-samsung-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "gpio-samsung-s3c64xx.h"
> -#endif
> diff --git a/arch/arm/mach-s3c/irqs.h b/arch/arm/mach-s3c/irqs.h
> index 0bff1c1c8eb0..3ff0e0963080 100644
> --- a/arch/arm/mach-s3c/irqs.h
> +++ b/arch/arm/mach-s3c/irqs.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "irqs-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "irqs-s3c64xx.h"
> -#endif
> diff --git a/arch/arm/mach-s3c/map.h b/arch/arm/mach-s3c/map.h
> index 7cfb517d4886..778d6f81cb2b 100644
> --- a/arch/arm/mach-s3c/map.h
> +++ b/arch/arm/mach-s3c/map.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "map-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "map-s3c64xx.h"
> -#endif
> diff --git a/arch/arm/mach-s3c/pm-core.h b/arch/arm/mach-s3c/pm-core.h
> index b0e1d277f599..3e0c2df79120 100644
> --- a/arch/arm/mach-s3c/pm-core.h
> +++ b/arch/arm/mach-s3c/pm-core.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "pm-core-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "pm-core-s3c64xx.h"
> -#endif
> diff --git a/arch/arm/mach-s3c/regs-clock.h b/arch/arm/mach-s3c/regs-clock.h
> index 7df31f203d28..fc7e3886b07c 100644
> --- a/arch/arm/mach-s3c/regs-clock.h
> +++ b/arch/arm/mach-s3c/regs-clock.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "regs-clock-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "regs-clock-s3c64xx.h"
> -#endif
> diff --git a/arch/arm/mach-s3c/regs-gpio.h b/arch/arm/mach-s3c/regs-gpio.h
> index 0d41cb76d440..4e08e8609663 100644
> --- a/arch/arm/mach-s3c/regs-gpio.h
> +++ b/arch/arm/mach-s3c/regs-gpio.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "regs-gpio-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "regs-gpio-s3c64xx.h"
> -#endif
> diff --git a/arch/arm/mach-s3c/regs-irq.h b/arch/arm/mach-s3c/regs-irq.h
> index 57f0dda8dbf5..4243daa54bd1 100644
> --- a/arch/arm/mach-s3c/regs-irq.h
> +++ b/arch/arm/mach-s3c/regs-irq.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "regs-irq-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "regs-irq-s3c64xx.h"
> -#endif
> diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
> index 4469e7f555e9..fc10ecc3602d 100644
> --- a/drivers/clocksource/Kconfig
> +++ b/drivers/clocksource/Kconfig
> @@ -441,7 +441,7 @@ config CLKSRC_EXYNOS_MCT
>  config CLKSRC_SAMSUNG_PWM
>  	bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
>  	depends on HAS_IOMEM
> -	depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
> +	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
>  	help
>  	  This is a new clocksource driver for the PWM timer found in
>  	  Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
> diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
> index f427c8ea5c7b..84d21e0a7cdf 100644
> --- a/drivers/i2c/busses/Kconfig
> +++ b/drivers/i2c/busses/Kconfig
> @@ -1009,8 +1009,7 @@ config I2C_RZV2M
>  
>  config I2C_S3C2410
>  	tristate "S3C/Exynos I2C Driver"
> -	depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || \
> -		   ARCH_S5PV210 || COMPILE_TEST
> +	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
>  	help
>  	  Say Y here to include support for I2C controller in the
>  	  Samsung SoCs (S3C, S5Pv210, Exynos).
> diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
> index 36dab9cd208c..45e9df81345a 100644
> --- a/drivers/i2c/busses/i2c-s3c2410.c
> +++ b/drivers/i2c/busses/i2c-s3c2410.c
> @@ -116,9 +116,6 @@ struct s3c24xx_i2c {
>  	struct s3c2410_platform_i2c	*pdata;
>  	struct gpio_desc	*gpios[2];
>  	struct pinctrl          *pctrl;
> -#if defined(CONFIG_ARM_S3C24XX_CPUFREQ)
> -	struct notifier_block	freq_transition;
> -#endif
>  	struct regmap		*sysreg;
>  	unsigned int		sys_i2c_cfg;
>  };
> @@ -885,65 +882,6 @@ static int s3c24xx_i2c_clockrate(struct s3c24xx_i2c *i2c, unsigned int *got)
>  	return 0;
>  }
>  
> -#if defined(CONFIG_ARM_S3C24XX_CPUFREQ)
> -
> -#define freq_to_i2c(_n) container_of(_n, struct s3c24xx_i2c, freq_transition)
> -
> -static int s3c24xx_i2c_cpufreq_transition(struct notifier_block *nb,
> -					  unsigned long val, void *data)
> -{
> -	struct s3c24xx_i2c *i2c = freq_to_i2c(nb);
> -	unsigned int got;
> -	int delta_f;
> -	int ret;
> -
> -	delta_f = clk_get_rate(i2c->clk) - i2c->clkrate;
> -
> -	/* if we're post-change and the input clock has slowed down
> -	 * or at pre-change and the clock is about to speed up, then
> -	 * adjust our clock rate. <0 is slow, >0 speedup.
> -	 */
> -
> -	if ((val == CPUFREQ_POSTCHANGE && delta_f < 0) ||
> -	    (val == CPUFREQ_PRECHANGE && delta_f > 0)) {
> -		i2c_lock_bus(&i2c->adap, I2C_LOCK_ROOT_ADAPTER);
> -		ret = s3c24xx_i2c_clockrate(i2c, &got);
> -		i2c_unlock_bus(&i2c->adap, I2C_LOCK_ROOT_ADAPTER);
> -
> -		if (ret < 0)
> -			dev_err(i2c->dev, "cannot find frequency (%d)\n", ret);
> -		else
> -			dev_info(i2c->dev, "setting freq %d\n", got);
> -	}
> -
> -	return 0;
> -}
> -
> -static inline int s3c24xx_i2c_register_cpufreq(struct s3c24xx_i2c *i2c)
> -{
> -	i2c->freq_transition.notifier_call = s3c24xx_i2c_cpufreq_transition;
> -
> -	return cpufreq_register_notifier(&i2c->freq_transition,
> -					 CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -static inline void s3c24xx_i2c_deregister_cpufreq(struct s3c24xx_i2c *i2c)
> -{
> -	cpufreq_unregister_notifier(&i2c->freq_transition,
> -				    CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -#else
> -static inline int s3c24xx_i2c_register_cpufreq(struct s3c24xx_i2c *i2c)
> -{
> -	return 0;
> -}
> -
> -static inline void s3c24xx_i2c_deregister_cpufreq(struct s3c24xx_i2c *i2c)
> -{
> -}
> -#endif
> -
>  #ifdef CONFIG_OF
>  static int s3c24xx_i2c_parse_dt_gpio(struct s3c24xx_i2c *i2c)
>  {
> @@ -1152,13 +1090,6 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
>  		}
>  	}
>  
> -	ret = s3c24xx_i2c_register_cpufreq(i2c);
> -	if (ret < 0) {
> -		dev_err(&pdev->dev, "failed to register cpufreq notifier\n");
> -		clk_unprepare(i2c->clk);
> -		return ret;
> -	}
> -
>  	/*
>  	 * Note, previous versions of the driver used i2c_add_adapter()
>  	 * to add the bus at any number. We now pass the bus number via
> @@ -1175,7 +1106,6 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
>  	ret = i2c_add_numbered_adapter(&i2c->adap);
>  	if (ret < 0) {
>  		pm_runtime_disable(&pdev->dev);
> -		s3c24xx_i2c_deregister_cpufreq(i2c);
>  		clk_unprepare(i2c->clk);
>  		return ret;
>  	}
> @@ -1192,8 +1122,6 @@ static int s3c24xx_i2c_remove(struct platform_device *pdev)
>  
>  	pm_runtime_disable(&pdev->dev);
>  
> -	s3c24xx_i2c_deregister_cpufreq(i2c);
> -
>  	i2c_del_adapter(&i2c->adap);
>  
>  	return 0;
> diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
> index 791612ca6012..9de7f05d40e2 100644
> --- a/drivers/iio/adc/Kconfig
> +++ b/drivers/iio/adc/Kconfig
> @@ -437,11 +437,11 @@ config EP93XX_ADC
>  
>  config EXYNOS_ADC
>  	tristate "Exynos ADC driver support"
> -	depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || (OF && COMPILE_TEST)
> +	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || (OF && COMPILE_TEST)
>  	depends on HAS_IOMEM
>  	help
> -	  Driver for the ADC block found in the Samsung S3C (S3C2410, S3C2416,
> -	  S3C2440, S3C2443, S3C6410), S5Pv210 and Exynos SoCs.
> +	  Driver for the ADC block found in the Samsung S3C6410, S5Pv210 and
> +	  Exynos SoCs.
>  	  Choose Y here only if you build for such Samsung SoC.
>  
>  	  To compile this driver as a module, choose M here: the module will be
> diff --git a/drivers/media/platform/samsung/s3c-camif/Kconfig b/drivers/media/platform/samsung/s3c-camif/Kconfig
> index 8cb8d1ac3edc..f359f6382fff 100644
> --- a/drivers/media/platform/samsung/s3c-camif/Kconfig
> +++ b/drivers/media/platform/samsung/s3c-camif/Kconfig
> @@ -1,15 +1,15 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  config VIDEO_S3C_CAMIF
> -	tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
> +	tristate "Samsung 3C64XX SoC Camera Interface driver"
>  	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_DEV && I2C && PM
> -	depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
> +	depends on ARCH_S3C64XX || COMPILE_TEST
>  	select MEDIA_CONTROLLER
>  	select VIDEO_V4L2_SUBDEV_API
>  	select VIDEOBUF2_DMA_CONTIG
>  	help
> -	  This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
> -	  host interface (CAMIF).
> +	  This is a v4l2 driver for s3c64xx SoC series camera host interface
> +	  (CAMIF).
>  
>  	  To compile this driver as a module, choose M here: the module
>  	  will be called s3c-camif.
> diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
> index 84dd37ff2735..79d8ddf1f616 100644
> --- a/drivers/mmc/host/Kconfig
> +++ b/drivers/mmc/host/Kconfig
> @@ -312,9 +312,8 @@ config MMC_SDHCI_S3C
>  	depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
>  	help
>  	  This selects the Secure Digital Host Controller Interface (SDHCI)
> -	  often referrered to as the HSMMC block in some of the Samsung S3C
> -	  (S3C2416, S3C2443, S3C6410), S5Pv210 and Exynos (Exynso4210,
> -	  Exynos4412) SoCs.
> +	  often referrered to as the HSMMC block in some of the Samsung
> +	  S3C6410, S5Pv210 and Exynos (Exynso4210, Exynos4412) SoCs.
>  
>  	  If you have a controller with this interface (thereforeyou build for
>  	  such Samsung SoC), say Y or M here.
> diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig
> index 280a55139387..a347833b8f29 100644
> --- a/drivers/mtd/nand/raw/Kconfig
> +++ b/drivers/mtd/nand/raw/Kconfig
> @@ -79,7 +79,7 @@ config MTD_NAND_NDFC
>  
>  config MTD_NAND_S3C2410
>  	tristate "Samsung S3C NAND controller"
> -	depends on ARCH_S3C24XX || ARCH_S3C64XX
> +	depends on ARCH_S3C64XX
>  	help
>  	  This enables the NAND flash controller on the S3C24xx and S3C64xx
>  	  SoCs
> diff --git a/drivers/mtd/nand/raw/s3c2410.c b/drivers/mtd/nand/raw/s3c2410.c
> index f0a4535c812a..80d96f94d6cb 100644
> --- a/drivers/mtd/nand/raw/s3c2410.c
> +++ b/drivers/mtd/nand/raw/s3c2410.c
> @@ -166,10 +166,6 @@ struct s3c2410_nand_info {
>  	enum s3c_nand_clk_state		clk_state;
>  
>  	enum s3c_cpu_type		cpu_type;
> -
> -#ifdef CONFIG_ARM_S3C24XX_CPUFREQ
> -	struct notifier_block	freq_transition;
> -#endif
>  };
>  
>  struct s3c24XX_nand_devtype_data {
> @@ -711,54 +707,6 @@ static void s3c2440_nand_write_buf(struct nand_chip *this, const u_char *buf,
>  	}
>  }
>  
> -/* cpufreq driver support */
> -
> -#ifdef CONFIG_ARM_S3C24XX_CPUFREQ
> -
> -static int s3c2410_nand_cpufreq_transition(struct notifier_block *nb,
> -					  unsigned long val, void *data)
> -{
> -	struct s3c2410_nand_info *info;
> -	unsigned long newclk;
> -
> -	info = container_of(nb, struct s3c2410_nand_info, freq_transition);
> -	newclk = clk_get_rate(info->clk);
> -
> -	if ((val == CPUFREQ_POSTCHANGE && newclk < info->clk_rate) ||
> -	    (val == CPUFREQ_PRECHANGE && newclk > info->clk_rate)) {
> -		s3c2410_nand_setrate(info);
> -	}
> -
> -	return 0;
> -}
> -
> -static inline int s3c2410_nand_cpufreq_register(struct s3c2410_nand_info *info)
> -{
> -	info->freq_transition.notifier_call = s3c2410_nand_cpufreq_transition;
> -
> -	return cpufreq_register_notifier(&info->freq_transition,
> -					 CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -static inline void
> -s3c2410_nand_cpufreq_deregister(struct s3c2410_nand_info *info)
> -{
> -	cpufreq_unregister_notifier(&info->freq_transition,
> -				    CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -#else
> -static inline int s3c2410_nand_cpufreq_register(struct s3c2410_nand_info *info)
> -{
> -	return 0;
> -}
> -
> -static inline void
> -s3c2410_nand_cpufreq_deregister(struct s3c2410_nand_info *info)
> -{
> -}
> -#endif
> -
>  /* device management functions */
>  
>  static int s3c24xx_nand_remove(struct platform_device *pdev)
> @@ -768,8 +716,6 @@ static int s3c24xx_nand_remove(struct platform_device *pdev)
>  	if (info == NULL)
>  		return 0;
>  
> -	s3c2410_nand_cpufreq_deregister(info);
> -
>  	/* Release all our mtds  and their partitions, then go through
>  	 * freeing the resources used
>  	 */
> @@ -1184,12 +1130,6 @@ static int s3c24xx_nand_probe(struct platform_device *pdev)
>  	if (err != 0)
>  		goto exit_error;
>  
> -	err = s3c2410_nand_cpufreq_register(info);
> -	if (err < 0) {
> -		dev_err(&pdev->dev, "failed to init cpufreq support\n");
> -		goto exit_error;
> -	}
> -
>  	if (allow_clk_suspend(info)) {
>  		dev_info(&pdev->dev, "clock idle support enabled\n");
>  		s3c2410_nand_clk_set_state(info, CLOCK_SUSPEND);
> diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
> index bd13b5ef246d..1a478854293f 100644
> --- a/drivers/pinctrl/samsung/pinctrl-samsung.c
> +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
> @@ -1322,16 +1322,6 @@ static const struct of_device_id samsung_pinctrl_dt_match[] = {
>  #ifdef CONFIG_PINCTRL_S3C64XX
>  	{ .compatible = "samsung,s3c64xx-pinctrl",
>  		.data = &s3c64xx_of_data },
> -#endif
> -#ifdef CONFIG_PINCTRL_S3C24XX
> -	{ .compatible = "samsung,s3c2412-pinctrl",
> -		.data = &s3c2412_of_data },
> -	{ .compatible = "samsung,s3c2416-pinctrl",
> -		.data = &s3c2416_of_data },
> -	{ .compatible = "samsung,s3c2440-pinctrl",
> -		.data = &s3c2440_of_data },
> -	{ .compatible = "samsung,s3c2450-pinctrl",
> -		.data = &s3c2450_of_data },
>  #endif
>  	{},
>  };
> diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
> index 312dccfa3f18..d13ca620ea5d 100644
> --- a/drivers/rtc/Kconfig
> +++ b/drivers/rtc/Kconfig
> @@ -1406,18 +1406,14 @@ config RTC_DRV_OMAP
>  
>  config RTC_DRV_S3C
>  	tristate "Samsung S3C series SoC RTC"
> -	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S3C24XX || ARCH_S5PV210 || \
> +	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || \
>  		   COMPILE_TEST
>  	help
>  	  RTC (Realtime Clock) driver for the clock inbuilt into the
> -	  Samsung S3C24XX series of SoCs. This can provide periodic
> +	  Samsung S3C64XX series of SoCs. This can provide periodic
>  	  interrupt rates from 1Hz to 64Hz for user programs, and
>  	  wakeup from Alarm.
>  
> -	  The driver currently supports the common features on all the
> -	  S3C24XX range, such as the S3C2410, S3C2412, S3C2413, S3C2440
> -	  and S3C2442.
> -
>  	  This driver can also be build as a module. If so, the module
>  	  will be called rtc-s3c.
>  
> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
> index 434f83168546..3ba8a39655a3 100644
> --- a/drivers/tty/serial/Kconfig
> +++ b/drivers/tty/serial/Kconfig
> @@ -242,23 +242,23 @@ config SERIAL_SAMSUNG
>  	select SERIAL_CORE
>  	help
>  	  Support for the on-chip UARTs on the Samsung
> -	  S3C24xx/S3C64xx/S5Pv210/Exynos and Apple M1 SoCs, providing
> +	  S3C64xx/S5Pv210/Exynos and Apple M1 SoCs, providing
>  	  /dev/ttySAC0, 1 and 2 (note, some machines may not provide all of
>  	  these ports, depending on how the serial port pins are configured.
> +
>  	  Choose Y/M here only if you build for such SoC.
>  
>  config SERIAL_SAMSUNG_UARTS_4
>  	bool
>  	depends on SERIAL_SAMSUNG
> -	default y if !(CPU_S3C2410 || CPU_S3C2412 || CPU_S3C2440 || CPU_S3C2442)
> +	default y
>  	help
>  	  Internal node for the common case of 4 Samsung compatible UARTs
>  
>  config SERIAL_SAMSUNG_UARTS
>  	int
>  	depends on SERIAL_SAMSUNG
> -	default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416
> -	default 3
> +	default 4
>  	help
>  	  Select the number of available UART ports for the Samsung S3C
>  	  serial driver
> diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
> index 77d1363029f5..5adf3963b2f6 100644
> --- a/drivers/tty/serial/samsung_tty.c
> +++ b/drivers/tty/serial/samsung_tty.c
> @@ -152,10 +152,6 @@ struct s3c24xx_uart_port {
>  	const struct s3c2410_uartcfg	*cfg;
>  
>  	struct s3c24xx_uart_dma		*dma;
> -
> -#ifdef CONFIG_ARM_S3C24XX_CPUFREQ
> -	struct notifier_block		freq_transition;
> -#endif
>  };
>  
>  static void s3c24xx_serial_tx_chars(struct s3c24xx_uart_port *ourport);
> @@ -1859,93 +1855,6 @@ static void s3c24xx_serial_resetport(struct uart_port *port,
>  	udelay(1);
>  }
>  
> -#ifdef CONFIG_ARM_S3C24XX_CPUFREQ
> -
> -static int s3c24xx_serial_cpufreq_transition(struct notifier_block *nb,
> -					     unsigned long val, void *data)
> -{
> -	struct s3c24xx_uart_port *port;
> -	struct uart_port *uport;
> -
> -	port = container_of(nb, struct s3c24xx_uart_port, freq_transition);
> -	uport = &port->port;
> -
> -	/* check to see if port is enabled */
> -
> -	if (port->pm_level != 0)
> -		return 0;
> -
> -	/* try and work out if the baudrate is changing, we can detect
> -	 * a change in rate, but we do not have support for detecting
> -	 * a disturbance in the clock-rate over the change.
> -	 */
> -
> -	if (IS_ERR(port->baudclk))
> -		goto exit;
> -
> -	if (port->baudclk_rate == clk_get_rate(port->baudclk))
> -		goto exit;
> -
> -	if (val == CPUFREQ_PRECHANGE) {
> -		/* we should really shut the port down whilst the
> -		 * frequency change is in progress.
> -		 */
> -
> -	} else if (val == CPUFREQ_POSTCHANGE) {
> -		struct ktermios *termios;
> -		struct tty_struct *tty;
> -
> -		if (uport->state == NULL)
> -			goto exit;
> -
> -		tty = uport->state->port.tty;
> -
> -		if (tty == NULL)
> -			goto exit;
> -
> -		termios = &tty->termios;
> -
> -		if (termios == NULL) {
> -			dev_warn(uport->dev, "%s: no termios?\n", __func__);
> -			goto exit;
> -		}
> -
> -		s3c24xx_serial_set_termios(uport, termios, NULL);
> -	}
> -
> -exit:
> -	return 0;
> -}
> -
> -static inline int
> -s3c24xx_serial_cpufreq_register(struct s3c24xx_uart_port *port)
> -{
> -	port->freq_transition.notifier_call = s3c24xx_serial_cpufreq_transition;
> -
> -	return cpufreq_register_notifier(&port->freq_transition,
> -					 CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -static inline void
> -s3c24xx_serial_cpufreq_deregister(struct s3c24xx_uart_port *port)
> -{
> -	cpufreq_unregister_notifier(&port->freq_transition,
> -				    CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -#else
> -static inline int
> -s3c24xx_serial_cpufreq_register(struct s3c24xx_uart_port *port)
> -{
> -	return 0;
> -}
> -
> -static inline void
> -s3c24xx_serial_cpufreq_deregister(struct s3c24xx_uart_port *port)
> -{
> -}
> -#endif
> -
>  static int s3c24xx_serial_enable_baudclk(struct s3c24xx_uart_port *ourport)
>  {
>  	struct device *dev = ourport->port.dev;
> @@ -2237,10 +2146,6 @@ static int s3c24xx_serial_probe(struct platform_device *pdev)
>  	if (!IS_ERR(ourport->baudclk))
>  		clk_disable_unprepare(ourport->baudclk);
>  
> -	ret = s3c24xx_serial_cpufreq_register(ourport);
> -	if (ret < 0)
> -		dev_err(&pdev->dev, "failed to add cpufreq notifier\n");
> -
>  	probe_index++;
>  
>  	return 0;
> @@ -2251,7 +2156,6 @@ static int s3c24xx_serial_remove(struct platform_device *dev)
>  	struct uart_port *port = s3c24xx_dev_to_port(&dev->dev);
>  
>  	if (port) {
> -		s3c24xx_serial_cpufreq_deregister(to_ourport(port));
>  		uart_remove_one_port(&s3c24xx_uart_drv, port);
>  	}
>  
> @@ -2589,94 +2493,6 @@ static struct console s3c24xx_serial_console = {
>  };
>  #endif /* CONFIG_SERIAL_SAMSUNG_CONSOLE */
>  
> -#ifdef CONFIG_CPU_S3C2410
> -static const struct s3c24xx_serial_drv_data s3c2410_serial_drv_data = {
> -	.info = {
> -		.name		= "Samsung S3C2410 UART",
> -		.type		= TYPE_S3C24XX,
> -		.port_type	= PORT_S3C2410,
> -		.fifosize	= 16,
> -		.rx_fifomask	= S3C2410_UFSTAT_RXMASK,
> -		.rx_fifoshift	= S3C2410_UFSTAT_RXSHIFT,
> -		.rx_fifofull	= S3C2410_UFSTAT_RXFULL,
> -		.tx_fifofull	= S3C2410_UFSTAT_TXFULL,
> -		.tx_fifomask	= S3C2410_UFSTAT_TXMASK,
> -		.tx_fifoshift	= S3C2410_UFSTAT_TXSHIFT,
> -		.def_clk_sel	= S3C2410_UCON_CLKSEL0,
> -		.num_clks	= 2,
> -		.clksel_mask	= S3C2410_UCON_CLKMASK,
> -		.clksel_shift	= S3C2410_UCON_CLKSHIFT,
> -	},
> -	.def_cfg = {
> -		.ucon		= S3C2410_UCON_DEFAULT,
> -		.ufcon		= S3C2410_UFCON_DEFAULT,
> -	},
> -};
> -#define S3C2410_SERIAL_DRV_DATA (&s3c2410_serial_drv_data)
> -#else
> -#define S3C2410_SERIAL_DRV_DATA NULL
> -#endif
> -
> -#ifdef CONFIG_CPU_S3C2412
> -static const struct s3c24xx_serial_drv_data s3c2412_serial_drv_data = {
> -	.info = {
> -		.name		= "Samsung S3C2412 UART",
> -		.type		= TYPE_S3C24XX,
> -		.port_type	= PORT_S3C2412,
> -		.fifosize	= 64,
> -		.has_divslot	= 1,
> -		.rx_fifomask	= S3C2440_UFSTAT_RXMASK,
> -		.rx_fifoshift	= S3C2440_UFSTAT_RXSHIFT,
> -		.rx_fifofull	= S3C2440_UFSTAT_RXFULL,
> -		.tx_fifofull	= S3C2440_UFSTAT_TXFULL,
> -		.tx_fifomask	= S3C2440_UFSTAT_TXMASK,
> -		.tx_fifoshift	= S3C2440_UFSTAT_TXSHIFT,
> -		.def_clk_sel	= S3C2410_UCON_CLKSEL2,
> -		.num_clks	= 4,
> -		.clksel_mask	= S3C2412_UCON_CLKMASK,
> -		.clksel_shift	= S3C2412_UCON_CLKSHIFT,
> -	},
> -	.def_cfg = {
> -		.ucon		= S3C2410_UCON_DEFAULT,
> -		.ufcon		= S3C2410_UFCON_DEFAULT,
> -	},
> -};
> -#define S3C2412_SERIAL_DRV_DATA (&s3c2412_serial_drv_data)
> -#else
> -#define S3C2412_SERIAL_DRV_DATA NULL
> -#endif
> -
> -#if defined(CONFIG_CPU_S3C2440) || defined(CONFIG_CPU_S3C2416) || \
> -	defined(CONFIG_CPU_S3C2443) || defined(CONFIG_CPU_S3C2442)
> -static const struct s3c24xx_serial_drv_data s3c2440_serial_drv_data = {
> -	.info = {
> -		.name		= "Samsung S3C2440 UART",
> -		.type		= TYPE_S3C24XX,
> -		.port_type	= PORT_S3C2440,
> -		.fifosize	= 64,
> -		.has_divslot	= 1,
> -		.rx_fifomask	= S3C2440_UFSTAT_RXMASK,
> -		.rx_fifoshift	= S3C2440_UFSTAT_RXSHIFT,
> -		.rx_fifofull	= S3C2440_UFSTAT_RXFULL,
> -		.tx_fifofull	= S3C2440_UFSTAT_TXFULL,
> -		.tx_fifomask	= S3C2440_UFSTAT_TXMASK,
> -		.tx_fifoshift	= S3C2440_UFSTAT_TXSHIFT,
> -		.def_clk_sel	= S3C2410_UCON_CLKSEL2,
> -		.num_clks	= 4,
> -		.clksel_mask	= S3C2412_UCON_CLKMASK,
> -		.clksel_shift	= S3C2412_UCON_CLKSHIFT,
> -		.ucon_mask	= S3C2440_UCON0_DIVMASK,
> -	},
> -	.def_cfg = {
> -		.ucon		= S3C2410_UCON_DEFAULT,
> -		.ufcon		= S3C2410_UFCON_DEFAULT,
> -	},
> -};
> -#define S3C2440_SERIAL_DRV_DATA (&s3c2440_serial_drv_data)
> -#else
> -#define S3C2440_SERIAL_DRV_DATA NULL
> -#endif
> -
>  #if defined(CONFIG_CPU_S3C6400) || defined(CONFIG_CPU_S3C6410)
>  static const struct s3c24xx_serial_drv_data s3c6400_serial_drv_data = {
>  	.info = {
> @@ -2845,15 +2661,6 @@ static const struct s3c24xx_serial_drv_data artpec8_serial_drv_data = {
>  
>  static const struct platform_device_id s3c24xx_serial_driver_ids[] = {
>  	{
> -		.name		= "s3c2410-uart",
> -		.driver_data	= (kernel_ulong_t)S3C2410_SERIAL_DRV_DATA,
> -	}, {
> -		.name		= "s3c2412-uart",
> -		.driver_data	= (kernel_ulong_t)S3C2412_SERIAL_DRV_DATA,
> -	}, {
> -		.name		= "s3c2440-uart",
> -		.driver_data	= (kernel_ulong_t)S3C2440_SERIAL_DRV_DATA,
> -	}, {
>  		.name		= "s3c6400-uart",
>  		.driver_data	= (kernel_ulong_t)S3C6400_SERIAL_DRV_DATA,
>  	}, {
> @@ -2881,12 +2688,6 @@ MODULE_DEVICE_TABLE(platform, s3c24xx_serial_driver_ids);
>  
>  #ifdef CONFIG_OF
>  static const struct of_device_id s3c24xx_uart_dt_match[] = {
> -	{ .compatible = "samsung,s3c2410-uart",
> -		.data = S3C2410_SERIAL_DRV_DATA },
> -	{ .compatible = "samsung,s3c2412-uart",
> -		.data = S3C2412_SERIAL_DRV_DATA },
> -	{ .compatible = "samsung,s3c2440-uart",
> -		.data = S3C2440_SERIAL_DRV_DATA },
>  	{ .compatible = "samsung,s3c6400-uart",
>  		.data = S3C6400_SERIAL_DRV_DATA },
>  	{ .compatible = "samsung,s5pv210-uart",
> diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
> index fb7b603dddf8..8ba4fe9364b1 100644
> --- a/drivers/usb/host/Kconfig
> +++ b/drivers/usb/host/Kconfig
> @@ -443,12 +443,12 @@ config USB_OHCI_HCD_STI
>  	  STMicroelectronics consumer electronics SoC's.
>  
>  config USB_OHCI_HCD_S3C2410
> -	tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series"
> -	depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX || COMPILE_TEST)
> -	default y if (ARCH_S3C24XX || ARCH_S3C64XX)
> +	tristate "OHCI support for Samsung S3C64xx SoC series"
> +	depends on USB_OHCI_HCD && (ARCH_S3C64XX || COMPILE_TEST)
> +	default ARCH_S3C64XX
>  	help
>  	  Enables support for the on-chip OHCI controller on
> -	  S3C24xx/S3C64xx chips.
> +	  S3C64xx chips.
>  
>  config USB_OHCI_HCD_LPC32XX
>  	tristate "Support for LPC on-chip OHCI USB controller"
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index b64bc49c7f30..eee7df45347a 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -491,14 +491,13 @@ config IXP4XX_WATCHDOG
>  	  Say N if you are unsure.
>  
>  config S3C2410_WATCHDOG
> -	tristate "S3C2410 Watchdog"
> -	depends on ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || \
> -		   COMPILE_TEST
> +	tristate "S3C6410/S5Pv210/Exynos Watchdog"
> +	depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
>  	select WATCHDOG_CORE
>  	select MFD_SYSCON if ARCH_EXYNOS
>  	help
> -	  Watchdog timer block in the Samsung S3C24xx, S3C64xx, S5Pv210 and
> -	  Exynos SoCs. This will reboot the system when the timer expires with
> +	  Watchdog timer block in the Samsung S3C64xx, S5Pv210 and Exynos
> +	  SoCs. This will reboot the system when the timer expires with
>  	  the watchdog enabled.
>  
>  	  The driver is limited by the speed of the system's PCLK
> diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
> index d3fc8ed886ff..200ba236a72e 100644
> --- a/drivers/watchdog/s3c2410_wdt.c
> +++ b/drivers/watchdog/s3c2410_wdt.c
> @@ -562,73 +562,6 @@ static irqreturn_t s3c2410wdt_irq(int irqno, void *param)
>  	return IRQ_HANDLED;
>  }
>  
> -#ifdef CONFIG_ARM_S3C24XX_CPUFREQ
> -
> -static int s3c2410wdt_cpufreq_transition(struct notifier_block *nb,
> -					  unsigned long val, void *data)
> -{
> -	int ret;
> -	struct s3c2410_wdt *wdt = freq_to_wdt(nb);
> -
> -	if (!s3c2410wdt_is_running(wdt))
> -		goto done;
> -
> -	if (val == CPUFREQ_PRECHANGE) {
> -		/* To ensure that over the change we don't cause the
> -		 * watchdog to trigger, we perform an keep-alive if
> -		 * the watchdog is running.
> -		 */
> -
> -		s3c2410wdt_keepalive(&wdt->wdt_device);
> -	} else if (val == CPUFREQ_POSTCHANGE) {
> -		s3c2410wdt_stop(&wdt->wdt_device);
> -
> -		ret = s3c2410wdt_set_heartbeat(&wdt->wdt_device,
> -						wdt->wdt_device.timeout);
> -
> -		if (ret >= 0)
> -			s3c2410wdt_start(&wdt->wdt_device);
> -		else
> -			goto err;
> -	}
> -
> -done:
> -	return 0;
> -
> - err:
> -	dev_err(wdt->dev, "cannot set new value for timeout %d\n",
> -				wdt->wdt_device.timeout);
> -	return ret;
> -}
> -
> -static inline int s3c2410wdt_cpufreq_register(struct s3c2410_wdt *wdt)
> -{
> -	wdt->freq_transition.notifier_call = s3c2410wdt_cpufreq_transition;
> -
> -	return cpufreq_register_notifier(&wdt->freq_transition,
> -					 CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -static inline void s3c2410wdt_cpufreq_deregister(struct s3c2410_wdt *wdt)
> -{
> -	wdt->freq_transition.notifier_call = s3c2410wdt_cpufreq_transition;
> -
> -	cpufreq_unregister_notifier(&wdt->freq_transition,
> -				    CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -#else
> -
> -static inline int s3c2410wdt_cpufreq_register(struct s3c2410_wdt *wdt)
> -{
> -	return 0;
> -}
> -
> -static inline void s3c2410wdt_cpufreq_deregister(struct s3c2410_wdt *wdt)
> -{
> -}
> -#endif
> -
>  static inline unsigned int s3c2410wdt_get_bootstatus(struct s3c2410_wdt *wdt)
>  {
>  	unsigned int rst_stat;
> @@ -761,12 +694,6 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
>  	wdt->wdt_device.min_timeout = 1;
>  	wdt->wdt_device.max_timeout = s3c2410wdt_max_timeout(wdt);
>  
> -	ret = s3c2410wdt_cpufreq_register(wdt);
> -	if (ret < 0) {
> -		dev_err(dev, "failed to register cpufreq\n");
> -		goto err_src_clk;
> -	}
> -
>  	watchdog_set_drvdata(&wdt->wdt_device, wdt);
>  
>  	/* see if we can actually set the requested timer margin, and if
> @@ -783,7 +710,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
>  				 S3C2410_WATCHDOG_DEFAULT_TIME);
>  		} else {
>  			dev_err(dev, "failed to use default timeout\n");
> -			goto err_cpufreq;
> +			goto err_src_clk;
>  		}
>  	}
>  
> @@ -791,7 +718,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
>  			       pdev->name, pdev);
>  	if (ret != 0) {
>  		dev_err(dev, "failed to install irq (%d)\n", ret);
> -		goto err_cpufreq;
> +		goto err_src_clk;
>  	}
>  
>  	watchdog_set_nowayout(&wdt->wdt_device, nowayout);
> @@ -817,7 +744,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
>  
>  	ret = watchdog_register_device(&wdt->wdt_device);
>  	if (ret)
> -		goto err_cpufreq;
> +		goto err_src_clk;
>  
>  	ret = s3c2410wdt_enable(wdt, true);
>  	if (ret < 0)
> @@ -839,9 +766,6 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
>   err_unregister:
>  	watchdog_unregister_device(&wdt->wdt_device);
>  
> - err_cpufreq:
> -	s3c2410wdt_cpufreq_deregister(wdt);
> -
>   err_src_clk:
>  	clk_disable_unprepare(wdt->src_clk);
>  
> @@ -862,8 +786,6 @@ static int s3c2410wdt_remove(struct platform_device *dev)
>  
>  	watchdog_unregister_device(&wdt->wdt_device);
>  
> -	s3c2410wdt_cpufreq_deregister(wdt);
> -
>  	clk_disable_unprepare(wdt->src_clk);
>  	clk_disable_unprepare(wdt->bus_clk);
>  
> diff --git a/include/linux/clk/samsung.h b/include/linux/clk/samsung.h
> index 38b774001712..0cf7aac83439 100644
> --- a/include/linux/clk/samsung.h
> +++ b/include/linux/clk/samsung.h
> @@ -21,36 +21,4 @@ static inline void s3c64xx_clk_init(struct device_node *np,
>  				    bool s3c6400, void __iomem *base) { }
>  #endif /* CONFIG_S3C64XX_COMMON_CLK */
>  
> -#ifdef CONFIG_S3C2410_COMMON_CLK
> -void s3c2410_common_clk_init(struct device_node *np, unsigned long xti_f,
> -			     int current_soc,
> -			     void __iomem *reg_base);
> -#else
> -static inline void s3c2410_common_clk_init(struct device_node *np,
> -					   unsigned long xti_f,
> -					   int current_soc,
> -					   void __iomem *reg_base) { }
> -#endif /* CONFIG_S3C2410_COMMON_CLK */
> -
> -#ifdef CONFIG_S3C2412_COMMON_CLK
> -void s3c2412_common_clk_init(struct device_node *np, unsigned long xti_f,
> -			     unsigned long ext_f, void __iomem *reg_base);
> -#else
> -static inline void s3c2412_common_clk_init(struct device_node *np,
> -					   unsigned long xti_f,
> -					   unsigned long ext_f,
> -					   void __iomem *reg_base) { }
> -#endif /* CONFIG_S3C2412_COMMON_CLK */
> -
> -#ifdef CONFIG_S3C2443_COMMON_CLK
> -void s3c2443_common_clk_init(struct device_node *np, unsigned long xti_f,
> -			     int current_soc,
> -			     void __iomem *reg_base);
> -#else
> -static inline void s3c2443_common_clk_init(struct device_node *np,
> -					   unsigned long xti_f,
> -					   int current_soc,
> -					   void __iomem *reg_base) { }
> -#endif /* CONFIG_S3C2443_COMMON_CLK */
> -
>  #endif /* __LINUX_CLK_SAMSUNG_H_ */
> diff --git a/include/linux/soc/samsung/s3c-pm.h b/include/linux/soc/samsung/s3c-pm.h
> index f9164559c99f..5b23d85d20ab 100644
> --- a/include/linux/soc/samsung/s3c-pm.h
> +++ b/include/linux/soc/samsung/s3c-pm.h
> @@ -14,58 +14,10 @@
>  
>  /* PM debug functions */
>  
> -/**
> - * struct pm_uart_save - save block for core UART
> - * @ulcon: Save value for S3C2410_ULCON
> - * @ucon: Save value for S3C2410_UCON
> - * @ufcon: Save value for S3C2410_UFCON
> - * @umcon: Save value for S3C2410_UMCON
> - * @ubrdiv: Save value for S3C2410_UBRDIV
> - *
> - * Save block for UART registers to be held over sleep and restored if they
> - * are needed (say by debug).
> -*/
> -struct pm_uart_save {
> -	u32	ulcon;
> -	u32	ucon;
> -	u32	ufcon;
> -	u32	umcon;
> -	u32	ubrdiv;
> -	u32	udivslot;
> -};
> -
> -#ifdef CONFIG_SAMSUNG_PM_DEBUG
> -/**
> - * s3c_pm_dbg() - low level debug function for use in suspend/resume.
> - * @msg: The message to print.
> - *
> - * This function is used mainly to debug the resume process before the system
> - * can rely on printk/console output. It uses the low-level debugging output
> - * routine printascii() to do its work.
> - */
> -extern void s3c_pm_dbg(const char *msg, ...);
> -
> -#define S3C_PMDBG(fmt...) s3c_pm_dbg(fmt)
> -
> -extern void s3c_pm_save_uarts(bool is_s3c24xx);
> -extern void s3c_pm_restore_uarts(bool is_s3c24xx);
> -
> -#ifdef CONFIG_ARCH_S3C64XX
> -extern void s3c_pm_arch_update_uart(void __iomem *regs,
> -				    struct pm_uart_save *save);
> -#else
> -static inline void
> -s3c_pm_arch_update_uart(void __iomem *regs, struct pm_uart_save *save)
> -{
> -}
> -#endif
> -
> -#else
>  #define S3C_PMDBG(fmt...) pr_debug(fmt)
>  
>  static inline void s3c_pm_save_uarts(bool is_s3c24xx) { }
>  static inline void s3c_pm_restore_uarts(bool is_s3c24xx) { }
> -#endif
>  
>  /* suspend memory checking */
>  
> @@ -81,14 +33,4 @@ extern void s3c_pm_check_store(void);
>  #define s3c_pm_check_store()   do { } while (0)
>  #endif
>  
> -/* system device subsystems */
> -
> -extern struct bus_type s3c2410_subsys;
> -extern struct bus_type s3c2410a_subsys;
> -extern struct bus_type s3c2412_subsys;
> -extern struct bus_type s3c2416_subsys;
> -extern struct bus_type s3c2440_subsys;
> -extern struct bus_type s3c2442_subsys;
> -extern struct bus_type s3c2443_subsys;
> -
>  #endif


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks
  2022-10-21 20:27 ` [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks Arnd Bergmann
                     ` (3 preceding siblings ...)
  2022-10-23 11:00   ` Jonathan Cameron
@ 2022-10-23 18:08   ` Daniel Lezcano
  2022-10-24  7:55   ` Miquel Raynal
                     ` (3 subsequent siblings)
  8 siblings, 0 replies; 17+ messages in thread
From: Daniel Lezcano @ 2022-10-23 18:08 UTC (permalink / raw)
  To: Arnd Bergmann, linux-arm-kernel, Krzysztof Kozlowski
  Cc: linux-kernel, Ben Dooks, Simtec Linux Team, Arnd Bergmann,
	Alim Akhtar, Thomas Gleixner, Jonathan Cameron,
	Lars-Peter Clausen, Sylwester Nawrocki, Mauro Carvalho Chehab,
	Ulf Hansson, Miquel Raynal, Richard Weinberger,
	Vignesh Raghavendra, Tomasz Figa, Linus Walleij,
	Alessandro Zummo, Alexandre Belloni, Greg Kroah-Hartman,
	Jiri Slaby, Guenter Roeck, Chanwoo Choi, Stephen Boyd,
	linux-samsung-soc, linux-i2c, linux-iio, linux-media, linux-mmc,
	linux-mtd, linux-gpio, linux-rtc, linux-serial, linux-usb,
	linux-watchdog, linux-clk

On 21/10/2022 22:27, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> A number of device drivers reference CONFIG_ARM_S3C24XX_CPUFREQ or
> similar symbols that are no longer available with the platform gone,
> though the drivers themselves are still used on newer platforms,
> so remove these hacks.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>


-- 
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks
  2022-10-21 20:27 ` [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks Arnd Bergmann
                     ` (4 preceding siblings ...)
  2022-10-23 18:08   ` Daniel Lezcano
@ 2022-10-24  7:55   ` Miquel Raynal
  2022-10-24 12:26   ` Krzysztof Kozlowski
                     ` (2 subsequent siblings)
  8 siblings, 0 replies; 17+ messages in thread
From: Miquel Raynal @ 2022-10-24  7:55 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Krzysztof Kozlowski, linux-kernel, Ben Dooks,
	Simtec Linux Team, Arnd Bergmann, Alim Akhtar, Daniel Lezcano,
	Thomas Gleixner, Jonathan Cameron, Lars-Peter Clausen,
	Sylwester Nawrocki, Mauro Carvalho Chehab, Ulf Hansson,
	Richard Weinberger, Vignesh Raghavendra, Tomasz Figa,
	Linus Walleij, Alessandro Zummo, Alexandre Belloni,
	Greg Kroah-Hartman, Jiri Slaby, Guenter Roeck, Chanwoo Choi,
	Stephen Boyd, linux-samsung-soc, linux-i2c, linux-iio,
	linux-media, linux-mmc, linux-mtd, linux-gpio, linux-rtc,
	linux-serial, linux-usb, linux-watchdog, linux-clk

Hi Arnd,

arnd@kernel.org wrote on Fri, 21 Oct 2022 22:27:35 +0200:

> From: Arnd Bergmann <arnd@arndb.de>
> 
> A number of device drivers reference CONFIG_ARM_S3C24XX_CPUFREQ or
> similar symbols that are no longer available with the platform gone,
> though the drivers themselves are still used on newer platforms,
> so remove these hacks.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>

Thanks,
Miquèl

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks
  2022-10-21 20:27 ` [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks Arnd Bergmann
                     ` (5 preceding siblings ...)
  2022-10-24  7:55   ` Miquel Raynal
@ 2022-10-24 12:26   ` Krzysztof Kozlowski
  2022-10-24 16:53   ` Ulf Hansson
  2022-10-27 23:10   ` Stephen Boyd
  8 siblings, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2022-10-24 12:26 UTC (permalink / raw)
  To: Arnd Bergmann, linux-arm-kernel
  Cc: linux-kernel, Ben Dooks, Simtec Linux Team, Arnd Bergmann,
	Alim Akhtar, Daniel Lezcano, Thomas Gleixner, Jonathan Cameron,
	Lars-Peter Clausen, Sylwester Nawrocki, Mauro Carvalho Chehab,
	Ulf Hansson, Miquel Raynal, Richard Weinberger,
	Vignesh Raghavendra, Tomasz Figa, Linus Walleij,
	Alessandro Zummo, Alexandre Belloni, Greg Kroah-Hartman,
	Jiri Slaby, Guenter Roeck, Chanwoo Choi, Stephen Boyd,
	linux-samsung-soc, linux-i2c, linux-iio, linux-media, linux-mmc,
	linux-mtd, linux-gpio, linux-rtc, linux-serial, linux-usb,
	linux-watchdog, linux-clk

On 21/10/2022 16:27, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> A number of device drivers reference CONFIG_ARM_S3C24XX_CPUFREQ or
> similar symbols that are no longer available with the platform gone,
> though the drivers themselves are still used on newer platforms,
> so remove these hacks.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 13/21] usb: gadget: remove s3c24xx drivers
  2022-10-21 20:27 ` [PATCH 13/21] usb: gadget: remove s3c24xx drivers Arnd Bergmann
@ 2022-10-24 12:39   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2022-10-24 12:39 UTC (permalink / raw)
  To: Arnd Bergmann, linux-arm-kernel, Felipe Balbi, Greg Kroah-Hartman
  Cc: linux-kernel, Ben Dooks, Simtec Linux Team, Arnd Bergmann,
	Alim Akhtar, linux-usb, linux-samsung-soc

On 21/10/2022 16:27, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> The s3c24xx platform is gone, so both the udc and hsudc drivers
> can be removed as well.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 00/21] ARM: s3c: clean out obsolete platforms
  2022-10-21 20:22 [PATCH 00/21] ARM: s3c: clean out obsolete platforms Arnd Bergmann
                   ` (2 preceding siblings ...)
  2022-10-22 15:18 ` [PATCH 00/21] ARM: s3c: clean out obsolete platforms Krzysztof Kozlowski
@ 2022-10-24 13:00 ` Rob Herring
  2022-10-24 13:18   ` Arnd Bergmann
  3 siblings, 1 reply; 17+ messages in thread
From: Rob Herring @ 2022-10-24 13:00 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Krzysztof Kozlowski, linux-kernel, Ben Dooks,
	Simtec Linux Team, Arnd Bergmann, linux-doc, linux-samsung-soc,
	devicetree, patches, linux-stm32, linux-ide, linux-clk, linux-pm,
	dmaengine, linux-hwmon, linux-i2c, linux-iio, linux-input,
	linux-leds, linux-media, linux-mmc, linux-mtd, linux-gpio,
	linux-rtc, linux-spi, linux-serial, linux-usb, linux-fbdev,
	dri-devel, linux-watchdog, alsa-devel, linux-pwm

On Fri, Oct 21, 2022 at 10:22:28PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> The s3c24xx platform was marked as deprecated a while ago,
> and for the s3c64xx platform, we marked all except one legacy
> board file as unused.
> 
> This series removes all of those, leaving only s3c64xx support
> for DT based boots as well as the cragg6410 board file.
> 
> About half of the s3c specific drivers were only used on
> the now removed machines, so these drivers can be retired
> as well. I can either merge the driver removal patches through
> the soc tree along with the board file patches, or subsystem
> maintainers can pick them up into their own trees, whichever
> they prefer.

[...]

>  Documentation/arm/index.rst                   |    1 -
>  Documentation/arm/samsung-s3c24xx/cpufreq.rst |   77 -
>  .../arm/samsung-s3c24xx/eb2410itx.rst         |   59 -
>  Documentation/arm/samsung-s3c24xx/gpio.rst    |  172 --
>  Documentation/arm/samsung-s3c24xx/h1940.rst   |   41 -
>  Documentation/arm/samsung-s3c24xx/index.rst   |   20 -
>  Documentation/arm/samsung-s3c24xx/nand.rst    |   30 -
>  .../arm/samsung-s3c24xx/overview.rst          |  311 ---
>  Documentation/arm/samsung-s3c24xx/s3c2412.rst |  121 -
>  Documentation/arm/samsung-s3c24xx/s3c2413.rst |   22 -
>  .../arm/samsung-s3c24xx/smdk2440.rst          |   57 -
>  Documentation/arm/samsung-s3c24xx/suspend.rst |  137 --
>  .../arm/samsung-s3c24xx/usb-host.rst          |   91 -
>  Documentation/arm/samsung/overview.rst        |   13 -

What about?:

Documentation/devicetree/bindings/clock/samsung,s3c2410-clock.txt
Documentation/devicetree/bindings/interrupt-controller/samsung,s3c24xx-irq.txt
Documentation/devicetree/bindings/mmc/samsung,s3cmci.txt
Documentation/devicetree/bindings/mtd/samsung-s3c2410.txt
Documentation/devicetree/bindings/usb/s3c2410-usb.txt

Rob

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 00/21] ARM: s3c: clean out obsolete platforms
  2022-10-24 13:00 ` Rob Herring
@ 2022-10-24 13:18   ` Arnd Bergmann
  0 siblings, 0 replies; 17+ messages in thread
From: Arnd Bergmann @ 2022-10-24 13:18 UTC (permalink / raw)
  To: Rob Herring, Arnd Bergmann
  Cc: linux-arm-kernel, Krzysztof Kozlowski, linux-kernel, Ben Dooks,
	Simtec Linux Team, linux-doc, linux-samsung-soc, devicetree,
	patches, linux-stm32, linux-ide, linux-clk, linux-pm, dmaengine,
	linux-hwmon, linux-i2c, linux-iio, linux-input, linux-leds,
	linux-media, linux-mmc @ vger . kernel . org, linux-mtd,
	open list:GPIO SUBSYSTEM, linux-rtc, linux-spi, linux-serial,
	linux-usb, linux-fbdev, dri-devel, linux-watchdog, alsa-devel,
	linux-pwm

On Mon, Oct 24, 2022, at 15:00, Rob Herring wrote:
> On Fri, Oct 21, 2022 at 10:22:28PM +0200, Arnd Bergmann wrote:
>> From: Arnd Bergmann <arnd@arndb.de>
>> 
>> The s3c24xx platform was marked as deprecated a while ago,
>> and for the s3c64xx platform, we marked all except one legacy
>> board file as unused.
>> 
>> This series removes all of those, leaving only s3c64xx support
>> for DT based boots as well as the cragg6410 board file.
>> 
>> About half of the s3c specific drivers were only used on
>> the now removed machines, so these drivers can be retired
>> as well. I can either merge the driver removal patches through
>> the soc tree along with the board file patches, or subsystem
>> maintainers can pick them up into their own trees, whichever
>> they prefer.
>
> [...]
>
>>  Documentation/arm/index.rst                   |    1 -
>>  Documentation/arm/samsung-s3c24xx/cpufreq.rst |   77 -
>>  .../arm/samsung-s3c24xx/eb2410itx.rst         |   59 -
>>  Documentation/arm/samsung-s3c24xx/gpio.rst    |  172 --
>>  Documentation/arm/samsung-s3c24xx/h1940.rst   |   41 -
>>  Documentation/arm/samsung-s3c24xx/index.rst   |   20 -
>>  Documentation/arm/samsung-s3c24xx/nand.rst    |   30 -
>>  .../arm/samsung-s3c24xx/overview.rst          |  311 ---
>>  Documentation/arm/samsung-s3c24xx/s3c2412.rst |  121 -
>>  Documentation/arm/samsung-s3c24xx/s3c2413.rst |   22 -
>>  .../arm/samsung-s3c24xx/smdk2440.rst          |   57 -
>>  Documentation/arm/samsung-s3c24xx/suspend.rst |  137 --
>>  .../arm/samsung-s3c24xx/usb-host.rst          |   91 -
>>  Documentation/arm/samsung/overview.rst        |   13 -
>
> What about?:
>
> Documentation/devicetree/bindings/clock/samsung,s3c2410-clock.txt
> Documentation/devicetree/bindings/interrupt-controller/samsung,s3c24xx-irq.txt
> Documentation/devicetree/bindings/mmc/samsung,s3cmci.txt

Good catch!

I've removed these three now and and will add the removal to
the same patch, also the related
samsung,s3c2412-clock.txt and samsung,s3c2443-clock.txt
files.

> Documentation/devicetree/bindings/mtd/samsung-s3c2410.txt

samsung,s3c2412-nand is apparently still used on s3c6400,
and the driver is selectable on that platform, so I think
that should remain in there until we remove s3c64xx in 2024,
even if it is not referenced by the dts files in the kernel.

> Documentation/devicetree/bindings/usb/s3c2410-usb.txt

Similarly, the driver is used on the crag6410 board
(without DT), and probably just works with the DT based
boards if one adds a node to s3c64xx.dtsi.

I've also checked if any of the other removed drivers
matches of_device_id[] strings to see if there are more
bindings to kill off, but I don't see any that have
now become obsolete. It did point me to pxa2xx_ac97_dt_ids,
which Robert already complained about, this apparently
is still used with dts files outside of mainline.

      Arnd

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks
  2022-10-21 20:27 ` [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks Arnd Bergmann
                     ` (6 preceding siblings ...)
  2022-10-24 12:26   ` Krzysztof Kozlowski
@ 2022-10-24 16:53   ` Ulf Hansson
  2022-10-27 23:10   ` Stephen Boyd
  8 siblings, 0 replies; 17+ messages in thread
From: Ulf Hansson @ 2022-10-24 16:53 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Krzysztof Kozlowski, linux-kernel, Ben Dooks,
	Simtec Linux Team, Arnd Bergmann, Alim Akhtar, Daniel Lezcano,
	Thomas Gleixner, Jonathan Cameron, Lars-Peter Clausen,
	Sylwester Nawrocki, Mauro Carvalho Chehab, Miquel Raynal,
	Richard Weinberger, Vignesh Raghavendra, Tomasz Figa,
	Linus Walleij, Alessandro Zummo, Alexandre Belloni,
	Greg Kroah-Hartman, Jiri Slaby, Guenter Roeck, Chanwoo Choi,
	Stephen Boyd, linux-samsung-soc, linux-i2c, linux-iio,
	linux-media, linux-mmc, linux-mtd, linux-gpio, linux-rtc,
	linux-serial, linux-usb, linux-watchdog, linux-clk

On Fri, 21 Oct 2022 at 22:37, Arnd Bergmann <arnd@kernel.org> wrote:
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> A number of device drivers reference CONFIG_ARM_S3C24XX_CPUFREQ or
> similar symbols that are no longer available with the platform gone,
> though the drivers themselves are still used on newer platforms,
> so remove these hacks.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Ulf Hansson <ulf.hansson@linaro.org> # For MMC

Kind regards
Uffe


> ---
>  arch/arm/include/debug/s3c24xx.S              |  10 -
>  arch/arm/mach-s3c/Makefile                    |   2 -
>  arch/arm/mach-s3c/devs.c                      |   1 -
>  arch/arm/mach-s3c/dma.h                       |   7 -
>  arch/arm/mach-s3c/gpio-samsung.h              |   7 -
>  arch/arm/mach-s3c/irqs.h                      |   7 -
>  arch/arm/mach-s3c/map.h                       |   7 -
>  arch/arm/mach-s3c/pm-core.h                   |   7 -
>  arch/arm/mach-s3c/regs-clock.h                |   7 -
>  arch/arm/mach-s3c/regs-gpio.h                 |   7 -
>  arch/arm/mach-s3c/regs-irq.h                  |   7 -
>  drivers/clocksource/Kconfig                   |   2 +-
>  drivers/i2c/busses/Kconfig                    |   3 +-
>  drivers/i2c/busses/i2c-s3c2410.c              |  72 -------
>  drivers/iio/adc/Kconfig                       |   6 +-
>  .../media/platform/samsung/s3c-camif/Kconfig  |   8 +-
>  drivers/mmc/host/Kconfig                      |   5 +-
>  drivers/mtd/nand/raw/Kconfig                  |   2 +-
>  drivers/mtd/nand/raw/s3c2410.c                |  60 ------
>  drivers/pinctrl/samsung/pinctrl-samsung.c     |  10 -
>  drivers/rtc/Kconfig                           |   8 +-
>  drivers/tty/serial/Kconfig                    |   8 +-
>  drivers/tty/serial/samsung_tty.c              | 199 ------------------
>  drivers/usb/host/Kconfig                      |   8 +-
>  drivers/watchdog/Kconfig                      |   9 +-
>  drivers/watchdog/s3c2410_wdt.c                |  84 +-------
>  include/linux/clk/samsung.h                   |  32 ---
>  include/linux/soc/samsung/s3c-pm.h            |  58 -----
>  28 files changed, 29 insertions(+), 614 deletions(-)
>
> diff --git a/arch/arm/include/debug/s3c24xx.S b/arch/arm/include/debug/s3c24xx.S
> index af873b526677..7ab5e577cd42 100644
> --- a/arch/arm/include/debug/s3c24xx.S
> +++ b/arch/arm/include/debug/s3c24xx.S
> @@ -28,16 +28,6 @@
>                 and     \rd, \rd, #S3C2410_UFSTAT_TXMASK
>         .endm
>
> -/* Select the correct implementation depending on the configuration. The
> - * S3C2440 will get selected by default, as these are the most widely
> - * used variants of these
> -*/
> -
> -#if defined(CONFIG_DEBUG_S3C2410_UART)
> -#define fifo_full  fifo_full_s3c2410
> -#define fifo_level fifo_level_s3c2410
> -#endif
> -
>  /* include the reset of the code which will do the work */
>
>  #include <debug/samsung.S>
> diff --git a/arch/arm/mach-s3c/Makefile b/arch/arm/mach-s3c/Makefile
> index e7f18039b149..a5135137e648 100644
> --- a/arch/arm/mach-s3c/Makefile
> +++ b/arch/arm/mach-s3c/Makefile
> @@ -2,9 +2,7 @@
>  #
>  # Copyright 2009 Simtec Electronics
>
> -ifdef CONFIG_ARCH_S3C64XX
>  include $(src)/Makefile.s3c64xx
> -endif
>
>  # Objects we always build independent of SoC choice
>
> diff --git a/arch/arm/mach-s3c/devs.c b/arch/arm/mach-s3c/devs.c
> index 9ac07c023adf..a31d1c3038e8 100644
> --- a/arch/arm/mach-s3c/devs.c
> +++ b/arch/arm/mach-s3c/devs.c
> @@ -29,7 +29,6 @@
>  #include <linux/sizes.h>
>  #include <linux/platform_data/s3c-hsudc.h>
>  #include <linux/platform_data/s3c-hsotg.h>
> -#include <linux/platform_data/dma-s3c24xx.h>
>
>  #include <linux/platform_data/media/s5p_hdmi.h>
>
> diff --git a/arch/arm/mach-s3c/dma.h b/arch/arm/mach-s3c/dma.h
> index 59a4578c5f00..48057cb90070 100644
> --- a/arch/arm/mach-s3c/dma.h
> +++ b/arch/arm/mach-s3c/dma.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "dma-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "dma-s3c64xx.h"
> -#endif
> diff --git a/arch/arm/mach-s3c/gpio-samsung.h b/arch/arm/mach-s3c/gpio-samsung.h
> index 02f6f4a96862..4233515eddaa 100644
> --- a/arch/arm/mach-s3c/gpio-samsung.h
> +++ b/arch/arm/mach-s3c/gpio-samsung.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "gpio-samsung-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "gpio-samsung-s3c64xx.h"
> -#endif
> diff --git a/arch/arm/mach-s3c/irqs.h b/arch/arm/mach-s3c/irqs.h
> index 0bff1c1c8eb0..3ff0e0963080 100644
> --- a/arch/arm/mach-s3c/irqs.h
> +++ b/arch/arm/mach-s3c/irqs.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "irqs-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "irqs-s3c64xx.h"
> -#endif
> diff --git a/arch/arm/mach-s3c/map.h b/arch/arm/mach-s3c/map.h
> index 7cfb517d4886..778d6f81cb2b 100644
> --- a/arch/arm/mach-s3c/map.h
> +++ b/arch/arm/mach-s3c/map.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "map-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "map-s3c64xx.h"
> -#endif
> diff --git a/arch/arm/mach-s3c/pm-core.h b/arch/arm/mach-s3c/pm-core.h
> index b0e1d277f599..3e0c2df79120 100644
> --- a/arch/arm/mach-s3c/pm-core.h
> +++ b/arch/arm/mach-s3c/pm-core.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "pm-core-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "pm-core-s3c64xx.h"
> -#endif
> diff --git a/arch/arm/mach-s3c/regs-clock.h b/arch/arm/mach-s3c/regs-clock.h
> index 7df31f203d28..fc7e3886b07c 100644
> --- a/arch/arm/mach-s3c/regs-clock.h
> +++ b/arch/arm/mach-s3c/regs-clock.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "regs-clock-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "regs-clock-s3c64xx.h"
> -#endif
> diff --git a/arch/arm/mach-s3c/regs-gpio.h b/arch/arm/mach-s3c/regs-gpio.h
> index 0d41cb76d440..4e08e8609663 100644
> --- a/arch/arm/mach-s3c/regs-gpio.h
> +++ b/arch/arm/mach-s3c/regs-gpio.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "regs-gpio-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "regs-gpio-s3c64xx.h"
> -#endif
> diff --git a/arch/arm/mach-s3c/regs-irq.h b/arch/arm/mach-s3c/regs-irq.h
> index 57f0dda8dbf5..4243daa54bd1 100644
> --- a/arch/arm/mach-s3c/regs-irq.h
> +++ b/arch/arm/mach-s3c/regs-irq.h
> @@ -1,9 +1,2 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -
> -#ifdef CONFIG_ARCH_S3C24XX
> -#include "regs-irq-s3c24xx.h"
> -#endif
> -
> -#ifdef CONFIG_ARCH_S3C64XX
>  #include "regs-irq-s3c64xx.h"
> -#endif
> diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
> index 4469e7f555e9..fc10ecc3602d 100644
> --- a/drivers/clocksource/Kconfig
> +++ b/drivers/clocksource/Kconfig
> @@ -441,7 +441,7 @@ config CLKSRC_EXYNOS_MCT
>  config CLKSRC_SAMSUNG_PWM
>         bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST
>         depends on HAS_IOMEM
> -       depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
> +       depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
>         help
>           This is a new clocksource driver for the PWM timer found in
>           Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
> diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
> index f427c8ea5c7b..84d21e0a7cdf 100644
> --- a/drivers/i2c/busses/Kconfig
> +++ b/drivers/i2c/busses/Kconfig
> @@ -1009,8 +1009,7 @@ config I2C_RZV2M
>
>  config I2C_S3C2410
>         tristate "S3C/Exynos I2C Driver"
> -       depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || \
> -                  ARCH_S5PV210 || COMPILE_TEST
> +       depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
>         help
>           Say Y here to include support for I2C controller in the
>           Samsung SoCs (S3C, S5Pv210, Exynos).
> diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
> index 36dab9cd208c..45e9df81345a 100644
> --- a/drivers/i2c/busses/i2c-s3c2410.c
> +++ b/drivers/i2c/busses/i2c-s3c2410.c
> @@ -116,9 +116,6 @@ struct s3c24xx_i2c {
>         struct s3c2410_platform_i2c     *pdata;
>         struct gpio_desc        *gpios[2];
>         struct pinctrl          *pctrl;
> -#if defined(CONFIG_ARM_S3C24XX_CPUFREQ)
> -       struct notifier_block   freq_transition;
> -#endif
>         struct regmap           *sysreg;
>         unsigned int            sys_i2c_cfg;
>  };
> @@ -885,65 +882,6 @@ static int s3c24xx_i2c_clockrate(struct s3c24xx_i2c *i2c, unsigned int *got)
>         return 0;
>  }
>
> -#if defined(CONFIG_ARM_S3C24XX_CPUFREQ)
> -
> -#define freq_to_i2c(_n) container_of(_n, struct s3c24xx_i2c, freq_transition)
> -
> -static int s3c24xx_i2c_cpufreq_transition(struct notifier_block *nb,
> -                                         unsigned long val, void *data)
> -{
> -       struct s3c24xx_i2c *i2c = freq_to_i2c(nb);
> -       unsigned int got;
> -       int delta_f;
> -       int ret;
> -
> -       delta_f = clk_get_rate(i2c->clk) - i2c->clkrate;
> -
> -       /* if we're post-change and the input clock has slowed down
> -        * or at pre-change and the clock is about to speed up, then
> -        * adjust our clock rate. <0 is slow, >0 speedup.
> -        */
> -
> -       if ((val == CPUFREQ_POSTCHANGE && delta_f < 0) ||
> -           (val == CPUFREQ_PRECHANGE && delta_f > 0)) {
> -               i2c_lock_bus(&i2c->adap, I2C_LOCK_ROOT_ADAPTER);
> -               ret = s3c24xx_i2c_clockrate(i2c, &got);
> -               i2c_unlock_bus(&i2c->adap, I2C_LOCK_ROOT_ADAPTER);
> -
> -               if (ret < 0)
> -                       dev_err(i2c->dev, "cannot find frequency (%d)\n", ret);
> -               else
> -                       dev_info(i2c->dev, "setting freq %d\n", got);
> -       }
> -
> -       return 0;
> -}
> -
> -static inline int s3c24xx_i2c_register_cpufreq(struct s3c24xx_i2c *i2c)
> -{
> -       i2c->freq_transition.notifier_call = s3c24xx_i2c_cpufreq_transition;
> -
> -       return cpufreq_register_notifier(&i2c->freq_transition,
> -                                        CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -static inline void s3c24xx_i2c_deregister_cpufreq(struct s3c24xx_i2c *i2c)
> -{
> -       cpufreq_unregister_notifier(&i2c->freq_transition,
> -                                   CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -#else
> -static inline int s3c24xx_i2c_register_cpufreq(struct s3c24xx_i2c *i2c)
> -{
> -       return 0;
> -}
> -
> -static inline void s3c24xx_i2c_deregister_cpufreq(struct s3c24xx_i2c *i2c)
> -{
> -}
> -#endif
> -
>  #ifdef CONFIG_OF
>  static int s3c24xx_i2c_parse_dt_gpio(struct s3c24xx_i2c *i2c)
>  {
> @@ -1152,13 +1090,6 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
>                 }
>         }
>
> -       ret = s3c24xx_i2c_register_cpufreq(i2c);
> -       if (ret < 0) {
> -               dev_err(&pdev->dev, "failed to register cpufreq notifier\n");
> -               clk_unprepare(i2c->clk);
> -               return ret;
> -       }
> -
>         /*
>          * Note, previous versions of the driver used i2c_add_adapter()
>          * to add the bus at any number. We now pass the bus number via
> @@ -1175,7 +1106,6 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
>         ret = i2c_add_numbered_adapter(&i2c->adap);
>         if (ret < 0) {
>                 pm_runtime_disable(&pdev->dev);
> -               s3c24xx_i2c_deregister_cpufreq(i2c);
>                 clk_unprepare(i2c->clk);
>                 return ret;
>         }
> @@ -1192,8 +1122,6 @@ static int s3c24xx_i2c_remove(struct platform_device *pdev)
>
>         pm_runtime_disable(&pdev->dev);
>
> -       s3c24xx_i2c_deregister_cpufreq(i2c);
> -
>         i2c_del_adapter(&i2c->adap);
>
>         return 0;
> diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
> index 791612ca6012..9de7f05d40e2 100644
> --- a/drivers/iio/adc/Kconfig
> +++ b/drivers/iio/adc/Kconfig
> @@ -437,11 +437,11 @@ config EP93XX_ADC
>
>  config EXYNOS_ADC
>         tristate "Exynos ADC driver support"
> -       depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || (OF && COMPILE_TEST)
> +       depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || (OF && COMPILE_TEST)
>         depends on HAS_IOMEM
>         help
> -         Driver for the ADC block found in the Samsung S3C (S3C2410, S3C2416,
> -         S3C2440, S3C2443, S3C6410), S5Pv210 and Exynos SoCs.
> +         Driver for the ADC block found in the Samsung S3C6410, S5Pv210 and
> +         Exynos SoCs.
>           Choose Y here only if you build for such Samsung SoC.
>
>           To compile this driver as a module, choose M here: the module will be
> diff --git a/drivers/media/platform/samsung/s3c-camif/Kconfig b/drivers/media/platform/samsung/s3c-camif/Kconfig
> index 8cb8d1ac3edc..f359f6382fff 100644
> --- a/drivers/media/platform/samsung/s3c-camif/Kconfig
> +++ b/drivers/media/platform/samsung/s3c-camif/Kconfig
> @@ -1,15 +1,15 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  config VIDEO_S3C_CAMIF
> -       tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
> +       tristate "Samsung 3C64XX SoC Camera Interface driver"
>         depends on V4L_PLATFORM_DRIVERS
>         depends on VIDEO_DEV && I2C && PM
> -       depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
> +       depends on ARCH_S3C64XX || COMPILE_TEST
>         select MEDIA_CONTROLLER
>         select VIDEO_V4L2_SUBDEV_API
>         select VIDEOBUF2_DMA_CONTIG
>         help
> -         This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
> -         host interface (CAMIF).
> +         This is a v4l2 driver for s3c64xx SoC series camera host interface
> +         (CAMIF).
>
>           To compile this driver as a module, choose M here: the module
>           will be called s3c-camif.
> diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
> index 84dd37ff2735..79d8ddf1f616 100644
> --- a/drivers/mmc/host/Kconfig
> +++ b/drivers/mmc/host/Kconfig
> @@ -312,9 +312,8 @@ config MMC_SDHCI_S3C
>         depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
>         help
>           This selects the Secure Digital Host Controller Interface (SDHCI)
> -         often referrered to as the HSMMC block in some of the Samsung S3C
> -         (S3C2416, S3C2443, S3C6410), S5Pv210 and Exynos (Exynso4210,
> -         Exynos4412) SoCs.
> +         often referrered to as the HSMMC block in some of the Samsung
> +         S3C6410, S5Pv210 and Exynos (Exynso4210, Exynos4412) SoCs.
>
>           If you have a controller with this interface (thereforeyou build for
>           such Samsung SoC), say Y or M here.
> diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig
> index 280a55139387..a347833b8f29 100644
> --- a/drivers/mtd/nand/raw/Kconfig
> +++ b/drivers/mtd/nand/raw/Kconfig
> @@ -79,7 +79,7 @@ config MTD_NAND_NDFC
>
>  config MTD_NAND_S3C2410
>         tristate "Samsung S3C NAND controller"
> -       depends on ARCH_S3C24XX || ARCH_S3C64XX
> +       depends on ARCH_S3C64XX
>         help
>           This enables the NAND flash controller on the S3C24xx and S3C64xx
>           SoCs
> diff --git a/drivers/mtd/nand/raw/s3c2410.c b/drivers/mtd/nand/raw/s3c2410.c
> index f0a4535c812a..80d96f94d6cb 100644
> --- a/drivers/mtd/nand/raw/s3c2410.c
> +++ b/drivers/mtd/nand/raw/s3c2410.c
> @@ -166,10 +166,6 @@ struct s3c2410_nand_info {
>         enum s3c_nand_clk_state         clk_state;
>
>         enum s3c_cpu_type               cpu_type;
> -
> -#ifdef CONFIG_ARM_S3C24XX_CPUFREQ
> -       struct notifier_block   freq_transition;
> -#endif
>  };
>
>  struct s3c24XX_nand_devtype_data {
> @@ -711,54 +707,6 @@ static void s3c2440_nand_write_buf(struct nand_chip *this, const u_char *buf,
>         }
>  }
>
> -/* cpufreq driver support */
> -
> -#ifdef CONFIG_ARM_S3C24XX_CPUFREQ
> -
> -static int s3c2410_nand_cpufreq_transition(struct notifier_block *nb,
> -                                         unsigned long val, void *data)
> -{
> -       struct s3c2410_nand_info *info;
> -       unsigned long newclk;
> -
> -       info = container_of(nb, struct s3c2410_nand_info, freq_transition);
> -       newclk = clk_get_rate(info->clk);
> -
> -       if ((val == CPUFREQ_POSTCHANGE && newclk < info->clk_rate) ||
> -           (val == CPUFREQ_PRECHANGE && newclk > info->clk_rate)) {
> -               s3c2410_nand_setrate(info);
> -       }
> -
> -       return 0;
> -}
> -
> -static inline int s3c2410_nand_cpufreq_register(struct s3c2410_nand_info *info)
> -{
> -       info->freq_transition.notifier_call = s3c2410_nand_cpufreq_transition;
> -
> -       return cpufreq_register_notifier(&info->freq_transition,
> -                                        CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -static inline void
> -s3c2410_nand_cpufreq_deregister(struct s3c2410_nand_info *info)
> -{
> -       cpufreq_unregister_notifier(&info->freq_transition,
> -                                   CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -#else
> -static inline int s3c2410_nand_cpufreq_register(struct s3c2410_nand_info *info)
> -{
> -       return 0;
> -}
> -
> -static inline void
> -s3c2410_nand_cpufreq_deregister(struct s3c2410_nand_info *info)
> -{
> -}
> -#endif
> -
>  /* device management functions */
>
>  static int s3c24xx_nand_remove(struct platform_device *pdev)
> @@ -768,8 +716,6 @@ static int s3c24xx_nand_remove(struct platform_device *pdev)
>         if (info == NULL)
>                 return 0;
>
> -       s3c2410_nand_cpufreq_deregister(info);
> -
>         /* Release all our mtds  and their partitions, then go through
>          * freeing the resources used
>          */
> @@ -1184,12 +1130,6 @@ static int s3c24xx_nand_probe(struct platform_device *pdev)
>         if (err != 0)
>                 goto exit_error;
>
> -       err = s3c2410_nand_cpufreq_register(info);
> -       if (err < 0) {
> -               dev_err(&pdev->dev, "failed to init cpufreq support\n");
> -               goto exit_error;
> -       }
> -
>         if (allow_clk_suspend(info)) {
>                 dev_info(&pdev->dev, "clock idle support enabled\n");
>                 s3c2410_nand_clk_set_state(info, CLOCK_SUSPEND);
> diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
> index bd13b5ef246d..1a478854293f 100644
> --- a/drivers/pinctrl/samsung/pinctrl-samsung.c
> +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
> @@ -1322,16 +1322,6 @@ static const struct of_device_id samsung_pinctrl_dt_match[] = {
>  #ifdef CONFIG_PINCTRL_S3C64XX
>         { .compatible = "samsung,s3c64xx-pinctrl",
>                 .data = &s3c64xx_of_data },
> -#endif
> -#ifdef CONFIG_PINCTRL_S3C24XX
> -       { .compatible = "samsung,s3c2412-pinctrl",
> -               .data = &s3c2412_of_data },
> -       { .compatible = "samsung,s3c2416-pinctrl",
> -               .data = &s3c2416_of_data },
> -       { .compatible = "samsung,s3c2440-pinctrl",
> -               .data = &s3c2440_of_data },
> -       { .compatible = "samsung,s3c2450-pinctrl",
> -               .data = &s3c2450_of_data },
>  #endif
>         {},
>  };
> diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
> index 312dccfa3f18..d13ca620ea5d 100644
> --- a/drivers/rtc/Kconfig
> +++ b/drivers/rtc/Kconfig
> @@ -1406,18 +1406,14 @@ config RTC_DRV_OMAP
>
>  config RTC_DRV_S3C
>         tristate "Samsung S3C series SoC RTC"
> -       depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S3C24XX || ARCH_S5PV210 || \
> +       depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || \
>                    COMPILE_TEST
>         help
>           RTC (Realtime Clock) driver for the clock inbuilt into the
> -         Samsung S3C24XX series of SoCs. This can provide periodic
> +         Samsung S3C64XX series of SoCs. This can provide periodic
>           interrupt rates from 1Hz to 64Hz for user programs, and
>           wakeup from Alarm.
>
> -         The driver currently supports the common features on all the
> -         S3C24XX range, such as the S3C2410, S3C2412, S3C2413, S3C2440
> -         and S3C2442.
> -
>           This driver can also be build as a module. If so, the module
>           will be called rtc-s3c.
>
> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
> index 434f83168546..3ba8a39655a3 100644
> --- a/drivers/tty/serial/Kconfig
> +++ b/drivers/tty/serial/Kconfig
> @@ -242,23 +242,23 @@ config SERIAL_SAMSUNG
>         select SERIAL_CORE
>         help
>           Support for the on-chip UARTs on the Samsung
> -         S3C24xx/S3C64xx/S5Pv210/Exynos and Apple M1 SoCs, providing
> +         S3C64xx/S5Pv210/Exynos and Apple M1 SoCs, providing
>           /dev/ttySAC0, 1 and 2 (note, some machines may not provide all of
>           these ports, depending on how the serial port pins are configured.
> +
>           Choose Y/M here only if you build for such SoC.
>
>  config SERIAL_SAMSUNG_UARTS_4
>         bool
>         depends on SERIAL_SAMSUNG
> -       default y if !(CPU_S3C2410 || CPU_S3C2412 || CPU_S3C2440 || CPU_S3C2442)
> +       default y
>         help
>           Internal node for the common case of 4 Samsung compatible UARTs
>
>  config SERIAL_SAMSUNG_UARTS
>         int
>         depends on SERIAL_SAMSUNG
> -       default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416
> -       default 3
> +       default 4
>         help
>           Select the number of available UART ports for the Samsung S3C
>           serial driver
> diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
> index 77d1363029f5..5adf3963b2f6 100644
> --- a/drivers/tty/serial/samsung_tty.c
> +++ b/drivers/tty/serial/samsung_tty.c
> @@ -152,10 +152,6 @@ struct s3c24xx_uart_port {
>         const struct s3c2410_uartcfg    *cfg;
>
>         struct s3c24xx_uart_dma         *dma;
> -
> -#ifdef CONFIG_ARM_S3C24XX_CPUFREQ
> -       struct notifier_block           freq_transition;
> -#endif
>  };
>
>  static void s3c24xx_serial_tx_chars(struct s3c24xx_uart_port *ourport);
> @@ -1859,93 +1855,6 @@ static void s3c24xx_serial_resetport(struct uart_port *port,
>         udelay(1);
>  }
>
> -#ifdef CONFIG_ARM_S3C24XX_CPUFREQ
> -
> -static int s3c24xx_serial_cpufreq_transition(struct notifier_block *nb,
> -                                            unsigned long val, void *data)
> -{
> -       struct s3c24xx_uart_port *port;
> -       struct uart_port *uport;
> -
> -       port = container_of(nb, struct s3c24xx_uart_port, freq_transition);
> -       uport = &port->port;
> -
> -       /* check to see if port is enabled */
> -
> -       if (port->pm_level != 0)
> -               return 0;
> -
> -       /* try and work out if the baudrate is changing, we can detect
> -        * a change in rate, but we do not have support for detecting
> -        * a disturbance in the clock-rate over the change.
> -        */
> -
> -       if (IS_ERR(port->baudclk))
> -               goto exit;
> -
> -       if (port->baudclk_rate == clk_get_rate(port->baudclk))
> -               goto exit;
> -
> -       if (val == CPUFREQ_PRECHANGE) {
> -               /* we should really shut the port down whilst the
> -                * frequency change is in progress.
> -                */
> -
> -       } else if (val == CPUFREQ_POSTCHANGE) {
> -               struct ktermios *termios;
> -               struct tty_struct *tty;
> -
> -               if (uport->state == NULL)
> -                       goto exit;
> -
> -               tty = uport->state->port.tty;
> -
> -               if (tty == NULL)
> -                       goto exit;
> -
> -               termios = &tty->termios;
> -
> -               if (termios == NULL) {
> -                       dev_warn(uport->dev, "%s: no termios?\n", __func__);
> -                       goto exit;
> -               }
> -
> -               s3c24xx_serial_set_termios(uport, termios, NULL);
> -       }
> -
> -exit:
> -       return 0;
> -}
> -
> -static inline int
> -s3c24xx_serial_cpufreq_register(struct s3c24xx_uart_port *port)
> -{
> -       port->freq_transition.notifier_call = s3c24xx_serial_cpufreq_transition;
> -
> -       return cpufreq_register_notifier(&port->freq_transition,
> -                                        CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -static inline void
> -s3c24xx_serial_cpufreq_deregister(struct s3c24xx_uart_port *port)
> -{
> -       cpufreq_unregister_notifier(&port->freq_transition,
> -                                   CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -#else
> -static inline int
> -s3c24xx_serial_cpufreq_register(struct s3c24xx_uart_port *port)
> -{
> -       return 0;
> -}
> -
> -static inline void
> -s3c24xx_serial_cpufreq_deregister(struct s3c24xx_uart_port *port)
> -{
> -}
> -#endif
> -
>  static int s3c24xx_serial_enable_baudclk(struct s3c24xx_uart_port *ourport)
>  {
>         struct device *dev = ourport->port.dev;
> @@ -2237,10 +2146,6 @@ static int s3c24xx_serial_probe(struct platform_device *pdev)
>         if (!IS_ERR(ourport->baudclk))
>                 clk_disable_unprepare(ourport->baudclk);
>
> -       ret = s3c24xx_serial_cpufreq_register(ourport);
> -       if (ret < 0)
> -               dev_err(&pdev->dev, "failed to add cpufreq notifier\n");
> -
>         probe_index++;
>
>         return 0;
> @@ -2251,7 +2156,6 @@ static int s3c24xx_serial_remove(struct platform_device *dev)
>         struct uart_port *port = s3c24xx_dev_to_port(&dev->dev);
>
>         if (port) {
> -               s3c24xx_serial_cpufreq_deregister(to_ourport(port));
>                 uart_remove_one_port(&s3c24xx_uart_drv, port);
>         }
>
> @@ -2589,94 +2493,6 @@ static struct console s3c24xx_serial_console = {
>  };
>  #endif /* CONFIG_SERIAL_SAMSUNG_CONSOLE */
>
> -#ifdef CONFIG_CPU_S3C2410
> -static const struct s3c24xx_serial_drv_data s3c2410_serial_drv_data = {
> -       .info = {
> -               .name           = "Samsung S3C2410 UART",
> -               .type           = TYPE_S3C24XX,
> -               .port_type      = PORT_S3C2410,
> -               .fifosize       = 16,
> -               .rx_fifomask    = S3C2410_UFSTAT_RXMASK,
> -               .rx_fifoshift   = S3C2410_UFSTAT_RXSHIFT,
> -               .rx_fifofull    = S3C2410_UFSTAT_RXFULL,
> -               .tx_fifofull    = S3C2410_UFSTAT_TXFULL,
> -               .tx_fifomask    = S3C2410_UFSTAT_TXMASK,
> -               .tx_fifoshift   = S3C2410_UFSTAT_TXSHIFT,
> -               .def_clk_sel    = S3C2410_UCON_CLKSEL0,
> -               .num_clks       = 2,
> -               .clksel_mask    = S3C2410_UCON_CLKMASK,
> -               .clksel_shift   = S3C2410_UCON_CLKSHIFT,
> -       },
> -       .def_cfg = {
> -               .ucon           = S3C2410_UCON_DEFAULT,
> -               .ufcon          = S3C2410_UFCON_DEFAULT,
> -       },
> -};
> -#define S3C2410_SERIAL_DRV_DATA (&s3c2410_serial_drv_data)
> -#else
> -#define S3C2410_SERIAL_DRV_DATA NULL
> -#endif
> -
> -#ifdef CONFIG_CPU_S3C2412
> -static const struct s3c24xx_serial_drv_data s3c2412_serial_drv_data = {
> -       .info = {
> -               .name           = "Samsung S3C2412 UART",
> -               .type           = TYPE_S3C24XX,
> -               .port_type      = PORT_S3C2412,
> -               .fifosize       = 64,
> -               .has_divslot    = 1,
> -               .rx_fifomask    = S3C2440_UFSTAT_RXMASK,
> -               .rx_fifoshift   = S3C2440_UFSTAT_RXSHIFT,
> -               .rx_fifofull    = S3C2440_UFSTAT_RXFULL,
> -               .tx_fifofull    = S3C2440_UFSTAT_TXFULL,
> -               .tx_fifomask    = S3C2440_UFSTAT_TXMASK,
> -               .tx_fifoshift   = S3C2440_UFSTAT_TXSHIFT,
> -               .def_clk_sel    = S3C2410_UCON_CLKSEL2,
> -               .num_clks       = 4,
> -               .clksel_mask    = S3C2412_UCON_CLKMASK,
> -               .clksel_shift   = S3C2412_UCON_CLKSHIFT,
> -       },
> -       .def_cfg = {
> -               .ucon           = S3C2410_UCON_DEFAULT,
> -               .ufcon          = S3C2410_UFCON_DEFAULT,
> -       },
> -};
> -#define S3C2412_SERIAL_DRV_DATA (&s3c2412_serial_drv_data)
> -#else
> -#define S3C2412_SERIAL_DRV_DATA NULL
> -#endif
> -
> -#if defined(CONFIG_CPU_S3C2440) || defined(CONFIG_CPU_S3C2416) || \
> -       defined(CONFIG_CPU_S3C2443) || defined(CONFIG_CPU_S3C2442)
> -static const struct s3c24xx_serial_drv_data s3c2440_serial_drv_data = {
> -       .info = {
> -               .name           = "Samsung S3C2440 UART",
> -               .type           = TYPE_S3C24XX,
> -               .port_type      = PORT_S3C2440,
> -               .fifosize       = 64,
> -               .has_divslot    = 1,
> -               .rx_fifomask    = S3C2440_UFSTAT_RXMASK,
> -               .rx_fifoshift   = S3C2440_UFSTAT_RXSHIFT,
> -               .rx_fifofull    = S3C2440_UFSTAT_RXFULL,
> -               .tx_fifofull    = S3C2440_UFSTAT_TXFULL,
> -               .tx_fifomask    = S3C2440_UFSTAT_TXMASK,
> -               .tx_fifoshift   = S3C2440_UFSTAT_TXSHIFT,
> -               .def_clk_sel    = S3C2410_UCON_CLKSEL2,
> -               .num_clks       = 4,
> -               .clksel_mask    = S3C2412_UCON_CLKMASK,
> -               .clksel_shift   = S3C2412_UCON_CLKSHIFT,
> -               .ucon_mask      = S3C2440_UCON0_DIVMASK,
> -       },
> -       .def_cfg = {
> -               .ucon           = S3C2410_UCON_DEFAULT,
> -               .ufcon          = S3C2410_UFCON_DEFAULT,
> -       },
> -};
> -#define S3C2440_SERIAL_DRV_DATA (&s3c2440_serial_drv_data)
> -#else
> -#define S3C2440_SERIAL_DRV_DATA NULL
> -#endif
> -
>  #if defined(CONFIG_CPU_S3C6400) || defined(CONFIG_CPU_S3C6410)
>  static const struct s3c24xx_serial_drv_data s3c6400_serial_drv_data = {
>         .info = {
> @@ -2845,15 +2661,6 @@ static const struct s3c24xx_serial_drv_data artpec8_serial_drv_data = {
>
>  static const struct platform_device_id s3c24xx_serial_driver_ids[] = {
>         {
> -               .name           = "s3c2410-uart",
> -               .driver_data    = (kernel_ulong_t)S3C2410_SERIAL_DRV_DATA,
> -       }, {
> -               .name           = "s3c2412-uart",
> -               .driver_data    = (kernel_ulong_t)S3C2412_SERIAL_DRV_DATA,
> -       }, {
> -               .name           = "s3c2440-uart",
> -               .driver_data    = (kernel_ulong_t)S3C2440_SERIAL_DRV_DATA,
> -       }, {
>                 .name           = "s3c6400-uart",
>                 .driver_data    = (kernel_ulong_t)S3C6400_SERIAL_DRV_DATA,
>         }, {
> @@ -2881,12 +2688,6 @@ MODULE_DEVICE_TABLE(platform, s3c24xx_serial_driver_ids);
>
>  #ifdef CONFIG_OF
>  static const struct of_device_id s3c24xx_uart_dt_match[] = {
> -       { .compatible = "samsung,s3c2410-uart",
> -               .data = S3C2410_SERIAL_DRV_DATA },
> -       { .compatible = "samsung,s3c2412-uart",
> -               .data = S3C2412_SERIAL_DRV_DATA },
> -       { .compatible = "samsung,s3c2440-uart",
> -               .data = S3C2440_SERIAL_DRV_DATA },
>         { .compatible = "samsung,s3c6400-uart",
>                 .data = S3C6400_SERIAL_DRV_DATA },
>         { .compatible = "samsung,s5pv210-uart",
> diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
> index fb7b603dddf8..8ba4fe9364b1 100644
> --- a/drivers/usb/host/Kconfig
> +++ b/drivers/usb/host/Kconfig
> @@ -443,12 +443,12 @@ config USB_OHCI_HCD_STI
>           STMicroelectronics consumer electronics SoC's.
>
>  config USB_OHCI_HCD_S3C2410
> -       tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series"
> -       depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX || COMPILE_TEST)
> -       default y if (ARCH_S3C24XX || ARCH_S3C64XX)
> +       tristate "OHCI support for Samsung S3C64xx SoC series"
> +       depends on USB_OHCI_HCD && (ARCH_S3C64XX || COMPILE_TEST)
> +       default ARCH_S3C64XX
>         help
>           Enables support for the on-chip OHCI controller on
> -         S3C24xx/S3C64xx chips.
> +         S3C64xx chips.
>
>  config USB_OHCI_HCD_LPC32XX
>         tristate "Support for LPC on-chip OHCI USB controller"
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index b64bc49c7f30..eee7df45347a 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -491,14 +491,13 @@ config IXP4XX_WATCHDOG
>           Say N if you are unsure.
>
>  config S3C2410_WATCHDOG
> -       tristate "S3C2410 Watchdog"
> -       depends on ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || \
> -                  COMPILE_TEST
> +       tristate "S3C6410/S5Pv210/Exynos Watchdog"
> +       depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
>         select WATCHDOG_CORE
>         select MFD_SYSCON if ARCH_EXYNOS
>         help
> -         Watchdog timer block in the Samsung S3C24xx, S3C64xx, S5Pv210 and
> -         Exynos SoCs. This will reboot the system when the timer expires with
> +         Watchdog timer block in the Samsung S3C64xx, S5Pv210 and Exynos
> +         SoCs. This will reboot the system when the timer expires with
>           the watchdog enabled.
>
>           The driver is limited by the speed of the system's PCLK
> diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
> index d3fc8ed886ff..200ba236a72e 100644
> --- a/drivers/watchdog/s3c2410_wdt.c
> +++ b/drivers/watchdog/s3c2410_wdt.c
> @@ -562,73 +562,6 @@ static irqreturn_t s3c2410wdt_irq(int irqno, void *param)
>         return IRQ_HANDLED;
>  }
>
> -#ifdef CONFIG_ARM_S3C24XX_CPUFREQ
> -
> -static int s3c2410wdt_cpufreq_transition(struct notifier_block *nb,
> -                                         unsigned long val, void *data)
> -{
> -       int ret;
> -       struct s3c2410_wdt *wdt = freq_to_wdt(nb);
> -
> -       if (!s3c2410wdt_is_running(wdt))
> -               goto done;
> -
> -       if (val == CPUFREQ_PRECHANGE) {
> -               /* To ensure that over the change we don't cause the
> -                * watchdog to trigger, we perform an keep-alive if
> -                * the watchdog is running.
> -                */
> -
> -               s3c2410wdt_keepalive(&wdt->wdt_device);
> -       } else if (val == CPUFREQ_POSTCHANGE) {
> -               s3c2410wdt_stop(&wdt->wdt_device);
> -
> -               ret = s3c2410wdt_set_heartbeat(&wdt->wdt_device,
> -                                               wdt->wdt_device.timeout);
> -
> -               if (ret >= 0)
> -                       s3c2410wdt_start(&wdt->wdt_device);
> -               else
> -                       goto err;
> -       }
> -
> -done:
> -       return 0;
> -
> - err:
> -       dev_err(wdt->dev, "cannot set new value for timeout %d\n",
> -                               wdt->wdt_device.timeout);
> -       return ret;
> -}
> -
> -static inline int s3c2410wdt_cpufreq_register(struct s3c2410_wdt *wdt)
> -{
> -       wdt->freq_transition.notifier_call = s3c2410wdt_cpufreq_transition;
> -
> -       return cpufreq_register_notifier(&wdt->freq_transition,
> -                                        CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -static inline void s3c2410wdt_cpufreq_deregister(struct s3c2410_wdt *wdt)
> -{
> -       wdt->freq_transition.notifier_call = s3c2410wdt_cpufreq_transition;
> -
> -       cpufreq_unregister_notifier(&wdt->freq_transition,
> -                                   CPUFREQ_TRANSITION_NOTIFIER);
> -}
> -
> -#else
> -
> -static inline int s3c2410wdt_cpufreq_register(struct s3c2410_wdt *wdt)
> -{
> -       return 0;
> -}
> -
> -static inline void s3c2410wdt_cpufreq_deregister(struct s3c2410_wdt *wdt)
> -{
> -}
> -#endif
> -
>  static inline unsigned int s3c2410wdt_get_bootstatus(struct s3c2410_wdt *wdt)
>  {
>         unsigned int rst_stat;
> @@ -761,12 +694,6 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
>         wdt->wdt_device.min_timeout = 1;
>         wdt->wdt_device.max_timeout = s3c2410wdt_max_timeout(wdt);
>
> -       ret = s3c2410wdt_cpufreq_register(wdt);
> -       if (ret < 0) {
> -               dev_err(dev, "failed to register cpufreq\n");
> -               goto err_src_clk;
> -       }
> -
>         watchdog_set_drvdata(&wdt->wdt_device, wdt);
>
>         /* see if we can actually set the requested timer margin, and if
> @@ -783,7 +710,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
>                                  S3C2410_WATCHDOG_DEFAULT_TIME);
>                 } else {
>                         dev_err(dev, "failed to use default timeout\n");
> -                       goto err_cpufreq;
> +                       goto err_src_clk;
>                 }
>         }
>
> @@ -791,7 +718,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
>                                pdev->name, pdev);
>         if (ret != 0) {
>                 dev_err(dev, "failed to install irq (%d)\n", ret);
> -               goto err_cpufreq;
> +               goto err_src_clk;
>         }
>
>         watchdog_set_nowayout(&wdt->wdt_device, nowayout);
> @@ -817,7 +744,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
>
>         ret = watchdog_register_device(&wdt->wdt_device);
>         if (ret)
> -               goto err_cpufreq;
> +               goto err_src_clk;
>
>         ret = s3c2410wdt_enable(wdt, true);
>         if (ret < 0)
> @@ -839,9 +766,6 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
>   err_unregister:
>         watchdog_unregister_device(&wdt->wdt_device);
>
> - err_cpufreq:
> -       s3c2410wdt_cpufreq_deregister(wdt);
> -
>   err_src_clk:
>         clk_disable_unprepare(wdt->src_clk);
>
> @@ -862,8 +786,6 @@ static int s3c2410wdt_remove(struct platform_device *dev)
>
>         watchdog_unregister_device(&wdt->wdt_device);
>
> -       s3c2410wdt_cpufreq_deregister(wdt);
> -
>         clk_disable_unprepare(wdt->src_clk);
>         clk_disable_unprepare(wdt->bus_clk);
>
> diff --git a/include/linux/clk/samsung.h b/include/linux/clk/samsung.h
> index 38b774001712..0cf7aac83439 100644
> --- a/include/linux/clk/samsung.h
> +++ b/include/linux/clk/samsung.h
> @@ -21,36 +21,4 @@ static inline void s3c64xx_clk_init(struct device_node *np,
>                                     bool s3c6400, void __iomem *base) { }
>  #endif /* CONFIG_S3C64XX_COMMON_CLK */
>
> -#ifdef CONFIG_S3C2410_COMMON_CLK
> -void s3c2410_common_clk_init(struct device_node *np, unsigned long xti_f,
> -                            int current_soc,
> -                            void __iomem *reg_base);
> -#else
> -static inline void s3c2410_common_clk_init(struct device_node *np,
> -                                          unsigned long xti_f,
> -                                          int current_soc,
> -                                          void __iomem *reg_base) { }
> -#endif /* CONFIG_S3C2410_COMMON_CLK */
> -
> -#ifdef CONFIG_S3C2412_COMMON_CLK
> -void s3c2412_common_clk_init(struct device_node *np, unsigned long xti_f,
> -                            unsigned long ext_f, void __iomem *reg_base);
> -#else
> -static inline void s3c2412_common_clk_init(struct device_node *np,
> -                                          unsigned long xti_f,
> -                                          unsigned long ext_f,
> -                                          void __iomem *reg_base) { }
> -#endif /* CONFIG_S3C2412_COMMON_CLK */
> -
> -#ifdef CONFIG_S3C2443_COMMON_CLK
> -void s3c2443_common_clk_init(struct device_node *np, unsigned long xti_f,
> -                            int current_soc,
> -                            void __iomem *reg_base);
> -#else
> -static inline void s3c2443_common_clk_init(struct device_node *np,
> -                                          unsigned long xti_f,
> -                                          int current_soc,
> -                                          void __iomem *reg_base) { }
> -#endif /* CONFIG_S3C2443_COMMON_CLK */
> -
>  #endif /* __LINUX_CLK_SAMSUNG_H_ */
> diff --git a/include/linux/soc/samsung/s3c-pm.h b/include/linux/soc/samsung/s3c-pm.h
> index f9164559c99f..5b23d85d20ab 100644
> --- a/include/linux/soc/samsung/s3c-pm.h
> +++ b/include/linux/soc/samsung/s3c-pm.h
> @@ -14,58 +14,10 @@
>
>  /* PM debug functions */
>
> -/**
> - * struct pm_uart_save - save block for core UART
> - * @ulcon: Save value for S3C2410_ULCON
> - * @ucon: Save value for S3C2410_UCON
> - * @ufcon: Save value for S3C2410_UFCON
> - * @umcon: Save value for S3C2410_UMCON
> - * @ubrdiv: Save value for S3C2410_UBRDIV
> - *
> - * Save block for UART registers to be held over sleep and restored if they
> - * are needed (say by debug).
> -*/
> -struct pm_uart_save {
> -       u32     ulcon;
> -       u32     ucon;
> -       u32     ufcon;
> -       u32     umcon;
> -       u32     ubrdiv;
> -       u32     udivslot;
> -};
> -
> -#ifdef CONFIG_SAMSUNG_PM_DEBUG
> -/**
> - * s3c_pm_dbg() - low level debug function for use in suspend/resume.
> - * @msg: The message to print.
> - *
> - * This function is used mainly to debug the resume process before the system
> - * can rely on printk/console output. It uses the low-level debugging output
> - * routine printascii() to do its work.
> - */
> -extern void s3c_pm_dbg(const char *msg, ...);
> -
> -#define S3C_PMDBG(fmt...) s3c_pm_dbg(fmt)
> -
> -extern void s3c_pm_save_uarts(bool is_s3c24xx);
> -extern void s3c_pm_restore_uarts(bool is_s3c24xx);
> -
> -#ifdef CONFIG_ARCH_S3C64XX
> -extern void s3c_pm_arch_update_uart(void __iomem *regs,
> -                                   struct pm_uart_save *save);
> -#else
> -static inline void
> -s3c_pm_arch_update_uart(void __iomem *regs, struct pm_uart_save *save)
> -{
> -}
> -#endif
> -
> -#else
>  #define S3C_PMDBG(fmt...) pr_debug(fmt)
>
>  static inline void s3c_pm_save_uarts(bool is_s3c24xx) { }
>  static inline void s3c_pm_restore_uarts(bool is_s3c24xx) { }
> -#endif
>
>  /* suspend memory checking */
>
> @@ -81,14 +33,4 @@ extern void s3c_pm_check_store(void);
>  #define s3c_pm_check_store()   do { } while (0)
>  #endif
>
> -/* system device subsystems */
> -
> -extern struct bus_type s3c2410_subsys;
> -extern struct bus_type s3c2410a_subsys;
> -extern struct bus_type s3c2412_subsys;
> -extern struct bus_type s3c2416_subsys;
> -extern struct bus_type s3c2440_subsys;
> -extern struct bus_type s3c2442_subsys;
> -extern struct bus_type s3c2443_subsys;
> -
>  #endif
> --
> 2.29.2
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks
  2022-10-21 20:27 ` [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks Arnd Bergmann
                     ` (7 preceding siblings ...)
  2022-10-24 16:53   ` Ulf Hansson
@ 2022-10-27 23:10   ` Stephen Boyd
  8 siblings, 0 replies; 17+ messages in thread
From: Stephen Boyd @ 2022-10-27 23:10 UTC (permalink / raw)
  To: Arnd Bergmann, Krzysztof Kozlowski, linux-arm-kernel
  Cc: linux-kernel, Ben Dooks, Simtec Linux Team, Arnd Bergmann,
	Alim Akhtar, Daniel Lezcano, Thomas Gleixner, Jonathan Cameron,
	Lars-Peter Clausen, Sylwester Nawrocki, Mauro Carvalho Chehab,
	Ulf Hansson, Miquel Raynal, Richard Weinberger,
	Vignesh Raghavendra, Tomasz Figa, Linus Walleij,
	Alessandro Zummo, Alexandre Belloni, Greg Kroah-Hartman,
	Jiri Slaby, Guenter Roeck, Chanwoo Choi, linux-samsung-soc,
	linux-i2c, linux-iio, linux-media, linux-mmc, linux-mtd,
	linux-gpio, linux-rtc, linux-serial, linux-usb, linux-watchdog,
	linux-clk

Quoting Arnd Bergmann (2022-10-21 13:27:35)
> From: Arnd Bergmann <arnd@arndb.de>
> 
> A number of device drivers reference CONFIG_ARM_S3C24XX_CPUFREQ or
> similar symbols that are no longer available with the platform gone,
> though the drivers themselves are still used on newer platforms,
> so remove these hacks.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---

Acked-by: Stephen Boyd <sboyd@kernel.org> # clk

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2022-10-27 23:11 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-21 20:22 [PATCH 00/21] ARM: s3c: clean out obsolete platforms Arnd Bergmann
2022-10-21 20:27 ` [PATCH 02/21] ARM: s3c: remove s3c24xx specific hacks Arnd Bergmann
2022-10-21 22:33   ` Wolfram Sang
2022-10-22 11:24   ` Greg Kroah-Hartman
2022-10-22 14:02   ` Linus Walleij
2022-10-23 11:00   ` Jonathan Cameron
2022-10-23 18:08   ` Daniel Lezcano
2022-10-24  7:55   ` Miquel Raynal
2022-10-24 12:26   ` Krzysztof Kozlowski
2022-10-24 16:53   ` Ulf Hansson
2022-10-27 23:10   ` Stephen Boyd
2022-10-21 20:27 ` [PATCH 13/21] usb: gadget: remove s3c24xx drivers Arnd Bergmann
2022-10-24 12:39   ` Krzysztof Kozlowski
2022-10-22 15:18 ` [PATCH 00/21] ARM: s3c: clean out obsolete platforms Krzysztof Kozlowski
2022-10-22 19:48   ` Arnd Bergmann
2022-10-24 13:00 ` Rob Herring
2022-10-24 13:18   ` Arnd Bergmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).