[PATCH v3 0/3] phase out CONFIG_VIRT_TO_BUS

Arnd Bergmann arnd at kernel.org
Sat Jun 25 01:52:23 AEST 2022


From: Arnd Bergmann <arnd at arndb.de>

The virt_to_bus/bus_to_virt interface has been deprecated for
decades. After Jakub Kicinski put a lot of work into cleaning out the
network drivers using them, there are only a couple of other drivers
left, which can all be removed or otherwise cleaned up, to remove the
old interface for good.

Any out of tree drivers using virt_to_bus() should be converted to
using the dma-mapping interfaces, typically dma_alloc_coherent()
or dma_map_single()).

There are a few m68k and ppc32 specific drivers that keep using the
interfaces, but these are all guarded with architecture-specific
Kconfig dependencies, and are not actually broken. It might be
helpful as a follow-up to replace them with platform specific
helpers for amiga, m68k-vme and powermac.

There are still a number of drivers that are using virt_to_phys()
and phys_to_virt() in place of dma-mapping operations, and these
are often broken, but they are out of scope for this series.

If there are no more issues identified with this series, I'll
merge it through the asm-generic tree. The SCSI patches can
also get merged separately through the SCSI maintainers' tree
if they prefer.

      Arnd

---
Changes since v2:
 - Drop the dpt_i2o driver completely rather than fixing it
 - fix mistake in BusLogic patch

Changes since v1:
 - dropped VME patches that are already in staging-next
 - dropped media patch that gets merged independently
 - added a networking patch and dropped it again after it got merged
 - replace BusLogic removal with a workaround

Cc: Jakub Kicinski <kuba at kernel.org>
Cc: Christoph Hellwig <hch at infradead.org> # dma-mapping
Cc: Marek Szyprowski <m.szyprowski at samsung.com> # dma-mapping
Cc: Robin Murphy <robin.murphy at arm.com> # dma-mapping
Cc: iommu at lists.linux-foundation.org
Cc: Khalid Aziz <khalid at gonehiking.org> # buslogic
Cc: Maciej W. Rozycki <macro at orcam.me.uk> # buslogic
Cc: Matt Wang <wwentao at vmware.com> # buslogic
Cc: Miquel van Smoorenburg <mikevs at xs4all.net> # dpt_i2o
Cc: Mark Salyzyn <salyzyn at android.com> # dpt_i2o
Cc: linux-scsi at vger.kernel.org
Cc: linuxppc-dev at lists.ozlabs.org
Cc: linux-arch at vger.kernel.org
Cc: linux-alpha at vger.kernel.org
Cc: linux-m68k at lists.linux-m68k.org
Cc: linux-parisc at vger.kernel.org
Cc: Denis Efremov <efremov at linux.com> # floppy

Arnd Bergmann (3):
  scsi: BusLogic remove bus_to_virt
  scsi: dpt_i2o: remove obsolete driver
  arch/*/: remove CONFIG_VIRT_TO_BUS

 .../core-api/bus-virt-phys-mapping.rst        |  220 -
 Documentation/core-api/dma-api-howto.rst      |   14 -
 Documentation/core-api/index.rst              |    1 -
 .../translations/zh_CN/core-api/index.rst     |    1 -
 .../userspace-api/ioctl/ioctl-number.rst      |    2 +-
 MAINTAINERS                                   |    8 -
 arch/alpha/Kconfig                            |    1 -
 arch/alpha/include/asm/floppy.h               |    2 +-
 arch/alpha/include/asm/io.h                   |    8 +-
 arch/ia64/Kconfig                             |    1 -
 arch/ia64/include/asm/io.h                    |    8 -
 arch/m68k/Kconfig                             |    1 -
 arch/m68k/include/asm/virtconvert.h           |    4 +-
 arch/microblaze/Kconfig                       |    1 -
 arch/microblaze/include/asm/io.h              |    2 -
 arch/mips/Kconfig                             |    1 -
 arch/mips/include/asm/io.h                    |    9 -
 arch/parisc/Kconfig                           |    1 -
 arch/parisc/include/asm/floppy.h              |    4 +-
 arch/parisc/include/asm/io.h                  |    2 -
 arch/powerpc/Kconfig                          |    1 -
 arch/powerpc/include/asm/io.h                 |    2 -
 arch/riscv/include/asm/page.h                 |    1 -
 arch/x86/Kconfig                              |    1 -
 arch/x86/include/asm/io.h                     |    9 -
 arch/xtensa/Kconfig                           |    1 -
 arch/xtensa/include/asm/io.h                  |    3 -
 drivers/scsi/BusLogic.c                       |   35 +-
 drivers/scsi/Kconfig                          |   13 +-
 drivers/scsi/Makefile                         |    1 -
 drivers/scsi/dpt/dpti_i2o.h                   |  441 --
 drivers/scsi/dpt/dpti_ioctl.h                 |  136 -
 drivers/scsi/dpt/dptsig.h                     |  336 --
 drivers/scsi/dpt/osd_defs.h                   |   79 -
 drivers/scsi/dpt/osd_util.h                   |  358 --
 drivers/scsi/dpt/sys_info.h                   |  417 --
 drivers/scsi/dpt_i2o.c                        | 3546 -----------------
 drivers/scsi/dpti.h                           |  331 --
 include/asm-generic/io.h                      |   14 -
 mm/Kconfig                                    |    8 -
 40 files changed, 35 insertions(+), 5989 deletions(-)
 delete mode 100644 Documentation/core-api/bus-virt-phys-mapping.rst
 delete mode 100644 drivers/scsi/dpt/dpti_i2o.h
 delete mode 100644 drivers/scsi/dpt/dpti_ioctl.h
 delete mode 100644 drivers/scsi/dpt/dptsig.h
 delete mode 100644 drivers/scsi/dpt/osd_defs.h
 delete mode 100644 drivers/scsi/dpt/osd_util.h
 delete mode 100644 drivers/scsi/dpt/sys_info.h
 delete mode 100644 drivers/scsi/dpt_i2o.c
 delete mode 100644 drivers/scsi/dpti.h

-- 
2.29.2



More information about the Linuxppc-dev mailing list