Linux Tegra architecture development
 help / color / mirror / Atom feed
* [RFC PATCH] Docs: move more driver,device related docs into drivers dir follows kernel source
From: Alex Shi @ 2019-07-12  6:10 UTC (permalink / raw)
  Cc: Alex Shi, linux-pci-u79uwXL29TY76Z2rM5mHXA,
	linux-doc-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ,
	drbd-dev-cunTk1MwBs8qoQakbn7OcQ,
	linux-block-u79uwXL29TY76Z2rM5mHXA, nbd-2H2hN8V1XRtuHlm7Suoebg,
	linux-ide-u79uwXL29TY76Z2rM5mHXA, linux-pm-u79uwXL29TY76Z2rM5mHXA,
	linux-crypto-u79uwXL29TY76Z2rM5mHXA,
	keyrings-u79uwXL29TY76Z2rM5mHXA,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	linux-media-u79uwXL29TY76Z2rM5mHXA,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	linaro-mm-sig-cunTk1MwBs8s++Sfvej+rw,
	dmaengine-u79uwXL29TY76Z2rM5mHXA,
	linux-edac-u79uwXL29TY76Z2rM5mHXA,
	linux-fpga-u79uwXL29TY76Z2rM5mHXA,
	linux-iio-u79uwXL29TY76Z2rM5mHXA,
	linux-gpio-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-s390-u79uwXL29TY76Z2rM5mHXA,
	alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	devel-gWbeCf7V1WCQmaza687I9mD2FQJk+8+b,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

Could I have a proposal to move the following driver/devices dirs which
under Documentation/ into Documentation/drivers/, follows kernel source

acpi backlight  bus cpu-freq  device-mapper  driver-model gpio  hid
ide leds md memory  mmc nfc nvmem pcmcia scsi sound  watchdog
auxdisplay  blockdev   cdrom  crypto driver-api fpga  gpu
i2c  infiniband  lightnvm  media  misc  mtd  nvdimm  PCI  apidio
serial  usb

More docs and dirs could move into this dir later, that could make
Documenation dir much more clear, and don't cause trouble to find them.

If it's acceptable, we could do docs pointer redirect further.

Signed-off-by: Alex Shi <alex.shi-KPsoFbNs7GizrGE5bRqYAgC/G2K4zDHf@public.gmane.org>
Cc: linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org 
Cc: drbd-dev-cunTk1MwBs8qoQakbn7OcQ@public.gmane.org 
Cc: linux-block-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: nbd-2H2hN8V1XRtuHlm7Suoebg@public.gmane.org 
Cc: linux-ide-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linux-crypto-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: keyrings-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org 
Cc: linaro-mm-sig-cunTk1MwBs8s++Sfvej+rw@public.gmane.org 
Cc: dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linux-edac-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linux-fpga-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org 
Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: devel-gWbeCf7V1WCQmaza687I9mD2FQJk+8+b@public.gmane.org 
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org 
Cc: linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org 
Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org 
Cc: xen-devel-GuqFBffKawtpuQazS67q72D2FQJk+8+b@public.gmane.org 
Cc: linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linux-leds-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
Cc: dc395x-rWtB/k1P5JpAfugRpC6u6w@public.gmane.org 
Cc: esc.storagedev-dzo6w/eZyo2tG0bUXCXiUA@public.gmane.org 
Cc: megaraidlinux.pdl-dY08KVG/lbpWk0Htik3J/w@public.gmane.org 
Cc: osst-users-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org 
Cc: linux-watchdog-u79uwXL29TY76Z2rM5mHXA@public.gmane.org 
---
 Documentation/{ => drivers}/PCI/MSI-HOWTO.txt                     | 0
 Documentation/{ => drivers}/PCI/PCIEBUS-HOWTO.txt                 | 0
 Documentation/{ => drivers}/PCI/acpi-info.txt                     | 0
 .../{ => drivers}/PCI/endpoint/function/binding/pci-test.txt      | 0
 Documentation/{ => drivers}/PCI/endpoint/pci-endpoint-cfs.txt     | 0
 Documentation/{ => drivers}/PCI/endpoint/pci-endpoint.txt         | 0
 Documentation/{ => drivers}/PCI/endpoint/pci-test-function.txt    | 0
 Documentation/{ => drivers}/PCI/endpoint/pci-test-howto.txt       | 0
 Documentation/{ => drivers}/PCI/pci-error-recovery.txt            | 0
 Documentation/{ => drivers}/PCI/pci-iov-howto.txt                 | 0
 Documentation/{ => drivers}/PCI/pci.txt                           | 0
 Documentation/{ => drivers}/PCI/pcieaer-howto.txt                 | 0
 Documentation/{ => drivers}/acpi/dsd/leds.txt                     | 0
 Documentation/{ => drivers}/auxdisplay/cfag12864b                 | 0
 Documentation/{ => drivers}/auxdisplay/ks0108                     | 0
 Documentation/{ => drivers}/auxdisplay/lcd-panel-cgram.txt        | 0
 Documentation/{ => drivers}/backlight/lp855x-driver.txt           | 0
 .../{ => drivers}/blockdev/drbd/DRBD-8.3-data-packets.svg         | 0
 Documentation/{ => drivers}/blockdev/drbd/DRBD-data-packets.svg   | 0
 Documentation/{ => drivers}/blockdev/drbd/README.txt              | 0
 Documentation/{ => drivers}/blockdev/drbd/conn-states-8.dot       | 0
 Documentation/{ => drivers}/blockdev/drbd/data-structure-v9.txt   | 0
 Documentation/{ => drivers}/blockdev/drbd/disk-states-8.dot       | 0
 .../blockdev/drbd/drbd-connection-state-overview.dot              | 0
 Documentation/{ => drivers}/blockdev/drbd/node-states-8.dot       | 0
 Documentation/{ => drivers}/blockdev/floppy.txt                   | 0
 Documentation/{ => drivers}/blockdev/nbd.txt                      | 0
 Documentation/{ => drivers}/blockdev/paride.txt                   | 0
 Documentation/{ => drivers}/blockdev/ramdisk.txt                  | 0
 Documentation/{ => drivers}/blockdev/zram.txt                     | 0
 Documentation/{bus-devices => drivers/bus}/ti-gpmc.txt            | 0
 Documentation/{ => drivers}/cdrom/cdrom-standard.rst              | 0
 Documentation/{ => drivers}/cdrom/ide-cd.rst                      | 0
 Documentation/{ => drivers}/cdrom/index.rst                       | 0
 Documentation/{ => drivers}/cdrom/packet-writing.rst              | 0
 Documentation/{ => drivers}/cpu-freq/amd-powernow.txt             | 0
 Documentation/{ => drivers}/cpu-freq/core.txt                     | 0
 Documentation/{ => drivers}/cpu-freq/cpu-drivers.txt              | 0
 Documentation/{ => drivers}/cpu-freq/cpufreq-nforce2.txt          | 0
 Documentation/{ => drivers}/cpu-freq/cpufreq-stats.txt            | 0
 Documentation/{ => drivers}/cpu-freq/index.txt                    | 0
 Documentation/{ => drivers}/cpu-freq/pcc-cpufreq.txt              | 0
 Documentation/{ => drivers}/crypto/api-aead.rst                   | 0
 Documentation/{ => drivers}/crypto/api-akcipher.rst               | 0
 Documentation/{ => drivers}/crypto/api-digest.rst                 | 0
 Documentation/{ => drivers}/crypto/api-intro.txt                  | 0
 Documentation/{ => drivers}/crypto/api-kpp.rst                    | 0
 Documentation/{ => drivers}/crypto/api-rng.rst                    | 0
 Documentation/{ => drivers}/crypto/api-samples.rst                | 0
 Documentation/{ => drivers}/crypto/api-skcipher.rst               | 0
 Documentation/{ => drivers}/crypto/api.rst                        | 0
 Documentation/{ => drivers}/crypto/architecture.rst               | 0
 Documentation/{ => drivers}/crypto/asymmetric-keys.txt            | 0
 Documentation/{ => drivers}/crypto/async-tx-api.txt               | 0
 Documentation/{ => drivers}/crypto/conf.py                        | 0
 Documentation/{ => drivers}/crypto/crypto_engine.rst              | 0
 Documentation/{ => drivers}/crypto/descore-readme.txt             | 0
 Documentation/{ => drivers}/crypto/devel-algos.rst                | 0
 Documentation/{ => drivers}/crypto/index.rst                      | 0
 Documentation/{ => drivers}/crypto/intro.rst                      | 0
 Documentation/{ => drivers}/crypto/userspace-if.rst               | 0
 Documentation/{ => drivers}/device-mapper/cache-policies.rst      | 0
 Documentation/{ => drivers}/device-mapper/cache.rst               | 0
 Documentation/{ => drivers}/device-mapper/delay.rst               | 0
 Documentation/{ => drivers}/device-mapper/dm-crypt.rst            | 0
 Documentation/{ => drivers}/device-mapper/dm-dust.txt             | 0
 Documentation/{ => drivers}/device-mapper/dm-flakey.rst           | 0
 Documentation/{ => drivers}/device-mapper/dm-init.rst             | 0
 Documentation/{ => drivers}/device-mapper/dm-integrity.rst        | 0
 Documentation/{ => drivers}/device-mapper/dm-io.rst               | 0
 Documentation/{ => drivers}/device-mapper/dm-log.rst              | 0
 Documentation/{ => drivers}/device-mapper/dm-queue-length.rst     | 0
 Documentation/{ => drivers}/device-mapper/dm-raid.rst             | 0
 Documentation/{ => drivers}/device-mapper/dm-service-time.rst     | 0
 Documentation/{ => drivers}/device-mapper/dm-uevent.rst           | 0
 Documentation/{ => drivers}/device-mapper/dm-zoned.rst            | 0
 Documentation/{ => drivers}/device-mapper/era.rst                 | 0
 Documentation/{ => drivers}/device-mapper/index.rst               | 0
 Documentation/{ => drivers}/device-mapper/kcopyd.rst              | 0
 Documentation/{ => drivers}/device-mapper/linear.rst              | 0
 Documentation/{ => drivers}/device-mapper/log-writes.rst          | 0
 Documentation/{ => drivers}/device-mapper/persistent-data.rst     | 0
 Documentation/{ => drivers}/device-mapper/snapshot.rst            | 0
 Documentation/{ => drivers}/device-mapper/statistics.rst          | 0
 Documentation/{ => drivers}/device-mapper/striped.rst             | 0
 Documentation/{ => drivers}/device-mapper/switch.rst              | 0
 Documentation/{ => drivers}/device-mapper/thin-provisioning.rst   | 0
 Documentation/{ => drivers}/device-mapper/unstriped.rst           | 0
 Documentation/{ => drivers}/device-mapper/verity.rst              | 0
 Documentation/{ => drivers}/device-mapper/writecache.rst          | 0
 Documentation/{ => drivers}/device-mapper/zero.rst                | 0
 Documentation/{ => drivers}/driver-api/80211/cfg80211.rst         | 0
 Documentation/{ => drivers}/driver-api/80211/conf.py              | 0
 Documentation/{ => drivers}/driver-api/80211/index.rst            | 0
 Documentation/{ => drivers}/driver-api/80211/introduction.rst     | 0
 .../{ => drivers}/driver-api/80211/mac80211-advanced.rst          | 0
 Documentation/{ => drivers}/driver-api/80211/mac80211.rst         | 0
 Documentation/{ => drivers}/driver-api/acpi/index.rst             | 0
 Documentation/{ => drivers}/driver-api/acpi/linuxized-acpica.rst  | 0
 Documentation/{ => drivers}/driver-api/acpi/scan_handlers.rst     | 0
 Documentation/{ => drivers}/driver-api/basics.rst                 | 0
 Documentation/{ => drivers}/driver-api/clk.rst                    | 0
 Documentation/{ => drivers}/driver-api/component.rst              | 0
 Documentation/{ => drivers}/driver-api/conf.py                    | 0
 Documentation/{ => drivers}/driver-api/device-io.rst              | 0
 Documentation/{ => drivers}/driver-api/device_connection.rst      | 0
 Documentation/{ => drivers}/driver-api/device_link.rst            | 0
 Documentation/{ => drivers}/driver-api/dma-buf.rst                | 0
 Documentation/{ => drivers}/driver-api/dmaengine/client.rst       | 0
 Documentation/{ => drivers}/driver-api/dmaengine/dmatest.rst      | 0
 Documentation/{ => drivers}/driver-api/dmaengine/index.rst        | 0
 Documentation/{ => drivers}/driver-api/dmaengine/provider.rst     | 0
 Documentation/{ => drivers}/driver-api/dmaengine/pxa_dma.rst      | 0
 Documentation/{ => drivers}/driver-api/edac.rst                   | 0
 Documentation/{ => drivers}/driver-api/firewire.rst               | 0
 Documentation/{ => drivers}/driver-api/firmware/built-in-fw.rst   | 0
 Documentation/{ => drivers}/driver-api/firmware/core.rst          | 0
 .../{ => drivers}/driver-api/firmware/direct-fs-lookup.rst        | 0
 .../{ => drivers}/driver-api/firmware/fallback-mechanisms.rst     | 0
 .../{ => drivers}/driver-api/firmware/firmware_cache.rst          | 0
 .../{ => drivers}/driver-api/firmware/fw_search_path.rst          | 0
 Documentation/{ => drivers}/driver-api/firmware/index.rst         | 0
 Documentation/{ => drivers}/driver-api/firmware/introduction.rst  | 0
 Documentation/{ => drivers}/driver-api/firmware/lookup-order.rst  | 0
 .../{ => drivers}/driver-api/firmware/other_interfaces.rst        | 0
 .../{ => drivers}/driver-api/firmware/request_firmware.rst        | 0
 Documentation/{ => drivers}/driver-api/fpga/fpga-bridge.rst       | 0
 Documentation/{ => drivers}/driver-api/fpga/fpga-mgr.rst          | 0
 Documentation/{ => drivers}/driver-api/fpga/fpga-programming.rst  | 0
 Documentation/{ => drivers}/driver-api/fpga/fpga-region.rst       | 0
 Documentation/{ => drivers}/driver-api/fpga/index.rst             | 0
 Documentation/{ => drivers}/driver-api/fpga/intro.rst             | 0
 Documentation/{ => drivers}/driver-api/frame-buffer.rst           | 0
 Documentation/{ => drivers}/driver-api/generic-counter.rst        | 0
 Documentation/{ => drivers}/driver-api/gpio/board.rst             | 0
 Documentation/{ => drivers}/driver-api/gpio/consumer.rst          | 0
 Documentation/{ => drivers}/driver-api/gpio/driver.rst            | 0
 Documentation/{ => drivers}/driver-api/gpio/drivers-on-gpio.rst   | 0
 Documentation/{ => drivers}/driver-api/gpio/index.rst             | 0
 Documentation/{ => drivers}/driver-api/gpio/intro.rst             | 0
 Documentation/{ => drivers}/driver-api/gpio/legacy.rst            | 0
 Documentation/{ => drivers}/driver-api/hsi.rst                    | 0
 Documentation/{ => drivers}/driver-api/i2c.rst                    | 0
 Documentation/{ => drivers}/driver-api/i3c/device-driver-api.rst  | 0
 Documentation/{ => drivers}/driver-api/i3c/index.rst              | 0
 Documentation/{ => drivers}/driver-api/i3c/master-driver-api.rst  | 0
 Documentation/{ => drivers}/driver-api/i3c/protocol.rst           | 0
 Documentation/{ => drivers}/driver-api/iio/buffers.rst            | 0
 Documentation/{ => drivers}/driver-api/iio/core.rst               | 0
 Documentation/{ => drivers}/driver-api/iio/hw-consumer.rst        | 0
 Documentation/{ => drivers}/driver-api/iio/index.rst              | 0
 Documentation/{ => drivers}/driver-api/iio/intro.rst              | 0
 Documentation/{ => drivers}/driver-api/iio/triggered-buffers.rst  | 0
 Documentation/{ => drivers}/driver-api/iio/triggers.rst           | 0
 Documentation/{ => drivers}/driver-api/index.rst                  | 0
 Documentation/{ => drivers}/driver-api/infrastructure.rst         | 0
 Documentation/{ => drivers}/driver-api/input.rst                  | 0
 Documentation/{ => drivers}/driver-api/libata.rst                 | 0
 Documentation/{ => drivers}/driver-api/message-based.rst          | 0
 Documentation/{ => drivers}/driver-api/misc_devices.rst           | 0
 Documentation/{ => drivers}/driver-api/miscellaneous.rst          | 0
 Documentation/{ => drivers}/driver-api/mtdnand.rst                | 0
 Documentation/{ => drivers}/driver-api/pci/index.rst              | 0
 Documentation/{ => drivers}/driver-api/pci/p2pdma.rst             | 0
 Documentation/{ => drivers}/driver-api/pci/pci.rst                | 0
 Documentation/{ => drivers}/driver-api/pinctl.rst                 | 0
 Documentation/{ => drivers}/driver-api/pm/conf.py                 | 0
 Documentation/{ => drivers}/driver-api/pm/cpuidle.rst             | 0
 Documentation/{ => drivers}/driver-api/pm/devices.rst             | 0
 Documentation/{ => drivers}/driver-api/pm/index.rst               | 0
 Documentation/{ => drivers}/driver-api/pm/notifiers.rst           | 0
 Documentation/{ => drivers}/driver-api/pm/types.rst               | 0
 Documentation/{ => drivers}/driver-api/pps.rst                    | 0
 Documentation/{ => drivers}/driver-api/ptp.rst                    | 0
 Documentation/{ => drivers}/driver-api/rapidio.rst                | 0
 Documentation/{ => drivers}/driver-api/regulator.rst              | 0
 Documentation/{ => drivers}/driver-api/s390-drivers.rst           | 0
 Documentation/{ => drivers}/driver-api/scsi.rst                   | 0
 Documentation/{ => drivers}/driver-api/slimbus.rst                | 0
 Documentation/{ => drivers}/driver-api/sound.rst                  | 0
 .../{ => drivers}/driver-api/soundwire/error_handling.rst         | 0
 Documentation/{ => drivers}/driver-api/soundwire/index.rst        | 0
 Documentation/{ => drivers}/driver-api/soundwire/locking.rst      | 0
 Documentation/{ => drivers}/driver-api/soundwire/stream.rst       | 0
 Documentation/{ => drivers}/driver-api/soundwire/summary.rst      | 0
 Documentation/{ => drivers}/driver-api/spi.rst                    | 0
 Documentation/{ => drivers}/driver-api/target.rst                 | 0
 Documentation/{ => drivers}/driver-api/uio-howto.rst              | 0
 Documentation/{ => drivers}/driver-api/usb/URB.rst                | 0
 Documentation/{ => drivers}/driver-api/usb/anchors.rst            | 0
 Documentation/{ => drivers}/driver-api/usb/bulk-streams.rst       | 0
 Documentation/{ => drivers}/driver-api/usb/callbacks.rst          | 0
 Documentation/{ => drivers}/driver-api/usb/dma.rst                | 0
 Documentation/{ => drivers}/driver-api/usb/dwc3.rst               | 0
 Documentation/{ => drivers}/driver-api/usb/error-codes.rst        | 0
 Documentation/{ => drivers}/driver-api/usb/gadget.rst             | 0
 Documentation/{ => drivers}/driver-api/usb/hotplug.rst            | 0
 Documentation/{ => drivers}/driver-api/usb/index.rst              | 0
 Documentation/{ => drivers}/driver-api/usb/persist.rst            | 0
 Documentation/{ => drivers}/driver-api/usb/power-management.rst   | 0
 Documentation/{ => drivers}/driver-api/usb/typec.rst              | 0
 Documentation/{ => drivers}/driver-api/usb/typec_bus.rst          | 0
 Documentation/{ => drivers}/driver-api/usb/usb.rst                | 0
 Documentation/{ => drivers}/driver-api/usb/usb3-debug-port.rst    | 0
 .../{ => drivers}/driver-api/usb/writing_musb_glue_layer.rst      | 0
 Documentation/{ => drivers}/driver-api/usb/writing_usb_driver.rst | 0
 Documentation/{ => drivers}/driver-api/vme.rst                    | 0
 Documentation/{ => drivers}/driver-api/w1.rst                     | 0
 Documentation/{ => drivers}/driver-model/binding.txt              | 0
 Documentation/{ => drivers}/driver-model/bus.txt                  | 0
 Documentation/{ => drivers}/driver-model/class.txt                | 0
 Documentation/{ => drivers}/driver-model/design-patterns.txt      | 0
 Documentation/{ => drivers}/driver-model/device.txt               | 0
 Documentation/{ => drivers}/driver-model/devres.txt               | 0
 Documentation/{ => drivers}/driver-model/driver.txt               | 0
 Documentation/{ => drivers}/driver-model/overview.txt             | 0
 Documentation/{ => drivers}/driver-model/platform.txt             | 0
 Documentation/{ => drivers}/driver-model/porting.txt              | 0
 Documentation/{ => drivers}/fpga/dfl.rst                          | 0
 Documentation/{ => drivers}/fpga/index.rst                        | 0
 Documentation/{ => drivers}/gpio/index.rst                        | 0
 Documentation/{ => drivers}/gpio/sysfs.rst                        | 0
 Documentation/{ => drivers}/gpu/afbc.rst                          | 0
 Documentation/{ => drivers}/gpu/amdgpu-dc.rst                     | 0
 Documentation/{ => drivers}/gpu/amdgpu.rst                        | 0
 Documentation/{ => drivers}/gpu/bridge/dw-hdmi.rst                | 0
 Documentation/{ => drivers}/gpu/conf.py                           | 0
 Documentation/{ => drivers}/gpu/dp-mst/topology-figure-1.dot      | 0
 Documentation/{ => drivers}/gpu/dp-mst/topology-figure-2.dot      | 0
 Documentation/{ => drivers}/gpu/dp-mst/topology-figure-3.dot      | 0
 Documentation/{ => drivers}/gpu/drivers.rst                       | 0
 Documentation/{ => drivers}/gpu/drm-client.rst                    | 0
 Documentation/{ => drivers}/gpu/drm-internals.rst                 | 0
 Documentation/{ => drivers}/gpu/drm-kms-helpers.rst               | 0
 Documentation/{ => drivers}/gpu/drm-kms.rst                       | 0
 Documentation/{ => drivers}/gpu/drm-mm.rst                        | 0
 Documentation/{ => drivers}/gpu/drm-uapi.rst                      | 0
 Documentation/{ => drivers}/gpu/i915.rst                          | 0
 Documentation/{ => drivers}/gpu/index.rst                         | 0
 Documentation/{ => drivers}/gpu/introduction.rst                  | 0
 Documentation/{ => drivers}/gpu/kms-properties.csv                | 0
 Documentation/{ => drivers}/gpu/komeda-kms.rst                    | 0
 Documentation/{ => drivers}/gpu/meson.rst                         | 0
 Documentation/{ => drivers}/gpu/msm-crash-dump.rst                | 0
 Documentation/{ => drivers}/gpu/pl111.rst                         | 0
 Documentation/{ => drivers}/gpu/tegra.rst                         | 0
 Documentation/{ => drivers}/gpu/tinydrm.rst                       | 0
 Documentation/{ => drivers}/gpu/todo.rst                          | 0
 Documentation/{ => drivers}/gpu/tve200.rst                        | 0
 Documentation/{ => drivers}/gpu/v3d.rst                           | 0
 Documentation/{ => drivers}/gpu/vc4.rst                           | 0
 Documentation/{ => drivers}/gpu/vga-switcheroo.rst                | 0
 Documentation/{ => drivers}/gpu/vgaarbiter.rst                    | 0
 Documentation/{ => drivers}/gpu/vkms.rst                          | 0
 Documentation/{ => drivers}/gpu/xen-front.rst                     | 0
 Documentation/{ => drivers}/hid/hid-alps.txt                      | 0
 Documentation/{ => drivers}/hid/hid-sensor.txt                    | 0
 Documentation/{ => drivers}/hid/hid-transport.txt                 | 0
 Documentation/{ => drivers}/hid/hiddev.txt                        | 0
 Documentation/{ => drivers}/hid/hidraw.txt                        | 0
 Documentation/{ => drivers}/hid/intel-ish-hid.txt                 | 0
 Documentation/{ => drivers}/hid/uhid.txt                          | 0
 Documentation/{ => drivers}/i2c/DMA-considerations                | 0
 Documentation/{ => drivers}/i2c/busses/i2c-ali1535                | 0
 Documentation/{ => drivers}/i2c/busses/i2c-ali1563                | 0
 Documentation/{ => drivers}/i2c/busses/i2c-ali15x3                | 0
 Documentation/{ => drivers}/i2c/busses/i2c-amd-mp2                | 0
 Documentation/{ => drivers}/i2c/busses/i2c-amd756                 | 0
 Documentation/{ => drivers}/i2c/busses/i2c-amd8111                | 0
 Documentation/{ => drivers}/i2c/busses/i2c-diolan-u2c             | 0
 Documentation/{ => drivers}/i2c/busses/i2c-i801                   | 0
 Documentation/{ => drivers}/i2c/busses/i2c-ismt                   | 0
 Documentation/{ => drivers}/i2c/busses/i2c-mlxcpld                | 0
 Documentation/{ => drivers}/i2c/busses/i2c-nforce2                | 0
 Documentation/{ => drivers}/i2c/busses/i2c-nvidia-gpu             | 0
 Documentation/{ => drivers}/i2c/busses/i2c-ocores                 | 0
 Documentation/{ => drivers}/i2c/busses/i2c-parport                | 0
 Documentation/{ => drivers}/i2c/busses/i2c-parport-light          | 0
 Documentation/{ => drivers}/i2c/busses/i2c-pca-isa                | 0
 Documentation/{ => drivers}/i2c/busses/i2c-piix4                  | 0
 Documentation/{ => drivers}/i2c/busses/i2c-sis5595                | 0
 Documentation/{ => drivers}/i2c/busses/i2c-sis630                 | 0
 Documentation/{ => drivers}/i2c/busses/i2c-sis96x                 | 0
 Documentation/{ => drivers}/i2c/busses/i2c-taos-evm               | 0
 Documentation/{ => drivers}/i2c/busses/i2c-via                    | 0
 Documentation/{ => drivers}/i2c/busses/i2c-viapro                 | 0
 Documentation/{ => drivers}/i2c/busses/scx200_acb                 | 0
 Documentation/{ => drivers}/i2c/dev-interface                     | 0
 Documentation/{ => drivers}/i2c/fault-codes                       | 0
 Documentation/{ => drivers}/i2c/functionality                     | 0
 Documentation/{ => drivers}/i2c/gpio-fault-injection              | 0
 Documentation/{ => drivers}/i2c/i2c-protocol                      | 0
 Documentation/{ => drivers}/i2c/i2c-stub                          | 0
 Documentation/{ => drivers}/i2c/i2c-topology                      | 0
 Documentation/{ => drivers}/i2c/instantiating-devices             | 0
 Documentation/{ => drivers}/i2c/muxes/i2c-mux-gpio                | 0
 Documentation/{ => drivers}/i2c/old-module-parameters             | 0
 Documentation/{ => drivers}/i2c/slave-eeprom-backend              | 0
 Documentation/{ => drivers}/i2c/slave-interface                   | 0
 Documentation/{ => drivers}/i2c/smbus-protocol                    | 0
 Documentation/{ => drivers}/i2c/summary                           | 0
 Documentation/{ => drivers}/i2c/ten-bit-addresses                 | 0
 Documentation/{ => drivers}/i2c/upgrading-clients                 | 0
 Documentation/{ => drivers}/i2c/writing-clients                   | 0
 Documentation/{ => drivers}/ide/ChangeLog.ide-cd.1994-2004        | 0
 Documentation/{ => drivers}/ide/ChangeLog.ide-floppy.1996-2002    | 0
 Documentation/{ => drivers}/ide/ChangeLog.ide-tape.1995-2002      | 0
 Documentation/{ => drivers}/ide/changelogs.rst                    | 0
 Documentation/{ => drivers}/ide/ide-tape.rst                      | 0
 Documentation/{ => drivers}/ide/ide.rst                           | 0
 Documentation/{ => drivers}/ide/index.rst                         | 0
 Documentation/{ => drivers}/ide/warm-plug-howto.rst               | 0
 Documentation/{ => drivers}/infiniband/core_locking.txt           | 0
 Documentation/{ => drivers}/infiniband/ipoib.txt                  | 0
 Documentation/{ => drivers}/infiniband/opa_vnic.txt               | 0
 Documentation/{ => drivers}/infiniband/sysfs.txt                  | 0
 Documentation/{ => drivers}/infiniband/tag_matching.txt           | 0
 Documentation/{ => drivers}/infiniband/user_mad.txt               | 0
 Documentation/{ => drivers}/infiniband/user_verbs.txt             | 0
 Documentation/{ => drivers}/leds/index.rst                        | 0
 Documentation/{ => drivers}/leds/leds-blinkm.rst                  | 0
 Documentation/{ => drivers}/leds/leds-class-flash.rst             | 0
 Documentation/{ => drivers}/leds/leds-class.rst                   | 0
 Documentation/{ => drivers}/leds/leds-lm3556.rst                  | 0
 Documentation/{ => drivers}/leds/leds-lp3944.rst                  | 0
 Documentation/{ => drivers}/leds/leds-lp5521.rst                  | 0
 Documentation/{ => drivers}/leds/leds-lp5523.rst                  | 0
 Documentation/{ => drivers}/leds/leds-lp5562.rst                  | 0
 Documentation/{ => drivers}/leds/leds-lp55xx.rst                  | 0
 Documentation/{ => drivers}/leds/leds-mlxcpld.rst                 | 0
 Documentation/{ => drivers}/leds/ledtrig-oneshot.rst              | 0
 Documentation/{ => drivers}/leds/ledtrig-transient.rst            | 0
 Documentation/{ => drivers}/leds/ledtrig-usbport.rst              | 0
 Documentation/{ => drivers}/leds/uleds.rst                        | 0
 Documentation/{ => drivers}/lightnvm/pblk.txt                     | 0
 Documentation/{ => drivers}/md/md-cluster.txt                     | 0
 Documentation/{ => drivers}/md/raid5-cache.txt                    | 0
 Documentation/{ => drivers}/md/raid5-ppl.txt                      | 0
 Documentation/{ => drivers}/media/.gitignore                      | 0
 Documentation/{ => drivers}/media/Makefile                        | 0
 Documentation/{ => drivers}/media/audio.h.rst.exceptions          | 0
 Documentation/{ => drivers}/media/ca.h.rst.exceptions             | 0
 Documentation/{ => drivers}/media/cec-drivers/index.rst           | 0
 Documentation/{ => drivers}/media/cec-drivers/pulse8-cec.rst      | 0
 Documentation/{ => drivers}/media/cec.h.rst.exceptions            | 0
 Documentation/{ => drivers}/media/conf.py                         | 0
 Documentation/{ => drivers}/media/conf_nitpick.py                 | 0
 Documentation/{ => drivers}/media/dmx.h.rst.exceptions            | 0
 Documentation/{ => drivers}/media/dvb-drivers/avermedia.rst       | 0
 Documentation/{ => drivers}/media/dvb-drivers/bt8xx.rst           | 0
 Documentation/{ => drivers}/media/dvb-drivers/cards.rst           | 0
 Documentation/{ => drivers}/media/dvb-drivers/ci.rst              | 0
 Documentation/{ => drivers}/media/dvb-drivers/contributors.rst    | 0
 Documentation/{ => drivers}/media/dvb-drivers/dvb-usb.rst         | 0
 Documentation/{ => drivers}/media/dvb-drivers/faq.rst             | 0
 Documentation/{ => drivers}/media/dvb-drivers/frontends.rst       | 0
 Documentation/{ => drivers}/media/dvb-drivers/index.rst           | 0
 Documentation/{ => drivers}/media/dvb-drivers/intro.rst           | 0
 Documentation/{ => drivers}/media/dvb-drivers/lmedm04.rst         | 0
 Documentation/{ => drivers}/media/dvb-drivers/opera-firmware.rst  | 0
 Documentation/{ => drivers}/media/dvb-drivers/technisat.rst       | 0
 Documentation/{ => drivers}/media/dvb-drivers/ttusb-dec.rst       | 0
 Documentation/{ => drivers}/media/dvb-drivers/udev.rst            | 0
 Documentation/{ => drivers}/media/frontend.h.rst.exceptions       | 0
 Documentation/{ => drivers}/media/index.rst                       | 0
 Documentation/{ => drivers}/media/intro.rst                       | 0
 Documentation/{ => drivers}/media/kapi/cec-core.rst               | 0
 Documentation/{ => drivers}/media/kapi/csi2.rst                   | 0
 Documentation/{ => drivers}/media/kapi/dtv-ca.rst                 | 0
 Documentation/{ => drivers}/media/kapi/dtv-common.rst             | 0
 Documentation/{ => drivers}/media/kapi/dtv-core.rst               | 0
 Documentation/{ => drivers}/media/kapi/dtv-demux.rst              | 0
 Documentation/{ => drivers}/media/kapi/dtv-frontend.rst           | 0
 Documentation/{ => drivers}/media/kapi/dtv-net.rst                | 0
 Documentation/{ => drivers}/media/kapi/mc-core.rst                | 0
 Documentation/{ => drivers}/media/kapi/rc-core.rst                | 0
 Documentation/{ => drivers}/media/kapi/v4l2-async.rst             | 0
 Documentation/{ => drivers}/media/kapi/v4l2-clocks.rst            | 0
 Documentation/{ => drivers}/media/kapi/v4l2-common.rst            | 0
 Documentation/{ => drivers}/media/kapi/v4l2-controls.rst          | 0
 Documentation/{ => drivers}/media/kapi/v4l2-core.rst              | 0
 Documentation/{ => drivers}/media/kapi/v4l2-dev.rst               | 0
 Documentation/{ => drivers}/media/kapi/v4l2-device.rst            | 0
 Documentation/{ => drivers}/media/kapi/v4l2-dv-timings.rst        | 0
 Documentation/{ => drivers}/media/kapi/v4l2-event.rst             | 0
 Documentation/{ => drivers}/media/kapi/v4l2-fh.rst                | 0
 Documentation/{ => drivers}/media/kapi/v4l2-flash-led-class.rst   | 0
 Documentation/{ => drivers}/media/kapi/v4l2-fwnode.rst            | 0
 Documentation/{ => drivers}/media/kapi/v4l2-intro.rst             | 0
 Documentation/{ => drivers}/media/kapi/v4l2-mc.rst                | 0
 Documentation/{ => drivers}/media/kapi/v4l2-mediabus.rst          | 0
 Documentation/{ => drivers}/media/kapi/v4l2-mem2mem.rst           | 0
 Documentation/{ => drivers}/media/kapi/v4l2-rect.rst              | 0
 Documentation/{ => drivers}/media/kapi/v4l2-subdev.rst            | 0
 Documentation/{ => drivers}/media/kapi/v4l2-tuner.rst             | 0
 Documentation/{ => drivers}/media/kapi/v4l2-tveeprom.rst          | 0
 Documentation/{ => drivers}/media/kapi/v4l2-videobuf.rst          | 0
 Documentation/{ => drivers}/media/kapi/v4l2-videobuf2.rst         | 0
 Documentation/{ => drivers}/media/lirc.h.rst.exceptions           | 0
 Documentation/{ => drivers}/media/media.h.rst.exceptions          | 0
 Documentation/{ => drivers}/media/media_kapi.rst                  | 0
 Documentation/{ => drivers}/media/media_uapi.rst                  | 0
 Documentation/{ => drivers}/media/net.h.rst.exceptions            | 0
 Documentation/{ => drivers}/media/typical_media_device.svg        | 0
 Documentation/{ => drivers}/media/uapi/cec/cec-api.rst            | 0
 Documentation/{ => drivers}/media/uapi/cec/cec-func-close.rst     | 0
 Documentation/{ => drivers}/media/uapi/cec/cec-func-ioctl.rst     | 0
 Documentation/{ => drivers}/media/uapi/cec/cec-func-open.rst      | 0
 Documentation/{ => drivers}/media/uapi/cec/cec-func-poll.rst      | 0
 Documentation/{ => drivers}/media/uapi/cec/cec-funcs.rst          | 0
 Documentation/{ => drivers}/media/uapi/cec/cec-header.rst         | 0
 Documentation/{ => drivers}/media/uapi/cec/cec-intro.rst          | 0
 .../{ => drivers}/media/uapi/cec/cec-ioc-adap-g-caps.rst          | 0
 .../{ => drivers}/media/uapi/cec/cec-ioc-adap-g-log-addrs.rst     | 0
 .../{ => drivers}/media/uapi/cec/cec-ioc-adap-g-phys-addr.rst     | 0
 Documentation/{ => drivers}/media/uapi/cec/cec-ioc-dqevent.rst    | 0
 Documentation/{ => drivers}/media/uapi/cec/cec-ioc-g-mode.rst     | 0
 Documentation/{ => drivers}/media/uapi/cec/cec-ioc-receive.rst    | 0
 Documentation/{ => drivers}/media/uapi/cec/cec-pin-error-inj.rst  | 0
 .../media/uapi/dvb/audio-bilingual-channel-select.rst             | 0
 .../{ => drivers}/media/uapi/dvb/audio-channel-select.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/audio-clear-buffer.rst | 0
 Documentation/{ => drivers}/media/uapi/dvb/audio-continue.rst     | 0
 Documentation/{ => drivers}/media/uapi/dvb/audio-fclose.rst       | 0
 Documentation/{ => drivers}/media/uapi/dvb/audio-fopen.rst        | 0
 Documentation/{ => drivers}/media/uapi/dvb/audio-fwrite.rst       | 0
 .../{ => drivers}/media/uapi/dvb/audio-get-capabilities.rst       | 0
 Documentation/{ => drivers}/media/uapi/dvb/audio-get-status.rst   | 0
 Documentation/{ => drivers}/media/uapi/dvb/audio-pause.rst        | 0
 Documentation/{ => drivers}/media/uapi/dvb/audio-play.rst         | 0
 .../{ => drivers}/media/uapi/dvb/audio-select-source.rst          | 0
 Documentation/{ => drivers}/media/uapi/dvb/audio-set-av-sync.rst  | 0
 .../{ => drivers}/media/uapi/dvb/audio-set-bypass-mode.rst        | 0
 Documentation/{ => drivers}/media/uapi/dvb/audio-set-id.rst       | 0
 Documentation/{ => drivers}/media/uapi/dvb/audio-set-mixer.rst    | 0
 Documentation/{ => drivers}/media/uapi/dvb/audio-set-mute.rst     | 0
 .../{ => drivers}/media/uapi/dvb/audio-set-streamtype.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/audio-stop.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/audio.rst              | 0
 Documentation/{ => drivers}/media/uapi/dvb/audio_data_types.rst   | 0
 .../{ => drivers}/media/uapi/dvb/audio_function_calls.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/ca-fclose.rst          | 0
 Documentation/{ => drivers}/media/uapi/dvb/ca-fopen.rst           | 0
 Documentation/{ => drivers}/media/uapi/dvb/ca-get-cap.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/ca-get-descr-info.rst  | 0
 Documentation/{ => drivers}/media/uapi/dvb/ca-get-msg.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/ca-get-slot-info.rst   | 0
 Documentation/{ => drivers}/media/uapi/dvb/ca-reset.rst           | 0
 Documentation/{ => drivers}/media/uapi/dvb/ca-send-msg.rst        | 0
 Documentation/{ => drivers}/media/uapi/dvb/ca-set-descr.rst       | 0
 Documentation/{ => drivers}/media/uapi/dvb/ca.rst                 | 0
 Documentation/{ => drivers}/media/uapi/dvb/ca_data_types.rst      | 0
 Documentation/{ => drivers}/media/uapi/dvb/ca_function_calls.rst  | 0
 Documentation/{ => drivers}/media/uapi/dvb/demux.rst              | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-add-pid.rst        | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-expbuf.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-fclose.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-fopen.rst          | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-fread.rst          | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-fwrite.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-get-pes-pids.rst   | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-get-stc.rst        | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-mmap.rst           | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-munmap.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-qbuf.rst           | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-querybuf.rst       | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-remove-pid.rst     | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-reqbufs.rst        | 0
 .../{ => drivers}/media/uapi/dvb/dmx-set-buffer-size.rst          | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-set-filter.rst     | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-set-pes-filter.rst | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-start.rst          | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx-stop.rst           | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx_fcalls.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/dmx_types.rst          | 0
 Documentation/{ => drivers}/media/uapi/dvb/dvb-fe-read-status.rst | 0
 Documentation/{ => drivers}/media/uapi/dvb/dvb-frontend-event.rst | 0
 .../{ => drivers}/media/uapi/dvb/dvb-frontend-parameters.rst      | 0
 Documentation/{ => drivers}/media/uapi/dvb/dvbapi.rst             | 0
 Documentation/{ => drivers}/media/uapi/dvb/dvbproperty.rst        | 0
 Documentation/{ => drivers}/media/uapi/dvb/dvbstb.svg             | 0
 Documentation/{ => drivers}/media/uapi/dvb/examples.rst           | 0
 Documentation/{ => drivers}/media/uapi/dvb/fe-bandwidth-t.rst     | 0
 .../{ => drivers}/media/uapi/dvb/fe-diseqc-recv-slave-reply.rst   | 0
 .../{ => drivers}/media/uapi/dvb/fe-diseqc-reset-overload.rst     | 0
 .../{ => drivers}/media/uapi/dvb/fe-diseqc-send-burst.rst         | 0
 .../{ => drivers}/media/uapi/dvb/fe-diseqc-send-master-cmd.rst    | 0
 .../media/uapi/dvb/fe-dishnetwork-send-legacy-cmd.rst             | 0
 .../{ => drivers}/media/uapi/dvb/fe-enable-high-lnb-voltage.rst   | 0
 Documentation/{ => drivers}/media/uapi/dvb/fe-get-event.rst       | 0
 Documentation/{ => drivers}/media/uapi/dvb/fe-get-frontend.rst    | 0
 Documentation/{ => drivers}/media/uapi/dvb/fe-get-info.rst        | 0
 Documentation/{ => drivers}/media/uapi/dvb/fe-get-property.rst    | 0
 Documentation/{ => drivers}/media/uapi/dvb/fe-read-ber.rst        | 0
 .../{ => drivers}/media/uapi/dvb/fe-read-signal-strength.rst      | 0
 Documentation/{ => drivers}/media/uapi/dvb/fe-read-snr.rst        | 0
 Documentation/{ => drivers}/media/uapi/dvb/fe-read-status.rst     | 0
 .../{ => drivers}/media/uapi/dvb/fe-read-uncorrected-blocks.rst   | 0
 .../{ => drivers}/media/uapi/dvb/fe-set-frontend-tune-mode.rst    | 0
 Documentation/{ => drivers}/media/uapi/dvb/fe-set-frontend.rst    | 0
 Documentation/{ => drivers}/media/uapi/dvb/fe-set-tone.rst        | 0
 Documentation/{ => drivers}/media/uapi/dvb/fe-set-voltage.rst     | 0
 Documentation/{ => drivers}/media/uapi/dvb/fe-type-t.rst          | 0
 .../{ => drivers}/media/uapi/dvb/fe_property_parameters.rst       | 0
 Documentation/{ => drivers}/media/uapi/dvb/frontend-header.rst    | 0
 .../media/uapi/dvb/frontend-property-cable-systems.rst            | 0
 .../media/uapi/dvb/frontend-property-satellite-systems.rst        | 0
 .../media/uapi/dvb/frontend-property-terrestrial-systems.rst      | 0
 .../{ => drivers}/media/uapi/dvb/frontend-stat-properties.rst     | 0
 Documentation/{ => drivers}/media/uapi/dvb/frontend.rst           | 0
 Documentation/{ => drivers}/media/uapi/dvb/frontend_f_close.rst   | 0
 Documentation/{ => drivers}/media/uapi/dvb/frontend_f_open.rst    | 0
 Documentation/{ => drivers}/media/uapi/dvb/frontend_fcalls.rst    | 0
 .../{ => drivers}/media/uapi/dvb/frontend_legacy_api.rst          | 0
 .../{ => drivers}/media/uapi/dvb/frontend_legacy_dvbv3_api.rst    | 0
 Documentation/{ => drivers}/media/uapi/dvb/headers.rst            | 0
 Documentation/{ => drivers}/media/uapi/dvb/intro.rst              | 0
 Documentation/{ => drivers}/media/uapi/dvb/legacy_dvb_apis.rst    | 0
 Documentation/{ => drivers}/media/uapi/dvb/net-add-if.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/net-get-if.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/net-remove-if.rst      | 0
 Documentation/{ => drivers}/media/uapi/dvb/net-types.rst          | 0
 Documentation/{ => drivers}/media/uapi/dvb/net.rst                | 0
 .../{ => drivers}/media/uapi/dvb/query-dvb-frontend-info.rst      | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-clear-buffer.rst | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-command.rst      | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-continue.rst     | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-fast-forward.rst | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-fclose.rst       | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-fopen.rst        | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-freeze.rst       | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-fwrite.rst       | 0
 .../{ => drivers}/media/uapi/dvb/video-get-capabilities.rst       | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-get-event.rst    | 0
 .../{ => drivers}/media/uapi/dvb/video-get-frame-count.rst        | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-get-pts.rst      | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-get-size.rst     | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-get-status.rst   | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-play.rst         | 0
 .../{ => drivers}/media/uapi/dvb/video-select-source.rst          | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-set-blank.rst    | 0
 .../{ => drivers}/media/uapi/dvb/video-set-display-format.rst     | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-set-format.rst   | 0
 .../{ => drivers}/media/uapi/dvb/video-set-streamtype.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-slowmotion.rst   | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-stillpicture.rst | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-stop.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/video-try-command.rst  | 0
 Documentation/{ => drivers}/media/uapi/dvb/video.rst              | 0
 .../{ => drivers}/media/uapi/dvb/video_function_calls.rst         | 0
 Documentation/{ => drivers}/media/uapi/dvb/video_types.rst        | 0
 Documentation/{ => drivers}/media/uapi/fdl-appendix.rst           | 0
 Documentation/{ => drivers}/media/uapi/gen-errors.rst             | 0
 .../{ => drivers}/media/uapi/mediactl/media-controller-intro.rst  | 0
 .../{ => drivers}/media/uapi/mediactl/media-controller-model.rst  | 0
 .../{ => drivers}/media/uapi/mediactl/media-controller.rst        | 0
 .../{ => drivers}/media/uapi/mediactl/media-func-close.rst        | 0
 .../{ => drivers}/media/uapi/mediactl/media-func-ioctl.rst        | 0
 .../{ => drivers}/media/uapi/mediactl/media-func-open.rst         | 0
 Documentation/{ => drivers}/media/uapi/mediactl/media-funcs.rst   | 0
 Documentation/{ => drivers}/media/uapi/mediactl/media-header.rst  | 0
 .../{ => drivers}/media/uapi/mediactl/media-ioc-device-info.rst   | 0
 .../{ => drivers}/media/uapi/mediactl/media-ioc-enum-entities.rst | 0
 .../{ => drivers}/media/uapi/mediactl/media-ioc-enum-links.rst    | 0
 .../{ => drivers}/media/uapi/mediactl/media-ioc-g-topology.rst    | 0
 .../{ => drivers}/media/uapi/mediactl/media-ioc-request-alloc.rst | 0
 .../{ => drivers}/media/uapi/mediactl/media-ioc-setup-link.rst    | 0
 .../{ => drivers}/media/uapi/mediactl/media-request-ioc-queue.rst | 0
 .../media/uapi/mediactl/media-request-ioc-reinit.rst              | 0
 Documentation/{ => drivers}/media/uapi/mediactl/media-types.rst   | 0
 Documentation/{ => drivers}/media/uapi/mediactl/request-api.rst   | 0
 .../{ => drivers}/media/uapi/mediactl/request-func-close.rst      | 0
 .../{ => drivers}/media/uapi/mediactl/request-func-ioctl.rst      | 0
 .../{ => drivers}/media/uapi/mediactl/request-func-poll.rst       | 0
 Documentation/{ => drivers}/media/uapi/rc/keytable.c.rst          | 0
 Documentation/{ => drivers}/media/uapi/rc/lirc-dev-intro.rst      | 0
 Documentation/{ => drivers}/media/uapi/rc/lirc-dev.rst            | 0
 Documentation/{ => drivers}/media/uapi/rc/lirc-func.rst           | 0
 Documentation/{ => drivers}/media/uapi/rc/lirc-get-features.rst   | 0
 Documentation/{ => drivers}/media/uapi/rc/lirc-get-rec-mode.rst   | 0
 .../{ => drivers}/media/uapi/rc/lirc-get-rec-resolution.rst       | 0
 Documentation/{ => drivers}/media/uapi/rc/lirc-get-send-mode.rst  | 0
 Documentation/{ => drivers}/media/uapi/rc/lirc-get-timeout.rst    | 0
 Documentation/{ => drivers}/media/uapi/rc/lirc-header.rst         | 0
 Documentation/{ => drivers}/media/uapi/rc/lirc-read.rst           | 0
 .../{ => drivers}/media/uapi/rc/lirc-set-measure-carrier-mode.rst | 0
 .../{ => drivers}/media/uapi/rc/lirc-set-rec-carrier-range.rst    | 0
 .../{ => drivers}/media/uapi/rc/lirc-set-rec-carrier.rst          | 0
 .../{ => drivers}/media/uapi/rc/lirc-set-rec-timeout-reports.rst  | 0
 .../{ => drivers}/media/uapi/rc/lirc-set-rec-timeout.rst          | 0
 .../{ => drivers}/media/uapi/rc/lirc-set-send-carrier.rst         | 0
 .../{ => drivers}/media/uapi/rc/lirc-set-send-duty-cycle.rst      | 0
 .../{ => drivers}/media/uapi/rc/lirc-set-transmitter-mask.rst     | 0
 .../{ => drivers}/media/uapi/rc/lirc-set-wideband-receiver.rst    | 0
 Documentation/{ => drivers}/media/uapi/rc/lirc-write.rst          | 0
 Documentation/{ => drivers}/media/uapi/rc/rc-intro.rst            | 0
 Documentation/{ => drivers}/media/uapi/rc/rc-sysfs-nodes.rst      | 0
 Documentation/{ => drivers}/media/uapi/rc/rc-table-change.rst     | 0
 Documentation/{ => drivers}/media/uapi/rc/rc-tables.rst           | 0
 Documentation/{ => drivers}/media/uapi/rc/remote_controllers.rst  | 0
 Documentation/{ => drivers}/media/uapi/v4l/app-pri.rst            | 0
 Documentation/{ => drivers}/media/uapi/v4l/async.rst              | 0
 Documentation/{ => drivers}/media/uapi/v4l/audio.rst              | 0
 Documentation/{ => drivers}/media/uapi/v4l/bayer.svg              | 0
 Documentation/{ => drivers}/media/uapi/v4l/biblio.rst             | 0
 Documentation/{ => drivers}/media/uapi/v4l/buffer.rst             | 0
 Documentation/{ => drivers}/media/uapi/v4l/capture-example.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/capture.c.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/colorspaces-defs.rst   | 0
 .../{ => drivers}/media/uapi/v4l/colorspaces-details.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/colorspaces.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/common-defs.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/common.rst             | 0
 Documentation/{ => drivers}/media/uapi/v4l/compat.rst             | 0
 Documentation/{ => drivers}/media/uapi/v4l/constraints.svg        | 0
 Documentation/{ => drivers}/media/uapi/v4l/control.rst            | 0
 Documentation/{ => drivers}/media/uapi/v4l/crop.rst               | 0
 Documentation/{ => drivers}/media/uapi/v4l/crop.svg               | 0
 Documentation/{ => drivers}/media/uapi/v4l/depth-formats.rst      | 0
 Documentation/{ => drivers}/media/uapi/v4l/dev-capture.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/dev-event.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/dev-mem2mem.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/dev-meta.rst           | 0
 Documentation/{ => drivers}/media/uapi/v4l/dev-osd.rst            | 0
 Documentation/{ => drivers}/media/uapi/v4l/dev-output.rst         | 0
 Documentation/{ => drivers}/media/uapi/v4l/dev-overlay.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/dev-radio.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/dev-raw-vbi.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/dev-rds.rst            | 0
 Documentation/{ => drivers}/media/uapi/v4l/dev-sdr.rst            | 0
 Documentation/{ => drivers}/media/uapi/v4l/dev-sliced-vbi.rst     | 0
 Documentation/{ => drivers}/media/uapi/v4l/dev-subdev.rst         | 0
 Documentation/{ => drivers}/media/uapi/v4l/dev-touch.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/devices.rst            | 0
 Documentation/{ => drivers}/media/uapi/v4l/diff-v4l.rst           | 0
 Documentation/{ => drivers}/media/uapi/v4l/dmabuf.rst             | 0
 Documentation/{ => drivers}/media/uapi/v4l/dv-timings.rst         | 0
 Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-camera.rst   | 0
 Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-codec.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-detect.rst   | 0
 Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-dv.rst       | 0
 Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-flash.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-fm-rx.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-fm-tx.rst    | 0
 .../{ => drivers}/media/uapi/v4l/ext-ctrls-image-process.rst      | 0
 .../{ => drivers}/media/uapi/v4l/ext-ctrls-image-source.rst       | 0
 Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-jpeg.rst     | 0
 Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-rf-tuner.rst | 0
 Documentation/{ => drivers}/media/uapi/v4l/extended-controls.rst  | 0
 Documentation/{ => drivers}/media/uapi/v4l/field-order.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/fieldseq_bt.svg        | 0
 Documentation/{ => drivers}/media/uapi/v4l/fieldseq_tb.svg        | 0
 Documentation/{ => drivers}/media/uapi/v4l/format.rst             | 0
 Documentation/{ => drivers}/media/uapi/v4l/func-close.rst         | 0
 Documentation/{ => drivers}/media/uapi/v4l/func-ioctl.rst         | 0
 Documentation/{ => drivers}/media/uapi/v4l/func-mmap.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/func-munmap.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/func-open.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/func-poll.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/func-read.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/func-select.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/func-write.rst         | 0
 Documentation/{ => drivers}/media/uapi/v4l/hist-v4l2.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/hsv-formats.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/io.rst                 | 0
 .../{ => drivers}/media/uapi/v4l/libv4l-introduction.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/libv4l.rst             | 0
 Documentation/{ => drivers}/media/uapi/v4l/meta-formats.rst       | 0
 Documentation/{ => drivers}/media/uapi/v4l/mmap.rst               | 0
 Documentation/{ => drivers}/media/uapi/v4l/nv12mt.svg             | 0
 Documentation/{ => drivers}/media/uapi/v4l/nv12mt_example.svg     | 0
 Documentation/{ => drivers}/media/uapi/v4l/open.rst               | 0
 Documentation/{ => drivers}/media/uapi/v4l/pipeline.dot           | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-cnf4.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-compressed.rst  | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-grey.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-indexed.rst     | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-intro.rst       | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-inzi.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-m420.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-meta-d4xx.rst   | 0
 .../{ => drivers}/media/uapi/v4l/pixfmt-meta-intel-ipu3.rst       | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-meta-uvc.rst    | 0
 .../{ => drivers}/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst         | 0
 .../{ => drivers}/media/uapi/v4l/pixfmt-meta-vsp1-hgt.rst         | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-nv12.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-nv12m.rst       | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-nv12mt.rst      | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-nv16.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-nv16m.rst       | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-nv24.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-packed-hsv.rst  | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-packed-rgb.rst  | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-packed-yuv.rst  | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-reserved.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-rgb.rst         | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-cs08.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-cs14le.rst  | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-cu08.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-cu16le.rst  | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-pcu16be.rst | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-pcu18be.rst | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-pcu20be.rst | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-ru12le.rst  | 0
 .../{ => drivers}/media/uapi/v4l/pixfmt-srggb10-ipu3.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb10.rst     | 0
 .../{ => drivers}/media/uapi/v4l/pixfmt-srggb10alaw8.rst          | 0
 .../{ => drivers}/media/uapi/v4l/pixfmt-srggb10dpcm8.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb10p.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb12.rst     | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb12p.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb14p.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb16.rst     | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb8.rst      | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-tch-td08.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-tch-td16.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-tch-tu08.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-tch-tu16.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-uv8.rst         | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-uyvy.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-v4l2-mplane.rst | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-v4l2.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-vyuy.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y10.rst         | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y10b.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y10p.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y12.rst         | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y12i.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y16-be.rst      | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y16.rst         | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y41p.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y8i.rst         | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuv410.rst      | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuv411p.rst     | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuv420.rst      | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuv420m.rst     | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuv422m.rst     | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuv422p.rst     | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuv444m.rst     | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuyv.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yvyu.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt-z16.rst         | 0
 Documentation/{ => drivers}/media/uapi/v4l/pixfmt.rst             | 0
 Documentation/{ => drivers}/media/uapi/v4l/planar-apis.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/querycap.rst           | 0
 Documentation/{ => drivers}/media/uapi/v4l/rw.rst                 | 0
 Documentation/{ => drivers}/media/uapi/v4l/sdr-formats.rst        | 0
 .../{ => drivers}/media/uapi/v4l/selection-api-configuration.rst  | 0
 .../{ => drivers}/media/uapi/v4l/selection-api-examples.rst       | 0
 .../{ => drivers}/media/uapi/v4l/selection-api-intro.rst          | 0
 .../{ => drivers}/media/uapi/v4l/selection-api-targets.rst        | 0
 .../{ => drivers}/media/uapi/v4l/selection-api-vs-crop-api.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/selection-api.rst      | 0
 Documentation/{ => drivers}/media/uapi/v4l/selection.svg          | 0
 Documentation/{ => drivers}/media/uapi/v4l/selections-common.rst  | 0
 Documentation/{ => drivers}/media/uapi/v4l/standard.rst           | 0
 Documentation/{ => drivers}/media/uapi/v4l/streaming-par.rst      | 0
 Documentation/{ => drivers}/media/uapi/v4l/subdev-formats.rst     | 0
 .../{ => drivers}/media/uapi/v4l/subdev-image-processing-crop.svg | 0
 .../{ => drivers}/media/uapi/v4l/subdev-image-processing-full.svg | 0
 .../uapi/v4l/subdev-image-processing-scaling-multi-source.svg     | 0
 Documentation/{ => drivers}/media/uapi/v4l/tch-formats.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/tuner.rst              | 0
 Documentation/{ => drivers}/media/uapi/v4l/user-func.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/userp.rst              | 0
 .../{ => drivers}/media/uapi/v4l/v4l2-selection-flags.rst         | 0
 .../{ => drivers}/media/uapi/v4l/v4l2-selection-targets.rst       | 0
 Documentation/{ => drivers}/media/uapi/v4l/v4l2.rst               | 0
 Documentation/{ => drivers}/media/uapi/v4l/v4l2grab-example.rst   | 0
 Documentation/{ => drivers}/media/uapi/v4l/v4l2grab.c.rst         | 0
 Documentation/{ => drivers}/media/uapi/v4l/vbi_525.svg            | 0
 Documentation/{ => drivers}/media/uapi/v4l/vbi_625.svg            | 0
 Documentation/{ => drivers}/media/uapi/v4l/vbi_hsync.svg          | 0
 Documentation/{ => drivers}/media/uapi/v4l/video.rst              | 0
 Documentation/{ => drivers}/media/uapi/v4l/videodev.rst           | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-create-bufs.rst | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-cropcap.rst     | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-dbg-g-chip-info.rst       | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-dbg-g-register.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-decoder-cmd.rst | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-dqevent.rst     | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-dv-timings-cap.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-encoder-cmd.rst | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-enum-dv-timings.rst       | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-enum-fmt.rst    | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-enum-frameintervals.rst   | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-enum-framesizes.rst       | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-enum-freq-bands.rst       | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-enumaudio.rst   | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-enumaudioout.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-enuminput.rst   | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-enumoutput.rst  | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-enumstd.rst     | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-expbuf.rst      | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-audio.rst     | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-audioout.rst  | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-crop.rst      | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-ctrl.rst      | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-g-dv-timings.rst          | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-edid.rst      | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-enc-index.rst | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-ext-ctrls.rst | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-fbuf.rst      | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-fmt.rst       | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-frequency.rst | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-input.rst     | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-jpegcomp.rst  | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-modulator.rst | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-output.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-parm.rst      | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-priority.rst  | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-selection.rst | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-g-sliced-vbi-cap.rst      | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-std.rst       | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-tuner.rst     | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-log-status.rst  | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-overlay.rst     | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-prepare-buf.rst | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-qbuf.rst        | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-query-dv-timings.rst      | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-querybuf.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-querycap.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-queryctrl.rst   | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-querystd.rst    | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-reqbufs.rst     | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-s-hw-freq-seek.rst        | 0
 Documentation/{ => drivers}/media/uapi/v4l/vidioc-streamon.rst    | 0
 .../media/uapi/v4l/vidioc-subdev-enum-frame-interval.rst          | 0
 .../media/uapi/v4l/vidioc-subdev-enum-frame-size.rst              | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-subdev-enum-mbus-code.rst | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-subdev-g-crop.rst         | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-subdev-g-fmt.rst          | 0
 .../media/uapi/v4l/vidioc-subdev-g-frame-interval.rst             | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-subdev-g-selection.rst    | 0
 .../{ => drivers}/media/uapi/v4l/vidioc-subscribe-event.rst       | 0
 Documentation/{ => drivers}/media/uapi/v4l/yuv-formats.rst        | 0
 Documentation/{ => drivers}/media/v4l-drivers/au0828-cardlist.rst | 0
 Documentation/{ => drivers}/media/v4l-drivers/bttv-cardlist.rst   | 0
 Documentation/{ => drivers}/media/v4l-drivers/bttv.rst            | 0
 Documentation/{ => drivers}/media/v4l-drivers/cafe_ccic.rst       | 0
 Documentation/{ => drivers}/media/v4l-drivers/cardlist.rst        | 0
 Documentation/{ => drivers}/media/v4l-drivers/cpia2.rst           | 0
 Documentation/{ => drivers}/media/v4l-drivers/cx18.rst            | 0
 Documentation/{ => drivers}/media/v4l-drivers/cx2341x.rst         | 0
 .../{ => drivers}/media/v4l-drivers/cx23885-cardlist.rst          | 0
 Documentation/{ => drivers}/media/v4l-drivers/cx88-cardlist.rst   | 0
 Documentation/{ => drivers}/media/v4l-drivers/cx88.rst            | 0
 Documentation/{ => drivers}/media/v4l-drivers/davinci-vpbe.rst    | 0
 Documentation/{ => drivers}/media/v4l-drivers/em28xx-cardlist.rst | 0
 Documentation/{ => drivers}/media/v4l-drivers/fimc.rst            | 0
 Documentation/{ => drivers}/media/v4l-drivers/fourcc.rst          | 0
 Documentation/{ => drivers}/media/v4l-drivers/gspca-cardlist.rst  | 0
 Documentation/{ => drivers}/media/v4l-drivers/imx.rst             | 0
 Documentation/{ => drivers}/media/v4l-drivers/imx7.rst            | 0
 Documentation/{ => drivers}/media/v4l-drivers/index.rst           | 0
 Documentation/{ => drivers}/media/v4l-drivers/ipu3.rst            | 0
 Documentation/{ => drivers}/media/v4l-drivers/ivtv-cardlist.rst   | 0
 Documentation/{ => drivers}/media/v4l-drivers/ivtv.rst            | 0
 Documentation/{ => drivers}/media/v4l-drivers/max2175.rst         | 0
 Documentation/{ => drivers}/media/v4l-drivers/meye.rst            | 0
 Documentation/{ => drivers}/media/v4l-drivers/omap3isp.rst        | 0
 Documentation/{ => drivers}/media/v4l-drivers/omap4_camera.rst    | 0
 Documentation/{ => drivers}/media/v4l-drivers/philips.rst         | 0
 Documentation/{ => drivers}/media/v4l-drivers/pvrusb2.rst         | 0
 Documentation/{ => drivers}/media/v4l-drivers/pxa_camera.rst      | 0
 Documentation/{ => drivers}/media/v4l-drivers/qcom_camss.rst      | 0
 .../{ => drivers}/media/v4l-drivers/qcom_camss_8x96_graph.dot     | 0
 .../{ => drivers}/media/v4l-drivers/qcom_camss_graph.dot          | 0
 Documentation/{ => drivers}/media/v4l-drivers/radiotrack.rst      | 0
 Documentation/{ => drivers}/media/v4l-drivers/rcar-fdp1.rst       | 0
 .../{ => drivers}/media/v4l-drivers/saa7134-cardlist.rst          | 0
 Documentation/{ => drivers}/media/v4l-drivers/saa7134.rst         | 0
 .../{ => drivers}/media/v4l-drivers/saa7164-cardlist.rst          | 0
 .../{ => drivers}/media/v4l-drivers/sh_mobile_ceu_camera.rst      | 0
 Documentation/{ => drivers}/media/v4l-drivers/si470x.rst          | 0
 Documentation/{ => drivers}/media/v4l-drivers/si4713.rst          | 0
 Documentation/{ => drivers}/media/v4l-drivers/si476x.rst          | 0
 Documentation/{ => drivers}/media/v4l-drivers/soc-camera.rst      | 0
 Documentation/{ => drivers}/media/v4l-drivers/tm6000-cardlist.rst | 0
 Documentation/{ => drivers}/media/v4l-drivers/tuner-cardlist.rst  | 0
 Documentation/{ => drivers}/media/v4l-drivers/tuners.rst          | 0
 .../{ => drivers}/media/v4l-drivers/usbvision-cardlist.rst        | 0
 Documentation/{ => drivers}/media/v4l-drivers/uvcvideo.rst        | 0
 Documentation/{ => drivers}/media/v4l-drivers/v4l-with-ir.rst     | 0
 Documentation/{ => drivers}/media/v4l-drivers/vimc.dot            | 0
 Documentation/{ => drivers}/media/v4l-drivers/vimc.rst            | 0
 Documentation/{ => drivers}/media/v4l-drivers/vivid.rst           | 0
 Documentation/{ => drivers}/media/v4l-drivers/zr364xx.rst         | 0
 Documentation/{ => drivers}/media/video.h.rst.exceptions          | 0
 Documentation/{ => drivers}/media/videodev2.h.rst.exceptions      | 0
 Documentation/{memory-devices => drivers/memory}/ti-emif.txt      | 0
 Documentation/{misc-devices => drivers/misc}/ad525x_dpot.txt      | 0
 Documentation/{misc-devices => drivers/misc}/apds990x.txt         | 0
 Documentation/{misc-devices => drivers/misc}/bh1770glc.txt        | 0
 Documentation/{misc-devices => drivers/misc}/c2port.txt           | 0
 Documentation/{misc-devices => drivers/misc}/eeprom               | 0
 Documentation/{misc-devices => drivers/misc}/ibmvmc.rst           | 0
 Documentation/{misc-devices => drivers/misc}/ics932s401           | 0
 Documentation/{misc-devices => drivers/misc}/index.rst            | 0
 Documentation/{misc-devices => drivers/misc}/isl29003             | 0
 Documentation/{misc-devices => drivers/misc}/lis3lv02d            | 0
 Documentation/{misc-devices => drivers/misc}/max6875              | 0
 .../{misc-devices => drivers/misc}/mei/mei-client-bus.txt         | 0
 Documentation/{misc-devices => drivers/misc}/mei/mei.txt          | 0
 .../{misc-devices => drivers/misc}/pci-endpoint-test.txt          | 0
 .../{misc-devices => drivers/misc}/spear-pcie-gadget.txt          | 0
 Documentation/{ => drivers}/mmc/mmc-async-req.txt                 | 0
 Documentation/{ => drivers}/mmc/mmc-dev-attrs.txt                 | 0
 Documentation/{ => drivers}/mmc/mmc-dev-parts.txt                 | 0
 Documentation/{ => drivers}/mmc/mmc-tools.txt                     | 0
 Documentation/{ => drivers}/mtd/intel-spi.txt                     | 0
 Documentation/{ => drivers}/mtd/nand_ecc.txt                      | 0
 Documentation/{ => drivers}/mtd/spi-nor.txt                       | 0
 Documentation/{ => drivers}/nfc/nfc-hci.txt                       | 0
 Documentation/{ => drivers}/nfc/nfc-pn544.txt                     | 0
 Documentation/{ => drivers}/nvdimm/btt.txt                        | 0
 Documentation/{ => drivers}/nvdimm/nvdimm.txt                     | 0
 Documentation/{ => drivers}/nvdimm/security.txt                   | 0
 Documentation/{ => drivers}/nvmem/nvmem.txt                       | 0
 Documentation/{ => drivers}/pcmcia/devicetable.rst                | 0
 Documentation/{ => drivers}/pcmcia/driver-changes.rst             | 0
 Documentation/{ => drivers}/pcmcia/driver.rst                     | 0
 Documentation/{ => drivers}/pcmcia/index.rst                      | 0
 Documentation/{ => drivers}/pcmcia/locking.rst                    | 0
 Documentation/{ => drivers}/rapidio/mport_cdev.txt                | 0
 Documentation/{ => drivers}/rapidio/rapidio.txt                   | 0
 Documentation/{ => drivers}/rapidio/rio_cm.txt                    | 0
 Documentation/{ => drivers}/rapidio/sysfs.txt                     | 0
 Documentation/{ => drivers}/rapidio/tsi721.txt                    | 0
 Documentation/{ => drivers}/scsi/53c700.txt                       | 0
 Documentation/{ => drivers}/scsi/BusLogic.txt                     | 0
 Documentation/{ => drivers}/scsi/ChangeLog.arcmsr                 | 0
 Documentation/{ => drivers}/scsi/ChangeLog.ips                    | 0
 Documentation/{ => drivers}/scsi/ChangeLog.lpfc                   | 0
 Documentation/{ => drivers}/scsi/ChangeLog.megaraid               | 0
 Documentation/{ => drivers}/scsi/ChangeLog.megaraid_sas           | 0
 Documentation/{ => drivers}/scsi/ChangeLog.ncr53c8xx              | 0
 Documentation/{ => drivers}/scsi/ChangeLog.sym53c8xx              | 0
 Documentation/{ => drivers}/scsi/ChangeLog.sym53c8xx_2            | 0
 Documentation/{ => drivers}/scsi/FlashPoint.txt                   | 0
 Documentation/{ => drivers}/scsi/LICENSE.FlashPoint               | 0
 Documentation/{ => drivers}/scsi/LICENSE.qla2xxx                  | 0
 Documentation/{ => drivers}/scsi/LICENSE.qla4xxx                  | 0
 Documentation/{ => drivers}/scsi/NinjaSCSI.txt                    | 0
 Documentation/{ => drivers}/scsi/aacraid.txt                      | 0
 Documentation/{ => drivers}/scsi/advansys.txt                     | 0
 Documentation/{ => drivers}/scsi/aha152x.txt                      | 0
 Documentation/{ => drivers}/scsi/aic79xx.txt                      | 0
 Documentation/{ => drivers}/scsi/aic7xxx.txt                      | 0
 Documentation/{ => drivers}/scsi/arcmsr_spec.txt                  | 0
 Documentation/{ => drivers}/scsi/bfa.txt                          | 0
 Documentation/{ => drivers}/scsi/bnx2fc.txt                       | 0
 Documentation/{ => drivers}/scsi/cxgb3i.txt                       | 0
 Documentation/{ => drivers}/scsi/dc395x.txt                       | 0
 Documentation/{ => drivers}/scsi/dpti.txt                         | 0
 Documentation/{ => drivers}/scsi/g_NCR5380.txt                    | 0
 Documentation/{ => drivers}/scsi/hpsa.txt                         | 0
 Documentation/{ => drivers}/scsi/hptiop.txt                       | 0
 Documentation/{ => drivers}/scsi/libsas.txt                       | 0
 Documentation/{ => drivers}/scsi/link_power_management_policy.txt | 0
 Documentation/{ => drivers}/scsi/lpfc.txt                         | 0
 Documentation/{ => drivers}/scsi/megaraid.txt                     | 0
 Documentation/{ => drivers}/scsi/ncr53c8xx.txt                    | 0
 Documentation/{ => drivers}/scsi/osst.txt                         | 0
 Documentation/{ => drivers}/scsi/ppa.txt                          | 0
 Documentation/{ => drivers}/scsi/qlogicfas.txt                    | 0
 Documentation/{ => drivers}/scsi/scsi-changer.txt                 | 0
 Documentation/{ => drivers}/scsi/scsi-generic.txt                 | 0
 Documentation/{ => drivers}/scsi/scsi-parameters.txt              | 0
 Documentation/{ => drivers}/scsi/scsi.txt                         | 0
 Documentation/{ => drivers}/scsi/scsi_eh.txt                      | 0
 Documentation/{ => drivers}/scsi/scsi_fc_transport.txt            | 0
 Documentation/{ => drivers}/scsi/scsi_mid_low_api.txt             | 0
 Documentation/{ => drivers}/scsi/scsi_transport_srp/Makefile      | 0
 .../{ => drivers}/scsi/scsi_transport_srp/rport_state_diagram.dot | 0
 Documentation/{ => drivers}/scsi/sd-parameters.txt                | 0
 Documentation/{ => drivers}/scsi/smartpqi.txt                     | 0
 Documentation/{ => drivers}/scsi/st.txt                           | 0
 Documentation/{ => drivers}/scsi/sym53c500_cs.txt                 | 0
 Documentation/{ => drivers}/scsi/sym53c8xx_2.txt                  | 0
 Documentation/{ => drivers}/scsi/tcm_qla2xxx.txt                  | 0
 Documentation/{ => drivers}/scsi/ufs.txt                          | 0
 Documentation/{ => drivers}/scsi/wd719x.txt                       | 0
 Documentation/{ => drivers}/serial/cyclades_z.rst                 | 0
 Documentation/{ => drivers}/serial/driver.rst                     | 0
 Documentation/{ => drivers}/serial/index.rst                      | 0
 Documentation/{ => drivers}/serial/moxa-smartio.rst               | 0
 Documentation/{ => drivers}/serial/n_gsm.rst                      | 0
 Documentation/{ => drivers}/serial/rocket.rst                     | 0
 Documentation/{ => drivers}/serial/serial-iso7816.rst             | 0
 Documentation/{ => drivers}/serial/serial-rs485.rst               | 0
 Documentation/{ => drivers}/serial/tty.rst                        | 0
 Documentation/{ => drivers}/sound/alsa-configuration.rst          | 0
 Documentation/{ => drivers}/sound/cards/audigy-mixer.rst          | 0
 Documentation/{ => drivers}/sound/cards/audiophile-usb.rst        | 0
 Documentation/{ => drivers}/sound/cards/bt87x.rst                 | 0
 Documentation/{ => drivers}/sound/cards/cmipci.rst                | 0
 Documentation/{ => drivers}/sound/cards/emu10k1-jack.rst          | 0
 Documentation/{ => drivers}/sound/cards/hdspm.rst                 | 0
 Documentation/{ => drivers}/sound/cards/img-spdif-in.rst          | 0
 Documentation/{ => drivers}/sound/cards/index.rst                 | 0
 Documentation/{ => drivers}/sound/cards/joystick.rst              | 0
 Documentation/{ => drivers}/sound/cards/maya44.rst                | 0
 Documentation/{ => drivers}/sound/cards/mixart.rst                | 0
 Documentation/{ => drivers}/sound/cards/multisound.sh             | 0
 Documentation/{ => drivers}/sound/cards/sb-live-mixer.rst         | 0
 Documentation/{ => drivers}/sound/cards/serial-u16550.rst         | 0
 Documentation/{ => drivers}/sound/cards/via82xx-mixer.rst         | 0
 Documentation/{ => drivers}/sound/conf.py                         | 0
 Documentation/{ => drivers}/sound/designs/channel-mapping-api.rst | 0
 Documentation/{ => drivers}/sound/designs/compress-offload.rst    | 0
 Documentation/{ => drivers}/sound/designs/control-names.rst       | 0
 Documentation/{ => drivers}/sound/designs/index.rst               | 0
 Documentation/{ => drivers}/sound/designs/jack-controls.rst       | 0
 Documentation/{ => drivers}/sound/designs/oss-emulation.rst       | 0
 Documentation/{ => drivers}/sound/designs/powersave.rst           | 0
 Documentation/{ => drivers}/sound/designs/procfile.rst            | 0
 Documentation/{ => drivers}/sound/designs/seq-oss.rst             | 0
 Documentation/{ => drivers}/sound/designs/timestamping.rst        | 0
 Documentation/{ => drivers}/sound/designs/tracepoints.rst         | 0
 Documentation/{ => drivers}/sound/hd-audio/controls.rst           | 0
 Documentation/{ => drivers}/sound/hd-audio/dp-mst.rst             | 0
 Documentation/{ => drivers}/sound/hd-audio/index.rst              | 0
 Documentation/{ => drivers}/sound/hd-audio/models.rst             | 0
 Documentation/{ => drivers}/sound/hd-audio/notes.rst              | 0
 Documentation/{ => drivers}/sound/index.rst                       | 0
 Documentation/{ => drivers}/sound/kernel-api/alsa-driver-api.rst  | 0
 Documentation/{ => drivers}/sound/kernel-api/index.rst            | 0
 .../{ => drivers}/sound/kernel-api/writing-an-alsa-driver.rst     | 0
 Documentation/{ => drivers}/sound/soc/clocking.rst                | 0
 Documentation/{ => drivers}/sound/soc/codec-to-codec.rst          | 0
 Documentation/{ => drivers}/sound/soc/codec.rst                   | 0
 Documentation/{ => drivers}/sound/soc/dai.rst                     | 0
 Documentation/{ => drivers}/sound/soc/dapm.rst                    | 0
 Documentation/{ => drivers}/sound/soc/dpcm.rst                    | 0
 Documentation/{ => drivers}/sound/soc/index.rst                   | 0
 Documentation/{ => drivers}/sound/soc/jack.rst                    | 0
 Documentation/{ => drivers}/sound/soc/machine.rst                 | 0
 Documentation/{ => drivers}/sound/soc/overview.rst                | 0
 Documentation/{ => drivers}/sound/soc/platform.rst                | 0
 Documentation/{ => drivers}/sound/soc/pops-clicks.rst             | 0
 Documentation/{ => drivers}/usb/CREDITS                           | 0
 Documentation/{ => drivers}/usb/WUSB-Design-overview.txt          | 0
 Documentation/{ => drivers}/usb/acm.txt                           | 0
 Documentation/{ => drivers}/usb/authorization.txt                 | 0
 Documentation/{ => drivers}/usb/chipidea.txt                      | 0
 Documentation/{ => drivers}/usb/dwc3.txt                          | 0
 Documentation/{ => drivers}/usb/ehci.txt                          | 0
 Documentation/{ => drivers}/usb/functionfs.txt                    | 0
 Documentation/{ => drivers}/usb/gadget-testing.txt                | 0
 Documentation/{ => drivers}/usb/gadget_configfs.txt               | 0
 Documentation/{ => drivers}/usb/gadget_hid.txt                    | 0
 Documentation/{ => drivers}/usb/gadget_multi.txt                  | 0
 Documentation/{ => drivers}/usb/gadget_printer.txt                | 0
 Documentation/{ => drivers}/usb/gadget_serial.txt                 | 0
 Documentation/{ => drivers}/usb/iuu_phoenix.txt                   | 0
 Documentation/{ => drivers}/usb/linux-cdc-acm.inf                 | 0
 Documentation/{ => drivers}/usb/linux.inf                         | 0
 Documentation/{ => drivers}/usb/mass-storage.txt                  | 0
 Documentation/{ => drivers}/usb/misc_usbsevseg.txt                | 0
 Documentation/{ => drivers}/usb/mtouchusb.txt                     | 0
 Documentation/{ => drivers}/usb/ohci.txt                          | 0
 Documentation/{ => drivers}/usb/rio.txt                           | 0
 Documentation/{ => drivers}/usb/usb-help.txt                      | 0
 Documentation/{ => drivers}/usb/usb-serial.txt                    | 0
 Documentation/{ => drivers}/usb/usbdevfs-drop-permissions.c       | 0
 Documentation/{ => drivers}/usb/usbip_protocol.txt                | 0
 Documentation/{ => drivers}/usb/usbmon.txt                        | 0
 Documentation/{ => drivers}/usb/wusb-cbaf                         | 0
 .../{ => drivers}/watchdog/convert_drivers_to_kernel_api.rst      | 0
 Documentation/{ => drivers}/watchdog/hpwdt.rst                    | 0
 Documentation/{ => drivers}/watchdog/index.rst                    | 0
 Documentation/{ => drivers}/watchdog/mlx-wdt.rst                  | 0
 Documentation/{ => drivers}/watchdog/pcwd-watchdog.rst            | 0
 Documentation/{ => drivers}/watchdog/watchdog-api.rst             | 0
 Documentation/{ => drivers}/watchdog/watchdog-kernel-api.rst      | 0
 Documentation/{ => drivers}/watchdog/watchdog-parameters.rst      | 0
 Documentation/{ => drivers}/watchdog/watchdog-pm.rst              | 0
 Documentation/{ => drivers}/watchdog/wdt.rst                      | 0
 1079 files changed, 0 insertions(+), 0 deletions(-)
 rename Documentation/{ => drivers}/PCI/MSI-HOWTO.txt (100%)
 rename Documentation/{ => drivers}/PCI/PCIEBUS-HOWTO.txt (100%)
 rename Documentation/{ => drivers}/PCI/acpi-info.txt (100%)
 rename Documentation/{ => drivers}/PCI/endpoint/function/binding/pci-test.txt (100%)
 rename Documentation/{ => drivers}/PCI/endpoint/pci-endpoint-cfs.txt (100%)
 rename Documentation/{ => drivers}/PCI/endpoint/pci-endpoint.txt (100%)
 rename Documentation/{ => drivers}/PCI/endpoint/pci-test-function.txt (100%)
 rename Documentation/{ => drivers}/PCI/endpoint/pci-test-howto.txt (100%)
 rename Documentation/{ => drivers}/PCI/pci-error-recovery.txt (100%)
 rename Documentation/{ => drivers}/PCI/pci-iov-howto.txt (100%)
 rename Documentation/{ => drivers}/PCI/pci.txt (100%)
 rename Documentation/{ => drivers}/PCI/pcieaer-howto.txt (100%)
 rename Documentation/{ => drivers}/acpi/dsd/leds.txt (100%)
 rename Documentation/{ => drivers}/auxdisplay/cfag12864b (100%)
 rename Documentation/{ => drivers}/auxdisplay/ks0108 (100%)
 rename Documentation/{ => drivers}/auxdisplay/lcd-panel-cgram.txt (100%)
 rename Documentation/{ => drivers}/backlight/lp855x-driver.txt (100%)
 rename Documentation/{ => drivers}/blockdev/drbd/DRBD-8.3-data-packets.svg (100%)
 rename Documentation/{ => drivers}/blockdev/drbd/DRBD-data-packets.svg (100%)
 rename Documentation/{ => drivers}/blockdev/drbd/README.txt (100%)
 rename Documentation/{ => drivers}/blockdev/drbd/conn-states-8.dot (100%)
 rename Documentation/{ => drivers}/blockdev/drbd/data-structure-v9.txt (100%)
 rename Documentation/{ => drivers}/blockdev/drbd/disk-states-8.dot (100%)
 rename Documentation/{ => drivers}/blockdev/drbd/drbd-connection-state-overview.dot (100%)
 rename Documentation/{ => drivers}/blockdev/drbd/node-states-8.dot (100%)
 rename Documentation/{ => drivers}/blockdev/floppy.txt (100%)
 rename Documentation/{ => drivers}/blockdev/nbd.txt (100%)
 rename Documentation/{ => drivers}/blockdev/paride.txt (100%)
 rename Documentation/{ => drivers}/blockdev/ramdisk.txt (100%)
 rename Documentation/{ => drivers}/blockdev/zram.txt (100%)
 rename Documentation/{bus-devices => drivers/bus}/ti-gpmc.txt (100%)
 rename Documentation/{ => drivers}/cdrom/cdrom-standard.rst (100%)
 rename Documentation/{ => drivers}/cdrom/ide-cd.rst (100%)
 rename Documentation/{ => drivers}/cdrom/index.rst (100%)
 rename Documentation/{ => drivers}/cdrom/packet-writing.rst (100%)
 rename Documentation/{ => drivers}/cpu-freq/amd-powernow.txt (100%)
 rename Documentation/{ => drivers}/cpu-freq/core.txt (100%)
 rename Documentation/{ => drivers}/cpu-freq/cpu-drivers.txt (100%)
 rename Documentation/{ => drivers}/cpu-freq/cpufreq-nforce2.txt (100%)
 rename Documentation/{ => drivers}/cpu-freq/cpufreq-stats.txt (100%)
 rename Documentation/{ => drivers}/cpu-freq/index.txt (100%)
 rename Documentation/{ => drivers}/cpu-freq/pcc-cpufreq.txt (100%)
 rename Documentation/{ => drivers}/crypto/api-aead.rst (100%)
 rename Documentation/{ => drivers}/crypto/api-akcipher.rst (100%)
 rename Documentation/{ => drivers}/crypto/api-digest.rst (100%)
 rename Documentation/{ => drivers}/crypto/api-intro.txt (100%)
 rename Documentation/{ => drivers}/crypto/api-kpp.rst (100%)
 rename Documentation/{ => drivers}/crypto/api-rng.rst (100%)
 rename Documentation/{ => drivers}/crypto/api-samples.rst (100%)
 rename Documentation/{ => drivers}/crypto/api-skcipher.rst (100%)
 rename Documentation/{ => drivers}/crypto/api.rst (100%)
 rename Documentation/{ => drivers}/crypto/architecture.rst (100%)
 rename Documentation/{ => drivers}/crypto/asymmetric-keys.txt (100%)
 rename Documentation/{ => drivers}/crypto/async-tx-api.txt (100%)
 rename Documentation/{ => drivers}/crypto/conf.py (100%)
 rename Documentation/{ => drivers}/crypto/crypto_engine.rst (100%)
 rename Documentation/{ => drivers}/crypto/descore-readme.txt (100%)
 rename Documentation/{ => drivers}/crypto/devel-algos.rst (100%)
 rename Documentation/{ => drivers}/crypto/index.rst (100%)
 rename Documentation/{ => drivers}/crypto/intro.rst (100%)
 rename Documentation/{ => drivers}/crypto/userspace-if.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/cache-policies.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/cache.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/delay.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/dm-crypt.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/dm-dust.txt (100%)
 rename Documentation/{ => drivers}/device-mapper/dm-flakey.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/dm-init.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/dm-integrity.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/dm-io.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/dm-log.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/dm-queue-length.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/dm-raid.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/dm-service-time.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/dm-uevent.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/dm-zoned.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/era.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/index.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/kcopyd.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/linear.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/log-writes.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/persistent-data.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/snapshot.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/statistics.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/striped.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/switch.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/thin-provisioning.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/unstriped.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/verity.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/writecache.rst (100%)
 rename Documentation/{ => drivers}/device-mapper/zero.rst (100%)
 rename Documentation/{ => drivers}/driver-api/80211/cfg80211.rst (100%)
 rename Documentation/{ => drivers}/driver-api/80211/conf.py (100%)
 rename Documentation/{ => drivers}/driver-api/80211/index.rst (100%)
 rename Documentation/{ => drivers}/driver-api/80211/introduction.rst (100%)
 rename Documentation/{ => drivers}/driver-api/80211/mac80211-advanced.rst (100%)
 rename Documentation/{ => drivers}/driver-api/80211/mac80211.rst (100%)
 rename Documentation/{ => drivers}/driver-api/acpi/index.rst (100%)
 rename Documentation/{ => drivers}/driver-api/acpi/linuxized-acpica.rst (100%)
 rename Documentation/{ => drivers}/driver-api/acpi/scan_handlers.rst (100%)
 rename Documentation/{ => drivers}/driver-api/basics.rst (100%)
 rename Documentation/{ => drivers}/driver-api/clk.rst (100%)
 rename Documentation/{ => drivers}/driver-api/component.rst (100%)
 rename Documentation/{ => drivers}/driver-api/conf.py (100%)
 rename Documentation/{ => drivers}/driver-api/device-io.rst (100%)
 rename Documentation/{ => drivers}/driver-api/device_connection.rst (100%)
 rename Documentation/{ => drivers}/driver-api/device_link.rst (100%)
 rename Documentation/{ => drivers}/driver-api/dma-buf.rst (100%)
 rename Documentation/{ => drivers}/driver-api/dmaengine/client.rst (100%)
 rename Documentation/{ => drivers}/driver-api/dmaengine/dmatest.rst (100%)
 rename Documentation/{ => drivers}/driver-api/dmaengine/index.rst (100%)
 rename Documentation/{ => drivers}/driver-api/dmaengine/provider.rst (100%)
 rename Documentation/{ => drivers}/driver-api/dmaengine/pxa_dma.rst (100%)
 rename Documentation/{ => drivers}/driver-api/edac.rst (100%)
 rename Documentation/{ => drivers}/driver-api/firewire.rst (100%)
 rename Documentation/{ => drivers}/driver-api/firmware/built-in-fw.rst (100%)
 rename Documentation/{ => drivers}/driver-api/firmware/core.rst (100%)
 rename Documentation/{ => drivers}/driver-api/firmware/direct-fs-lookup.rst (100%)
 rename Documentation/{ => drivers}/driver-api/firmware/fallback-mechanisms.rst (100%)
 rename Documentation/{ => drivers}/driver-api/firmware/firmware_cache.rst (100%)
 rename Documentation/{ => drivers}/driver-api/firmware/fw_search_path.rst (100%)
 rename Documentation/{ => drivers}/driver-api/firmware/index.rst (100%)
 rename Documentation/{ => drivers}/driver-api/firmware/introduction.rst (100%)
 rename Documentation/{ => drivers}/driver-api/firmware/lookup-order.rst (100%)
 rename Documentation/{ => drivers}/driver-api/firmware/other_interfaces.rst (100%)
 rename Documentation/{ => drivers}/driver-api/firmware/request_firmware.rst (100%)
 rename Documentation/{ => drivers}/driver-api/fpga/fpga-bridge.rst (100%)
 rename Documentation/{ => drivers}/driver-api/fpga/fpga-mgr.rst (100%)
 rename Documentation/{ => drivers}/driver-api/fpga/fpga-programming.rst (100%)
 rename Documentation/{ => drivers}/driver-api/fpga/fpga-region.rst (100%)
 rename Documentation/{ => drivers}/driver-api/fpga/index.rst (100%)
 rename Documentation/{ => drivers}/driver-api/fpga/intro.rst (100%)
 rename Documentation/{ => drivers}/driver-api/frame-buffer.rst (100%)
 rename Documentation/{ => drivers}/driver-api/generic-counter.rst (100%)
 rename Documentation/{ => drivers}/driver-api/gpio/board.rst (100%)
 rename Documentation/{ => drivers}/driver-api/gpio/consumer.rst (100%)
 rename Documentation/{ => drivers}/driver-api/gpio/driver.rst (100%)
 rename Documentation/{ => drivers}/driver-api/gpio/drivers-on-gpio.rst (100%)
 rename Documentation/{ => drivers}/driver-api/gpio/index.rst (100%)
 rename Documentation/{ => drivers}/driver-api/gpio/intro.rst (100%)
 rename Documentation/{ => drivers}/driver-api/gpio/legacy.rst (100%)
 rename Documentation/{ => drivers}/driver-api/hsi.rst (100%)
 rename Documentation/{ => drivers}/driver-api/i2c.rst (100%)
 rename Documentation/{ => drivers}/driver-api/i3c/device-driver-api.rst (100%)
 rename Documentation/{ => drivers}/driver-api/i3c/index.rst (100%)
 rename Documentation/{ => drivers}/driver-api/i3c/master-driver-api.rst (100%)
 rename Documentation/{ => drivers}/driver-api/i3c/protocol.rst (100%)
 rename Documentation/{ => drivers}/driver-api/iio/buffers.rst (100%)
 rename Documentation/{ => drivers}/driver-api/iio/core.rst (100%)
 rename Documentation/{ => drivers}/driver-api/iio/hw-consumer.rst (100%)
 rename Documentation/{ => drivers}/driver-api/iio/index.rst (100%)
 rename Documentation/{ => drivers}/driver-api/iio/intro.rst (100%)
 rename Documentation/{ => drivers}/driver-api/iio/triggered-buffers.rst (100%)
 rename Documentation/{ => drivers}/driver-api/iio/triggers.rst (100%)
 rename Documentation/{ => drivers}/driver-api/index.rst (100%)
 rename Documentation/{ => drivers}/driver-api/infrastructure.rst (100%)
 rename Documentation/{ => drivers}/driver-api/input.rst (100%)
 rename Documentation/{ => drivers}/driver-api/libata.rst (100%)
 rename Documentation/{ => drivers}/driver-api/message-based.rst (100%)
 rename Documentation/{ => drivers}/driver-api/misc_devices.rst (100%)
 rename Documentation/{ => drivers}/driver-api/miscellaneous.rst (100%)
 rename Documentation/{ => drivers}/driver-api/mtdnand.rst (100%)
 rename Documentation/{ => drivers}/driver-api/pci/index.rst (100%)
 rename Documentation/{ => drivers}/driver-api/pci/p2pdma.rst (100%)
 rename Documentation/{ => drivers}/driver-api/pci/pci.rst (100%)
 rename Documentation/{ => drivers}/driver-api/pinctl.rst (100%)
 rename Documentation/{ => drivers}/driver-api/pm/conf.py (100%)
 rename Documentation/{ => drivers}/driver-api/pm/cpuidle.rst (100%)
 rename Documentation/{ => drivers}/driver-api/pm/devices.rst (100%)
 rename Documentation/{ => drivers}/driver-api/pm/index.rst (100%)
 rename Documentation/{ => drivers}/driver-api/pm/notifiers.rst (100%)
 rename Documentation/{ => drivers}/driver-api/pm/types.rst (100%)
 rename Documentation/{ => drivers}/driver-api/pps.rst (100%)
 rename Documentation/{ => drivers}/driver-api/ptp.rst (100%)
 rename Documentation/{ => drivers}/driver-api/rapidio.rst (100%)
 rename Documentation/{ => drivers}/driver-api/regulator.rst (100%)
 rename Documentation/{ => drivers}/driver-api/s390-drivers.rst (100%)
 rename Documentation/{ => drivers}/driver-api/scsi.rst (100%)
 rename Documentation/{ => drivers}/driver-api/slimbus.rst (100%)
 rename Documentation/{ => drivers}/driver-api/sound.rst (100%)
 rename Documentation/{ => drivers}/driver-api/soundwire/error_handling.rst (100%)
 rename Documentation/{ => drivers}/driver-api/soundwire/index.rst (100%)
 rename Documentation/{ => drivers}/driver-api/soundwire/locking.rst (100%)
 rename Documentation/{ => drivers}/driver-api/soundwire/stream.rst (100%)
 rename Documentation/{ => drivers}/driver-api/soundwire/summary.rst (100%)
 rename Documentation/{ => drivers}/driver-api/spi.rst (100%)
 rename Documentation/{ => drivers}/driver-api/target.rst (100%)
 rename Documentation/{ => drivers}/driver-api/uio-howto.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/URB.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/anchors.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/bulk-streams.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/callbacks.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/dma.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/dwc3.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/error-codes.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/gadget.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/hotplug.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/index.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/persist.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/power-management.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/typec.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/typec_bus.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/usb.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/usb3-debug-port.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/writing_musb_glue_layer.rst (100%)
 rename Documentation/{ => drivers}/driver-api/usb/writing_usb_driver.rst (100%)
 rename Documentation/{ => drivers}/driver-api/vme.rst (100%)
 rename Documentation/{ => drivers}/driver-api/w1.rst (100%)
 rename Documentation/{ => drivers}/driver-model/binding.txt (100%)
 rename Documentation/{ => drivers}/driver-model/bus.txt (100%)
 rename Documentation/{ => drivers}/driver-model/class.txt (100%)
 rename Documentation/{ => drivers}/driver-model/design-patterns.txt (100%)
 rename Documentation/{ => drivers}/driver-model/device.txt (100%)
 rename Documentation/{ => drivers}/driver-model/devres.txt (100%)
 rename Documentation/{ => drivers}/driver-model/driver.txt (100%)
 rename Documentation/{ => drivers}/driver-model/overview.txt (100%)
 rename Documentation/{ => drivers}/driver-model/platform.txt (100%)
 rename Documentation/{ => drivers}/driver-model/porting.txt (100%)
 rename Documentation/{ => drivers}/fpga/dfl.rst (100%)
 rename Documentation/{ => drivers}/fpga/index.rst (100%)
 rename Documentation/{ => drivers}/gpio/index.rst (100%)
 rename Documentation/{ => drivers}/gpio/sysfs.rst (100%)
 rename Documentation/{ => drivers}/gpu/afbc.rst (100%)
 rename Documentation/{ => drivers}/gpu/amdgpu-dc.rst (100%)
 rename Documentation/{ => drivers}/gpu/amdgpu.rst (100%)
 rename Documentation/{ => drivers}/gpu/bridge/dw-hdmi.rst (100%)
 rename Documentation/{ => drivers}/gpu/conf.py (100%)
 rename Documentation/{ => drivers}/gpu/dp-mst/topology-figure-1.dot (100%)
 rename Documentation/{ => drivers}/gpu/dp-mst/topology-figure-2.dot (100%)
 rename Documentation/{ => drivers}/gpu/dp-mst/topology-figure-3.dot (100%)
 rename Documentation/{ => drivers}/gpu/drivers.rst (100%)
 rename Documentation/{ => drivers}/gpu/drm-client.rst (100%)
 rename Documentation/{ => drivers}/gpu/drm-internals.rst (100%)
 rename Documentation/{ => drivers}/gpu/drm-kms-helpers.rst (100%)
 rename Documentation/{ => drivers}/gpu/drm-kms.rst (100%)
 rename Documentation/{ => drivers}/gpu/drm-mm.rst (100%)
 rename Documentation/{ => drivers}/gpu/drm-uapi.rst (100%)
 rename Documentation/{ => drivers}/gpu/i915.rst (100%)
 rename Documentation/{ => drivers}/gpu/index.rst (100%)
 rename Documentation/{ => drivers}/gpu/introduction.rst (100%)
 rename Documentation/{ => drivers}/gpu/kms-properties.csv (100%)
 rename Documentation/{ => drivers}/gpu/komeda-kms.rst (100%)
 rename Documentation/{ => drivers}/gpu/meson.rst (100%)
 rename Documentation/{ => drivers}/gpu/msm-crash-dump.rst (100%)
 rename Documentation/{ => drivers}/gpu/pl111.rst (100%)
 rename Documentation/{ => drivers}/gpu/tegra.rst (100%)
 rename Documentation/{ => drivers}/gpu/tinydrm.rst (100%)
 rename Documentation/{ => drivers}/gpu/todo.rst (100%)
 rename Documentation/{ => drivers}/gpu/tve200.rst (100%)
 rename Documentation/{ => drivers}/gpu/v3d.rst (100%)
 rename Documentation/{ => drivers}/gpu/vc4.rst (100%)
 rename Documentation/{ => drivers}/gpu/vga-switcheroo.rst (100%)
 rename Documentation/{ => drivers}/gpu/vgaarbiter.rst (100%)
 rename Documentation/{ => drivers}/gpu/vkms.rst (100%)
 rename Documentation/{ => drivers}/gpu/xen-front.rst (100%)
 rename Documentation/{ => drivers}/hid/hid-alps.txt (100%)
 rename Documentation/{ => drivers}/hid/hid-sensor.txt (100%)
 rename Documentation/{ => drivers}/hid/hid-transport.txt (100%)
 rename Documentation/{ => drivers}/hid/hiddev.txt (100%)
 rename Documentation/{ => drivers}/hid/hidraw.txt (100%)
 rename Documentation/{ => drivers}/hid/intel-ish-hid.txt (100%)
 rename Documentation/{ => drivers}/hid/uhid.txt (100%)
 rename Documentation/{ => drivers}/i2c/DMA-considerations (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-ali1535 (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-ali1563 (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-ali15x3 (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-amd-mp2 (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-amd756 (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-amd8111 (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-diolan-u2c (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-i801 (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-ismt (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-mlxcpld (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-nforce2 (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-nvidia-gpu (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-ocores (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-parport (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-parport-light (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-pca-isa (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-piix4 (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-sis5595 (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-sis630 (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-sis96x (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-taos-evm (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-via (100%)
 rename Documentation/{ => drivers}/i2c/busses/i2c-viapro (100%)
 rename Documentation/{ => drivers}/i2c/busses/scx200_acb (100%)
 rename Documentation/{ => drivers}/i2c/dev-interface (100%)
 rename Documentation/{ => drivers}/i2c/fault-codes (100%)
 rename Documentation/{ => drivers}/i2c/functionality (100%)
 rename Documentation/{ => drivers}/i2c/gpio-fault-injection (100%)
 rename Documentation/{ => drivers}/i2c/i2c-protocol (100%)
 rename Documentation/{ => drivers}/i2c/i2c-stub (100%)
 rename Documentation/{ => drivers}/i2c/i2c-topology (100%)
 rename Documentation/{ => drivers}/i2c/instantiating-devices (100%)
 rename Documentation/{ => drivers}/i2c/muxes/i2c-mux-gpio (100%)
 rename Documentation/{ => drivers}/i2c/old-module-parameters (100%)
 rename Documentation/{ => drivers}/i2c/slave-eeprom-backend (100%)
 rename Documentation/{ => drivers}/i2c/slave-interface (100%)
 rename Documentation/{ => drivers}/i2c/smbus-protocol (100%)
 rename Documentation/{ => drivers}/i2c/summary (100%)
 rename Documentation/{ => drivers}/i2c/ten-bit-addresses (100%)
 rename Documentation/{ => drivers}/i2c/upgrading-clients (100%)
 rename Documentation/{ => drivers}/i2c/writing-clients (100%)
 rename Documentation/{ => drivers}/ide/ChangeLog.ide-cd.1994-2004 (100%)
 rename Documentation/{ => drivers}/ide/ChangeLog.ide-floppy.1996-2002 (100%)
 rename Documentation/{ => drivers}/ide/ChangeLog.ide-tape.1995-2002 (100%)
 rename Documentation/{ => drivers}/ide/changelogs.rst (100%)
 rename Documentation/{ => drivers}/ide/ide-tape.rst (100%)
 rename Documentation/{ => drivers}/ide/ide.rst (100%)
 rename Documentation/{ => drivers}/ide/index.rst (100%)
 rename Documentation/{ => drivers}/ide/warm-plug-howto.rst (100%)
 rename Documentation/{ => drivers}/infiniband/core_locking.txt (100%)
 rename Documentation/{ => drivers}/infiniband/ipoib.txt (100%)
 rename Documentation/{ => drivers}/infiniband/opa_vnic.txt (100%)
 rename Documentation/{ => drivers}/infiniband/sysfs.txt (100%)
 rename Documentation/{ => drivers}/infiniband/tag_matching.txt (100%)
 rename Documentation/{ => drivers}/infiniband/user_mad.txt (100%)
 rename Documentation/{ => drivers}/infiniband/user_verbs.txt (100%)
 rename Documentation/{ => drivers}/leds/index.rst (100%)
 rename Documentation/{ => drivers}/leds/leds-blinkm.rst (100%)
 rename Documentation/{ => drivers}/leds/leds-class-flash.rst (100%)
 rename Documentation/{ => drivers}/leds/leds-class.rst (100%)
 rename Documentation/{ => drivers}/leds/leds-lm3556.rst (100%)
 rename Documentation/{ => drivers}/leds/leds-lp3944.rst (100%)
 rename Documentation/{ => drivers}/leds/leds-lp5521.rst (100%)
 rename Documentation/{ => drivers}/leds/leds-lp5523.rst (100%)
 rename Documentation/{ => drivers}/leds/leds-lp5562.rst (100%)
 rename Documentation/{ => drivers}/leds/leds-lp55xx.rst (100%)
 rename Documentation/{ => drivers}/leds/leds-mlxcpld.rst (100%)
 rename Documentation/{ => drivers}/leds/ledtrig-oneshot.rst (100%)
 rename Documentation/{ => drivers}/leds/ledtrig-transient.rst (100%)
 rename Documentation/{ => drivers}/leds/ledtrig-usbport.rst (100%)
 rename Documentation/{ => drivers}/leds/uleds.rst (100%)
 rename Documentation/{ => drivers}/lightnvm/pblk.txt (100%)
 rename Documentation/{ => drivers}/md/md-cluster.txt (100%)
 rename Documentation/{ => drivers}/md/raid5-cache.txt (100%)
 rename Documentation/{ => drivers}/md/raid5-ppl.txt (100%)
 rename Documentation/{ => drivers}/media/.gitignore (100%)
 rename Documentation/{ => drivers}/media/Makefile (100%)
 rename Documentation/{ => drivers}/media/audio.h.rst.exceptions (100%)
 rename Documentation/{ => drivers}/media/ca.h.rst.exceptions (100%)
 rename Documentation/{ => drivers}/media/cec-drivers/index.rst (100%)
 rename Documentation/{ => drivers}/media/cec-drivers/pulse8-cec.rst (100%)
 rename Documentation/{ => drivers}/media/cec.h.rst.exceptions (100%)
 rename Documentation/{ => drivers}/media/conf.py (100%)
 rename Documentation/{ => drivers}/media/conf_nitpick.py (100%)
 rename Documentation/{ => drivers}/media/dmx.h.rst.exceptions (100%)
 rename Documentation/{ => drivers}/media/dvb-drivers/avermedia.rst (100%)
 rename Documentation/{ => drivers}/media/dvb-drivers/bt8xx.rst (100%)
 rename Documentation/{ => drivers}/media/dvb-drivers/cards.rst (100%)
 rename Documentation/{ => drivers}/media/dvb-drivers/ci.rst (100%)
 rename Documentation/{ => drivers}/media/dvb-drivers/contributors.rst (100%)
 rename Documentation/{ => drivers}/media/dvb-drivers/dvb-usb.rst (100%)
 rename Documentation/{ => drivers}/media/dvb-drivers/faq.rst (100%)
 rename Documentation/{ => drivers}/media/dvb-drivers/frontends.rst (100%)
 rename Documentation/{ => drivers}/media/dvb-drivers/index.rst (100%)
 rename Documentation/{ => drivers}/media/dvb-drivers/intro.rst (100%)
 rename Documentation/{ => drivers}/media/dvb-drivers/lmedm04.rst (100%)
 rename Documentation/{ => drivers}/media/dvb-drivers/opera-firmware.rst (100%)
 rename Documentation/{ => drivers}/media/dvb-drivers/technisat.rst (100%)
 rename Documentation/{ => drivers}/media/dvb-drivers/ttusb-dec.rst (100%)
 rename Documentation/{ => drivers}/media/dvb-drivers/udev.rst (100%)
 rename Documentation/{ => drivers}/media/frontend.h.rst.exceptions (100%)
 rename Documentation/{ => drivers}/media/index.rst (100%)
 rename Documentation/{ => drivers}/media/intro.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/cec-core.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/csi2.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/dtv-ca.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/dtv-common.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/dtv-core.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/dtv-demux.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/dtv-frontend.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/dtv-net.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/mc-core.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/rc-core.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-async.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-clocks.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-common.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-controls.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-core.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-dev.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-device.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-dv-timings.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-event.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-fh.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-flash-led-class.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-fwnode.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-intro.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-mc.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-mediabus.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-mem2mem.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-rect.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-subdev.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-tuner.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-tveeprom.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-videobuf.rst (100%)
 rename Documentation/{ => drivers}/media/kapi/v4l2-videobuf2.rst (100%)
 rename Documentation/{ => drivers}/media/lirc.h.rst.exceptions (100%)
 rename Documentation/{ => drivers}/media/media.h.rst.exceptions (100%)
 rename Documentation/{ => drivers}/media/media_kapi.rst (100%)
 rename Documentation/{ => drivers}/media/media_uapi.rst (100%)
 rename Documentation/{ => drivers}/media/net.h.rst.exceptions (100%)
 rename Documentation/{ => drivers}/media/typical_media_device.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/cec/cec-api.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/cec/cec-func-close.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/cec/cec-func-ioctl.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/cec/cec-func-open.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/cec/cec-func-poll.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/cec/cec-funcs.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/cec/cec-header.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/cec/cec-intro.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/cec/cec-ioc-adap-g-caps.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/cec/cec-ioc-adap-g-log-addrs.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/cec/cec-ioc-adap-g-phys-addr.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/cec/cec-ioc-dqevent.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/cec/cec-ioc-g-mode.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/cec/cec-ioc-receive.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/cec/cec-pin-error-inj.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-bilingual-channel-select.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-channel-select.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-clear-buffer.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-continue.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-fclose.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-fopen.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-fwrite.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-get-capabilities.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-get-status.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-pause.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-play.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-select-source.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-set-av-sync.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-set-bypass-mode.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-set-id.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-set-mixer.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-set-mute.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-set-streamtype.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio-stop.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio_data_types.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/audio_function_calls.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/ca-fclose.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/ca-fopen.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/ca-get-cap.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/ca-get-descr-info.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/ca-get-msg.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/ca-get-slot-info.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/ca-reset.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/ca-send-msg.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/ca-set-descr.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/ca.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/ca_data_types.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/ca_function_calls.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/demux.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-add-pid.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-expbuf.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-fclose.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-fopen.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-fread.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-fwrite.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-get-pes-pids.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-get-stc.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-mmap.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-munmap.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-qbuf.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-querybuf.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-remove-pid.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-reqbufs.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-set-buffer-size.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-set-filter.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-set-pes-filter.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-start.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx-stop.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx_fcalls.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dmx_types.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dvb-fe-read-status.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dvb-frontend-event.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dvb-frontend-parameters.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dvbapi.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dvbproperty.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/dvbstb.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/examples.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-bandwidth-t.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-diseqc-recv-slave-reply.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-diseqc-reset-overload.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-diseqc-send-burst.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-diseqc-send-master-cmd.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-dishnetwork-send-legacy-cmd.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-enable-high-lnb-voltage.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-get-event.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-get-frontend.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-get-info.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-get-property.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-read-ber.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-read-signal-strength.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-read-snr.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-read-status.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-read-uncorrected-blocks.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-set-frontend-tune-mode.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-set-frontend.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-set-tone.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-set-voltage.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe-type-t.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/fe_property_parameters.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/frontend-header.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/frontend-property-cable-systems.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/frontend-property-satellite-systems.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/frontend-property-terrestrial-systems.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/frontend-stat-properties.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/frontend.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/frontend_f_close.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/frontend_f_open.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/frontend_fcalls.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/frontend_legacy_api.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/frontend_legacy_dvbv3_api.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/headers.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/intro.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/legacy_dvb_apis.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/net-add-if.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/net-get-if.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/net-remove-if.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/net-types.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/net.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/query-dvb-frontend-info.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-clear-buffer.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-command.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-continue.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-fast-forward.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-fclose.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-fopen.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-freeze.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-fwrite.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-get-capabilities.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-get-event.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-get-frame-count.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-get-pts.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-get-size.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-get-status.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-play.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-select-source.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-set-blank.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-set-display-format.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-set-format.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-set-streamtype.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-slowmotion.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-stillpicture.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-stop.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video-try-command.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video_function_calls.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/dvb/video_types.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/fdl-appendix.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/gen-errors.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-controller-intro.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-controller-model.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-controller.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-func-close.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-func-ioctl.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-func-open.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-funcs.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-header.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-ioc-device-info.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-ioc-enum-entities.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-ioc-enum-links.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-ioc-g-topology.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-ioc-request-alloc.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-ioc-setup-link.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-request-ioc-queue.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-request-ioc-reinit.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/media-types.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/request-api.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/request-func-close.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/request-func-ioctl.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/mediactl/request-func-poll.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/keytable.c.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-dev-intro.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-dev.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-func.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-get-features.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-get-rec-mode.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-get-rec-resolution.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-get-send-mode.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-get-timeout.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-header.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-read.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-set-measure-carrier-mode.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-set-rec-carrier-range.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-set-rec-carrier.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-set-rec-timeout-reports.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-set-rec-timeout.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-set-send-carrier.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-set-send-duty-cycle.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-set-transmitter-mask.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-set-wideband-receiver.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/lirc-write.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/rc-intro.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/rc-sysfs-nodes.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/rc-table-change.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/rc-tables.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/rc/remote_controllers.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/app-pri.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/async.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/audio.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/bayer.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/biblio.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/buffer.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/capture-example.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/capture.c.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/colorspaces-defs.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/colorspaces-details.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/colorspaces.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/common-defs.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/common.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/compat.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/constraints.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/control.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/crop.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/crop.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/depth-formats.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dev-capture.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dev-event.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dev-mem2mem.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dev-meta.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dev-osd.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dev-output.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dev-overlay.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dev-radio.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dev-raw-vbi.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dev-rds.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dev-sdr.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dev-sliced-vbi.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dev-subdev.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dev-touch.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/devices.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/diff-v4l.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dmabuf.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/dv-timings.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-camera.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-codec.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-detect.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-dv.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-flash.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-fm-rx.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-fm-tx.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-image-process.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-image-source.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-jpeg.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/ext-ctrls-rf-tuner.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/extended-controls.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/field-order.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/fieldseq_bt.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/fieldseq_tb.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/format.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/func-close.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/func-ioctl.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/func-mmap.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/func-munmap.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/func-open.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/func-poll.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/func-read.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/func-select.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/func-write.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/hist-v4l2.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/hsv-formats.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/io.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/libv4l-introduction.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/libv4l.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/meta-formats.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/mmap.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/nv12mt.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/nv12mt_example.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/open.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pipeline.dot (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-cnf4.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-compressed.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-grey.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-indexed.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-intro.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-inzi.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-m420.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-meta-d4xx.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-meta-intel-ipu3.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-meta-uvc.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-meta-vsp1-hgt.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-nv12.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-nv12m.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-nv12mt.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-nv16.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-nv16m.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-nv24.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-packed-hsv.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-packed-rgb.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-packed-yuv.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-reserved.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-rgb.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-cs08.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-cs14le.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-cu08.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-cu16le.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-pcu16be.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-pcu18be.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-pcu20be.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-sdr-ru12le.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb10-ipu3.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb10.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb10alaw8.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb10dpcm8.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb10p.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb12.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb12p.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb14p.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb16.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-srggb8.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-tch-td08.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-tch-td16.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-tch-tu08.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-tch-tu16.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-uv8.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-uyvy.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-v4l2-mplane.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-v4l2.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-vyuy.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y10.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y10b.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y10p.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y12.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y12i.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y16-be.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y16.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y41p.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-y8i.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuv410.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuv411p.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuv420.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuv420m.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuv422m.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuv422p.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuv444m.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yuyv.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-yvyu.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt-z16.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/pixfmt.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/planar-apis.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/querycap.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/rw.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/sdr-formats.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/selection-api-configuration.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/selection-api-examples.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/selection-api-intro.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/selection-api-targets.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/selection-api-vs-crop-api.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/selection-api.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/selection.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/selections-common.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/standard.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/streaming-par.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/subdev-formats.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/subdev-image-processing-crop.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/subdev-image-processing-full.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/subdev-image-processing-scaling-multi-source.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/tch-formats.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/tuner.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/user-func.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/userp.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/v4l2-selection-flags.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/v4l2-selection-targets.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/v4l2.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/v4l2grab-example.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/v4l2grab.c.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vbi_525.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vbi_625.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vbi_hsync.svg (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/video.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/videodev.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-create-bufs.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-cropcap.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-dbg-g-chip-info.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-dbg-g-register.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-decoder-cmd.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-dqevent.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-dv-timings-cap.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-encoder-cmd.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-enum-dv-timings.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-enum-fmt.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-enum-frameintervals.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-enum-framesizes.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-enum-freq-bands.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-enumaudio.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-enumaudioout.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-enuminput.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-enumoutput.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-enumstd.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-expbuf.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-audio.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-audioout.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-crop.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-ctrl.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-dv-timings.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-edid.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-enc-index.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-ext-ctrls.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-fbuf.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-fmt.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-frequency.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-input.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-jpegcomp.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-modulator.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-output.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-parm.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-priority.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-selection.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-sliced-vbi-cap.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-std.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-g-tuner.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-log-status.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-overlay.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-prepare-buf.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-qbuf.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-query-dv-timings.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-querybuf.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-querycap.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-queryctrl.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-querystd.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-reqbufs.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-s-hw-freq-seek.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-streamon.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-subdev-enum-frame-interval.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-subdev-enum-frame-size.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-subdev-enum-mbus-code.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-subdev-g-crop.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-subdev-g-fmt.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-subdev-g-frame-interval.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-subdev-g-selection.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/vidioc-subscribe-event.rst (100%)
 rename Documentation/{ => drivers}/media/uapi/v4l/yuv-formats.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/au0828-cardlist.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/bttv-cardlist.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/bttv.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/cafe_ccic.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/cardlist.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/cpia2.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/cx18.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/cx2341x.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/cx23885-cardlist.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/cx88-cardlist.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/cx88.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/davinci-vpbe.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/em28xx-cardlist.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/fimc.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/fourcc.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/gspca-cardlist.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/imx.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/imx7.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/index.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/ipu3.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/ivtv-cardlist.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/ivtv.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/max2175.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/meye.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/omap3isp.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/omap4_camera.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/philips.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/pvrusb2.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/pxa_camera.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/qcom_camss.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/qcom_camss_8x96_graph.dot (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/qcom_camss_graph.dot (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/radiotrack.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/rcar-fdp1.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/saa7134-cardlist.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/saa7134.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/saa7164-cardlist.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/sh_mobile_ceu_camera.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/si470x.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/si4713.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/si476x.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/soc-camera.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/tm6000-cardlist.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/tuner-cardlist.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/tuners.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/usbvision-cardlist.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/uvcvideo.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/v4l-with-ir.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/vimc.dot (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/vimc.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/vivid.rst (100%)
 rename Documentation/{ => drivers}/media/v4l-drivers/zr364xx.rst (100%)
 rename Documentation/{ => drivers}/media/video.h.rst.exceptions (100%)
 rename Documentation/{ => drivers}/media/videodev2.h.rst.exceptions (100%)
 rename Documentation/{memory-devices => drivers/memory}/ti-emif.txt (100%)
 rename Documentation/{misc-devices => drivers/misc}/ad525x_dpot.txt (100%)
 rename Documentation/{misc-devices => drivers/misc}/apds990x.txt (100%)
 rename Documentation/{misc-devices => drivers/misc}/bh1770glc.txt (100%)
 rename Documentation/{misc-devices => drivers/misc}/c2port.txt (100%)
 rename Documentation/{misc-devices => drivers/misc}/eeprom (100%)
 rename Documentation/{misc-devices => drivers/misc}/ibmvmc.rst (100%)
 rename Documentation/{misc-devices => drivers/misc}/ics932s401 (100%)
 rename Documentation/{misc-devices => drivers/misc}/index.rst (100%)
 rename Documentation/{misc-devices => drivers/misc}/isl29003 (100%)
 rename Documentation/{misc-devices => drivers/misc}/lis3lv02d (100%)
 rename Documentation/{misc-devices => drivers/misc}/max6875 (100%)
 rename Documentation/{misc-devices => drivers/misc}/mei/mei-client-bus.txt (100%)
 rename Documentation/{misc-devices => drivers/misc}/mei/mei.txt (100%)
 rename Documentation/{misc-devices => drivers/misc}/pci-endpoint-test.txt (100%)
 rename Documentation/{misc-devices => drivers/misc}/spear-pcie-gadget.txt (100%)
 rename Documentation/{ => drivers}/mmc/mmc-async-req.txt (100%)
 rename Documentation/{ => drivers}/mmc/mmc-dev-attrs.txt (100%)
 rename Documentation/{ => drivers}/mmc/mmc-dev-parts.txt (100%)
 rename Documentation/{ => drivers}/mmc/mmc-tools.txt (100%)
 rename Documentation/{ => drivers}/mtd/intel-spi.txt (100%)
 rename Documentation/{ => drivers}/mtd/nand_ecc.txt (100%)
 rename Documentation/{ => drivers}/mtd/spi-nor.txt (100%)
 rename Documentation/{ => drivers}/nfc/nfc-hci.txt (100%)
 rename Documentation/{ => drivers}/nfc/nfc-pn544.txt (100%)
 rename Documentation/{ => drivers}/nvdimm/btt.txt (100%)
 rename Documentation/{ => drivers}/nvdimm/nvdimm.txt (100%)
 rename Documentation/{ => drivers}/nvdimm/security.txt (100%)
 rename Documentation/{ => drivers}/nvmem/nvmem.txt (100%)
 rename Documentation/{ => drivers}/pcmcia/devicetable.rst (100%)
 rename Documentation/{ => drivers}/pcmcia/driver-changes.rst (100%)
 rename Documentation/{ => drivers}/pcmcia/driver.rst (100%)
 rename Documentation/{ => drivers}/pcmcia/index.rst (100%)
 rename Documentation/{ => drivers}/pcmcia/locking.rst (100%)
 rename Documentation/{ => drivers}/rapidio/mport_cdev.txt (100%)
 rename Documentation/{ => drivers}/rapidio/rapidio.txt (100%)
 rename Documentation/{ => drivers}/rapidio/rio_cm.txt (100%)
 rename Documentation/{ => drivers}/rapidio/sysfs.txt (100%)
 rename Documentation/{ => drivers}/rapidio/tsi721.txt (100%)
 rename Documentation/{ => drivers}/scsi/53c700.txt (100%)
 rename Documentation/{ => drivers}/scsi/BusLogic.txt (100%)
 rename Documentation/{ => drivers}/scsi/ChangeLog.arcmsr (100%)
 rename Documentation/{ => drivers}/scsi/ChangeLog.ips (100%)
 rename Documentation/{ => drivers}/scsi/ChangeLog.lpfc (100%)
 rename Documentation/{ => drivers}/scsi/ChangeLog.megaraid (100%)
 rename Documentation/{ => drivers}/scsi/ChangeLog.megaraid_sas (100%)
 rename Documentation/{ => drivers}/scsi/ChangeLog.ncr53c8xx (100%)
 rename Documentation/{ => drivers}/scsi/ChangeLog.sym53c8xx (100%)
 rename Documentation/{ => drivers}/scsi/ChangeLog.sym53c8xx_2 (100%)
 rename Documentation/{ => drivers}/scsi/FlashPoint.txt (100%)
 rename Documentation/{ => drivers}/scsi/LICENSE.FlashPoint (100%)
 rename Documentation/{ => drivers}/scsi/LICENSE.qla2xxx (100%)
 rename Documentation/{ => drivers}/scsi/LICENSE.qla4xxx (100%)
 rename Documentation/{ => drivers}/scsi/NinjaSCSI.txt (100%)
 rename Documentation/{ => drivers}/scsi/aacraid.txt (100%)
 rename Documentation/{ => drivers}/scsi/advansys.txt (100%)
 rename Documentation/{ => drivers}/scsi/aha152x.txt (100%)
 rename Documentation/{ => drivers}/scsi/aic79xx.txt (100%)
 rename Documentation/{ => drivers}/scsi/aic7xxx.txt (100%)
 rename Documentation/{ => drivers}/scsi/arcmsr_spec.txt (100%)
 rename Documentation/{ => drivers}/scsi/bfa.txt (100%)
 rename Documentation/{ => drivers}/scsi/bnx2fc.txt (100%)
 rename Documentation/{ => drivers}/scsi/cxgb3i.txt (100%)
 rename Documentation/{ => drivers}/scsi/dc395x.txt (100%)
 rename Documentation/{ => drivers}/scsi/dpti.txt (100%)
 rename Documentation/{ => drivers}/scsi/g_NCR5380.txt (100%)
 rename Documentation/{ => drivers}/scsi/hpsa.txt (100%)
 rename Documentation/{ => drivers}/scsi/hptiop.txt (100%)
 rename Documentation/{ => drivers}/scsi/libsas.txt (100%)
 rename Documentation/{ => drivers}/scsi/link_power_management_policy.txt (100%)
 rename Documentation/{ => drivers}/scsi/lpfc.txt (100%)
 rename Documentation/{ => drivers}/scsi/megaraid.txt (100%)
 rename Documentation/{ => drivers}/scsi/ncr53c8xx.txt (100%)
 rename Documentation/{ => drivers}/scsi/osst.txt (100%)
 rename Documentation/{ => drivers}/scsi/ppa.txt (100%)
 rename Documentation/{ => drivers}/scsi/qlogicfas.txt (100%)
 rename Documentation/{ => drivers}/scsi/scsi-changer.txt (100%)
 rename Documentation/{ => drivers}/scsi/scsi-generic.txt (100%)
 rename Documentation/{ => drivers}/scsi/scsi-parameters.txt (100%)
 rename Documentation/{ => drivers}/scsi/scsi.txt (100%)
 rename Documentation/{ => drivers}/scsi/scsi_eh.txt (100%)
 rename Documentation/{ => drivers}/scsi/scsi_fc_transport.txt (100%)
 rename Documentation/{ => drivers}/scsi/scsi_mid_low_api.txt (100%)
 rename Documentation/{ => drivers}/scsi/scsi_transport_srp/Makefile (100%)
 rename Documentation/{ => drivers}/scsi/scsi_transport_srp/rport_state_diagram.dot (100%)
 rename Documentation/{ => drivers}/scsi/sd-parameters.txt (100%)
 rename Documentation/{ => drivers}/scsi/smartpqi.txt (100%)
 rename Documentation/{ => drivers}/scsi/st.txt (100%)
 rename Documentation/{ => drivers}/scsi/sym53c500_cs.txt (100%)
 rename Documentation/{ => drivers}/scsi/sym53c8xx_2.txt (100%)
 rename Documentation/{ => drivers}/scsi/tcm_qla2xxx.txt (100%)
 rename Documentation/{ => drivers}/scsi/ufs.txt (100%)
 rename Documentation/{ => drivers}/scsi/wd719x.txt (100%)
 rename Documentation/{ => drivers}/serial/cyclades_z.rst (100%)
 rename Documentation/{ => drivers}/serial/driver.rst (100%)
 rename Documentation/{ => drivers}/serial/index.rst (100%)
 rename Documentation/{ => drivers}/serial/moxa-smartio.rst (100%)
 rename Documentation/{ => drivers}/serial/n_gsm.rst (100%)
 rename Documentation/{ => drivers}/serial/rocket.rst (100%)
 rename Documentation/{ => drivers}/serial/serial-iso7816.rst (100%)
 rename Documentation/{ => drivers}/serial/serial-rs485.rst (100%)
 rename Documentation/{ => drivers}/serial/tty.rst (100%)
 rename Documentation/{ => drivers}/sound/alsa-configuration.rst (100%)
 rename Documentation/{ => drivers}/sound/cards/audigy-mixer.rst (100%)
 rename Documentation/{ => drivers}/sound/cards/audiophile-usb.rst (100%)
 rename Documentation/{ => drivers}/sound/cards/bt87x.rst (100%)
 rename Documentation/{ => drivers}/sound/cards/cmipci.rst (100%)
 rename Documentation/{ => drivers}/sound/cards/emu10k1-jack.rst (100%)
 rename Documentation/{ => drivers}/sound/cards/hdspm.rst (100%)
 rename Documentation/{ => drivers}/sound/cards/img-spdif-in.rst (100%)
 rename Documentation/{ => drivers}/sound/cards/index.rst (100%)
 rename Documentation/{ => drivers}/sound/cards/joystick.rst (100%)
 rename Documentation/{ => drivers}/sound/cards/maya44.rst (100%)
 rename Documentation/{ => drivers}/sound/cards/mixart.rst (100%)
 rename Documentation/{ => drivers}/sound/cards/multisound.sh (100%)
 rename Documentation/{ => drivers}/sound/cards/sb-live-mixer.rst (100%)
 rename Documentation/{ => drivers}/sound/cards/serial-u16550.rst (100%)
 rename Documentation/{ => drivers}/sound/cards/via82xx-mixer.rst (100%)
 rename Documentation/{ => drivers}/sound/conf.py (100%)
 rename Documentation/{ => drivers}/sound/designs/channel-mapping-api.rst (100%)
 rename Documentation/{ => drivers}/sound/designs/compress-offload.rst (100%)
 rename Documentation/{ => drivers}/sound/designs/control-names.rst (100%)
 rename Documentation/{ => drivers}/sound/designs/index.rst (100%)
 rename Documentation/{ => drivers}/sound/designs/jack-controls.rst (100%)
 rename Documentation/{ => drivers}/sound/designs/oss-emulation.rst (100%)
 rename Documentation/{ => drivers}/sound/designs/powersave.rst (100%)
 rename Documentation/{ => drivers}/sound/designs/procfile.rst (100%)
 rename Documentation/{ => drivers}/sound/designs/seq-oss.rst (100%)
 rename Documentation/{ => drivers}/sound/designs/timestamping.rst (100%)
 rename Documentation/{ => drivers}/sound/designs/tracepoints.rst (100%)
 rename Documentation/{ => drivers}/sound/hd-audio/controls.rst (100%)
 rename Documentation/{ => drivers}/sound/hd-audio/dp-mst.rst (100%)
 rename Documentation/{ => drivers}/sound/hd-audio/index.rst (100%)
 rename Documentation/{ => drivers}/sound/hd-audio/models.rst (100%)
 rename Documentation/{ => drivers}/sound/hd-audio/notes.rst (100%)
 rename Documentation/{ => drivers}/sound/index.rst (100%)
 rename Documentation/{ => drivers}/sound/kernel-api/alsa-driver-api.rst (100%)
 rename Documentation/{ => drivers}/sound/kernel-api/index.rst (100%)
 rename Documentation/{ => drivers}/sound/kernel-api/writing-an-alsa-driver.rst (100%)
 rename Documentation/{ => drivers}/sound/soc/clocking.rst (100%)
 rename Documentation/{ => drivers}/sound/soc/codec-to-codec.rst (100%)
 rename Documentation/{ => drivers}/sound/soc/codec.rst (100%)
 rename Documentation/{ => drivers}/sound/soc/dai.rst (100%)
 rename Documentation/{ => drivers}/sound/soc/dapm.rst (100%)
 rename Documentation/{ => drivers}/sound/soc/dpcm.rst (100%)
 rename Documentation/{ => drivers}/sound/soc/index.rst (100%)
 rename Documentation/{ => drivers}/sound/soc/jack.rst (100%)
 rename Documentation/{ => drivers}/sound/soc/machine.rst (100%)
 rename Documentation/{ => drivers}/sound/soc/overview.rst (100%)
 rename Documentation/{ => drivers}/sound/soc/platform.rst (100%)
 rename Documentation/{ => drivers}/sound/soc/pops-clicks.rst (100%)
 rename Documentation/{ => drivers}/usb/CREDITS (100%)
 rename Documentation/{ => drivers}/usb/WUSB-Design-overview.txt (100%)
 rename Documentation/{ => drivers}/usb/acm.txt (100%)
 rename Documentation/{ => drivers}/usb/authorization.txt (100%)
 rename Documentation/{ => drivers}/usb/chipidea.txt (100%)
 rename Documentation/{ => drivers}/usb/dwc3.txt (100%)
 rename Documentation/{ => drivers}/usb/ehci.txt (100%)
 rename Documentation/{ => drivers}/usb/functionfs.txt (100%)
 rename Documentation/{ => drivers}/usb/gadget-testing.txt (100%)
 rename Documentation/{ => drivers}/usb/gadget_configfs.txt (100%)
 rename Documentation/{ => drivers}/usb/gadget_hid.txt (100%)
 rename Documentation/{ => drivers}/usb/gadget_multi.txt (100%)
 rename Documentation/{ => drivers}/usb/gadget_printer.txt (100%)
 rename Documentation/{ => drivers}/usb/gadget_serial.txt (100%)
 rename Documentation/{ => drivers}/usb/iuu_phoenix.txt (100%)
 rename Documentation/{ => drivers}/usb/linux-cdc-acm.inf (100%)
 rename Documentation/{ => drivers}/usb/linux.inf (100%)
 rename Documentation/{ => drivers}/usb/mass-storage.txt (100%)
 rename Documentation/{ => drivers}/usb/misc_usbsevseg.txt (100%)
 rename Documentation/{ => drivers}/usb/mtouchusb.txt (100%)
 rename Documentation/{ => drivers}/usb/ohci.txt (100%)
 rename Documentation/{ => drivers}/usb/rio.txt (100%)
 rename Documentation/{ => drivers}/usb/usb-help.txt (100%)
 rename Documentation/{ => drivers}/usb/usb-serial.txt (100%)
 rename Documentation/{ => drivers}/usb/usbdevfs-drop-permissions.c (100%)
 rename Documentation/{ => drivers}/usb/usbip_protocol.txt (100%)
 rename Documentation/{ => drivers}/usb/usbmon.txt (100%)
 rename Documentation/{ => drivers}/usb/wusb-cbaf (100%)
 rename Documentation/{ => drivers}/watchdog/convert_drivers_to_kernel_api.rst (100%)
 rename Documentation/{ => drivers}/watchdog/hpwdt.rst (100%)
 rename Documentation/{ => drivers}/watchdog/index.rst (100%)
 rename Documentation/{ => drivers}/watchdog/mlx-wdt.rst (100%)
 rename Documentation/{ => drivers}/watchdog/pcwd-watchdog.rst (100%)
 rename Documentation/{ => drivers}/watchdog/watchdog-api.rst (100%)
 rename Documentation/{ => drivers}/watchdog/watchdog-kernel-api.rst (100%)
 rename Documentation/{ => drivers}/watchdog/watchdog-parameters.rst (100%)
 rename Documentation/{ => drivers}/watchdog/watchdog-pm.rst (100%)
 rename Documentation/{ => drivers}/watchdog/wdt.rst (100%)

diff --git a/Documentation/PCI/MSI-HOWTO.txt b/Documentation/drivers/PCI/MSI-HOWTO.txt
similarity index 100%
rename from Documentation/PCI/MSI-HOWTO.txt
rename to Documentation/drivers/PCI/MSI-HOWTO.txt
diff --git a/Documentation/PCI/PCIEBUS-HOWTO.txt b/Documentation/drivers/PCI/PCIEBUS-HOWTO.txt
similarity index 100%
rename from Documentation/PCI/PCIEBUS-HOWTO.txt
rename to Documentation/drivers/PCI/PCIEBUS-HOWTO.txt
diff --git a/Documentation/PCI/acpi-info.txt b/Documentation/drivers/PCI/acpi-info.txt
similarity index 100%
rename from Documentation/PCI/acpi-info.txt
rename to Documentation/drivers/PCI/acpi-info.txt
diff --git a/Documentation/PCI/endpoint/function/binding/pci-test.txt b/Documentation/drivers/PCI/endpoint/function/binding/pci-test.txt
similarity index 100%
rename from Documentation/PCI/endpoint/function/binding/pci-test.txt
rename to Documentation/drivers/PCI/endpoint/function/binding/pci-test.txt
diff --git a/Documentation/PCI/endpoint/pci-endpoint-cfs.txt b/Documentation/drivers/PCI/endpoint/pci-endpoint-cfs.txt
similarity index 100%
rename from Documentation/PCI/endpoint/pci-endpoint-cfs.txt
rename to Documentation/drivers/PCI/endpoint/pci-endpoint-cfs.txt
diff --git a/Documentation/PCI/endpoint/pci-endpoint.txt b/Documentation/drivers/PCI/endpoint/pci-endpoint.txt
similarity index 100%
rename from Documentation/PCI/endpoint/pci-endpoint.txt
rename to Documentation/drivers/PCI/endpoint/pci-endpoint.txt
diff --git a/Documentation/PCI/endpoint/pci-test-function.txt b/Documentation/drivers/PCI/endpoint/pci-test-function.txt
similarity index 100%
rename from Documentation/PCI/endpoint/pci-test-function.txt
rename to Documentation/drivers/PCI/endpoint/pci-test-function.txt
diff --git a/Documentation/PCI/endpoint/pci-test-howto.txt b/Documentation/drivers/PCI/endpoint/pci-test-howto.txt
similarity index 100%
rename from Documentation/PCI/endpoint/pci-test-howto.txt
rename to Documentation/drivers/PCI/endpoint/pci-test-howto.txt
diff --git a/Documentation/PCI/pci-error-recovery.txt b/Documentation/drivers/PCI/pci-error-recovery.txt
similarity index 100%
rename from Documentation/PCI/pci-error-recovery.txt
rename to Documentation/drivers/PCI/pci-error-recovery.txt
diff --git a/Documentation/PCI/pci-iov-howto.txt b/Documentation/drivers/PCI/pci-iov-howto.txt
similarity index 100%
rename from Documentation/PCI/pci-iov-howto.txt
rename to Documentation/drivers/PCI/pci-iov-howto.txt
diff --git a/Documentation/PCI/pci.txt b/Documentation/drivers/PCI/pci.txt
similarity index 100%
rename from Documentation/PCI/pci.txt
rename to Documentation/drivers/PCI/pci.txt
diff --git a/Documentation/PCI/pcieaer-howto.txt b/Documentation/drivers/PCI/pcieaer-howto.txt
similarity index 100%
rename from Documentation/PCI/pcieaer-howto.txt
rename to Documentation/drivers/PCI/pcieaer-howto.txt
diff --git a/Documentation/acpi/dsd/leds.txt b/Documentation/drivers/acpi/dsd/leds.txt
similarity index 100%
rename from Documentation/acpi/dsd/leds.txt
rename to Documentation/drivers/acpi/dsd/leds.txt
diff --git a/Documentation/auxdisplay/cfag12864b b/Documentation/drivers/auxdisplay/cfag12864b
similarity index 100%
rename from Documentation/auxdisplay/cfag12864b
rename to Documentation/drivers/auxdisplay/cfag12864b
diff --git a/Documentation/auxdisplay/ks0108 b/Documentation/drivers/auxdisplay/ks0108
similarity index 100%
rename from Documentation/auxdisplay/ks0108
rename to Documentation/drivers/auxdisplay/ks0108
diff --git a/Documentation/auxdisplay/lcd-panel-cgram.txt b/Documentation/drivers/auxdisplay/lcd-panel-cgram.txt
similarity index 100%
rename from Documentation/auxdisplay/lcd-panel-cgram.txt
rename to Documentation/drivers/auxdisplay/lcd-panel-cgram.txt
diff --git a/Documentation/backlight/lp855x-driver.txt b/Documentation/drivers/backlight/lp855x-driver.txt
similarity index 100%
rename from Documentation/backlight/lp855x-driver.txt
rename to Documentation/drivers/backlight/lp855x-driver.txt
diff --git a/Documentation/blockdev/drbd/DRBD-8.3-data-packets.svg b/Documentation/drivers/blockdev/drbd/DRBD-8.3-data-packets.svg
similarity index 100%
rename from Documentation/blockdev/drbd/DRBD-8.3-data-packets.svg
rename to Documentation/drivers/blockdev/drbd/DRBD-8.3-data-packets.svg
diff --git a/Documentation/blockdev/drbd/DRBD-data-packets.svg b/Documentation/drivers/blockdev/drbd/DRBD-data-packets.svg
similarity index 100%
rename from Documentation/blockdev/drbd/DRBD-data-packets.svg
rename to Documentation/drivers/blockdev/drbd/DRBD-data-packets.svg
diff --git a/Documentation/blockdev/drbd/README.txt b/Documentation/drivers/blockdev/drbd/README.txt
similarity index 100%
rename from Documentation/blockdev/drbd/README.txt
rename to Documentation/drivers/blockdev/drbd/README.txt
diff --git a/Documentation/blockdev/drbd/conn-states-8.dot b/Documentation/drivers/blockdev/drbd/conn-states-8.dot
similarity index 100%
rename from Documentation/blockdev/drbd/conn-states-8.dot
rename to Documentation/drivers/blockdev/drbd/conn-states-8.dot
diff --git a/Documentation/blockdev/drbd/data-structure-v9.txt b/Documentation/drivers/blockdev/drbd/data-structure-v9.txt
similarity index 100%
rename from Documentation/blockdev/drbd/data-structure-v9.txt
rename to Documentation/drivers/blockdev/drbd/data-structure-v9.txt
diff --git a/Documentation/blockdev/drbd/disk-states-8.dot b/Documentation/drivers/blockdev/drbd/disk-states-8.dot
similarity index 100%
rename from Documentation/blockdev/drbd/disk-states-8.dot
rename to Documentation/drivers/blockdev/drbd/disk-states-8.dot
diff --git a/Documentation/blockdev/drbd/drbd-connection-state-overview.dot b/Documentation/drivers/blockdev/drbd/drbd-connection-state-overview.dot
similarity index 100%
rename from Documentation/blockdev/drbd/drbd-connection-state-overview.dot
rename to Documentation/drivers/blockdev/drbd/drbd-connection-state-overview.dot
diff --git a/Documentation/blockdev/drbd/node-states-8.dot b/Documentation/drivers/blockdev/drbd/node-states-8.dot
similarity index 100%
rename from Documentation/blockdev/drbd/node-states-8.dot
rename to Documentation/drivers/blockdev/drbd/node-states-8.dot
diff --git a/Documentation/blockdev/floppy.txt b/Documentation/drivers/blockdev/floppy.txt
similarity index 100%
rename from Documentation/blockdev/floppy.txt
rename to Documentation/drivers/blockdev/floppy.txt
diff --git a/Documentation/blockdev/nbd.txt b/Documentation/drivers/blockdev/nbd.txt
similarity index 100%
rename from Documentation/blockdev/nbd.txt
rename to Documentation/drivers/blockdev/nbd.txt
diff --git a/Documentation/blockdev/paride.txt b/Documentation/drivers/blockdev/paride.txt
similarity index 100%
rename from Documentation/blockdev/paride.txt
rename to Documentation/drivers/blockdev/paride.txt
diff --git a/Documentation/blockdev/ramdisk.txt b/Documentation/drivers/blockdev/ramdisk.txt
similarity index 100%
rename from Documentation/blockdev/ramdisk.txt
rename to Documentation/drivers/blockdev/ramdisk.txt
diff --git a/Documentation/blockdev/zram.txt b/Documentation/drivers/blockdev/zram.txt
similarity index 100%
rename from Documentation/blockdev/zram.txt
rename to Documentation/drivers/blockdev/zram.txt
diff --git a/Documentation/bus-devices/ti-gpmc.txt b/Documentation/drivers/bus/ti-gpmc.txt
similarity index 100%
rename from Documentation/bus-devices/ti-gpmc.txt
rename to Documentation/drivers/bus/ti-gpmc.txt
diff --git a/Documentation/cdrom/cdrom-standard.rst b/Documentation/drivers/cdrom/cdrom-standard.rst
similarity index 100%
rename from Documentation/cdrom/cdrom-standard.rst
rename to Documentation/drivers/cdrom/cdrom-standard.rst
diff --git a/Documentation/cdrom/ide-cd.rst b/Documentation/drivers/cdrom/ide-cd.rst
similarity index 100%
rename from Documentation/cdrom/ide-cd.rst
rename to Documentation/drivers/cdrom/ide-cd.rst
diff --git a/Documentation/cdrom/index.rst b/Documentation/drivers/cdrom/index.rst
similarity index 100%
rename from Documentation/cdrom/index.rst
rename to Documentation/drivers/cdrom/index.rst
diff --git a/Documentation/cdrom/packet-writing.rst b/Documentation/drivers/cdrom/packet-writing.rst
similarity index 100%
rename from Documentation/cdrom/packet-writing.rst
rename to Documentation/drivers/cdrom/packet-writing.rst
diff --git a/Documentation/cpu-freq/amd-powernow.txt b/Documentation/drivers/cpu-freq/amd-powernow.txt
similarity index 100%
rename from Documentation/cpu-freq/amd-powernow.txt
rename to Documentation/drivers/cpu-freq/amd-powernow.txt
diff --git a/Documentation/cpu-freq/core.txt b/Documentation/drivers/cpu-freq/core.txt
similarity index 100%
rename from Documentation/cpu-freq/core.txt
rename to Documentation/drivers/cpu-freq/core.txt
diff --git a/Documentation/cpu-freq/cpu-drivers.txt b/Documentation/drivers/cpu-freq/cpu-drivers.txt
similarity index 100%
rename from Documentation/cpu-freq/cpu-drivers.txt
rename to Documentation/drivers/cpu-freq/cpu-drivers.txt
diff --git a/Documentation/cpu-freq/cpufreq-nforce2.txt b/Documentation/drivers/cpu-freq/cpufreq-nforce2.txt
similarity index 100%
rename from Documentation/cpu-freq/cpufreq-nforce2.txt
rename to Documentation/drivers/cpu-freq/cpufreq-nforce2.txt
diff --git a/Documentation/cpu-freq/cpufreq-stats.txt b/Documentation/drivers/cpu-freq/cpufreq-stats.txt
similarity index 100%
rename from Documentation/cpu-freq/cpufreq-stats.txt
rename to Documentation/drivers/cpu-freq/cpufreq-stats.txt
diff --git a/Documentation/cpu-freq/index.txt b/Documentation/drivers/cpu-freq/index.txt
similarity index 100%
rename from Documentation/cpu-freq/index.txt
rename to Documentation/drivers/cpu-freq/index.txt
diff --git a/Documentation/cpu-freq/pcc-cpufreq.txt b/Documentation/drivers/cpu-freq/pcc-cpufreq.txt
similarity index 100%
rename from Documentation/cpu-freq/pcc-cpufreq.txt
rename to Documentation/drivers/cpu-freq/pcc-cpufreq.txt
diff --git a/Documentation/crypto/api-aead.rst b/Documentation/drivers/crypto/api-aead.rst
similarity index 100%
rename from Documentation/crypto/api-aead.rst
rename to Documentation/drivers/crypto/api-aead.rst
diff --git a/Documentation/crypto/api-akcipher.rst b/Documentation/drivers/crypto/api-akcipher.rst
similarity index 100%
rename from Documentation/crypto/api-akcipher.rst
rename to Documentation/drivers/crypto/api-akcipher.rst
diff --git a/Documentation/crypto/api-digest.rst b/Documentation/drivers/crypto/api-digest.rst
similarity index 100%
rename from Documentation/crypto/api-digest.rst
rename to Documentation/drivers/crypto/api-digest.rst
diff --git a/Documentation/crypto/api-intro.txt b/Documentation/drivers/crypto/api-intro.txt
similarity index 100%
rename from Documentation/crypto/api-intro.txt
rename to Documentation/drivers/crypto/api-intro.txt
diff --git a/Documentation/crypto/api-kpp.rst b/Documentation/drivers/crypto/api-kpp.rst
similarity index 100%
rename from Documentation/crypto/api-kpp.rst
rename to Documentation/drivers/crypto/api-kpp.rst
diff --git a/Documentation/crypto/api-rng.rst b/Documentation/drivers/crypto/api-rng.rst
similarity index 100%
rename from Documentation/crypto/api-rng.rst
rename to Documentation/drivers/crypto/api-rng.rst
diff --git a/Documentation/crypto/api-samples.rst b/Documentation/drivers/crypto/api-samples.rst
similarity index 100%
rename from Documentation/crypto/api-samples.rst
rename to Documentation/drivers/crypto/api-samples.rst
diff --git a/Documentation/crypto/api-skcipher.rst b/Documentation/drivers/crypto/api-skcipher.rst
similarity index 100%
rename from Documentation/crypto/api-skcipher.rst
rename to Documentation/drivers/crypto/api-skcipher.rst
diff --git a/Documentation/crypto/api.rst b/Documentation/drivers/crypto/api.rst
similarity index 100%
rename from Documentation/crypto/api.rst
rename to Documentation/drivers/crypto/api.rst
diff --git a/Documentation/crypto/architecture.rst b/Documentation/drivers/crypto/architecture.rst
similarity index 100%
rename from Documentation/crypto/architecture.rst
rename to Documentation/drivers/crypto/architecture.rst
diff --git a/Documentation/crypto/asymmetric-keys.txt b/Documentation/drivers/crypto/asymmetric-keys.txt
similarity index 100%
rename from Documentation/crypto/asymmetric-keys.txt
rename to Documentation/drivers/crypto/asymmetric-keys.txt
diff --git a/Documentation/crypto/async-tx-api.txt b/Documentation/drivers/crypto/async-tx-api.txt
similarity index 100%
rename from Documentation/crypto/async-tx-api.txt
rename to Documentation/drivers/crypto/async-tx-api.txt
diff --git a/Documentation/crypto/conf.py b/Documentation/drivers/crypto/conf.py
similarity index 100%
rename from Documentation/crypto/conf.py
rename to Documentation/drivers/crypto/conf.py
diff --git a/Documentation/crypto/crypto_engine.rst b/Documentation/drivers/crypto/crypto_engine.rst
similarity index 100%
rename from Documentation/crypto/crypto_engine.rst
rename to Documentation/drivers/crypto/crypto_engine.rst
diff --git a/Documentation/crypto/descore-readme.txt b/Documentation/drivers/crypto/descore-readme.txt
similarity index 100%
rename from Documentation/crypto/descore-readme.txt
rename to Documentation/drivers/crypto/descore-readme.txt
diff --git a/Documentation/crypto/devel-algos.rst b/Documentation/drivers/crypto/devel-algos.rst
similarity index 100%
rename from Documentation/crypto/devel-algos.rst
rename to Documentation/drivers/crypto/devel-algos.rst
diff --git a/Documentation/crypto/index.rst b/Documentation/drivers/crypto/index.rst
similarity index 100%
rename from Documentation/crypto/index.rst
rename to Documentation/drivers/crypto/index.rst
diff --git a/Documentation/crypto/intro.rst b/Documentation/drivers/crypto/intro.rst
similarity index 100%
rename from Documentation/crypto/intro.rst
rename to Documentation/drivers/crypto/intro.rst
diff --git a/Documentation/crypto/userspace-if.rst b/Documentation/drivers/crypto/userspace-if.rst
similarity index 100%
rename from Documentation/crypto/userspace-if.rst
rename to Documentation/drivers/crypto/userspace-if.rst
diff --git a/Documentation/device-mapper/cache-policies.rst b/Documentation/drivers/device-mapper/cache-policies.rst
similarity index 100%
rename from Documentation/device-mapper/cache-policies.rst
rename to Documentation/drivers/device-mapper/cache-policies.rst
diff --git a/Documentation/device-mapper/cache.rst b/Documentation/drivers/device-mapper/cache.rst
similarity index 100%
rename from Documentation/device-mapper/cache.rst
rename to Documentation/drivers/device-mapper/cache.rst
diff --git a/Documentation/device-mapper/delay.rst b/Documentation/drivers/device-mapper/delay.rst
similarity index 100%
rename from Documentation/device-mapper/delay.rst
rename to Documentation/drivers/device-mapper/delay.rst
diff --git a/Documentation/device-mapper/dm-crypt.rst b/Documentation/drivers/device-mapper/dm-crypt.rst
similarity index 100%
rename from Documentation/device-mapper/dm-crypt.rst
rename to Documentation/drivers/device-mapper/dm-crypt.rst
diff --git a/Documentation/device-mapper/dm-dust.txt b/Documentation/drivers/device-mapper/dm-dust.txt
similarity index 100%
rename from Documentation/device-mapper/dm-dust.txt
rename to Documentation/drivers/device-mapper/dm-dust.txt
diff --git a/Documentation/device-mapper/dm-flakey.rst b/Documentation/drivers/device-mapper/dm-flakey.rst
similarity index 100%
rename from Documentation/device-mapper/dm-flakey.rst
rename to Documentation/drivers/device-mapper/dm-flakey.rst
diff --git a/Documentation/device-mapper/dm-init.rst b/Documentation/drivers/device-mapper/dm-init.rst
similarity index 100%
rename from Documentation/device-mapper/dm-init.rst
rename to Documentation/drivers/device-mapper/dm-init.rst
diff --git a/Documentation/device-mapper/dm-integrity.rst b/Documentation/drivers/device-mapper/dm-integrity.rst
similarity index 100%
rename from Documentation/device-mapper/dm-integrity.rst
rename to Documentation/drivers/device-mapper/dm-integrity.rst
diff --git a/Documentation/device-mapper/dm-io.rst b/Documentation/drivers/device-mapper/dm-io.rst
similarity index 100%
rename from Documentation/device-mapper/dm-io.rst
rename to Documentation/drivers/device-mapper/dm-io.rst
diff --git a/Documentation/device-mapper/dm-log.rst b/Documentation/drivers/device-mapper/dm-log.rst
similarity index 100%
rename from Documentation/device-mapper/dm-log.rst
rename to Documentation/drivers/device-mapper/dm-log.rst
diff --git a/Documentation/device-mapper/dm-queue-length.rst b/Documentation/drivers/device-mapper/dm-queue-length.rst
similarity index 100%
rename from Documentation/device-mapper/dm-queue-length.rst
rename to Documentation/drivers/device-mapper/dm-queue-length.rst
diff --git a/Documentation/device-mapper/dm-raid.rst b/Documentation/drivers/device-mapper/dm-raid.rst
similarity index 100%
rename from Documentation/device-mapper/dm-raid.rst
rename to Documentation/drivers/device-mapper/dm-raid.rst
diff --git a/Documentation/device-mapper/dm-service-time.rst b/Documentation/drivers/device-mapper/dm-service-time.rst
similarity index 100%
rename from Documentation/device-mapper/dm-service-time.rst
rename to Documentation/drivers/device-mapper/dm-service-time.rst
diff --git a/Documentation/device-mapper/dm-uevent.rst b/Documentation/drivers/device-mapper/dm-uevent.rst
similarity index 100%
rename from Documentation/device-mapper/dm-uevent.rst
rename to Documentation/drivers/device-mapper/dm-uevent.rst
diff --git a/Documentation/device-mapper/dm-zoned.rst b/Documentation/drivers/device-mapper/dm-zoned.rst
similarity index 100%
rename from Documentation/device-mapper/dm-zoned.rst
rename to Documentation/drivers/device-mapper/dm-zoned.rst
diff --git a/Documentation/device-mapper/era.rst b/Documentation/drivers/device-mapper/era.rst
similarity index 100%
rename from Documentation/device-mapper/era.rst
rename to Documentation/drivers/device-mapper/era.rst
diff --git a/Documentation/device-mapper/index.rst b/Documentation/drivers/device-mapper/index.rst
similarity index 100%
rename from Documentation/device-mapper/index.rst
rename to Documentation/drivers/device-mapper/index.rst
diff --git a/Documentation/device-mapper/kcopyd.rst b/Documentation/drivers/device-mapper/kcopyd.rst
similarity index 100%
rename from Documentation/device-mapper/kcopyd.rst
rename to Documentation/drivers/device-mapper/kcopyd.rst
diff --git a/Documentation/device-mapper/linear.rst b/Documentation/drivers/device-mapper/linear.rst
similarity index 100%
rename from Documentation/device-mapper/linear.rst
rename to Documentation/drivers/device-mapper/linear.rst
diff --git a/Documentation/device-mapper/log-writes.rst b/Documentation/drivers/device-mapper/log-writes.rst
similarity index 100%
rename from Documentation/device-mapper/log-writes.rst
rename to Documentation/drivers/device-mapper/log-writes.rst
diff --git a/Documentation/device-mapper/persistent-data.rst b/Documentation/drivers/device-mapper/persistent-data.rst
similarity index 100%
rename from Documentation/device-mapper/persistent-data.rst
rename to Documentation/drivers/device-mapper/persistent-data.rst
diff --git a/Documentation/device-mapper/snapshot.rst b/Documentation/drivers/device-mapper/snapshot.rst
similarity index 100%
rename from Documentation/device-mapper/snapshot.rst
rename to Documentation/drivers/device-mapper/snapshot.rst
diff --git a/Documentation/device-mapper/statistics.rst b/Documentation/drivers/device-mapper/statistics.rst
similarity index 100%
rename from Documentation/device-mapper/statistics.rst
rename to Documentation/drivers/device-mapper/statistics.rst
diff --git a/Documentation/device-mapper/striped.rst b/Documentation/drivers/device-mapper/striped.rst
similarity index 100%
rename from Documentation/device-mapper/striped.rst
rename to Documentation/drivers/device-mapper/striped.rst
diff --git a/Documentation/device-mapper/switch.rst b/Documentation/drivers/device-mapper/switch.rst
similarity index 100%
rename from Documentation/device-mapper/switch.rst
rename to Documentation/drivers/device-mapper/switch.rst
diff --git a/Documentation/device-mapper/thin-provisioning.rst b/Documentation/drivers/device-mapper/thin-provisioning.rst
similarity index 100%
rename from Documentation/device-mapper/thin-provisioning.rst
rename to Documentation/drivers/device-mapper/thin-provisioning.rst
diff --git a/Documentation/device-mapper/unstriped.rst b/Documentation/drivers/device-mapper/unstriped.rst
similarity index 100%
rename from Documentation/device-mapper/unstriped.rst
rename to Documentation/drivers/device-mapper/unstriped.rst
diff --git a/Documentation/device-mapper/verity.rst b/Documentation/drivers/device-mapper/verity.rst
similarity index 100%
rename from Documentation/device-mapper/verity.rst
rename to Documentation/drivers/device-mapper/verity.rst
diff --git a/Documentation/device-mapper/writecache.rst b/Documentation/drivers/device-mapper/writecache.rst
similarity index 100%
rename from Documentation/device-mapper/writecache.rst
rename to Documentation/drivers/device-mapper/writecache.rst
diff --git a/Documentation/device-mapper/zero.rst b/Documentation/drivers/device-mapper/zero.rst
similarity index 100%
rename from Documentation/device-mapper/zero.rst
rename to Documentation/drivers/device-mapper/zero.rst
diff --git a/Documentation/driver-api/80211/cfg80211.rst b/Documentation/drivers/driver-api/80211/cfg80211.rst
similarity index 100%
rename from Documentation/driver-api/80211/cfg80211.rst
rename to Documentation/drivers/driver-api/80211/cfg80211.rst
diff --git a/Documentation/driver-api/80211/conf.py b/Documentation/drivers/driver-api/80211/conf.py
similarity index 100%
rename from Documentation/driver-api/80211/conf.py
rename to Documentation/drivers/driver-api/80211/conf.py
diff --git a/Documentation/driver-api/80211/index.rst b/Documentation/drivers/driver-api/80211/index.rst
similarity index 100%
rename from Documentation/driver-api/80211/index.rst
rename to Documentation/drivers/driver-api/80211/index.rst
diff --git a/Documentation/driver-api/80211/introduction.rst b/Documentation/drivers/driver-api/80211/introduction.rst
similarity index 100%
rename from Documentation/driver-api/80211/introduction.rst
rename to Documentation/drivers/driver-api/80211/introduction.rst
diff --git a/Documentation/driver-api/80211/mac80211-advanced.rst b/Documentation/drivers/driver-api/80211/mac80211-advanced.rst
similarity index 100%
rename from Documentation/driver-api/80211/mac80211-advanced.rst
rename to Documentation/drivers/driver-api/80211/mac80211-advanced.rst
diff --git a/Documentation/driver-api/80211/mac80211.rst b/Documentation/drivers/driver-api/80211/mac80211.rst
similarity index 100%
rename from Documentation/driver-api/80211/mac80211.rst
rename to Documentation/drivers/driver-api/80211/mac80211.rst
diff --git a/Documentation/driver-api/acpi/index.rst b/Documentation/drivers/driver-api/acpi/index.rst
similarity index 100%
rename from Documentation/driver-api/acpi/index.rst
rename to Documentation/drivers/driver-api/acpi/index.rst
diff --git a/Documentation/driver-api/acpi/linuxized-acpica.rst b/Documentation/drivers/driver-api/acpi/linuxized-acpica.rst
similarity index 100%
rename from Documentation/driver-api/acpi/linuxized-acpica.rst
rename to Documentation/drivers/driver-api/acpi/linuxized-acpica.rst
diff --git a/Documentation/driver-api/acpi/scan_handlers.rst b/Documentation/drivers/driver-api/acpi/scan_handlers.rst
similarity index 100%
rename from Documentation/driver-api/acpi/scan_handlers.rst
rename to Documentation/drivers/driver-api/acpi/scan_handlers.rst
diff --git a/Documentation/driver-api/basics.rst b/Documentation/drivers/driver-api/basics.rst
similarity index 100%
rename from Documentation/driver-api/basics.rst
rename to Documentation/drivers/driver-api/basics.rst
diff --git a/Documentation/driver-api/clk.rst b/Documentation/drivers/driver-api/clk.rst
similarity index 100%
rename from Documentation/driver-api/clk.rst
rename to Documentation/drivers/driver-api/clk.rst
diff --git a/Documentation/driver-api/component.rst b/Documentation/drivers/driver-api/component.rst
similarity index 100%
rename from Documentation/driver-api/component.rst
rename to Documentation/drivers/driver-api/component.rst
diff --git a/Documentation/driver-api/conf.py b/Documentation/drivers/driver-api/conf.py
similarity index 100%
rename from Documentation/driver-api/conf.py
rename to Documentation/drivers/driver-api/conf.py
diff --git a/Documentation/driver-api/device-io.rst b/Documentation/drivers/driver-api/device-io.rst
similarity index 100%
rename from Documentation/driver-api/device-io.rst
rename to Documentation/drivers/driver-api/device-io.rst
diff --git a/Documentation/driver-api/device_connection.rst b/Documentation/drivers/driver-api/device_connection.rst
similarity index 100%
rename from Documentation/driver-api/device_connection.rst
rename to Documentation/drivers/driver-api/device_connection.rst
diff --git a/Documentation/driver-api/device_link.rst b/Documentation/drivers/driver-api/device_link.rst
similarity index 100%
rename from Documentation/driver-api/device_link.rst
rename to Documentation/drivers/driver-api/device_link.rst
diff --git a/Documentation/driver-api/dma-buf.rst b/Documentation/drivers/driver-api/dma-buf.rst
similarity index 100%
rename from Documentation/driver-api/dma-buf.rst
rename to Documentation/drivers/driver-api/dma-buf.rst
diff --git a/Documentation/driver-api/dmaengine/client.rst b/Documentation/drivers/driver-api/dmaengine/client.rst
similarity index 100%
rename from Documentation/driver-api/dmaengine/client.rst
rename to Documentation/drivers/driver-api/dmaengine/client.rst
diff --git a/Documentation/driver-api/dmaengine/dmatest.rst b/Documentation/drivers/driver-api/dmaengine/dmatest.rst
similarity index 100%
rename from Documentation/driver-api/dmaengine/dmatest.rst
rename to Documentation/drivers/driver-api/dmaengine/dmatest.rst
diff --git a/Documentation/driver-api/dmaengine/index.rst b/Documentation/drivers/driver-api/dmaengine/index.rst
similarity index 100%
rename from Documentation/driver-api/dmaengine/index.rst
rename to Documentation/drivers/driver-api/dmaengine/index.rst
diff --git a/Documentation/driver-api/dmaengine/provider.rst b/Documentation/drivers/driver-api/dmaengine/provider.rst
similarity index 100%
rename from Documentation/driver-api/dmaengine/provider.rst
rename to Documentation/drivers/driver-api/dmaengine/provider.rst
diff --git a/Documentation/driver-api/dmaengine/pxa_dma.rst b/Documentation/drivers/driver-api/dmaengine/pxa_dma.rst
similarity index 100%
rename from Documentation/driver-api/dmaengine/pxa_dma.rst
rename to Documentation/drivers/driver-api/dmaengine/pxa_dma.rst
diff --git a/Documentation/driver-api/edac.rst b/Documentation/drivers/driver-api/edac.rst
similarity index 100%
rename from Documentation/driver-api/edac.rst
rename to Documentation/drivers/driver-api/edac.rst
diff --git a/Documentation/driver-api/firewire.rst b/Documentation/drivers/driver-api/firewire.rst
similarity index 100%
rename from Documentation/driver-api/firewire.rst
rename to Documentation/drivers/driver-api/firewire.rst
diff --git a/Documentation/driver-api/firmware/built-in-fw.rst b/Documentation/drivers/driver-api/firmware/built-in-fw.rst
similarity index 100%
rename from Documentation/driver-api/firmware/built-in-fw.rst
rename to Documentation/drivers/driver-api/firmware/built-in-fw.rst
diff --git a/Documentation/driver-api/firmware/core.rst b/Documentation/drivers/driver-api/firmware/core.rst
similarity index 100%
rename from Documentation/driver-api/firmware/core.rst
rename to Documentation/drivers/driver-api/firmware/core.rst
diff --git a/Documentation/driver-api/firmware/direct-fs-lookup.rst b/Documentation/drivers/driver-api/firmware/direct-fs-lookup.rst
similarity index 100%
rename from Documentation/driver-api/firmware/direct-fs-lookup.rst
rename to Documentation/drivers/driver-api/firmware/direct-fs-lookup.rst
diff --git a/Documentation/driver-api/firmware/fallback-mechanisms.rst b/Documentation/drivers/driver-api/firmware/fallback-mechanisms.rst
similarity index 100%
rename from Documentation/driver-api/firmware/fallback-mechanisms.rst
rename to Documentation/drivers/driver-api/firmware/fallback-mechanisms.rst
diff --git a/Documentation/driver-api/firmware/firmware_cache.rst b/Documentation/drivers/driver-api/firmware/firmware_cache.rst
similarity index 100%
rename from Documentation/driver-api/firmware/firmware_cache.rst
rename to Documentation/drivers/driver-api/firmware/firmware_cache.rst
diff --git a/Documentation/driver-api/firmware/fw_search_path.rst b/Documentation/drivers/driver-api/firmware/fw_search_path.rst
similarity index 100%
rename from Documentation/driver-api/firmware/fw_search_path.rst
rename to Documentation/drivers/driver-api/firmware/fw_search_path.rst
diff --git a/Documentation/driver-api/firmware/index.rst b/Documentation/drivers/driver-api/firmware/index.rst
similarity index 100%
rename from Documentation/driver-api/firmware/index.rst
rename to Documentation/drivers/driver-api/firmware/index.rst
diff --git a/Documentation/driver-api/firmware/introduction.rst b/Documentation/drivers/driver-api/firmware/introduction.rst
similarity index 100%
rename from Documentation/driver-api/firmware/introduction.rst
rename to Documentation/drivers/driver-api/firmware/introduction.rst
diff --git a/Documentation/driver-api/firmware/lookup-order.rst b/Documentation/drivers/driver-api/firmware/lookup-order.rst
similarity index 100%
rename from Documentation/driver-api/firmware/lookup-order.rst
rename to Documentation/drivers/driver-api/firmware/lookup-order.rst
diff --git a/Documentation/driver-api/firmware/other_interfaces.rst b/Documentation/drivers/driver-api/firmware/other_interfaces.rst
similarity index 100%
rename from Documentation/driver-api/firmware/other_interfaces.rst
rename to Documentation/drivers/driver-api/firmware/other_interfaces.rst
diff --git a/Documentation/driver-api/firmware/request_firmware.rst b/Documentation/drivers/driver-api/firmware/request_firmware.rst
similarity index 100%
rename from Documentation/driver-api/firmware/request_firmware.rst
rename to Documentation/drivers/driver-api/firmware/request_firmware.rst
diff --git a/Documentation/driver-api/fpga/fpga-bridge.rst b/Documentation/drivers/driver-api/fpga/fpga-bridge.rst
similarity index 100%
rename from Documentation/driver-api/fpga/fpga-bridge.rst
rename to Documentation/drivers/driver-api/fpga/fpga-bridge.rst
diff --git a/Documentation/driver-api/fpga/fpga-mgr.rst b/Documentation/drivers/driver-api/fpga/fpga-mgr.rst
similarity index 100%
rename from Documentation/driver-api/fpga/fpga-mgr.rst
rename to Documentation/drivers/driver-api/fpga/fpga-mgr.rst
diff --git a/Documentation/driver-api/fpga/fpga-programming.rst b/Documentation/drivers/driver-api/fpga/fpga-programming.rst
similarity index 100%
rename from Documentation/driver-api/fpga/fpga-programming.rst
rename to Documentation/drivers/driver-api/fpga/fpga-programming.rst
diff --git a/Documentation/driver-api/fpga/fpga-region.rst b/Documentation/drivers/driver-api/fpga/fpga-region.rst
similarity index 100%
rename from Documentation/driver-api/fpga/fpga-region.rst
rename to Documentation/drivers/driver-api/fpga/fpga-region.rst
diff --git a/Documentation/driver-api/fpga/index.rst b/Documentation/drivers/driver-api/fpga/index.rst
similarity index 100%
rename from Documentation/driver-api/fpga/index.rst
rename to Documentation/drivers/driver-api/fpga/index.rst
diff --git a/Documentation/driver-api/fpga/intro.rst b/Documentation/drivers/driver-api/fpga/intro.rst
similarity index 100%
rename from Documentation/driver-api/fpga/intro.rst
rename to Documentation/drivers/driver-api/fpga/intro.rst
diff --git a/Documentation/driver-api/frame-buffer.rst b/Documentation/drivers/driver-api/frame-buffer.rst
similarity index 100%
rename from Documentation/driver-api/frame-buffer.rst
rename to Documentation/drivers/driver-api/frame-buffer.rst
diff --git a/Documentation/driver-api/generic-counter.rst b/Documentation/drivers/driver-api/generic-counter.rst
similarity index 100%
rename from Documentation/driver-api/generic-counter.rst
rename to Documentation/drivers/driver-api/generic-counter.rst
diff --git a/Documentation/driver-api/gpio/board.rst b/Documentation/drivers/driver-api/gpio/board.rst
similarity index 100%
rename from Documentation/driver-api/gpio/board.rst
rename to Documentation/drivers/driver-api/gpio/board.rst
diff --git a/Documentation/driver-api/gpio/consumer.rst b/Documentation/drivers/driver-api/gpio/consumer.rst
similarity index 100%
rename from Documentation/driver-api/gpio/consumer.rst
rename to Documentation/drivers/driver-api/gpio/consumer.rst
diff --git a/Documentation/driver-api/gpio/driver.rst b/Documentation/drivers/driver-api/gpio/driver.rst
similarity index 100%
rename from Documentation/driver-api/gpio/driver.rst
rename to Documentation/drivers/driver-api/gpio/driver.rst
diff --git a/Documentation/driver-api/gpio/drivers-on-gpio.rst b/Documentation/drivers/driver-api/gpio/drivers-on-gpio.rst
similarity index 100%
rename from Documentation/driver-api/gpio/drivers-on-gpio.rst
rename to Documentation/drivers/driver-api/gpio/drivers-on-gpio.rst
diff --git a/Documentation/driver-api/gpio/index.rst b/Documentation/drivers/driver-api/gpio/index.rst
similarity index 100%
rename from Documentation/driver-api/gpio/index.rst
rename to Documentation/drivers/driver-api/gpio/index.rst
diff --git a/Documentation/driver-api/gpio/intro.rst b/Documentation/drivers/driver-api/gpio/intro.rst
similarity index 100%
rename from Documentation/driver-api/gpio/intro.rst
rename to Documentation/drivers/driver-api/gpio/intro.rst
diff --git a/Documentation/driver-api/gpio/legacy.rst b/Documentation/drivers/driver-api/gpio/legacy.rst
similarity index 100%
rename from Documentation/driver-api/gpio/legacy.rst
rename to Documentation/drivers/driver-api/gpio/legacy.rst
diff --git a/Documentation/driver-api/hsi.rst b/Documentation/drivers/driver-api/hsi.rst
similarity index 100%
rename from Documentation/driver-api/hsi.rst
rename to Documentation/drivers/driver-api/hsi.rst
diff --git a/Documentation/driver-api/i2c.rst b/Documentation/drivers/driver-api/i2c.rst
similarity index 100%
rename from Documentation/driver-api/i2c.rst
rename to Documentation/drivers/driver-api/i2c.rst
diff --git a/Documentation/driver-api/i3c/device-driver-api.rst b/Documentation/drivers/driver-api/i3c/device-driver-api.rst
similarity index 100%
rename from Documentation/driver-api/i3c/device-driver-api.rst
rename to Documentation/drivers/driver-api/i3c/device-driver-api.rst
diff --git a/Documentation/driver-api/i3c/index.rst b/Documentation/drivers/driver-api/i3c/index.rst
similarity index 100%
rename from Documentation/driver-api/i3c/index.rst
rename to Documentation/drivers/driver-api/i3c/index.rst
diff --git a/Documentation/driver-api/i3c/master-driver-api.rst b/Documentation/drivers/driver-api/i3c/master-driver-api.rst
similarity index 100%
rename from Documentation/driver-api/i3c/master-driver-api.rst
rename to Documentation/drivers/driver-api/i3c/master-driver-api.rst
diff --git a/Documentation/driver-api/i3c/protocol.rst b/Documentation/drivers/driver-api/i3c/protocol.rst
similarity index 100%
rename from Documentation/driver-api/i3c/protocol.rst
rename to Documentation/drivers/driver-api/i3c/protocol.rst
diff --git a/Documentation/driver-api/iio/buffers.rst b/Documentation/drivers/driver-api/iio/buffers.rst
similarity index 100%
rename from Documentation/driver-api/iio/buffers.rst
rename to Documentation/drivers/driver-api/iio/buffers.rst
diff --git a/Documentation/driver-api/iio/core.rst b/Documentation/drivers/driver-api/iio/core.rst
similarity index 100%
rename from Documentation/driver-api/iio/core.rst
rename to Documentation/drivers/driver-api/iio/core.rst
diff --git a/Documentation/driver-api/iio/hw-consumer.rst b/Documentation/drivers/driver-api/iio/hw-consumer.rst
similarity index 100%
rename from Documentation/driver-api/iio/hw-consumer.rst
rename to Documentation/drivers/driver-api/iio/hw-consumer.rst
diff --git a/Documentation/driver-api/iio/index.rst b/Documentation/drivers/driver-api/iio/index.rst
similarity index 100%
rename from Documentation/driver-api/iio/index.rst
rename to Documentation/drivers/driver-api/iio/index.rst
diff --git a/Documentation/driver-api/iio/intro.rst b/Documentation/drivers/driver-api/iio/intro.rst
similarity index 100%
rename from Documentation/driver-api/iio/intro.rst
rename to Documentation/drivers/driver-api/iio/intro.rst
diff --git a/Documentation/driver-api/iio/triggered-buffers.rst b/Documentation/drivers/driver-api/iio/triggered-buffers.rst
similarity index 100%
rename from Documentation/driver-api/iio/triggered-buffers.rst
rename to Documentation/drivers/driver-api/iio/triggered-buffers.rst
diff --git a/Documentation/driver-api/iio/triggers.rst b/Documentation/drivers/driver-api/iio/triggers.rst
similarity index 100%
rename from Documentation/driver-api/iio/triggers.rst
rename to Documentation/drivers/driver-api/iio/triggers.rst
diff --git a/Documentation/driver-api/index.rst b/Documentation/drivers/driver-api/index.rst
similarity index 100%
rename from Documentation/driver-api/index.rst
rename to Documentation/drivers/driver-api/index.rst
diff --git a/Documentation/driver-api/infrastructure.rst b/Documentation/drivers/driver-api/infrastructure.rst
similarity index 100%
rename from Documentation/driver-api/infrastructure.rst
rename to Documentation/drivers/driver-api/infrastructure.rst
diff --git a/Documentation/driver-api/input.rst b/Documentation/drivers/driver-api/input.rst
similarity index 100%
rename from Documentation/driver-api/input.rst
rename to Documentation/drivers/driver-api/input.rst
diff --git a/Documentation/driver-api/libata.rst b/Documentation/drivers/driver-api/libata.rst
similarity index 100%
rename from Documentation/driver-api/libata.rst
rename to Documentation/drivers/driver-api/libata.rst
diff --git a/Documentation/driver-api/message-based.rst b/Documentation/drivers/driver-api/message-based.rst
similarity index 100%
rename from Documentation/driver-api/message-based.rst
rename to Documentation/drivers/driver-api/message-based.rst
diff --git a/Documentation/driver-api/misc_devices.rst b/Documentation/drivers/driver-api/misc_devices.rst
similarity index 100%
rename from Documentation/driver-api/misc_devices.rst
rename to Documentation/drivers/driver-api/misc_devices.rst
diff --git a/Documentation/driver-api/miscellaneous.rst b/Documentation/drivers/driver-api/miscellaneous.rst
similarity index 100%
rename from Documentation/driver-api/miscellaneous.rst
rename to Documentation/drivers/driver-api/miscellaneous.rst
diff --git a/Documentation/driver-api/mtdnand.rst b/Documentation/drivers/driver-api/mtdnand.rst
similarity index 100%
rename from Documentation/driver-api/mtdnand.rst
rename to Documentation/drivers/driver-api/mtdnand.rst
diff --git a/Documentation/driver-api/pci/index.rst b/Documentation/drivers/driver-api/pci/index.rst
similarity index 100%
rename from Documentation/driver-api/pci/index.rst
rename to Documentation/drivers/driver-api/pci/index.rst
diff --git a/Documentation/driver-api/pci/p2pdma.rst b/Documentation/drivers/driver-api/pci/p2pdma.rst
similarity index 100%
rename from Documentation/driver-api/pci/p2pdma.rst
rename to Documentation/drivers/driver-api/pci/p2pdma.rst
diff --git a/Documentation/driver-api/pci/pci.rst b/Documentation/drivers/driver-api/pci/pci.rst
similarity index 100%
rename from Documentation/driver-api/pci/pci.rst
rename to Documentation/drivers/driver-api/pci/pci.rst
diff --git a/Documentation/driver-api/pinctl.rst b/Documentation/drivers/driver-api/pinctl.rst
similarity index 100%
rename from Documentation/driver-api/pinctl.rst
rename to Documentation/drivers/driver-api/pinctl.rst
diff --git a/Documentation/driver-api/pm/conf.py b/Documentation/drivers/driver-api/pm/conf.py
similarity index 100%
rename from Documentation/driver-api/pm/conf.py
rename to Documentation/drivers/driver-api/pm/conf.py
diff --git a/Documentation/driver-api/pm/cpuidle.rst b/Documentation/drivers/driver-api/pm/cpuidle.rst
similarity index 100%
rename from Documentation/driver-api/pm/cpuidle.rst
rename to Documentation/drivers/driver-api/pm/cpuidle.rst
diff --git a/Documentation/driver-api/pm/devices.rst b/Documentation/drivers/driver-api/pm/devices.rst
similarity index 100%
rename from Documentation/driver-api/pm/devices.rst
rename to Documentation/drivers/driver-api/pm/devices.rst
diff --git a/Documentation/driver-api/pm/index.rst b/Documentation/drivers/driver-api/pm/index.rst
similarity index 100%
rename from Documentation/driver-api/pm/index.rst
rename to Documentation/drivers/driver-api/pm/index.rst
diff --git a/Documentation/driver-api/pm/notifiers.rst b/Documentation/drivers/driver-api/pm/notifiers.rst
similarity index 100%
rename from Documentation/driver-api/pm/notifiers.rst
rename to Documentation/drivers/driver-api/pm/notifiers.rst
diff --git a/Documentation/driver-api/pm/types.rst b/Documentation/drivers/driver-api/pm/types.rst
similarity index 100%
rename from Documentation/driver-api/pm/types.rst
rename to Documentation/drivers/driver-api/pm/types.rst
diff --git a/Documentation/driver-api/pps.rst b/Documentation/drivers/driver-api/pps.rst
similarity index 100%
rename from Documentation/driver-api/pps.rst
rename to Documentation/drivers/driver-api/pps.rst
diff --git a/Documentation/driver-api/ptp.rst b/Documentation/drivers/driver-api/ptp.rst
similarity index 100%
rename from Documentation/driver-api/ptp.rst
rename to Documentation/drivers/driver-api/ptp.rst
diff --git a/Documentation/driver-api/rapidio.rst b/Documentation/drivers/driver-api/rapidio.rst
similarity index 100%
rename from Documentation/driver-api/rapidio.rst
rename to Documentation/drivers/driver-api/rapidio.rst
diff --git a/Documentation/driver-api/regulator.rst b/Documentation/drivers/driver-api/regulator.rst
similarity index 100%
rename from Documentation/driver-api/regulator.rst
rename to Documentation/drivers/driver-api/regulator.rst
diff --git a/Documentation/driver-api/s390-drivers.rst b/Documentation/drivers/driver-api/s390-drivers.rst
similarity index 100%
rename from Documentation/driver-api/s390-drivers.rst
rename to Documentation/drivers/driver-api/s390-drivers.rst
diff --git a/Documentation/driver-api/scsi.rst b/Documentation/drivers/driver-api/scsi.rst
similarity index 100%
rename from Documentation/driver-api/scsi.rst
rename to Documentation/drivers/driver-api/scsi.rst
diff --git a/Documentation/driver-api/slimbus.rst b/Documentation/drivers/driver-api/slimbus.rst
similarity index 100%
rename from Documentation/driver-api/slimbus.rst
rename to Documentation/drivers/driver-api/slimbus.rst
diff --git a/Documentation/driver-api/sound.rst b/Documentation/drivers/driver-api/sound.rst
similarity index 100%
rename from Documentation/driver-api/sound.rst
rename to Documentation/drivers/driver-api/sound.rst
diff --git a/Documentation/driver-api/soundwire/error_handling.rst b/Documentation/drivers/driver-api/soundwire/error_handling.rst
similarity index 100%
rename from Documentation/driver-api/soundwire/error_handling.rst
rename to Documentation/drivers/driver-api/soundwire/error_handling.rst
diff --git a/Documentation/driver-api/soundwire/index.rst b/Documentation/drivers/driver-api/soundwire/index.rst
similarity index 100%
rename from Documentation/driver-api/soundwire/index.rst
rename to Documentation/drivers/driver-api/soundwire/index.rst
diff --git a/Documentation/driver-api/soundwire/locking.rst b/Documentation/drivers/driver-api/soundwire/locking.rst
similarity index 100%
rename from Documentation/driver-api/soundwire/locking.rst
rename to Documentation/drivers/driver-api/soundwire/locking.rst
diff --git a/Documentation/driver-api/soundwire/stream.rst b/Documentation/drivers/driver-api/soundwire/stream.rst
similarity index 100%
rename from Documentation/driver-api/soundwire/stream.rst
rename to Documentation/drivers/driver-api/soundwire/stream.rst
diff --git a/Documentation/driver-api/soundwire/summary.rst b/Documentation/drivers/driver-api/soundwire/summary.rst
similarity index 100%
rename from Documentation/driver-api/soundwire/summary.rst
rename to Documentation/drivers/driver-api/soundwire/summary.rst
diff --git a/Documentation/driver-api/spi.rst b/Documentation/drivers/driver-api/spi.rst
similarity index 100%
rename from Documentation/driver-api/spi.rst
rename to Documentation/drivers/driver-api/spi.rst
diff --git a/Documentation/driver-api/target.rst b/Documentation/drivers/driver-api/target.rst
similarity index 100%
rename from Documentation/driver-api/target.rst
rename to Documentation/drivers/driver-api/target.rst
diff --git a/Documentation/driver-api/uio-howto.rst b/Documentation/drivers/driver-api/uio-howto.rst
similarity index 100%
rename from Documentation/driver-api/uio-howto.rst
rename to Documentation/drivers/driver-api/uio-howto.rst
diff --git a/Documentation/driver-api/usb/URB.rst b/Documentation/drivers/driver-api/usb/URB.rst
similarity index 100%
rename from Documentation/driver-api/usb/URB.rst
rename to Documentation/drivers/driver-api/usb/URB.rst
diff --git a/Documentation/driver-api/usb/anchors.rst b/Documentation/drivers/driver-api/usb/anchors.rst
similarity index 100%
rename from Documentation/driver-api/usb/anchors.rst
rename to Documentation/drivers/driver-api/usb/anchors.rst
diff --git a/Documentation/driver-api/usb/bulk-streams.rst b/Documentation/drivers/driver-api/usb/bulk-streams.rst
similarity index 100%
rename from Documentation/driver-api/usb/bulk-streams.rst
rename to Documentation/drivers/driver-api/usb/bulk-streams.rst
diff --git a/Documentation/driver-api/usb/callbacks.rst b/Documentation/drivers/driver-api/usb/callbacks.rst
similarity index 100%
rename from Documentation/driver-api/usb/callbacks.rst
rename to Documentation/drivers/driver-api/usb/callbacks.rst
diff --git a/Documentation/driver-api/usb/dma.rst b/Documentation/drivers/driver-api/usb/dma.rst
similarity index 100%
rename from Documentation/driver-api/usb/dma.rst
rename to Documentation/drivers/driver-api/usb/dma.rst
diff --git a/Documentation/driver-api/usb/dwc3.rst b/Documentation/drivers/driver-api/usb/dwc3.rst
similarity index 100%
rename from Documentation/driver-api/usb/dwc3.rst
rename to Documentation/drivers/driver-api/usb/dwc3.rst
diff --git a/Documentation/driver-api/usb/error-codes.rst b/Documentation/drivers/driver-api/usb/error-codes.rst
similarity index 100%
rename from Documentation/driver-api/usb/error-codes.rst
rename to Documentation/drivers/driver-api/usb/error-codes.rst
diff --git a/Documentation/driver-api/usb/gadget.rst b/Documentation/drivers/driver-api/usb/gadget.rst
similarity index 100%
rename from Documentation/driver-api/usb/gadget.rst
rename to Documentation/drivers/driver-api/usb/gadget.rst
diff --git a/Documentation/driver-api/usb/hotplug.rst b/Documentation/drivers/driver-api/usb/hotplug.rst
similarity index 100%
rename from Documentation/driver-api/usb/hotplug.rst
rename to Documentation/drivers/driver-api/usb/hotplug.rst
diff --git a/Documentation/driver-api/usb/index.rst b/Documentation/drivers/driver-api/usb/index.rst
similarity index 100%
rename from Documentation/driver-api/usb/index.rst
rename to Documentation/drivers/driver-api/usb/index.rst
diff --git a/Documentation/driver-api/usb/persist.rst b/Documentation/drivers/driver-api/usb/persist.rst
similarity index 100%
rename from Documentation/driver-api/usb/persist.rst
rename to Documentation/drivers/driver-api/usb/persist.rst
diff --git a/Documentation/driver-api/usb/power-management.rst b/Documentation/drivers/driver-api/usb/power-management.rst
similarity index 100%
rename from Documentation/driver-api/usb/power-management.rst
rename to Documentation/drivers/driver-api/usb/power-management.rst
diff --git a/Documentation/driver-api/usb/typec.rst b/Documentation/drivers/driver-api/usb/typec.rst
similarity index 100%
rename from Documentation/driver-api/usb/typec.rst
rename to Documentation/drivers/driver-api/usb/typec.rst
diff --git a/Documentation/driver-api/usb/typec_bus.rst b/Documentation/drivers/driver-api/usb/typec_bus.rst
similarity index 100%
rename from Documentation/driver-api/usb/typec_bus.rst
rename to Documentation/drivers/driver-api/usb/typec_bus.rst
diff --git a/Documentation/driver-api/usb/usb.rst b/Documentation/drivers/driver-api/usb/usb.rst
similarity index 100%
rename from Documentation/driver-api/usb/usb.rst
rename to Documentation/drivers/driver-api/usb/usb.rst
diff --git a/Documentation/driver-api/usb/usb3-debug-port.rst b/Documentation/drivers/driver-api/usb/usb3-debug-port.rst
similarity index 100%
rename from Documentation/driver-api/usb/usb3-debug-port.rst
rename to Documentation/drivers/driver-api/usb/usb3-debug-port.rst
diff --git a/Documentation/driver-api/usb/writing_musb_glue_layer.rst b/Documentation/drivers/driver-api/usb/writing_musb_glue_layer.rst
similarity index 100%
rename from Documentation/driver-api/usb/writing_musb_glue_layer.rst
rename to Documentation/drivers/driver-api/usb/writing_musb_glue_layer.rst
diff --git a/Documentation/driver-api/usb/writing_usb_driver.rst b/Documentation/drivers/driver-api/usb/writing_usb_driver.rst
similarity index 100%
rename from Documentation/driver-api/usb/writing_usb_driver.rst
rename to Documentation/drivers/driver-api/usb/writing_usb_driver.rst
diff --git a/Documentation/driver-api/vme.rst b/Documentation/drivers/driver-api/vme.rst
similarity index 100%
rename from Documentation/driver-api/vme.rst
rename to Documentation/drivers/driver-api/vme.rst
diff --git a/Documentation/driver-api/w1.rst b/Documentation/drivers/driver-api/w1.rst
similarity index 100%
rename from Documentation/driver-api/w1.rst
rename to Documentation/drivers/driver-api/w1.rst
diff --git a/Documentation/driver-model/binding.txt b/Documentation/drivers/driver-model/binding.txt
similarity index 100%
rename from Documentation/driver-model/binding.txt
rename to Documentation/drivers/driver-model/binding.txt
diff --git a/Documentation/driver-model/bus.txt b/Documentation/drivers/driver-model/bus.txt
similarity index 100%
rename from Documentation/driver-model/bus.txt
rename to Documentation/drivers/driver-model/bus.txt
diff --git a/Documentation/driver-model/class.txt b/Documentation/drivers/driver-model/class.txt
similarity index 100%
rename from Documentation/driver-model/class.txt
rename to Documentation/drivers/driver-model/class.txt
diff --git a/Documentation/driver-model/design-patterns.txt b/Documentation/drivers/driver-model/design-patterns.txt
similarity index 100%
rename from Documentation/driver-model/design-patterns.txt
rename to Documentation/drivers/driver-model/design-patterns.txt
diff --git a/Documentation/driver-model/device.txt b/Documentation/drivers/driver-model/device.txt
similarity index 100%
rename from Documentation/driver-model/device.txt
rename to Documentation/drivers/driver-model/device.txt
diff --git a/Documentation/driver-model/devres.txt b/Documentation/drivers/driver-model/devres.txt
similarity index 100%
rename from Documentation/driver-model/devres.txt
rename to Documentation/drivers/driver-model/devres.txt
diff --git a/Documentation/driver-model/driver.txt b/Documentation/drivers/driver-model/driver.txt
similarity index 100%
rename from Documentation/driver-model/driver.txt
rename to Documentation/drivers/driver-model/driver.txt
diff --git a/Documentation/driver-model/overview.txt b/Documentation/drivers/driver-model/overview.txt
similarity index 100%
rename from Documentation/driver-model/overview.txt
rename to Documentation/drivers/driver-model/overview.txt
diff --git a/Documentation/driver-model/platform.txt b/Documentation/drivers/driver-model/platform.txt
similarity index 100%
rename from Documentation/driver-model/platform.txt
rename to Documentation/drivers/driver-model/platform.txt
diff --git a/Documentation/driver-model/porting.txt b/Documentation/drivers/driver-model/porting.txt
similarity index 100%
rename from Documentation/driver-model/porting.txt
rename to Documentation/drivers/driver-model/porting.txt
diff --git a/Documentation/fpga/dfl.rst b/Documentation/drivers/fpga/dfl.rst
similarity index 100%
rename from Documentation/fpga/dfl.rst
rename to Documentation/drivers/fpga/dfl.rst
diff --git a/Documentation/fpga/index.rst b/Documentation/drivers/fpga/index.rst
similarity index 100%
rename from Documentation/fpga/index.rst
rename to Documentation/drivers/fpga/index.rst
diff --git a/Documentation/gpio/index.rst b/Documentation/drivers/gpio/index.rst
similarity index 100%
rename from Documentation/gpio/index.rst
rename to Documentation/drivers/gpio/index.rst
diff --git a/Documentation/gpio/sysfs.rst b/Documentation/drivers/gpio/sysfs.rst
similarity index 100%
rename from Documentation/gpio/sysfs.rst
rename to Documentation/drivers/gpio/sysfs.rst
diff --git a/Documentation/gpu/afbc.rst b/Documentation/drivers/gpu/afbc.rst
similarity index 100%
rename from Documentation/gpu/afbc.rst
rename to Documentation/drivers/gpu/afbc.rst
diff --git a/Documentation/gpu/amdgpu-dc.rst b/Documentation/drivers/gpu/amdgpu-dc.rst
similarity index 100%
rename from Documentation/gpu/amdgpu-dc.rst
rename to Documentation/drivers/gpu/amdgpu-dc.rst
diff --git a/Documentation/gpu/amdgpu.rst b/Documentation/drivers/gpu/amdgpu.rst
similarity index 100%
rename from Documentation/gpu/amdgpu.rst
rename to Documentation/drivers/gpu/amdgpu.rst
diff --git a/Documentation/gpu/bridge/dw-hdmi.rst b/Documentation/drivers/gpu/bridge/dw-hdmi.rst
similarity index 100%
rename from Documentation/gpu/bridge/dw-hdmi.rst
rename to Documentation/drivers/gpu/bridge/dw-hdmi.rst
diff --git a/Documentation/gpu/conf.py b/Documentation/drivers/gpu/conf.py
similarity index 100%
rename from Documentation/gpu/conf.py
rename to Documentation/drivers/gpu/conf.py
diff --git a/Documentation/gpu/dp-mst/topology-figure-1.dot b/Documentation/drivers/gpu/dp-mst/topology-figure-1.dot
similarity index 100%
rename from Documentation/gpu/dp-mst/topology-figure-1.dot
rename to Documentation/drivers/gpu/dp-mst/topology-figure-1.dot
diff --git a/Documentation/gpu/dp-mst/topology-figure-2.dot b/Documentation/drivers/gpu/dp-mst/topology-figure-2.dot
similarity index 100%
rename from Documentation/gpu/dp-mst/topology-figure-2.dot
rename to Documentation/drivers/gpu/dp-mst/topology-figure-2.dot
diff --git a/Documentation/gpu/dp-mst/topology-figure-3.dot b/Documentation/drivers/gpu/dp-mst/topology-figure-3.dot
similarity index 100%
rename from Documentation/gpu/dp-mst/topology-figure-3.dot
rename to Documentation/drivers/gpu/dp-mst/topology-figure-3.dot
diff --git a/Documentation/gpu/drivers.rst b/Documentation/drivers/gpu/drivers.rst
similarity index 100%
rename from Documentation/gpu/drivers.rst
rename to Documentation/drivers/gpu/drivers.rst
diff --git a/Documentation/gpu/drm-client.rst b/Documentation/drivers/gpu/drm-client.rst
similarity index 100%
rename from Documentation/gpu/drm-client.rst
rename to Documentation/drivers/gpu/drm-client.rst
diff --git a/Documentation/gpu/drm-internals.rst b/Documentation/drivers/gpu/drm-internals.rst
similarity index 100%
rename from Documentation/gpu/drm-internals.rst
rename to Documentation/drivers/gpu/drm-internals.rst
diff --git a/Documentation/gpu/drm-kms-helpers.rst b/Documentation/drivers/gpu/drm-kms-helpers.rst
similarity index 100%
rename from Documentation/gpu/drm-kms-helpers.rst
rename to Documentation/drivers/gpu/drm-kms-helpers.rst
diff --git a/Documentation/gpu/drm-kms.rst b/Documentation/drivers/gpu/drm-kms.rst
similarity index 100%
rename from Documentation/gpu/drm-kms.rst
rename to Documentation/drivers/gpu/drm-kms.rst
diff --git a/Documentation/gpu/drm-mm.rst b/Documentation/drivers/gpu/drm-mm.rst
similarity index 100%
rename from Documentation/gpu/drm-mm.rst
rename to Documentation/drivers/gpu/drm-mm.rst
diff --git a/Documentation/gpu/drm-uapi.rst b/Documentation/drivers/gpu/drm-uapi.rst
similarity index 100%
rename from Documentation/gpu/drm-uapi.rst
rename to Documentation/drivers/gpu/drm-uapi.rst
diff --git a/Documentation/gpu/i915.rst b/Documentation/drivers/gpu/i915.rst
similarity index 100%
rename from Documentation/gpu/i915.rst
rename to Documentation/drivers/gpu/i915.rst
diff --git a/Documentation/gpu/index.rst b/Documentation/drivers/gpu/index.rst
similarity index 100%
rename from Documentation/gpu/index.rst
rename to Documentation/drivers/gpu/index.rst
diff --git a/Documentation/gpu/introduction.rst b/Documentation/drivers/gpu/introduction.rst
similarity index 100%
rename from Documentation/gpu/introduction.rst
rename to Documentation/drivers/gpu/introduction.rst
diff --git a/Documentation/gpu/kms-properties.csv b/Documentation/drivers/gpu/kms-properties.csv
similarity index 100%
rename from Documentation/gpu/kms-properties.csv
rename to Documentation/drivers/gpu/kms-properties.csv
diff --git a/Documentation/gpu/komeda-kms.rst b/Documentation/drivers/gpu/komeda-kms.rst
similarity index 100%
rename from Documentation/gpu/komeda-kms.rst
rename to Documentation/drivers/gpu/komeda-kms.rst
diff --git a/Documentation/gpu/meson.rst b/Documentation/drivers/gpu/meson.rst
similarity index 100%
rename from Documentation/gpu/meson.rst
rename to Documentation/drivers/gpu/meson.rst
diff --git a/Documentation/gpu/msm-crash-dump.rst b/Documentation/drivers/gpu/msm-crash-dump.rst
similarity index 100%
rename from Documentation/gpu/msm-crash-dump.rst
rename to Documentation/drivers/gpu/msm-crash-dump.rst
diff --git a/Documentation/gpu/pl111.rst b/Documentation/drivers/gpu/pl111.rst
similarity index 100%
rename from Documentation/gpu/pl111.rst
rename to Documentation/drivers/gpu/pl111.rst
diff --git a/Documentation/gpu/tegra.rst b/Documentation/drivers/gpu/tegra.rst
similarity index 100%
rename from Documentation/gpu/tegra.rst
rename to Documentation/drivers/gpu/tegra.rst
diff --git a/Documentation/gpu/tinydrm.rst b/Documentation/drivers/gpu/tinydrm.rst
similarity index 100%
rename from Documentation/gpu/tinydrm.rst
rename to Documentation/drivers/gpu/tinydrm.rst
diff --git a/Documentation/gpu/todo.rst b/Documentation/drivers/gpu/todo.rst
similarity index 100%
rename from Documentation/gpu/todo.rst
rename to Documentation/drivers/gpu/todo.rst
diff --git a/Documentation/gpu/tve200.rst b/Documentation/drivers/gpu/tve200.rst
similarity index 100%
rename from Documentation/gpu/tve200.rst
rename to Documentation/drivers/gpu/tve200.rst
diff --git a/Documentation/gpu/v3d.rst b/Documentation/drivers/gpu/v3d.rst
similarity index 100%
rename from Documentation/gpu/v3d.rst
rename to Documentation/drivers/gpu/v3d.rst
diff --git a/Documentation/gpu/vc4.rst b/Documentation/drivers/gpu/vc4.rst
similarity index 100%
rename from Documentation/gpu/vc4.rst
rename to Documentation/drivers/gpu/vc4.rst
diff --git a/Documentation/gpu/vga-switcheroo.rst b/Documentation/drivers/gpu/vga-switcheroo.rst
similarity index 100%
rename from Documentation/gpu/vga-switcheroo.rst
rename to Documentation/drivers/gpu/vga-switcheroo.rst
diff --git a/Documentation/gpu/vgaarbiter.rst b/Documentation/drivers/gpu/vgaarbiter.rst
similarity index 100%
rename from Documentation/gpu/vgaarbiter.rst
rename to Documentation/drivers/gpu/vgaarbiter.rst
diff --git a/Documentation/gpu/vkms.rst b/Documentation/drivers/gpu/vkms.rst
similarity index 100%
rename from Documentation/gpu/vkms.rst
rename to Documentation/drivers/gpu/vkms.rst
diff --git a/Documentation/gpu/xen-front.rst b/Documentation/drivers/gpu/xen-front.rst
similarity index 100%
rename from Documentation/gpu/xen-front.rst
rename to Documentation/drivers/gpu/xen-front.rst
diff --git a/Documentation/hid/hid-alps.txt b/Documentation/drivers/hid/hid-alps.txt
similarity index 100%
rename from Documentation/hid/hid-alps.txt
rename to Documentation/drivers/hid/hid-alps.txt
diff --git a/Documentation/hid/hid-sensor.txt b/Documentation/drivers/hid/hid-sensor.txt
similarity index 100%
rename from Documentation/hid/hid-sensor.txt
rename to Documentation/drivers/hid/hid-sensor.txt
diff --git a/Documentation/hid/hid-transport.txt b/Documentation/drivers/hid/hid-transport.txt
similarity index 100%
rename from Documentation/hid/hid-transport.txt
rename to Documentation/drivers/hid/hid-transport.txt
diff --git a/Documentation/hid/hiddev.txt b/Documentation/drivers/hid/hiddev.txt
similarity index 100%
rename from Documentation/hid/hiddev.txt
rename to Documentation/drivers/hid/hiddev.txt
diff --git a/Documentation/hid/hidraw.txt b/Documentation/drivers/hid/hidraw.txt
similarity index 100%
rename from Documentation/hid/hidraw.txt
rename to Documentation/drivers/hid/hidraw.txt
diff --git a/Documentation/hid/intel-ish-hid.txt b/Documentation/drivers/hid/intel-ish-hid.txt
similarity index 100%
rename from Documentation/hid/intel-ish-hid.txt
rename to Documentation/drivers/hid/intel-ish-hid.txt
diff --git a/Documentation/hid/uhid.txt b/Documentation/drivers/hid/uhid.txt
similarity index 100%
rename from Documentation/hid/uhid.txt
rename to Documentation/drivers/hid/uhid.txt
diff --git a/Documentation/i2c/DMA-considerations b/Documentation/drivers/i2c/DMA-considerations
similarity index 100%
rename from Documentation/i2c/DMA-considerations
rename to Documentation/drivers/i2c/DMA-considerations
diff --git a/Documentation/i2c/busses/i2c-ali1535 b/Documentation/drivers/i2c/busses/i2c-ali1535
similarity index 100%
rename from Documentation/i2c/busses/i2c-ali1535
rename to Documentation/drivers/i2c/busses/i2c-ali1535
diff --git a/Documentation/i2c/busses/i2c-ali1563 b/Documentation/drivers/i2c/busses/i2c-ali1563
similarity index 100%
rename from Documentation/i2c/busses/i2c-ali1563
rename to Documentation/drivers/i2c/busses/i2c-ali1563
diff --git a/Documentation/i2c/busses/i2c-ali15x3 b/Documentation/drivers/i2c/busses/i2c-ali15x3
similarity index 100%
rename from Documentation/i2c/busses/i2c-ali15x3
rename to Documentation/drivers/i2c/busses/i2c-ali15x3
diff --git a/Documentation/i2c/busses/i2c-amd-mp2 b/Documentation/drivers/i2c/busses/i2c-amd-mp2
similarity index 100%
rename from Documentation/i2c/busses/i2c-amd-mp2
rename to Documentation/drivers/i2c/busses/i2c-amd-mp2
diff --git a/Documentation/i2c/busses/i2c-amd756 b/Documentation/drivers/i2c/busses/i2c-amd756
similarity index 100%
rename from Documentation/i2c/busses/i2c-amd756
rename to Documentation/drivers/i2c/busses/i2c-amd756
diff --git a/Documentation/i2c/busses/i2c-amd8111 b/Documentation/drivers/i2c/busses/i2c-amd8111
similarity index 100%
rename from Documentation/i2c/busses/i2c-amd8111
rename to Documentation/drivers/i2c/busses/i2c-amd8111
diff --git a/Documentation/i2c/busses/i2c-diolan-u2c b/Documentation/drivers/i2c/busses/i2c-diolan-u2c
similarity index 100%
rename from Documentation/i2c/busses/i2c-diolan-u2c
rename to Documentation/drivers/i2c/busses/i2c-diolan-u2c
diff --git a/Documentation/i2c/busses/i2c-i801 b/Documentation/drivers/i2c/busses/i2c-i801
similarity index 100%
rename from Documentation/i2c/busses/i2c-i801
rename to Documentation/drivers/i2c/busses/i2c-i801
diff --git a/Documentation/i2c/busses/i2c-ismt b/Documentation/drivers/i2c/busses/i2c-ismt
similarity index 100%
rename from Documentation/i2c/busses/i2c-ismt
rename to Documentation/drivers/i2c/busses/i2c-ismt
diff --git a/Documentation/i2c/busses/i2c-mlxcpld b/Documentation/drivers/i2c/busses/i2c-mlxcpld
similarity index 100%
rename from Documentation/i2c/busses/i2c-mlxcpld
rename to Documentation/drivers/i2c/busses/i2c-mlxcpld
diff --git a/Documentation/i2c/busses/i2c-nforce2 b/Documentation/drivers/i2c/busses/i2c-nforce2
similarity index 100%
rename from Documentation/i2c/busses/i2c-nforce2
rename to Documentation/drivers/i2c/busses/i2c-nforce2
diff --git a/Documentation/i2c/busses/i2c-nvidia-gpu b/Documentation/drivers/i2c/busses/i2c-nvidia-gpu
similarity index 100%
rename from Documentation/i2c/busses/i2c-nvidia-gpu
rename to Documentation/drivers/i2c/busses/i2c-nvidia-gpu
diff --git a/Documentation/i2c/busses/i2c-ocores b/Documentation/drivers/i2c/busses/i2c-ocores
similarity index 100%
rename from Documentation/i2c/busses/i2c-ocores
rename to Documentation/drivers/i2c/busses/i2c-ocores
diff --git a/Documentation/i2c/busses/i2c-parport b/Documentation/drivers/i2c/busses/i2c-parport
similarity index 100%
rename from Documentation/i2c/busses/i2c-parport
rename to Documentation/drivers/i2c/busses/i2c-parport
diff --git a/Documentation/i2c/busses/i2c-parport-light b/Documentation/drivers/i2c/busses/i2c-parport-light
similarity index 100%
rename from Documentation/i2c/busses/i2c-parport-light
rename to Documentation/drivers/i2c/busses/i2c-parport-light
diff --git a/Documentation/i2c/busses/i2c-pca-isa b/Documentation/drivers/i2c/busses/i2c-pca-isa
similarity index 100%
rename from Documentation/i2c/busses/i2c-pca-isa
rename to Documentation/drivers/i2c/busses/i2c-pca-isa
diff --git a/Documentation/i2c/busses/i2c-piix4 b/Documentation/drivers/i2c/busses/i2c-piix4
similarity index 100%
rename from Documentation/i2c/busses/i2c-piix4
rename to Documentation/drivers/i2c/busses/i2c-piix4
diff --git a/Documentation/i2c/busses/i2c-sis5595 b/Documentation/drivers/i2c/busses/i2c-sis5595
similarity index 100%
rename from Documentation/i2c/busses/i2c-sis5595
rename to Documentation/drivers/i2c/busses/i2c-sis5595
diff --git a/Documentation/i2c/busses/i2c-sis630 b/Documentation/drivers/i2c/busses/i2c-sis630
similarity index 100%
rename from Documentation/i2c/busses/i2c-sis630
rename to Documentation/drivers/i2c/busses/i2c-sis630
diff --git a/Documentation/i2c/busses/i2c-sis96x b/Documentation/drivers/i2c/busses/i2c-sis96x
similarity index 100%
rename from Documentation/i2c/busses/i2c-sis96x
rename to Documentation/drivers/i2c/busses/i2c-sis96x
diff --git a/Documentation/i2c/busses/i2c-taos-evm b/Documentation/drivers/i2c/busses/i2c-taos-evm
similarity index 100%
rename from Documentation/i2c/busses/i2c-taos-evm
rename to Documentation/drivers/i2c/busses/i2c-taos-evm
diff --git a/Documentation/i2c/busses/i2c-via b/Documentation/drivers/i2c/busses/i2c-via
similarity index 100%
rename from Documentation/i2c/busses/i2c-via
rename to Documentation/drivers/i2c/busses/i2c-via
diff --git a/Documentation/i2c/busses/i2c-viapro b/Documentation/drivers/i2c/busses/i2c-viapro
similarity index 100%
rename from Documentation/i2c/busses/i2c-viapro
rename to Documentation/drivers/i2c/busses/i2c-viapro
diff --git a/Documentation/i2c/busses/scx200_acb b/Documentation/drivers/i2c/busses/scx200_acb
similarity index 100%
rename from Documentation/i2c/busses/scx200_acb
rename to Documentation/drivers/i2c/busses/scx200_acb
diff --git a/Documentation/i2c/dev-interface b/Documentation/drivers/i2c/dev-interface
similarity index 100%
rename from Documentation/i2c/dev-interface
rename to Documentation/drivers/i2c/dev-interface
diff --git a/Documentation/i2c/fault-codes b/Documentation/drivers/i2c/fault-codes
similarity index 100%
rename from Documentation/i2c/fault-codes
rename to Documentation/drivers/i2c/fault-codes
diff --git a/Documentation/i2c/functionality b/Documentation/drivers/i2c/functionality
similarity index 100%
rename from Documentation/i2c/functionality
rename to Documentation/drivers/i2c/functionality
diff --git a/Documentation/i2c/gpio-fault-injection b/Documentation/drivers/i2c/gpio-fault-injection
similarity index 100%
rename from Documentation/i2c/gpio-fault-injection
rename to Documentation/drivers/i2c/gpio-fault-injection
diff --git a/Documentation/i2c/i2c-protocol b/Documentation/drivers/i2c/i2c-protocol
similarity index 100%
rename from Documentation/i2c/i2c-protocol
rename to Documentation/drivers/i2c/i2c-protocol
diff --git a/Documentation/i2c/i2c-stub b/Documentation/drivers/i2c/i2c-stub
similarity index 100%
rename from Documentation/i2c/i2c-stub
rename to Documentation/drivers/i2c/i2c-stub
diff --git a/Documentation/i2c/i2c-topology b/Documentation/drivers/i2c/i2c-topology
similarity index 100%
rename from Documentation/i2c/i2c-topology
rename to Documentation/drivers/i2c/i2c-topology
diff --git a/Documentation/i2c/instantiating-devices b/Documentation/drivers/i2c/instantiating-devices
similarity index 100%
rename from Documentation/i2c/instantiating-devices
rename to Documentation/drivers/i2c/instantiating-devices
diff --git a/Documentation/i2c/muxes/i2c-mux-gpio b/Documentation/drivers/i2c/muxes/i2c-mux-gpio
similarity index 100%
rename from Documentation/i2c/muxes/i2c-mux-gpio
rename to Documentation/drivers/i2c/muxes/i2c-mux-gpio
diff --git a/Documentation/i2c/old-module-parameters b/Documentation/drivers/i2c/old-module-parameters
similarity index 100%
rename from Documentation/i2c/old-module-parameters
rename to Documentation/drivers/i2c/old-module-parameters
diff --git a/Documentation/i2c/slave-eeprom-backend b/Documentation/drivers/i2c/slave-eeprom-backend
similarity index 100%
rename from Documentation/i2c/slave-eeprom-backend
rename to Documentation/drivers/i2c/slave-eeprom-backend
diff --git a/Documentation/i2c/slave-interface b/Documentation/drivers/i2c/slave-interface
similarity index 100%
rename from Documentation/i2c/slave-interface
rename to Documentation/drivers/i2c/slave-interface
diff --git a/Documentation/i2c/smbus-protocol b/Documentation/drivers/i2c/smbus-protocol
similarity index 100%
rename from Documentation/i2c/smbus-protocol
rename to Documentation/drivers/i2c/smbus-protocol
diff --git a/Documentation/i2c/summary b/Documentation/drivers/i2c/summary
similarity index 100%
rename from Documentation/i2c/summary
rename to Documentation/drivers/i2c/summary
diff --git a/Documentation/i2c/ten-bit-addresses b/Documentation/drivers/i2c/ten-bit-addresses
similarity index 100%
rename from Documentation/i2c/ten-bit-addresses
rename to Documentation/drivers/i2c/ten-bit-addresses
diff --git a/Documentation/i2c/upgrading-clients b/Documentation/drivers/i2c/upgrading-clients
similarity index 100%
rename from Documentation/i2c/upgrading-clients
rename to Documentation/drivers/i2c/upgrading-clients
diff --git a/Documentation/i2c/writing-clients b/Documentation/drivers/i2c/writing-clients
similarity index 100%
rename from Documentation/i2c/writing-clients
rename to Documentation/drivers/i2c/writing-clients
diff --git a/Documentation/ide/ChangeLog.ide-cd.1994-2004 b/Documentation/drivers/ide/ChangeLog.ide-cd.1994-2004
similarity index 100%
rename from Documentation/ide/ChangeLog.ide-cd.1994-2004
rename to Documentation/drivers/ide/ChangeLog.ide-cd.1994-2004
diff --git a/Documentation/ide/ChangeLog.ide-floppy.1996-2002 b/Documentation/drivers/ide/ChangeLog.ide-floppy.1996-2002
similarity index 100%
rename from Documentation/ide/ChangeLog.ide-floppy.1996-2002
rename to Documentation/drivers/ide/ChangeLog.ide-floppy.1996-2002
diff --git a/Documentation/ide/ChangeLog.ide-tape.1995-2002 b/Documentation/drivers/ide/ChangeLog.ide-tape.1995-2002
similarity index 100%
rename from Documentation/ide/ChangeLog.ide-tape.1995-2002
rename to Documentation/drivers/ide/ChangeLog.ide-tape.1995-2002
diff --git a/Documentation/ide/changelogs.rst b/Documentation/drivers/ide/changelogs.rst
similarity index 100%
rename from Documentation/ide/changelogs.rst
rename to Documentation/drivers/ide/changelogs.rst
diff --git a/Documentation/ide/ide-tape.rst b/Documentation/drivers/ide/ide-tape.rst
similarity index 100%
rename from Documentation/ide/ide-tape.rst
rename to Documentation/drivers/ide/ide-tape.rst
diff --git a/Documentation/ide/ide.rst b/Documentation/drivers/ide/ide.rst
similarity index 100%
rename from Documentation/ide/ide.rst
rename to Documentation/drivers/ide/ide.rst
diff --git a/Documentation/ide/index.rst b/Documentation/drivers/ide/index.rst
similarity index 100%
rename from Documentation/ide/index.rst
rename to Documentation/drivers/ide/index.rst
diff --git a/Documentation/ide/warm-plug-howto.rst b/Documentation/drivers/ide/warm-plug-howto.rst
similarity index 100%
rename from Documentation/ide/warm-plug-howto.rst
rename to Documentation/drivers/ide/warm-plug-howto.rst
diff --git a/Documentation/infiniband/core_locking.txt b/Documentation/drivers/infiniband/core_locking.txt
similarity index 100%
rename from Documentation/infiniband/core_locking.txt
rename to Documentation/drivers/infiniband/core_locking.txt
diff --git a/Documentation/infiniband/ipoib.txt b/Documentation/drivers/infiniband/ipoib.txt
similarity index 100%
rename from Documentation/infiniband/ipoib.txt
rename to Documentation/drivers/infiniband/ipoib.txt
diff --git a/Documentation/infiniband/opa_vnic.txt b/Documentation/drivers/infiniband/opa_vnic.txt
similarity index 100%
rename from Documentation/infiniband/opa_vnic.txt
rename to Documentation/drivers/infiniband/opa_vnic.txt
diff --git a/Documentation/infiniband/sysfs.txt b/Documentation/drivers/infiniband/sysfs.txt
similarity index 100%
rename from Documentation/infiniband/sysfs.txt
rename to Documentation/drivers/infiniband/sysfs.txt
diff --git a/Documentation/infiniband/tag_matching.txt b/Documentation/drivers/infiniband/tag_matching.txt
similarity index 100%
rename from Documentation/infiniband/tag_matching.txt
rename to Documentation/drivers/infiniband/tag_matching.txt
diff --git a/Documentation/infiniband/user_mad.txt b/Documentation/drivers/infiniband/user_mad.txt
similarity index 100%
rename from Documentation/infiniband/user_mad.txt
rename to Documentation/drivers/infiniband/user_mad.txt
diff --git a/Documentation/infiniband/user_verbs.txt b/Documentation/drivers/infiniband/user_verbs.txt
similarity index 100%
rename from Documentation/infiniband/user_verbs.txt
rename to Documentation/drivers/infiniband/user_verbs.txt
diff --git a/Documentation/leds/index.rst b/Documentation/drivers/leds/index.rst
similarity index 100%
rename from Documentation/leds/index.rst
rename to Documentation/drivers/leds/index.rst
diff --git a/Documentation/leds/leds-blinkm.rst b/Documentation/drivers/leds/leds-blinkm.rst
similarity index 100%
rename from Documentation/leds/leds-blinkm.rst
rename to Documentation/drivers/leds/leds-blinkm.rst
diff --git a/Documentation/leds/leds-class-flash.rst b/Documentation/drivers/leds/leds-class-flash.rst
similarity index 100%
rename from Documentation/leds/leds-class-flash.rst
rename to Documentation/drivers/leds/leds-class-flash.rst
diff --git a/Documentation/leds/leds-class.rst b/Documentation/drivers/leds/leds-class.rst
similarity index 100%
rename from Documentation/leds/leds-class.rst
rename to Documentation/drivers/leds/leds-class.rst
diff --git a/Documentation/leds/leds-lm3556.rst b/Documentation/drivers/leds/leds-lm3556.rst
similarity index 100%
rename from Documentation/leds/leds-lm3556.rst
rename to Documentation/drivers/leds/leds-lm3556.rst
diff --git a/Documentation/leds/leds-lp3944.rst b/Documentation/drivers/leds/leds-lp3944.rst
similarity index 100%
rename from Documentation/leds/leds-lp3944.rst
rename to Documentation/drivers/leds/leds-lp3944.rst
diff --git a/Documentation/leds/leds-lp5521.rst b/Documentation/drivers/leds/leds-lp5521.rst
similarity index 100%
rename from Documentation/leds/leds-lp5521.rst
rename to Documentation/drivers/leds/leds-lp5521.rst
diff --git a/Documentation/leds/leds-lp5523.rst b/Documentation/drivers/leds/leds-lp5523.rst
similarity index 100%
rename from Documentation/leds/leds-lp5523.rst
rename to Documentation/drivers/leds/leds-lp5523.rst
diff --git a/Documentation/leds/leds-lp5562.rst b/Documentation/drivers/leds/leds-lp5562.rst
similarity index 100%
rename from Documentation/leds/leds-lp5562.rst
rename to Documentation/drivers/leds/leds-lp5562.rst
diff --git a/Documentation/leds/leds-lp55xx.rst b/Documentation/drivers/leds/leds-lp55xx.rst
similarity index 100%
rename from Documentation/leds/leds-lp55xx.rst
rename to Documentation/drivers/leds/leds-lp55xx.rst
diff --git a/Documentation/leds/leds-mlxcpld.rst b/Documentation/drivers/leds/leds-mlxcpld.rst
similarity index 100%
rename from Documentation/leds/leds-mlxcpld.rst
rename to Documentation/drivers/leds/leds-mlxcpld.rst
diff --git a/Documentation/leds/ledtrig-oneshot.rst b/Documentation/drivers/leds/ledtrig-oneshot.rst
similarity index 100%
rename from Documentation/leds/ledtrig-oneshot.rst
rename to Documentation/drivers/leds/ledtrig-oneshot.rst
diff --git a/Documentation/leds/ledtrig-transient.rst b/Documentation/drivers/leds/ledtrig-transient.rst
similarity index 100%
rename from Documentation/leds/ledtrig-transient.rst
rename to Documentation/drivers/leds/ledtrig-transient.rst
diff --git a/Documentation/leds/ledtrig-usbport.rst b/Documentation/drivers/leds/ledtrig-usbport.rst
similarity index 100%
rename from Documentation/leds/ledtrig-usbport.rst
rename to Documentation/drivers/leds/ledtrig-usbport.rst
diff --git a/Documentation/leds/uleds.rst b/Documentation/drivers/leds/uleds.rst
similarity index 100%
rename from Documentation/leds/uleds.rst
rename to Documentation/drivers/leds/uleds.rst
diff --git a/Documentation/lightnvm/pblk.txt b/Documentation/drivers/lightnvm/pblk.txt
similarity index 100%
rename from Documentation/lightnvm/pblk.txt
rename to Documentation/drivers/lightnvm/pblk.txt
diff --git a/Documentation/md/md-cluster.txt b/Documentation/drivers/md/md-cluster.txt
similarity index 100%
rename from Documentation/md/md-cluster.txt
rename to Documentation/drivers/md/md-cluster.txt
diff --git a/Documentation/md/raid5-cache.txt b/Documentation/drivers/md/raid5-cache.txt
similarity index 100%
rename from Documentation/md/raid5-cache.txt
rename to Documentation/drivers/md/raid5-cache.txt
diff --git a/Documentation/md/raid5-ppl.txt b/Documentation/drivers/md/raid5-ppl.txt
similarity index 100%
rename from Documentation/md/raid5-ppl.txt
rename to Documentation/drivers/md/raid5-ppl.txt
diff --git a/Documentation/media/.gitignore b/Documentation/drivers/media/.gitignore
similarity index 100%
rename from Documentation/media/.gitignore
rename to Documentation/drivers/media/.gitignore
diff --git a/Documentation/media/Makefile b/Documentation/drivers/media/Makefile
similarity index 100%
rename from Documentation/media/Makefile
rename to Documentation/drivers/media/Makefile
diff --git a/Documentation/media/audio.h.rst.exceptions b/Documentation/drivers/media/audio.h.rst.exceptions
similarity index 100%
rename from Documentation/media/audio.h.rst.exceptions
rename to Documentation/drivers/media/audio.h.rst.exceptions
diff --git a/Documentation/media/ca.h.rst.exceptions b/Documentation/drivers/media/ca.h.rst.exceptions
similarity index 100%
rename from Documentation/media/ca.h.rst.exceptions
rename to Documentation/drivers/media/ca.h.rst.exceptions
diff --git a/Documentation/media/cec-drivers/index.rst b/Documentation/drivers/media/cec-drivers/index.rst
similarity index 100%
rename from Documentation/media/cec-drivers/index.rst
rename to Documentation/drivers/media/cec-drivers/index.rst
diff --git a/Documentation/media/cec-drivers/pulse8-cec.rst b/Documentation/drivers/media/cec-drivers/pulse8-cec.rst
similarity index 100%
rename from Documentation/media/cec-drivers/pulse8-cec.rst
rename to Documentation/drivers/media/cec-drivers/pulse8-cec.rst
diff --git a/Documentation/media/cec.h.rst.exceptions b/Documentation/drivers/media/cec.h.rst.exceptions
similarity index 100%
rename from Documentation/media/cec.h.rst.exceptions
rename to Documentation/drivers/media/cec.h.rst.exceptions
diff --git a/Documentation/media/conf.py b/Documentation/drivers/media/conf.py
similarity index 100%
rename from Documentation/media/conf.py
rename to Documentation/drivers/media/conf.py
diff --git a/Documentation/media/conf_nitpick.py b/Documentation/drivers/media/conf_nitpick.py
similarity index 100%
rename from Documentation/media/conf_nitpick.py
rename to Documentation/drivers/media/conf_nitpick.py
diff --git a/Documentation/media/dmx.h.rst.exceptions b/Documentation/drivers/media/dmx.h.rst.exceptions
similarity index 100%
rename from Documentation/media/dmx.h.rst.exceptions
rename to Documentation/drivers/media/dmx.h.rst.exceptions
diff --git a/Documentation/media/dvb-drivers/avermedia.rst b/Documentation/drivers/media/dvb-drivers/avermedia.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/avermedia.rst
rename to Documentation/drivers/media/dvb-drivers/avermedia.rst
diff --git a/Documentation/media/dvb-drivers/bt8xx.rst b/Documentation/drivers/media/dvb-drivers/bt8xx.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/bt8xx.rst
rename to Documentation/drivers/media/dvb-drivers/bt8xx.rst
diff --git a/Documentation/media/dvb-drivers/cards.rst b/Documentation/drivers/media/dvb-drivers/cards.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/cards.rst
rename to Documentation/drivers/media/dvb-drivers/cards.rst
diff --git a/Documentation/media/dvb-drivers/ci.rst b/Documentation/drivers/media/dvb-drivers/ci.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/ci.rst
rename to Documentation/drivers/media/dvb-drivers/ci.rst
diff --git a/Documentation/media/dvb-drivers/contributors.rst b/Documentation/drivers/media/dvb-drivers/contributors.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/contributors.rst
rename to Documentation/drivers/media/dvb-drivers/contributors.rst
diff --git a/Documentation/media/dvb-drivers/dvb-usb.rst b/Documentation/drivers/media/dvb-drivers/dvb-usb.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/dvb-usb.rst
rename to Documentation/drivers/media/dvb-drivers/dvb-usb.rst
diff --git a/Documentation/media/dvb-drivers/faq.rst b/Documentation/drivers/media/dvb-drivers/faq.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/faq.rst
rename to Documentation/drivers/media/dvb-drivers/faq.rst
diff --git a/Documentation/media/dvb-drivers/frontends.rst b/Documentation/drivers/media/dvb-drivers/frontends.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/frontends.rst
rename to Documentation/drivers/media/dvb-drivers/frontends.rst
diff --git a/Documentation/media/dvb-drivers/index.rst b/Documentation/drivers/media/dvb-drivers/index.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/index.rst
rename to Documentation/drivers/media/dvb-drivers/index.rst
diff --git a/Documentation/media/dvb-drivers/intro.rst b/Documentation/drivers/media/dvb-drivers/intro.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/intro.rst
rename to Documentation/drivers/media/dvb-drivers/intro.rst
diff --git a/Documentation/media/dvb-drivers/lmedm04.rst b/Documentation/drivers/media/dvb-drivers/lmedm04.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/lmedm04.rst
rename to Documentation/drivers/media/dvb-drivers/lmedm04.rst
diff --git a/Documentation/media/dvb-drivers/opera-firmware.rst b/Documentation/drivers/media/dvb-drivers/opera-firmware.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/opera-firmware.rst
rename to Documentation/drivers/media/dvb-drivers/opera-firmware.rst
diff --git a/Documentation/media/dvb-drivers/technisat.rst b/Documentation/drivers/media/dvb-drivers/technisat.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/technisat.rst
rename to Documentation/drivers/media/dvb-drivers/technisat.rst
diff --git a/Documentation/media/dvb-drivers/ttusb-dec.rst b/Documentation/drivers/media/dvb-drivers/ttusb-dec.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/ttusb-dec.rst
rename to Documentation/drivers/media/dvb-drivers/ttusb-dec.rst
diff --git a/Documentation/media/dvb-drivers/udev.rst b/Documentation/drivers/media/dvb-drivers/udev.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/udev.rst
rename to Documentation/drivers/media/dvb-drivers/udev.rst
diff --git a/Documentation/media/frontend.h.rst.exceptions b/Documentation/drivers/media/frontend.h.rst.exceptions
similarity index 100%
rename from Documentation/media/frontend.h.rst.exceptions
rename to Documentation/drivers/media/frontend.h.rst.exceptions
diff --git a/Documentation/media/index.rst b/Documentation/drivers/media/index.rst
similarity index 100%
rename from Documentation/media/index.rst
rename to Documentation/drivers/media/index.rst
diff --git a/Documentation/media/intro.rst b/Documentation/drivers/media/intro.rst
similarity index 100%
rename from Documentation/media/intro.rst
rename to Documentation/drivers/media/intro.rst
diff --git a/Documentation/media/kapi/cec-core.rst b/Documentation/drivers/media/kapi/cec-core.rst
similarity index 100%
rename from Documentation/media/kapi/cec-core.rst
rename to Documentation/drivers/media/kapi/cec-core.rst
diff --git a/Documentation/media/kapi/csi2.rst b/Documentation/drivers/media/kapi/csi2.rst
similarity index 100%
rename from Documentation/media/kapi/csi2.rst
rename to Documentation/drivers/media/kapi/csi2.rst
diff --git a/Documentation/media/kapi/dtv-ca.rst b/Documentation/drivers/media/kapi/dtv-ca.rst
similarity index 100%
rename from Documentation/media/kapi/dtv-ca.rst
rename to Documentation/drivers/media/kapi/dtv-ca.rst
diff --git a/Documentation/media/kapi/dtv-common.rst b/Documentation/drivers/media/kapi/dtv-common.rst
similarity index 100%
rename from Documentation/media/kapi/dtv-common.rst
rename to Documentation/drivers/media/kapi/dtv-common.rst
diff --git a/Documentation/media/kapi/dtv-core.rst b/Documentation/drivers/media/kapi/dtv-core.rst
similarity index 100%
rename from Documentation/media/kapi/dtv-core.rst
rename to Documentation/drivers/media/kapi/dtv-core.rst
diff --git a/Documentation/media/kapi/dtv-demux.rst b/Documentation/drivers/media/kapi/dtv-demux.rst
similarity index 100%
rename from Documentation/media/kapi/dtv-demux.rst
rename to Documentation/drivers/media/kapi/dtv-demux.rst
diff --git a/Documentation/media/kapi/dtv-frontend.rst b/Documentation/drivers/media/kapi/dtv-frontend.rst
similarity index 100%
rename from Documentation/media/kapi/dtv-frontend.rst
rename to Documentation/drivers/media/kapi/dtv-frontend.rst
diff --git a/Documentation/media/kapi/dtv-net.rst b/Documentation/drivers/media/kapi/dtv-net.rst
similarity index 100%
rename from Documentation/media/kapi/dtv-net.rst
rename to Documentation/drivers/media/kapi/dtv-net.rst
diff --git a/Documentation/media/kapi/mc-core.rst b/Documentation/drivers/media/kapi/mc-core.rst
similarity index 100%
rename from Documentation/media/kapi/mc-core.rst
rename to Documentation/drivers/media/kapi/mc-core.rst
diff --git a/Documentation/media/kapi/rc-core.rst b/Documentation/drivers/media/kapi/rc-core.rst
similarity index 100%
rename from Documentation/media/kapi/rc-core.rst
rename to Documentation/drivers/media/kapi/rc-core.rst
diff --git a/Documentation/media/kapi/v4l2-async.rst b/Documentation/drivers/media/kapi/v4l2-async.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-async.rst
rename to Documentation/drivers/media/kapi/v4l2-async.rst
diff --git a/Documentation/media/kapi/v4l2-clocks.rst b/Documentation/drivers/media/kapi/v4l2-clocks.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-clocks.rst
rename to Documentation/drivers/media/kapi/v4l2-clocks.rst
diff --git a/Documentation/media/kapi/v4l2-common.rst b/Documentation/drivers/media/kapi/v4l2-common.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-common.rst
rename to Documentation/drivers/media/kapi/v4l2-common.rst
diff --git a/Documentation/media/kapi/v4l2-controls.rst b/Documentation/drivers/media/kapi/v4l2-controls.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-controls.rst
rename to Documentation/drivers/media/kapi/v4l2-controls.rst
diff --git a/Documentation/media/kapi/v4l2-core.rst b/Documentation/drivers/media/kapi/v4l2-core.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-core.rst
rename to Documentation/drivers/media/kapi/v4l2-core.rst
diff --git a/Documentation/media/kapi/v4l2-dev.rst b/Documentation/drivers/media/kapi/v4l2-dev.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-dev.rst
rename to Documentation/drivers/media/kapi/v4l2-dev.rst
diff --git a/Documentation/media/kapi/v4l2-device.rst b/Documentation/drivers/media/kapi/v4l2-device.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-device.rst
rename to Documentation/drivers/media/kapi/v4l2-device.rst
diff --git a/Documentation/media/kapi/v4l2-dv-timings.rst b/Documentation/drivers/media/kapi/v4l2-dv-timings.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-dv-timings.rst
rename to Documentation/drivers/media/kapi/v4l2-dv-timings.rst
diff --git a/Documentation/media/kapi/v4l2-event.rst b/Documentation/drivers/media/kapi/v4l2-event.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-event.rst
rename to Documentation/drivers/media/kapi/v4l2-event.rst
diff --git a/Documentation/media/kapi/v4l2-fh.rst b/Documentation/drivers/media/kapi/v4l2-fh.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-fh.rst
rename to Documentation/drivers/media/kapi/v4l2-fh.rst
diff --git a/Documentation/media/kapi/v4l2-flash-led-class.rst b/Documentation/drivers/media/kapi/v4l2-flash-led-class.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-flash-led-class.rst
rename to Documentation/drivers/media/kapi/v4l2-flash-led-class.rst
diff --git a/Documentation/media/kapi/v4l2-fwnode.rst b/Documentation/drivers/media/kapi/v4l2-fwnode.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-fwnode.rst
rename to Documentation/drivers/media/kapi/v4l2-fwnode.rst
diff --git a/Documentation/media/kapi/v4l2-intro.rst b/Documentation/drivers/media/kapi/v4l2-intro.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-intro.rst
rename to Documentation/drivers/media/kapi/v4l2-intro.rst
diff --git a/Documentation/media/kapi/v4l2-mc.rst b/Documentation/drivers/media/kapi/v4l2-mc.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-mc.rst
rename to Documentation/drivers/media/kapi/v4l2-mc.rst
diff --git a/Documentation/media/kapi/v4l2-mediabus.rst b/Documentation/drivers/media/kapi/v4l2-mediabus.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-mediabus.rst
rename to Documentation/drivers/media/kapi/v4l2-mediabus.rst
diff --git a/Documentation/media/kapi/v4l2-mem2mem.rst b/Documentation/drivers/media/kapi/v4l2-mem2mem.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-mem2mem.rst
rename to Documentation/drivers/media/kapi/v4l2-mem2mem.rst
diff --git a/Documentation/media/kapi/v4l2-rect.rst b/Documentation/drivers/media/kapi/v4l2-rect.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-rect.rst
rename to Documentation/drivers/media/kapi/v4l2-rect.rst
diff --git a/Documentation/media/kapi/v4l2-subdev.rst b/Documentation/drivers/media/kapi/v4l2-subdev.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-subdev.rst
rename to Documentation/drivers/media/kapi/v4l2-subdev.rst
diff --git a/Documentation/media/kapi/v4l2-tuner.rst b/Documentation/drivers/media/kapi/v4l2-tuner.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-tuner.rst
rename to Documentation/drivers/media/kapi/v4l2-tuner.rst
diff --git a/Documentation/media/kapi/v4l2-tveeprom.rst b/Documentation/drivers/media/kapi/v4l2-tveeprom.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-tveeprom.rst
rename to Documentation/drivers/media/kapi/v4l2-tveeprom.rst
diff --git a/Documentation/media/kapi/v4l2-videobuf.rst b/Documentation/drivers/media/kapi/v4l2-videobuf.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-videobuf.rst
rename to Documentation/drivers/media/kapi/v4l2-videobuf.rst
diff --git a/Documentation/media/kapi/v4l2-videobuf2.rst b/Documentation/drivers/media/kapi/v4l2-videobuf2.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-videobuf2.rst
rename to Documentation/drivers/media/kapi/v4l2-videobuf2.rst
diff --git a/Documentation/media/lirc.h.rst.exceptions b/Documentation/drivers/media/lirc.h.rst.exceptions
similarity index 100%
rename from Documentation/media/lirc.h.rst.exceptions
rename to Documentation/drivers/media/lirc.h.rst.exceptions
diff --git a/Documentation/media/media.h.rst.exceptions b/Documentation/drivers/media/media.h.rst.exceptions
similarity index 100%
rename from Documentation/media/media.h.rst.exceptions
rename to Documentation/drivers/media/media.h.rst.exceptions
diff --git a/Documentation/media/media_kapi.rst b/Documentation/drivers/media/media_kapi.rst
similarity index 100%
rename from Documentation/media/media_kapi.rst
rename to Documentation/drivers/media/media_kapi.rst
diff --git a/Documentation/media/media_uapi.rst b/Documentation/drivers/media/media_uapi.rst
similarity index 100%
rename from Documentation/media/media_uapi.rst
rename to Documentation/drivers/media/media_uapi.rst
diff --git a/Documentation/media/net.h.rst.exceptions b/Documentation/drivers/media/net.h.rst.exceptions
similarity index 100%
rename from Documentation/media/net.h.rst.exceptions
rename to Documentation/drivers/media/net.h.rst.exceptions
diff --git a/Documentation/media/typical_media_device.svg b/Documentation/drivers/media/typical_media_device.svg
similarity index 100%
rename from Documentation/media/typical_media_device.svg
rename to Documentation/drivers/media/typical_media_device.svg
diff --git a/Documentation/media/uapi/cec/cec-api.rst b/Documentation/drivers/media/uapi/cec/cec-api.rst
similarity index 100%
rename from Documentation/media/uapi/cec/cec-api.rst
rename to Documentation/drivers/media/uapi/cec/cec-api.rst
diff --git a/Documentation/media/uapi/cec/cec-func-close.rst b/Documentation/drivers/media/uapi/cec/cec-func-close.rst
similarity index 100%
rename from Documentation/media/uapi/cec/cec-func-close.rst
rename to Documentation/drivers/media/uapi/cec/cec-func-close.rst
diff --git a/Documentation/media/uapi/cec/cec-func-ioctl.rst b/Documentation/drivers/media/uapi/cec/cec-func-ioctl.rst
similarity index 100%
rename from Documentation/media/uapi/cec/cec-func-ioctl.rst
rename to Documentation/drivers/media/uapi/cec/cec-func-ioctl.rst
diff --git a/Documentation/media/uapi/cec/cec-func-open.rst b/Documentation/drivers/media/uapi/cec/cec-func-open.rst
similarity index 100%
rename from Documentation/media/uapi/cec/cec-func-open.rst
rename to Documentation/drivers/media/uapi/cec/cec-func-open.rst
diff --git a/Documentation/media/uapi/cec/cec-func-poll.rst b/Documentation/drivers/media/uapi/cec/cec-func-poll.rst
similarity index 100%
rename from Documentation/media/uapi/cec/cec-func-poll.rst
rename to Documentation/drivers/media/uapi/cec/cec-func-poll.rst
diff --git a/Documentation/media/uapi/cec/cec-funcs.rst b/Documentation/drivers/media/uapi/cec/cec-funcs.rst
similarity index 100%
rename from Documentation/media/uapi/cec/cec-funcs.rst
rename to Documentation/drivers/media/uapi/cec/cec-funcs.rst
diff --git a/Documentation/media/uapi/cec/cec-header.rst b/Documentation/drivers/media/uapi/cec/cec-header.rst
similarity index 100%
rename from Documentation/media/uapi/cec/cec-header.rst
rename to Documentation/drivers/media/uapi/cec/cec-header.rst
diff --git a/Documentation/media/uapi/cec/cec-intro.rst b/Documentation/drivers/media/uapi/cec/cec-intro.rst
similarity index 100%
rename from Documentation/media/uapi/cec/cec-intro.rst
rename to Documentation/drivers/media/uapi/cec/cec-intro.rst
diff --git a/Documentation/media/uapi/cec/cec-ioc-adap-g-caps.rst b/Documentation/drivers/media/uapi/cec/cec-ioc-adap-g-caps.rst
similarity index 100%
rename from Documentation/media/uapi/cec/cec-ioc-adap-g-caps.rst
rename to Documentation/drivers/media/uapi/cec/cec-ioc-adap-g-caps.rst
diff --git a/Documentation/media/uapi/cec/cec-ioc-adap-g-log-addrs.rst b/Documentation/drivers/media/uapi/cec/cec-ioc-adap-g-log-addrs.rst
similarity index 100%
rename from Documentation/media/uapi/cec/cec-ioc-adap-g-log-addrs.rst
rename to Documentation/drivers/media/uapi/cec/cec-ioc-adap-g-log-addrs.rst
diff --git a/Documentation/media/uapi/cec/cec-ioc-adap-g-phys-addr.rst b/Documentation/drivers/media/uapi/cec/cec-ioc-adap-g-phys-addr.rst
similarity index 100%
rename from Documentation/media/uapi/cec/cec-ioc-adap-g-phys-addr.rst
rename to Documentation/drivers/media/uapi/cec/cec-ioc-adap-g-phys-addr.rst
diff --git a/Documentation/media/uapi/cec/cec-ioc-dqevent.rst b/Documentation/drivers/media/uapi/cec/cec-ioc-dqevent.rst
similarity index 100%
rename from Documentation/media/uapi/cec/cec-ioc-dqevent.rst
rename to Documentation/drivers/media/uapi/cec/cec-ioc-dqevent.rst
diff --git a/Documentation/media/uapi/cec/cec-ioc-g-mode.rst b/Documentation/drivers/media/uapi/cec/cec-ioc-g-mode.rst
similarity index 100%
rename from Documentation/media/uapi/cec/cec-ioc-g-mode.rst
rename to Documentation/drivers/media/uapi/cec/cec-ioc-g-mode.rst
diff --git a/Documentation/media/uapi/cec/cec-ioc-receive.rst b/Documentation/drivers/media/uapi/cec/cec-ioc-receive.rst
similarity index 100%
rename from Documentation/media/uapi/cec/cec-ioc-receive.rst
rename to Documentation/drivers/media/uapi/cec/cec-ioc-receive.rst
diff --git a/Documentation/media/uapi/cec/cec-pin-error-inj.rst b/Documentation/drivers/media/uapi/cec/cec-pin-error-inj.rst
similarity index 100%
rename from Documentation/media/uapi/cec/cec-pin-error-inj.rst
rename to Documentation/drivers/media/uapi/cec/cec-pin-error-inj.rst
diff --git a/Documentation/media/uapi/dvb/audio-bilingual-channel-select.rst b/Documentation/drivers/media/uapi/dvb/audio-bilingual-channel-select.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-bilingual-channel-select.rst
rename to Documentation/drivers/media/uapi/dvb/audio-bilingual-channel-select.rst
diff --git a/Documentation/media/uapi/dvb/audio-channel-select.rst b/Documentation/drivers/media/uapi/dvb/audio-channel-select.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-channel-select.rst
rename to Documentation/drivers/media/uapi/dvb/audio-channel-select.rst
diff --git a/Documentation/media/uapi/dvb/audio-clear-buffer.rst b/Documentation/drivers/media/uapi/dvb/audio-clear-buffer.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-clear-buffer.rst
rename to Documentation/drivers/media/uapi/dvb/audio-clear-buffer.rst
diff --git a/Documentation/media/uapi/dvb/audio-continue.rst b/Documentation/drivers/media/uapi/dvb/audio-continue.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-continue.rst
rename to Documentation/drivers/media/uapi/dvb/audio-continue.rst
diff --git a/Documentation/media/uapi/dvb/audio-fclose.rst b/Documentation/drivers/media/uapi/dvb/audio-fclose.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-fclose.rst
rename to Documentation/drivers/media/uapi/dvb/audio-fclose.rst
diff --git a/Documentation/media/uapi/dvb/audio-fopen.rst b/Documentation/drivers/media/uapi/dvb/audio-fopen.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-fopen.rst
rename to Documentation/drivers/media/uapi/dvb/audio-fopen.rst
diff --git a/Documentation/media/uapi/dvb/audio-fwrite.rst b/Documentation/drivers/media/uapi/dvb/audio-fwrite.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-fwrite.rst
rename to Documentation/drivers/media/uapi/dvb/audio-fwrite.rst
diff --git a/Documentation/media/uapi/dvb/audio-get-capabilities.rst b/Documentation/drivers/media/uapi/dvb/audio-get-capabilities.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-get-capabilities.rst
rename to Documentation/drivers/media/uapi/dvb/audio-get-capabilities.rst
diff --git a/Documentation/media/uapi/dvb/audio-get-status.rst b/Documentation/drivers/media/uapi/dvb/audio-get-status.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-get-status.rst
rename to Documentation/drivers/media/uapi/dvb/audio-get-status.rst
diff --git a/Documentation/media/uapi/dvb/audio-pause.rst b/Documentation/drivers/media/uapi/dvb/audio-pause.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-pause.rst
rename to Documentation/drivers/media/uapi/dvb/audio-pause.rst
diff --git a/Documentation/media/uapi/dvb/audio-play.rst b/Documentation/drivers/media/uapi/dvb/audio-play.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-play.rst
rename to Documentation/drivers/media/uapi/dvb/audio-play.rst
diff --git a/Documentation/media/uapi/dvb/audio-select-source.rst b/Documentation/drivers/media/uapi/dvb/audio-select-source.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-select-source.rst
rename to Documentation/drivers/media/uapi/dvb/audio-select-source.rst
diff --git a/Documentation/media/uapi/dvb/audio-set-av-sync.rst b/Documentation/drivers/media/uapi/dvb/audio-set-av-sync.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-set-av-sync.rst
rename to Documentation/drivers/media/uapi/dvb/audio-set-av-sync.rst
diff --git a/Documentation/media/uapi/dvb/audio-set-bypass-mode.rst b/Documentation/drivers/media/uapi/dvb/audio-set-bypass-mode.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-set-bypass-mode.rst
rename to Documentation/drivers/media/uapi/dvb/audio-set-bypass-mode.rst
diff --git a/Documentation/media/uapi/dvb/audio-set-id.rst b/Documentation/drivers/media/uapi/dvb/audio-set-id.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-set-id.rst
rename to Documentation/drivers/media/uapi/dvb/audio-set-id.rst
diff --git a/Documentation/media/uapi/dvb/audio-set-mixer.rst b/Documentation/drivers/media/uapi/dvb/audio-set-mixer.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-set-mixer.rst
rename to Documentation/drivers/media/uapi/dvb/audio-set-mixer.rst
diff --git a/Documentation/media/uapi/dvb/audio-set-mute.rst b/Documentation/drivers/media/uapi/dvb/audio-set-mute.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-set-mute.rst
rename to Documentation/drivers/media/uapi/dvb/audio-set-mute.rst
diff --git a/Documentation/media/uapi/dvb/audio-set-streamtype.rst b/Documentation/drivers/media/uapi/dvb/audio-set-streamtype.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-set-streamtype.rst
rename to Documentation/drivers/media/uapi/dvb/audio-set-streamtype.rst
diff --git a/Documentation/media/uapi/dvb/audio-stop.rst b/Documentation/drivers/media/uapi/dvb/audio-stop.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio-stop.rst
rename to Documentation/drivers/media/uapi/dvb/audio-stop.rst
diff --git a/Documentation/media/uapi/dvb/audio.rst b/Documentation/drivers/media/uapi/dvb/audio.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio.rst
rename to Documentation/drivers/media/uapi/dvb/audio.rst
diff --git a/Documentation/media/uapi/dvb/audio_data_types.rst b/Documentation/drivers/media/uapi/dvb/audio_data_types.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio_data_types.rst
rename to Documentation/drivers/media/uapi/dvb/audio_data_types.rst
diff --git a/Documentation/media/uapi/dvb/audio_function_calls.rst b/Documentation/drivers/media/uapi/dvb/audio_function_calls.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/audio_function_calls.rst
rename to Documentation/drivers/media/uapi/dvb/audio_function_calls.rst
diff --git a/Documentation/media/uapi/dvb/ca-fclose.rst b/Documentation/drivers/media/uapi/dvb/ca-fclose.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/ca-fclose.rst
rename to Documentation/drivers/media/uapi/dvb/ca-fclose.rst
diff --git a/Documentation/media/uapi/dvb/ca-fopen.rst b/Documentation/drivers/media/uapi/dvb/ca-fopen.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/ca-fopen.rst
rename to Documentation/drivers/media/uapi/dvb/ca-fopen.rst
diff --git a/Documentation/media/uapi/dvb/ca-get-cap.rst b/Documentation/drivers/media/uapi/dvb/ca-get-cap.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/ca-get-cap.rst
rename to Documentation/drivers/media/uapi/dvb/ca-get-cap.rst
diff --git a/Documentation/media/uapi/dvb/ca-get-descr-info.rst b/Documentation/drivers/media/uapi/dvb/ca-get-descr-info.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/ca-get-descr-info.rst
rename to Documentation/drivers/media/uapi/dvb/ca-get-descr-info.rst
diff --git a/Documentation/media/uapi/dvb/ca-get-msg.rst b/Documentation/drivers/media/uapi/dvb/ca-get-msg.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/ca-get-msg.rst
rename to Documentation/drivers/media/uapi/dvb/ca-get-msg.rst
diff --git a/Documentation/media/uapi/dvb/ca-get-slot-info.rst b/Documentation/drivers/media/uapi/dvb/ca-get-slot-info.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/ca-get-slot-info.rst
rename to Documentation/drivers/media/uapi/dvb/ca-get-slot-info.rst
diff --git a/Documentation/media/uapi/dvb/ca-reset.rst b/Documentation/drivers/media/uapi/dvb/ca-reset.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/ca-reset.rst
rename to Documentation/drivers/media/uapi/dvb/ca-reset.rst
diff --git a/Documentation/media/uapi/dvb/ca-send-msg.rst b/Documentation/drivers/media/uapi/dvb/ca-send-msg.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/ca-send-msg.rst
rename to Documentation/drivers/media/uapi/dvb/ca-send-msg.rst
diff --git a/Documentation/media/uapi/dvb/ca-set-descr.rst b/Documentation/drivers/media/uapi/dvb/ca-set-descr.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/ca-set-descr.rst
rename to Documentation/drivers/media/uapi/dvb/ca-set-descr.rst
diff --git a/Documentation/media/uapi/dvb/ca.rst b/Documentation/drivers/media/uapi/dvb/ca.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/ca.rst
rename to Documentation/drivers/media/uapi/dvb/ca.rst
diff --git a/Documentation/media/uapi/dvb/ca_data_types.rst b/Documentation/drivers/media/uapi/dvb/ca_data_types.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/ca_data_types.rst
rename to Documentation/drivers/media/uapi/dvb/ca_data_types.rst
diff --git a/Documentation/media/uapi/dvb/ca_function_calls.rst b/Documentation/drivers/media/uapi/dvb/ca_function_calls.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/ca_function_calls.rst
rename to Documentation/drivers/media/uapi/dvb/ca_function_calls.rst
diff --git a/Documentation/media/uapi/dvb/demux.rst b/Documentation/drivers/media/uapi/dvb/demux.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/demux.rst
rename to Documentation/drivers/media/uapi/dvb/demux.rst
diff --git a/Documentation/media/uapi/dvb/dmx-add-pid.rst b/Documentation/drivers/media/uapi/dvb/dmx-add-pid.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-add-pid.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-add-pid.rst
diff --git a/Documentation/media/uapi/dvb/dmx-expbuf.rst b/Documentation/drivers/media/uapi/dvb/dmx-expbuf.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-expbuf.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-expbuf.rst
diff --git a/Documentation/media/uapi/dvb/dmx-fclose.rst b/Documentation/drivers/media/uapi/dvb/dmx-fclose.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-fclose.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-fclose.rst
diff --git a/Documentation/media/uapi/dvb/dmx-fopen.rst b/Documentation/drivers/media/uapi/dvb/dmx-fopen.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-fopen.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-fopen.rst
diff --git a/Documentation/media/uapi/dvb/dmx-fread.rst b/Documentation/drivers/media/uapi/dvb/dmx-fread.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-fread.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-fread.rst
diff --git a/Documentation/media/uapi/dvb/dmx-fwrite.rst b/Documentation/drivers/media/uapi/dvb/dmx-fwrite.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-fwrite.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-fwrite.rst
diff --git a/Documentation/media/uapi/dvb/dmx-get-pes-pids.rst b/Documentation/drivers/media/uapi/dvb/dmx-get-pes-pids.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-get-pes-pids.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-get-pes-pids.rst
diff --git a/Documentation/media/uapi/dvb/dmx-get-stc.rst b/Documentation/drivers/media/uapi/dvb/dmx-get-stc.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-get-stc.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-get-stc.rst
diff --git a/Documentation/media/uapi/dvb/dmx-mmap.rst b/Documentation/drivers/media/uapi/dvb/dmx-mmap.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-mmap.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-mmap.rst
diff --git a/Documentation/media/uapi/dvb/dmx-munmap.rst b/Documentation/drivers/media/uapi/dvb/dmx-munmap.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-munmap.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-munmap.rst
diff --git a/Documentation/media/uapi/dvb/dmx-qbuf.rst b/Documentation/drivers/media/uapi/dvb/dmx-qbuf.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-qbuf.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-qbuf.rst
diff --git a/Documentation/media/uapi/dvb/dmx-querybuf.rst b/Documentation/drivers/media/uapi/dvb/dmx-querybuf.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-querybuf.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-querybuf.rst
diff --git a/Documentation/media/uapi/dvb/dmx-remove-pid.rst b/Documentation/drivers/media/uapi/dvb/dmx-remove-pid.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-remove-pid.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-remove-pid.rst
diff --git a/Documentation/media/uapi/dvb/dmx-reqbufs.rst b/Documentation/drivers/media/uapi/dvb/dmx-reqbufs.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-reqbufs.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-reqbufs.rst
diff --git a/Documentation/media/uapi/dvb/dmx-set-buffer-size.rst b/Documentation/drivers/media/uapi/dvb/dmx-set-buffer-size.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-set-buffer-size.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-set-buffer-size.rst
diff --git a/Documentation/media/uapi/dvb/dmx-set-filter.rst b/Documentation/drivers/media/uapi/dvb/dmx-set-filter.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-set-filter.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-set-filter.rst
diff --git a/Documentation/media/uapi/dvb/dmx-set-pes-filter.rst b/Documentation/drivers/media/uapi/dvb/dmx-set-pes-filter.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-set-pes-filter.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-set-pes-filter.rst
diff --git a/Documentation/media/uapi/dvb/dmx-start.rst b/Documentation/drivers/media/uapi/dvb/dmx-start.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-start.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-start.rst
diff --git a/Documentation/media/uapi/dvb/dmx-stop.rst b/Documentation/drivers/media/uapi/dvb/dmx-stop.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx-stop.rst
rename to Documentation/drivers/media/uapi/dvb/dmx-stop.rst
diff --git a/Documentation/media/uapi/dvb/dmx_fcalls.rst b/Documentation/drivers/media/uapi/dvb/dmx_fcalls.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx_fcalls.rst
rename to Documentation/drivers/media/uapi/dvb/dmx_fcalls.rst
diff --git a/Documentation/media/uapi/dvb/dmx_types.rst b/Documentation/drivers/media/uapi/dvb/dmx_types.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dmx_types.rst
rename to Documentation/drivers/media/uapi/dvb/dmx_types.rst
diff --git a/Documentation/media/uapi/dvb/dvb-fe-read-status.rst b/Documentation/drivers/media/uapi/dvb/dvb-fe-read-status.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dvb-fe-read-status.rst
rename to Documentation/drivers/media/uapi/dvb/dvb-fe-read-status.rst
diff --git a/Documentation/media/uapi/dvb/dvb-frontend-event.rst b/Documentation/drivers/media/uapi/dvb/dvb-frontend-event.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dvb-frontend-event.rst
rename to Documentation/drivers/media/uapi/dvb/dvb-frontend-event.rst
diff --git a/Documentation/media/uapi/dvb/dvb-frontend-parameters.rst b/Documentation/drivers/media/uapi/dvb/dvb-frontend-parameters.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dvb-frontend-parameters.rst
rename to Documentation/drivers/media/uapi/dvb/dvb-frontend-parameters.rst
diff --git a/Documentation/media/uapi/dvb/dvbapi.rst b/Documentation/drivers/media/uapi/dvb/dvbapi.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dvbapi.rst
rename to Documentation/drivers/media/uapi/dvb/dvbapi.rst
diff --git a/Documentation/media/uapi/dvb/dvbproperty.rst b/Documentation/drivers/media/uapi/dvb/dvbproperty.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/dvbproperty.rst
rename to Documentation/drivers/media/uapi/dvb/dvbproperty.rst
diff --git a/Documentation/media/uapi/dvb/dvbstb.svg b/Documentation/drivers/media/uapi/dvb/dvbstb.svg
similarity index 100%
rename from Documentation/media/uapi/dvb/dvbstb.svg
rename to Documentation/drivers/media/uapi/dvb/dvbstb.svg
diff --git a/Documentation/media/uapi/dvb/examples.rst b/Documentation/drivers/media/uapi/dvb/examples.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/examples.rst
rename to Documentation/drivers/media/uapi/dvb/examples.rst
diff --git a/Documentation/media/uapi/dvb/fe-bandwidth-t.rst b/Documentation/drivers/media/uapi/dvb/fe-bandwidth-t.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-bandwidth-t.rst
rename to Documentation/drivers/media/uapi/dvb/fe-bandwidth-t.rst
diff --git a/Documentation/media/uapi/dvb/fe-diseqc-recv-slave-reply.rst b/Documentation/drivers/media/uapi/dvb/fe-diseqc-recv-slave-reply.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-diseqc-recv-slave-reply.rst
rename to Documentation/drivers/media/uapi/dvb/fe-diseqc-recv-slave-reply.rst
diff --git a/Documentation/media/uapi/dvb/fe-diseqc-reset-overload.rst b/Documentation/drivers/media/uapi/dvb/fe-diseqc-reset-overload.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-diseqc-reset-overload.rst
rename to Documentation/drivers/media/uapi/dvb/fe-diseqc-reset-overload.rst
diff --git a/Documentation/media/uapi/dvb/fe-diseqc-send-burst.rst b/Documentation/drivers/media/uapi/dvb/fe-diseqc-send-burst.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-diseqc-send-burst.rst
rename to Documentation/drivers/media/uapi/dvb/fe-diseqc-send-burst.rst
diff --git a/Documentation/media/uapi/dvb/fe-diseqc-send-master-cmd.rst b/Documentation/drivers/media/uapi/dvb/fe-diseqc-send-master-cmd.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-diseqc-send-master-cmd.rst
rename to Documentation/drivers/media/uapi/dvb/fe-diseqc-send-master-cmd.rst
diff --git a/Documentation/media/uapi/dvb/fe-dishnetwork-send-legacy-cmd.rst b/Documentation/drivers/media/uapi/dvb/fe-dishnetwork-send-legacy-cmd.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-dishnetwork-send-legacy-cmd.rst
rename to Documentation/drivers/media/uapi/dvb/fe-dishnetwork-send-legacy-cmd.rst
diff --git a/Documentation/media/uapi/dvb/fe-enable-high-lnb-voltage.rst b/Documentation/drivers/media/uapi/dvb/fe-enable-high-lnb-voltage.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-enable-high-lnb-voltage.rst
rename to Documentation/drivers/media/uapi/dvb/fe-enable-high-lnb-voltage.rst
diff --git a/Documentation/media/uapi/dvb/fe-get-event.rst b/Documentation/drivers/media/uapi/dvb/fe-get-event.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-get-event.rst
rename to Documentation/drivers/media/uapi/dvb/fe-get-event.rst
diff --git a/Documentation/media/uapi/dvb/fe-get-frontend.rst b/Documentation/drivers/media/uapi/dvb/fe-get-frontend.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-get-frontend.rst
rename to Documentation/drivers/media/uapi/dvb/fe-get-frontend.rst
diff --git a/Documentation/media/uapi/dvb/fe-get-info.rst b/Documentation/drivers/media/uapi/dvb/fe-get-info.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-get-info.rst
rename to Documentation/drivers/media/uapi/dvb/fe-get-info.rst
diff --git a/Documentation/media/uapi/dvb/fe-get-property.rst b/Documentation/drivers/media/uapi/dvb/fe-get-property.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-get-property.rst
rename to Documentation/drivers/media/uapi/dvb/fe-get-property.rst
diff --git a/Documentation/media/uapi/dvb/fe-read-ber.rst b/Documentation/drivers/media/uapi/dvb/fe-read-ber.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-read-ber.rst
rename to Documentation/drivers/media/uapi/dvb/fe-read-ber.rst
diff --git a/Documentation/media/uapi/dvb/fe-read-signal-strength.rst b/Documentation/drivers/media/uapi/dvb/fe-read-signal-strength.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-read-signal-strength.rst
rename to Documentation/drivers/media/uapi/dvb/fe-read-signal-strength.rst
diff --git a/Documentation/media/uapi/dvb/fe-read-snr.rst b/Documentation/drivers/media/uapi/dvb/fe-read-snr.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-read-snr.rst
rename to Documentation/drivers/media/uapi/dvb/fe-read-snr.rst
diff --git a/Documentation/media/uapi/dvb/fe-read-status.rst b/Documentation/drivers/media/uapi/dvb/fe-read-status.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-read-status.rst
rename to Documentation/drivers/media/uapi/dvb/fe-read-status.rst
diff --git a/Documentation/media/uapi/dvb/fe-read-uncorrected-blocks.rst b/Documentation/drivers/media/uapi/dvb/fe-read-uncorrected-blocks.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-read-uncorrected-blocks.rst
rename to Documentation/drivers/media/uapi/dvb/fe-read-uncorrected-blocks.rst
diff --git a/Documentation/media/uapi/dvb/fe-set-frontend-tune-mode.rst b/Documentation/drivers/media/uapi/dvb/fe-set-frontend-tune-mode.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-set-frontend-tune-mode.rst
rename to Documentation/drivers/media/uapi/dvb/fe-set-frontend-tune-mode.rst
diff --git a/Documentation/media/uapi/dvb/fe-set-frontend.rst b/Documentation/drivers/media/uapi/dvb/fe-set-frontend.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-set-frontend.rst
rename to Documentation/drivers/media/uapi/dvb/fe-set-frontend.rst
diff --git a/Documentation/media/uapi/dvb/fe-set-tone.rst b/Documentation/drivers/media/uapi/dvb/fe-set-tone.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-set-tone.rst
rename to Documentation/drivers/media/uapi/dvb/fe-set-tone.rst
diff --git a/Documentation/media/uapi/dvb/fe-set-voltage.rst b/Documentation/drivers/media/uapi/dvb/fe-set-voltage.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-set-voltage.rst
rename to Documentation/drivers/media/uapi/dvb/fe-set-voltage.rst
diff --git a/Documentation/media/uapi/dvb/fe-type-t.rst b/Documentation/drivers/media/uapi/dvb/fe-type-t.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe-type-t.rst
rename to Documentation/drivers/media/uapi/dvb/fe-type-t.rst
diff --git a/Documentation/media/uapi/dvb/fe_property_parameters.rst b/Documentation/drivers/media/uapi/dvb/fe_property_parameters.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/fe_property_parameters.rst
rename to Documentation/drivers/media/uapi/dvb/fe_property_parameters.rst
diff --git a/Documentation/media/uapi/dvb/frontend-header.rst b/Documentation/drivers/media/uapi/dvb/frontend-header.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/frontend-header.rst
rename to Documentation/drivers/media/uapi/dvb/frontend-header.rst
diff --git a/Documentation/media/uapi/dvb/frontend-property-cable-systems.rst b/Documentation/drivers/media/uapi/dvb/frontend-property-cable-systems.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/frontend-property-cable-systems.rst
rename to Documentation/drivers/media/uapi/dvb/frontend-property-cable-systems.rst
diff --git a/Documentation/media/uapi/dvb/frontend-property-satellite-systems.rst b/Documentation/drivers/media/uapi/dvb/frontend-property-satellite-systems.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/frontend-property-satellite-systems.rst
rename to Documentation/drivers/media/uapi/dvb/frontend-property-satellite-systems.rst
diff --git a/Documentation/media/uapi/dvb/frontend-property-terrestrial-systems.rst b/Documentation/drivers/media/uapi/dvb/frontend-property-terrestrial-systems.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/frontend-property-terrestrial-systems.rst
rename to Documentation/drivers/media/uapi/dvb/frontend-property-terrestrial-systems.rst
diff --git a/Documentation/media/uapi/dvb/frontend-stat-properties.rst b/Documentation/drivers/media/uapi/dvb/frontend-stat-properties.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/frontend-stat-properties.rst
rename to Documentation/drivers/media/uapi/dvb/frontend-stat-properties.rst
diff --git a/Documentation/media/uapi/dvb/frontend.rst b/Documentation/drivers/media/uapi/dvb/frontend.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/frontend.rst
rename to Documentation/drivers/media/uapi/dvb/frontend.rst
diff --git a/Documentation/media/uapi/dvb/frontend_f_close.rst b/Documentation/drivers/media/uapi/dvb/frontend_f_close.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/frontend_f_close.rst
rename to Documentation/drivers/media/uapi/dvb/frontend_f_close.rst
diff --git a/Documentation/media/uapi/dvb/frontend_f_open.rst b/Documentation/drivers/media/uapi/dvb/frontend_f_open.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/frontend_f_open.rst
rename to Documentation/drivers/media/uapi/dvb/frontend_f_open.rst
diff --git a/Documentation/media/uapi/dvb/frontend_fcalls.rst b/Documentation/drivers/media/uapi/dvb/frontend_fcalls.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/frontend_fcalls.rst
rename to Documentation/drivers/media/uapi/dvb/frontend_fcalls.rst
diff --git a/Documentation/media/uapi/dvb/frontend_legacy_api.rst b/Documentation/drivers/media/uapi/dvb/frontend_legacy_api.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/frontend_legacy_api.rst
rename to Documentation/drivers/media/uapi/dvb/frontend_legacy_api.rst
diff --git a/Documentation/media/uapi/dvb/frontend_legacy_dvbv3_api.rst b/Documentation/drivers/media/uapi/dvb/frontend_legacy_dvbv3_api.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/frontend_legacy_dvbv3_api.rst
rename to Documentation/drivers/media/uapi/dvb/frontend_legacy_dvbv3_api.rst
diff --git a/Documentation/media/uapi/dvb/headers.rst b/Documentation/drivers/media/uapi/dvb/headers.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/headers.rst
rename to Documentation/drivers/media/uapi/dvb/headers.rst
diff --git a/Documentation/media/uapi/dvb/intro.rst b/Documentation/drivers/media/uapi/dvb/intro.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/intro.rst
rename to Documentation/drivers/media/uapi/dvb/intro.rst
diff --git a/Documentation/media/uapi/dvb/legacy_dvb_apis.rst b/Documentation/drivers/media/uapi/dvb/legacy_dvb_apis.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/legacy_dvb_apis.rst
rename to Documentation/drivers/media/uapi/dvb/legacy_dvb_apis.rst
diff --git a/Documentation/media/uapi/dvb/net-add-if.rst b/Documentation/drivers/media/uapi/dvb/net-add-if.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/net-add-if.rst
rename to Documentation/drivers/media/uapi/dvb/net-add-if.rst
diff --git a/Documentation/media/uapi/dvb/net-get-if.rst b/Documentation/drivers/media/uapi/dvb/net-get-if.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/net-get-if.rst
rename to Documentation/drivers/media/uapi/dvb/net-get-if.rst
diff --git a/Documentation/media/uapi/dvb/net-remove-if.rst b/Documentation/drivers/media/uapi/dvb/net-remove-if.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/net-remove-if.rst
rename to Documentation/drivers/media/uapi/dvb/net-remove-if.rst
diff --git a/Documentation/media/uapi/dvb/net-types.rst b/Documentation/drivers/media/uapi/dvb/net-types.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/net-types.rst
rename to Documentation/drivers/media/uapi/dvb/net-types.rst
diff --git a/Documentation/media/uapi/dvb/net.rst b/Documentation/drivers/media/uapi/dvb/net.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/net.rst
rename to Documentation/drivers/media/uapi/dvb/net.rst
diff --git a/Documentation/media/uapi/dvb/query-dvb-frontend-info.rst b/Documentation/drivers/media/uapi/dvb/query-dvb-frontend-info.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/query-dvb-frontend-info.rst
rename to Documentation/drivers/media/uapi/dvb/query-dvb-frontend-info.rst
diff --git a/Documentation/media/uapi/dvb/video-clear-buffer.rst b/Documentation/drivers/media/uapi/dvb/video-clear-buffer.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-clear-buffer.rst
rename to Documentation/drivers/media/uapi/dvb/video-clear-buffer.rst
diff --git a/Documentation/media/uapi/dvb/video-command.rst b/Documentation/drivers/media/uapi/dvb/video-command.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-command.rst
rename to Documentation/drivers/media/uapi/dvb/video-command.rst
diff --git a/Documentation/media/uapi/dvb/video-continue.rst b/Documentation/drivers/media/uapi/dvb/video-continue.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-continue.rst
rename to Documentation/drivers/media/uapi/dvb/video-continue.rst
diff --git a/Documentation/media/uapi/dvb/video-fast-forward.rst b/Documentation/drivers/media/uapi/dvb/video-fast-forward.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-fast-forward.rst
rename to Documentation/drivers/media/uapi/dvb/video-fast-forward.rst
diff --git a/Documentation/media/uapi/dvb/video-fclose.rst b/Documentation/drivers/media/uapi/dvb/video-fclose.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-fclose.rst
rename to Documentation/drivers/media/uapi/dvb/video-fclose.rst
diff --git a/Documentation/media/uapi/dvb/video-fopen.rst b/Documentation/drivers/media/uapi/dvb/video-fopen.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-fopen.rst
rename to Documentation/drivers/media/uapi/dvb/video-fopen.rst
diff --git a/Documentation/media/uapi/dvb/video-freeze.rst b/Documentation/drivers/media/uapi/dvb/video-freeze.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-freeze.rst
rename to Documentation/drivers/media/uapi/dvb/video-freeze.rst
diff --git a/Documentation/media/uapi/dvb/video-fwrite.rst b/Documentation/drivers/media/uapi/dvb/video-fwrite.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-fwrite.rst
rename to Documentation/drivers/media/uapi/dvb/video-fwrite.rst
diff --git a/Documentation/media/uapi/dvb/video-get-capabilities.rst b/Documentation/drivers/media/uapi/dvb/video-get-capabilities.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-get-capabilities.rst
rename to Documentation/drivers/media/uapi/dvb/video-get-capabilities.rst
diff --git a/Documentation/media/uapi/dvb/video-get-event.rst b/Documentation/drivers/media/uapi/dvb/video-get-event.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-get-event.rst
rename to Documentation/drivers/media/uapi/dvb/video-get-event.rst
diff --git a/Documentation/media/uapi/dvb/video-get-frame-count.rst b/Documentation/drivers/media/uapi/dvb/video-get-frame-count.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-get-frame-count.rst
rename to Documentation/drivers/media/uapi/dvb/video-get-frame-count.rst
diff --git a/Documentation/media/uapi/dvb/video-get-pts.rst b/Documentation/drivers/media/uapi/dvb/video-get-pts.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-get-pts.rst
rename to Documentation/drivers/media/uapi/dvb/video-get-pts.rst
diff --git a/Documentation/media/uapi/dvb/video-get-size.rst b/Documentation/drivers/media/uapi/dvb/video-get-size.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-get-size.rst
rename to Documentation/drivers/media/uapi/dvb/video-get-size.rst
diff --git a/Documentation/media/uapi/dvb/video-get-status.rst b/Documentation/drivers/media/uapi/dvb/video-get-status.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-get-status.rst
rename to Documentation/drivers/media/uapi/dvb/video-get-status.rst
diff --git a/Documentation/media/uapi/dvb/video-play.rst b/Documentation/drivers/media/uapi/dvb/video-play.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-play.rst
rename to Documentation/drivers/media/uapi/dvb/video-play.rst
diff --git a/Documentation/media/uapi/dvb/video-select-source.rst b/Documentation/drivers/media/uapi/dvb/video-select-source.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-select-source.rst
rename to Documentation/drivers/media/uapi/dvb/video-select-source.rst
diff --git a/Documentation/media/uapi/dvb/video-set-blank.rst b/Documentation/drivers/media/uapi/dvb/video-set-blank.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-set-blank.rst
rename to Documentation/drivers/media/uapi/dvb/video-set-blank.rst
diff --git a/Documentation/media/uapi/dvb/video-set-display-format.rst b/Documentation/drivers/media/uapi/dvb/video-set-display-format.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-set-display-format.rst
rename to Documentation/drivers/media/uapi/dvb/video-set-display-format.rst
diff --git a/Documentation/media/uapi/dvb/video-set-format.rst b/Documentation/drivers/media/uapi/dvb/video-set-format.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-set-format.rst
rename to Documentation/drivers/media/uapi/dvb/video-set-format.rst
diff --git a/Documentation/media/uapi/dvb/video-set-streamtype.rst b/Documentation/drivers/media/uapi/dvb/video-set-streamtype.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-set-streamtype.rst
rename to Documentation/drivers/media/uapi/dvb/video-set-streamtype.rst
diff --git a/Documentation/media/uapi/dvb/video-slowmotion.rst b/Documentation/drivers/media/uapi/dvb/video-slowmotion.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-slowmotion.rst
rename to Documentation/drivers/media/uapi/dvb/video-slowmotion.rst
diff --git a/Documentation/media/uapi/dvb/video-stillpicture.rst b/Documentation/drivers/media/uapi/dvb/video-stillpicture.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-stillpicture.rst
rename to Documentation/drivers/media/uapi/dvb/video-stillpicture.rst
diff --git a/Documentation/media/uapi/dvb/video-stop.rst b/Documentation/drivers/media/uapi/dvb/video-stop.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-stop.rst
rename to Documentation/drivers/media/uapi/dvb/video-stop.rst
diff --git a/Documentation/media/uapi/dvb/video-try-command.rst b/Documentation/drivers/media/uapi/dvb/video-try-command.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video-try-command.rst
rename to Documentation/drivers/media/uapi/dvb/video-try-command.rst
diff --git a/Documentation/media/uapi/dvb/video.rst b/Documentation/drivers/media/uapi/dvb/video.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video.rst
rename to Documentation/drivers/media/uapi/dvb/video.rst
diff --git a/Documentation/media/uapi/dvb/video_function_calls.rst b/Documentation/drivers/media/uapi/dvb/video_function_calls.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video_function_calls.rst
rename to Documentation/drivers/media/uapi/dvb/video_function_calls.rst
diff --git a/Documentation/media/uapi/dvb/video_types.rst b/Documentation/drivers/media/uapi/dvb/video_types.rst
similarity index 100%
rename from Documentation/media/uapi/dvb/video_types.rst
rename to Documentation/drivers/media/uapi/dvb/video_types.rst
diff --git a/Documentation/media/uapi/fdl-appendix.rst b/Documentation/drivers/media/uapi/fdl-appendix.rst
similarity index 100%
rename from Documentation/media/uapi/fdl-appendix.rst
rename to Documentation/drivers/media/uapi/fdl-appendix.rst
diff --git a/Documentation/media/uapi/gen-errors.rst b/Documentation/drivers/media/uapi/gen-errors.rst
similarity index 100%
rename from Documentation/media/uapi/gen-errors.rst
rename to Documentation/drivers/media/uapi/gen-errors.rst
diff --git a/Documentation/media/uapi/mediactl/media-controller-intro.rst b/Documentation/drivers/media/uapi/mediactl/media-controller-intro.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-controller-intro.rst
rename to Documentation/drivers/media/uapi/mediactl/media-controller-intro.rst
diff --git a/Documentation/media/uapi/mediactl/media-controller-model.rst b/Documentation/drivers/media/uapi/mediactl/media-controller-model.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-controller-model.rst
rename to Documentation/drivers/media/uapi/mediactl/media-controller-model.rst
diff --git a/Documentation/media/uapi/mediactl/media-controller.rst b/Documentation/drivers/media/uapi/mediactl/media-controller.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-controller.rst
rename to Documentation/drivers/media/uapi/mediactl/media-controller.rst
diff --git a/Documentation/media/uapi/mediactl/media-func-close.rst b/Documentation/drivers/media/uapi/mediactl/media-func-close.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-func-close.rst
rename to Documentation/drivers/media/uapi/mediactl/media-func-close.rst
diff --git a/Documentation/media/uapi/mediactl/media-func-ioctl.rst b/Documentation/drivers/media/uapi/mediactl/media-func-ioctl.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-func-ioctl.rst
rename to Documentation/drivers/media/uapi/mediactl/media-func-ioctl.rst
diff --git a/Documentation/media/uapi/mediactl/media-func-open.rst b/Documentation/drivers/media/uapi/mediactl/media-func-open.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-func-open.rst
rename to Documentation/drivers/media/uapi/mediactl/media-func-open.rst
diff --git a/Documentation/media/uapi/mediactl/media-funcs.rst b/Documentation/drivers/media/uapi/mediactl/media-funcs.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-funcs.rst
rename to Documentation/drivers/media/uapi/mediactl/media-funcs.rst
diff --git a/Documentation/media/uapi/mediactl/media-header.rst b/Documentation/drivers/media/uapi/mediactl/media-header.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-header.rst
rename to Documentation/drivers/media/uapi/mediactl/media-header.rst
diff --git a/Documentation/media/uapi/mediactl/media-ioc-device-info.rst b/Documentation/drivers/media/uapi/mediactl/media-ioc-device-info.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-ioc-device-info.rst
rename to Documentation/drivers/media/uapi/mediactl/media-ioc-device-info.rst
diff --git a/Documentation/media/uapi/mediactl/media-ioc-enum-entities.rst b/Documentation/drivers/media/uapi/mediactl/media-ioc-enum-entities.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-ioc-enum-entities.rst
rename to Documentation/drivers/media/uapi/mediactl/media-ioc-enum-entities.rst
diff --git a/Documentation/media/uapi/mediactl/media-ioc-enum-links.rst b/Documentation/drivers/media/uapi/mediactl/media-ioc-enum-links.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-ioc-enum-links.rst
rename to Documentation/drivers/media/uapi/mediactl/media-ioc-enum-links.rst
diff --git a/Documentation/media/uapi/mediactl/media-ioc-g-topology.rst b/Documentation/drivers/media/uapi/mediactl/media-ioc-g-topology.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-ioc-g-topology.rst
rename to Documentation/drivers/media/uapi/mediactl/media-ioc-g-topology.rst
diff --git a/Documentation/media/uapi/mediactl/media-ioc-request-alloc.rst b/Documentation/drivers/media/uapi/mediactl/media-ioc-request-alloc.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-ioc-request-alloc.rst
rename to Documentation/drivers/media/uapi/mediactl/media-ioc-request-alloc.rst
diff --git a/Documentation/media/uapi/mediactl/media-ioc-setup-link.rst b/Documentation/drivers/media/uapi/mediactl/media-ioc-setup-link.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-ioc-setup-link.rst
rename to Documentation/drivers/media/uapi/mediactl/media-ioc-setup-link.rst
diff --git a/Documentation/media/uapi/mediactl/media-request-ioc-queue.rst b/Documentation/drivers/media/uapi/mediactl/media-request-ioc-queue.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-request-ioc-queue.rst
rename to Documentation/drivers/media/uapi/mediactl/media-request-ioc-queue.rst
diff --git a/Documentation/media/uapi/mediactl/media-request-ioc-reinit.rst b/Documentation/drivers/media/uapi/mediactl/media-request-ioc-reinit.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-request-ioc-reinit.rst
rename to Documentation/drivers/media/uapi/mediactl/media-request-ioc-reinit.rst
diff --git a/Documentation/media/uapi/mediactl/media-types.rst b/Documentation/drivers/media/uapi/mediactl/media-types.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/media-types.rst
rename to Documentation/drivers/media/uapi/mediactl/media-types.rst
diff --git a/Documentation/media/uapi/mediactl/request-api.rst b/Documentation/drivers/media/uapi/mediactl/request-api.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/request-api.rst
rename to Documentation/drivers/media/uapi/mediactl/request-api.rst
diff --git a/Documentation/media/uapi/mediactl/request-func-close.rst b/Documentation/drivers/media/uapi/mediactl/request-func-close.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/request-func-close.rst
rename to Documentation/drivers/media/uapi/mediactl/request-func-close.rst
diff --git a/Documentation/media/uapi/mediactl/request-func-ioctl.rst b/Documentation/drivers/media/uapi/mediactl/request-func-ioctl.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/request-func-ioctl.rst
rename to Documentation/drivers/media/uapi/mediactl/request-func-ioctl.rst
diff --git a/Documentation/media/uapi/mediactl/request-func-poll.rst b/Documentation/drivers/media/uapi/mediactl/request-func-poll.rst
similarity index 100%
rename from Documentation/media/uapi/mediactl/request-func-poll.rst
rename to Documentation/drivers/media/uapi/mediactl/request-func-poll.rst
diff --git a/Documentation/media/uapi/rc/keytable.c.rst b/Documentation/drivers/media/uapi/rc/keytable.c.rst
similarity index 100%
rename from Documentation/media/uapi/rc/keytable.c.rst
rename to Documentation/drivers/media/uapi/rc/keytable.c.rst
diff --git a/Documentation/media/uapi/rc/lirc-dev-intro.rst b/Documentation/drivers/media/uapi/rc/lirc-dev-intro.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-dev-intro.rst
rename to Documentation/drivers/media/uapi/rc/lirc-dev-intro.rst
diff --git a/Documentation/media/uapi/rc/lirc-dev.rst b/Documentation/drivers/media/uapi/rc/lirc-dev.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-dev.rst
rename to Documentation/drivers/media/uapi/rc/lirc-dev.rst
diff --git a/Documentation/media/uapi/rc/lirc-func.rst b/Documentation/drivers/media/uapi/rc/lirc-func.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-func.rst
rename to Documentation/drivers/media/uapi/rc/lirc-func.rst
diff --git a/Documentation/media/uapi/rc/lirc-get-features.rst b/Documentation/drivers/media/uapi/rc/lirc-get-features.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-get-features.rst
rename to Documentation/drivers/media/uapi/rc/lirc-get-features.rst
diff --git a/Documentation/media/uapi/rc/lirc-get-rec-mode.rst b/Documentation/drivers/media/uapi/rc/lirc-get-rec-mode.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-get-rec-mode.rst
rename to Documentation/drivers/media/uapi/rc/lirc-get-rec-mode.rst
diff --git a/Documentation/media/uapi/rc/lirc-get-rec-resolution.rst b/Documentation/drivers/media/uapi/rc/lirc-get-rec-resolution.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-get-rec-resolution.rst
rename to Documentation/drivers/media/uapi/rc/lirc-get-rec-resolution.rst
diff --git a/Documentation/media/uapi/rc/lirc-get-send-mode.rst b/Documentation/drivers/media/uapi/rc/lirc-get-send-mode.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-get-send-mode.rst
rename to Documentation/drivers/media/uapi/rc/lirc-get-send-mode.rst
diff --git a/Documentation/media/uapi/rc/lirc-get-timeout.rst b/Documentation/drivers/media/uapi/rc/lirc-get-timeout.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-get-timeout.rst
rename to Documentation/drivers/media/uapi/rc/lirc-get-timeout.rst
diff --git a/Documentation/media/uapi/rc/lirc-header.rst b/Documentation/drivers/media/uapi/rc/lirc-header.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-header.rst
rename to Documentation/drivers/media/uapi/rc/lirc-header.rst
diff --git a/Documentation/media/uapi/rc/lirc-read.rst b/Documentation/drivers/media/uapi/rc/lirc-read.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-read.rst
rename to Documentation/drivers/media/uapi/rc/lirc-read.rst
diff --git a/Documentation/media/uapi/rc/lirc-set-measure-carrier-mode.rst b/Documentation/drivers/media/uapi/rc/lirc-set-measure-carrier-mode.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-set-measure-carrier-mode.rst
rename to Documentation/drivers/media/uapi/rc/lirc-set-measure-carrier-mode.rst
diff --git a/Documentation/media/uapi/rc/lirc-set-rec-carrier-range.rst b/Documentation/drivers/media/uapi/rc/lirc-set-rec-carrier-range.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-set-rec-carrier-range.rst
rename to Documentation/drivers/media/uapi/rc/lirc-set-rec-carrier-range.rst
diff --git a/Documentation/media/uapi/rc/lirc-set-rec-carrier.rst b/Documentation/drivers/media/uapi/rc/lirc-set-rec-carrier.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-set-rec-carrier.rst
rename to Documentation/drivers/media/uapi/rc/lirc-set-rec-carrier.rst
diff --git a/Documentation/media/uapi/rc/lirc-set-rec-timeout-reports.rst b/Documentation/drivers/media/uapi/rc/lirc-set-rec-timeout-reports.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-set-rec-timeout-reports.rst
rename to Documentation/drivers/media/uapi/rc/lirc-set-rec-timeout-reports.rst
diff --git a/Documentation/media/uapi/rc/lirc-set-rec-timeout.rst b/Documentation/drivers/media/uapi/rc/lirc-set-rec-timeout.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-set-rec-timeout.rst
rename to Documentation/drivers/media/uapi/rc/lirc-set-rec-timeout.rst
diff --git a/Documentation/media/uapi/rc/lirc-set-send-carrier.rst b/Documentation/drivers/media/uapi/rc/lirc-set-send-carrier.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-set-send-carrier.rst
rename to Documentation/drivers/media/uapi/rc/lirc-set-send-carrier.rst
diff --git a/Documentation/media/uapi/rc/lirc-set-send-duty-cycle.rst b/Documentation/drivers/media/uapi/rc/lirc-set-send-duty-cycle.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-set-send-duty-cycle.rst
rename to Documentation/drivers/media/uapi/rc/lirc-set-send-duty-cycle.rst
diff --git a/Documentation/media/uapi/rc/lirc-set-transmitter-mask.rst b/Documentation/drivers/media/uapi/rc/lirc-set-transmitter-mask.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-set-transmitter-mask.rst
rename to Documentation/drivers/media/uapi/rc/lirc-set-transmitter-mask.rst
diff --git a/Documentation/media/uapi/rc/lirc-set-wideband-receiver.rst b/Documentation/drivers/media/uapi/rc/lirc-set-wideband-receiver.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-set-wideband-receiver.rst
rename to Documentation/drivers/media/uapi/rc/lirc-set-wideband-receiver.rst
diff --git a/Documentation/media/uapi/rc/lirc-write.rst b/Documentation/drivers/media/uapi/rc/lirc-write.rst
similarity index 100%
rename from Documentation/media/uapi/rc/lirc-write.rst
rename to Documentation/drivers/media/uapi/rc/lirc-write.rst
diff --git a/Documentation/media/uapi/rc/rc-intro.rst b/Documentation/drivers/media/uapi/rc/rc-intro.rst
similarity index 100%
rename from Documentation/media/uapi/rc/rc-intro.rst
rename to Documentation/drivers/media/uapi/rc/rc-intro.rst
diff --git a/Documentation/media/uapi/rc/rc-sysfs-nodes.rst b/Documentation/drivers/media/uapi/rc/rc-sysfs-nodes.rst
similarity index 100%
rename from Documentation/media/uapi/rc/rc-sysfs-nodes.rst
rename to Documentation/drivers/media/uapi/rc/rc-sysfs-nodes.rst
diff --git a/Documentation/media/uapi/rc/rc-table-change.rst b/Documentation/drivers/media/uapi/rc/rc-table-change.rst
similarity index 100%
rename from Documentation/media/uapi/rc/rc-table-change.rst
rename to Documentation/drivers/media/uapi/rc/rc-table-change.rst
diff --git a/Documentation/media/uapi/rc/rc-tables.rst b/Documentation/drivers/media/uapi/rc/rc-tables.rst
similarity index 100%
rename from Documentation/media/uapi/rc/rc-tables.rst
rename to Documentation/drivers/media/uapi/rc/rc-tables.rst
diff --git a/Documentation/media/uapi/rc/remote_controllers.rst b/Documentation/drivers/media/uapi/rc/remote_controllers.rst
similarity index 100%
rename from Documentation/media/uapi/rc/remote_controllers.rst
rename to Documentation/drivers/media/uapi/rc/remote_controllers.rst
diff --git a/Documentation/media/uapi/v4l/app-pri.rst b/Documentation/drivers/media/uapi/v4l/app-pri.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/app-pri.rst
rename to Documentation/drivers/media/uapi/v4l/app-pri.rst
diff --git a/Documentation/media/uapi/v4l/async.rst b/Documentation/drivers/media/uapi/v4l/async.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/async.rst
rename to Documentation/drivers/media/uapi/v4l/async.rst
diff --git a/Documentation/media/uapi/v4l/audio.rst b/Documentation/drivers/media/uapi/v4l/audio.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/audio.rst
rename to Documentation/drivers/media/uapi/v4l/audio.rst
diff --git a/Documentation/media/uapi/v4l/bayer.svg b/Documentation/drivers/media/uapi/v4l/bayer.svg
similarity index 100%
rename from Documentation/media/uapi/v4l/bayer.svg
rename to Documentation/drivers/media/uapi/v4l/bayer.svg
diff --git a/Documentation/media/uapi/v4l/biblio.rst b/Documentation/drivers/media/uapi/v4l/biblio.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/biblio.rst
rename to Documentation/drivers/media/uapi/v4l/biblio.rst
diff --git a/Documentation/media/uapi/v4l/buffer.rst b/Documentation/drivers/media/uapi/v4l/buffer.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/buffer.rst
rename to Documentation/drivers/media/uapi/v4l/buffer.rst
diff --git a/Documentation/media/uapi/v4l/capture-example.rst b/Documentation/drivers/media/uapi/v4l/capture-example.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/capture-example.rst
rename to Documentation/drivers/media/uapi/v4l/capture-example.rst
diff --git a/Documentation/media/uapi/v4l/capture.c.rst b/Documentation/drivers/media/uapi/v4l/capture.c.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/capture.c.rst
rename to Documentation/drivers/media/uapi/v4l/capture.c.rst
diff --git a/Documentation/media/uapi/v4l/colorspaces-defs.rst b/Documentation/drivers/media/uapi/v4l/colorspaces-defs.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/colorspaces-defs.rst
rename to Documentation/drivers/media/uapi/v4l/colorspaces-defs.rst
diff --git a/Documentation/media/uapi/v4l/colorspaces-details.rst b/Documentation/drivers/media/uapi/v4l/colorspaces-details.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/colorspaces-details.rst
rename to Documentation/drivers/media/uapi/v4l/colorspaces-details.rst
diff --git a/Documentation/media/uapi/v4l/colorspaces.rst b/Documentation/drivers/media/uapi/v4l/colorspaces.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/colorspaces.rst
rename to Documentation/drivers/media/uapi/v4l/colorspaces.rst
diff --git a/Documentation/media/uapi/v4l/common-defs.rst b/Documentation/drivers/media/uapi/v4l/common-defs.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/common-defs.rst
rename to Documentation/drivers/media/uapi/v4l/common-defs.rst
diff --git a/Documentation/media/uapi/v4l/common.rst b/Documentation/drivers/media/uapi/v4l/common.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/common.rst
rename to Documentation/drivers/media/uapi/v4l/common.rst
diff --git a/Documentation/media/uapi/v4l/compat.rst b/Documentation/drivers/media/uapi/v4l/compat.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/compat.rst
rename to Documentation/drivers/media/uapi/v4l/compat.rst
diff --git a/Documentation/media/uapi/v4l/constraints.svg b/Documentation/drivers/media/uapi/v4l/constraints.svg
similarity index 100%
rename from Documentation/media/uapi/v4l/constraints.svg
rename to Documentation/drivers/media/uapi/v4l/constraints.svg
diff --git a/Documentation/media/uapi/v4l/control.rst b/Documentation/drivers/media/uapi/v4l/control.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/control.rst
rename to Documentation/drivers/media/uapi/v4l/control.rst
diff --git a/Documentation/media/uapi/v4l/crop.rst b/Documentation/drivers/media/uapi/v4l/crop.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/crop.rst
rename to Documentation/drivers/media/uapi/v4l/crop.rst
diff --git a/Documentation/media/uapi/v4l/crop.svg b/Documentation/drivers/media/uapi/v4l/crop.svg
similarity index 100%
rename from Documentation/media/uapi/v4l/crop.svg
rename to Documentation/drivers/media/uapi/v4l/crop.svg
diff --git a/Documentation/media/uapi/v4l/depth-formats.rst b/Documentation/drivers/media/uapi/v4l/depth-formats.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/depth-formats.rst
rename to Documentation/drivers/media/uapi/v4l/depth-formats.rst
diff --git a/Documentation/media/uapi/v4l/dev-capture.rst b/Documentation/drivers/media/uapi/v4l/dev-capture.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dev-capture.rst
rename to Documentation/drivers/media/uapi/v4l/dev-capture.rst
diff --git a/Documentation/media/uapi/v4l/dev-event.rst b/Documentation/drivers/media/uapi/v4l/dev-event.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dev-event.rst
rename to Documentation/drivers/media/uapi/v4l/dev-event.rst
diff --git a/Documentation/media/uapi/v4l/dev-mem2mem.rst b/Documentation/drivers/media/uapi/v4l/dev-mem2mem.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dev-mem2mem.rst
rename to Documentation/drivers/media/uapi/v4l/dev-mem2mem.rst
diff --git a/Documentation/media/uapi/v4l/dev-meta.rst b/Documentation/drivers/media/uapi/v4l/dev-meta.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dev-meta.rst
rename to Documentation/drivers/media/uapi/v4l/dev-meta.rst
diff --git a/Documentation/media/uapi/v4l/dev-osd.rst b/Documentation/drivers/media/uapi/v4l/dev-osd.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dev-osd.rst
rename to Documentation/drivers/media/uapi/v4l/dev-osd.rst
diff --git a/Documentation/media/uapi/v4l/dev-output.rst b/Documentation/drivers/media/uapi/v4l/dev-output.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dev-output.rst
rename to Documentation/drivers/media/uapi/v4l/dev-output.rst
diff --git a/Documentation/media/uapi/v4l/dev-overlay.rst b/Documentation/drivers/media/uapi/v4l/dev-overlay.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dev-overlay.rst
rename to Documentation/drivers/media/uapi/v4l/dev-overlay.rst
diff --git a/Documentation/media/uapi/v4l/dev-radio.rst b/Documentation/drivers/media/uapi/v4l/dev-radio.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dev-radio.rst
rename to Documentation/drivers/media/uapi/v4l/dev-radio.rst
diff --git a/Documentation/media/uapi/v4l/dev-raw-vbi.rst b/Documentation/drivers/media/uapi/v4l/dev-raw-vbi.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dev-raw-vbi.rst
rename to Documentation/drivers/media/uapi/v4l/dev-raw-vbi.rst
diff --git a/Documentation/media/uapi/v4l/dev-rds.rst b/Documentation/drivers/media/uapi/v4l/dev-rds.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dev-rds.rst
rename to Documentation/drivers/media/uapi/v4l/dev-rds.rst
diff --git a/Documentation/media/uapi/v4l/dev-sdr.rst b/Documentation/drivers/media/uapi/v4l/dev-sdr.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dev-sdr.rst
rename to Documentation/drivers/media/uapi/v4l/dev-sdr.rst
diff --git a/Documentation/media/uapi/v4l/dev-sliced-vbi.rst b/Documentation/drivers/media/uapi/v4l/dev-sliced-vbi.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dev-sliced-vbi.rst
rename to Documentation/drivers/media/uapi/v4l/dev-sliced-vbi.rst
diff --git a/Documentation/media/uapi/v4l/dev-subdev.rst b/Documentation/drivers/media/uapi/v4l/dev-subdev.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dev-subdev.rst
rename to Documentation/drivers/media/uapi/v4l/dev-subdev.rst
diff --git a/Documentation/media/uapi/v4l/dev-touch.rst b/Documentation/drivers/media/uapi/v4l/dev-touch.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dev-touch.rst
rename to Documentation/drivers/media/uapi/v4l/dev-touch.rst
diff --git a/Documentation/media/uapi/v4l/devices.rst b/Documentation/drivers/media/uapi/v4l/devices.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/devices.rst
rename to Documentation/drivers/media/uapi/v4l/devices.rst
diff --git a/Documentation/media/uapi/v4l/diff-v4l.rst b/Documentation/drivers/media/uapi/v4l/diff-v4l.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/diff-v4l.rst
rename to Documentation/drivers/media/uapi/v4l/diff-v4l.rst
diff --git a/Documentation/media/uapi/v4l/dmabuf.rst b/Documentation/drivers/media/uapi/v4l/dmabuf.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dmabuf.rst
rename to Documentation/drivers/media/uapi/v4l/dmabuf.rst
diff --git a/Documentation/media/uapi/v4l/dv-timings.rst b/Documentation/drivers/media/uapi/v4l/dv-timings.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/dv-timings.rst
rename to Documentation/drivers/media/uapi/v4l/dv-timings.rst
diff --git a/Documentation/media/uapi/v4l/ext-ctrls-camera.rst b/Documentation/drivers/media/uapi/v4l/ext-ctrls-camera.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/ext-ctrls-camera.rst
rename to Documentation/drivers/media/uapi/v4l/ext-ctrls-camera.rst
diff --git a/Documentation/media/uapi/v4l/ext-ctrls-codec.rst b/Documentation/drivers/media/uapi/v4l/ext-ctrls-codec.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/ext-ctrls-codec.rst
rename to Documentation/drivers/media/uapi/v4l/ext-ctrls-codec.rst
diff --git a/Documentation/media/uapi/v4l/ext-ctrls-detect.rst b/Documentation/drivers/media/uapi/v4l/ext-ctrls-detect.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/ext-ctrls-detect.rst
rename to Documentation/drivers/media/uapi/v4l/ext-ctrls-detect.rst
diff --git a/Documentation/media/uapi/v4l/ext-ctrls-dv.rst b/Documentation/drivers/media/uapi/v4l/ext-ctrls-dv.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/ext-ctrls-dv.rst
rename to Documentation/drivers/media/uapi/v4l/ext-ctrls-dv.rst
diff --git a/Documentation/media/uapi/v4l/ext-ctrls-flash.rst b/Documentation/drivers/media/uapi/v4l/ext-ctrls-flash.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/ext-ctrls-flash.rst
rename to Documentation/drivers/media/uapi/v4l/ext-ctrls-flash.rst
diff --git a/Documentation/media/uapi/v4l/ext-ctrls-fm-rx.rst b/Documentation/drivers/media/uapi/v4l/ext-ctrls-fm-rx.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/ext-ctrls-fm-rx.rst
rename to Documentation/drivers/media/uapi/v4l/ext-ctrls-fm-rx.rst
diff --git a/Documentation/media/uapi/v4l/ext-ctrls-fm-tx.rst b/Documentation/drivers/media/uapi/v4l/ext-ctrls-fm-tx.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/ext-ctrls-fm-tx.rst
rename to Documentation/drivers/media/uapi/v4l/ext-ctrls-fm-tx.rst
diff --git a/Documentation/media/uapi/v4l/ext-ctrls-image-process.rst b/Documentation/drivers/media/uapi/v4l/ext-ctrls-image-process.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/ext-ctrls-image-process.rst
rename to Documentation/drivers/media/uapi/v4l/ext-ctrls-image-process.rst
diff --git a/Documentation/media/uapi/v4l/ext-ctrls-image-source.rst b/Documentation/drivers/media/uapi/v4l/ext-ctrls-image-source.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/ext-ctrls-image-source.rst
rename to Documentation/drivers/media/uapi/v4l/ext-ctrls-image-source.rst
diff --git a/Documentation/media/uapi/v4l/ext-ctrls-jpeg.rst b/Documentation/drivers/media/uapi/v4l/ext-ctrls-jpeg.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/ext-ctrls-jpeg.rst
rename to Documentation/drivers/media/uapi/v4l/ext-ctrls-jpeg.rst
diff --git a/Documentation/media/uapi/v4l/ext-ctrls-rf-tuner.rst b/Documentation/drivers/media/uapi/v4l/ext-ctrls-rf-tuner.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/ext-ctrls-rf-tuner.rst
rename to Documentation/drivers/media/uapi/v4l/ext-ctrls-rf-tuner.rst
diff --git a/Documentation/media/uapi/v4l/extended-controls.rst b/Documentation/drivers/media/uapi/v4l/extended-controls.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/extended-controls.rst
rename to Documentation/drivers/media/uapi/v4l/extended-controls.rst
diff --git a/Documentation/media/uapi/v4l/field-order.rst b/Documentation/drivers/media/uapi/v4l/field-order.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/field-order.rst
rename to Documentation/drivers/media/uapi/v4l/field-order.rst
diff --git a/Documentation/media/uapi/v4l/fieldseq_bt.svg b/Documentation/drivers/media/uapi/v4l/fieldseq_bt.svg
similarity index 100%
rename from Documentation/media/uapi/v4l/fieldseq_bt.svg
rename to Documentation/drivers/media/uapi/v4l/fieldseq_bt.svg
diff --git a/Documentation/media/uapi/v4l/fieldseq_tb.svg b/Documentation/drivers/media/uapi/v4l/fieldseq_tb.svg
similarity index 100%
rename from Documentation/media/uapi/v4l/fieldseq_tb.svg
rename to Documentation/drivers/media/uapi/v4l/fieldseq_tb.svg
diff --git a/Documentation/media/uapi/v4l/format.rst b/Documentation/drivers/media/uapi/v4l/format.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/format.rst
rename to Documentation/drivers/media/uapi/v4l/format.rst
diff --git a/Documentation/media/uapi/v4l/func-close.rst b/Documentation/drivers/media/uapi/v4l/func-close.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/func-close.rst
rename to Documentation/drivers/media/uapi/v4l/func-close.rst
diff --git a/Documentation/media/uapi/v4l/func-ioctl.rst b/Documentation/drivers/media/uapi/v4l/func-ioctl.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/func-ioctl.rst
rename to Documentation/drivers/media/uapi/v4l/func-ioctl.rst
diff --git a/Documentation/media/uapi/v4l/func-mmap.rst b/Documentation/drivers/media/uapi/v4l/func-mmap.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/func-mmap.rst
rename to Documentation/drivers/media/uapi/v4l/func-mmap.rst
diff --git a/Documentation/media/uapi/v4l/func-munmap.rst b/Documentation/drivers/media/uapi/v4l/func-munmap.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/func-munmap.rst
rename to Documentation/drivers/media/uapi/v4l/func-munmap.rst
diff --git a/Documentation/media/uapi/v4l/func-open.rst b/Documentation/drivers/media/uapi/v4l/func-open.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/func-open.rst
rename to Documentation/drivers/media/uapi/v4l/func-open.rst
diff --git a/Documentation/media/uapi/v4l/func-poll.rst b/Documentation/drivers/media/uapi/v4l/func-poll.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/func-poll.rst
rename to Documentation/drivers/media/uapi/v4l/func-poll.rst
diff --git a/Documentation/media/uapi/v4l/func-read.rst b/Documentation/drivers/media/uapi/v4l/func-read.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/func-read.rst
rename to Documentation/drivers/media/uapi/v4l/func-read.rst
diff --git a/Documentation/media/uapi/v4l/func-select.rst b/Documentation/drivers/media/uapi/v4l/func-select.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/func-select.rst
rename to Documentation/drivers/media/uapi/v4l/func-select.rst
diff --git a/Documentation/media/uapi/v4l/func-write.rst b/Documentation/drivers/media/uapi/v4l/func-write.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/func-write.rst
rename to Documentation/drivers/media/uapi/v4l/func-write.rst
diff --git a/Documentation/media/uapi/v4l/hist-v4l2.rst b/Documentation/drivers/media/uapi/v4l/hist-v4l2.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/hist-v4l2.rst
rename to Documentation/drivers/media/uapi/v4l/hist-v4l2.rst
diff --git a/Documentation/media/uapi/v4l/hsv-formats.rst b/Documentation/drivers/media/uapi/v4l/hsv-formats.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/hsv-formats.rst
rename to Documentation/drivers/media/uapi/v4l/hsv-formats.rst
diff --git a/Documentation/media/uapi/v4l/io.rst b/Documentation/drivers/media/uapi/v4l/io.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/io.rst
rename to Documentation/drivers/media/uapi/v4l/io.rst
diff --git a/Documentation/media/uapi/v4l/libv4l-introduction.rst b/Documentation/drivers/media/uapi/v4l/libv4l-introduction.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/libv4l-introduction.rst
rename to Documentation/drivers/media/uapi/v4l/libv4l-introduction.rst
diff --git a/Documentation/media/uapi/v4l/libv4l.rst b/Documentation/drivers/media/uapi/v4l/libv4l.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/libv4l.rst
rename to Documentation/drivers/media/uapi/v4l/libv4l.rst
diff --git a/Documentation/media/uapi/v4l/meta-formats.rst b/Documentation/drivers/media/uapi/v4l/meta-formats.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/meta-formats.rst
rename to Documentation/drivers/media/uapi/v4l/meta-formats.rst
diff --git a/Documentation/media/uapi/v4l/mmap.rst b/Documentation/drivers/media/uapi/v4l/mmap.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/mmap.rst
rename to Documentation/drivers/media/uapi/v4l/mmap.rst
diff --git a/Documentation/media/uapi/v4l/nv12mt.svg b/Documentation/drivers/media/uapi/v4l/nv12mt.svg
similarity index 100%
rename from Documentation/media/uapi/v4l/nv12mt.svg
rename to Documentation/drivers/media/uapi/v4l/nv12mt.svg
diff --git a/Documentation/media/uapi/v4l/nv12mt_example.svg b/Documentation/drivers/media/uapi/v4l/nv12mt_example.svg
similarity index 100%
rename from Documentation/media/uapi/v4l/nv12mt_example.svg
rename to Documentation/drivers/media/uapi/v4l/nv12mt_example.svg
diff --git a/Documentation/media/uapi/v4l/open.rst b/Documentation/drivers/media/uapi/v4l/open.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/open.rst
rename to Documentation/drivers/media/uapi/v4l/open.rst
diff --git a/Documentation/media/uapi/v4l/pipeline.dot b/Documentation/drivers/media/uapi/v4l/pipeline.dot
similarity index 100%
rename from Documentation/media/uapi/v4l/pipeline.dot
rename to Documentation/drivers/media/uapi/v4l/pipeline.dot
diff --git a/Documentation/media/uapi/v4l/pixfmt-cnf4.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-cnf4.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-cnf4.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-cnf4.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-compressed.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-compressed.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-compressed.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-compressed.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-grey.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-grey.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-grey.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-grey.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-indexed.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-indexed.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-indexed.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-indexed.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-intro.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-intro.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-intro.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-intro.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-inzi.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-inzi.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-inzi.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-inzi.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-m420.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-m420.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-m420.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-m420.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-meta-d4xx.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-meta-d4xx.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-meta-intel-ipu3.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-meta-intel-ipu3.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-meta-intel-ipu3.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-meta-intel-ipu3.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-meta-uvc.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-meta-uvc.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-meta-uvc.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-meta-uvc.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-meta-vsp1-hgo.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgt.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-meta-vsp1-hgt.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-meta-vsp1-hgt.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-meta-vsp1-hgt.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-nv12.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-nv12.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-nv12.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-nv12.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-nv12m.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-nv12m.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-nv12m.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-nv12m.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-nv12mt.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-nv12mt.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-nv12mt.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-nv12mt.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-nv16.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-nv16.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-nv16.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-nv16.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-nv16m.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-nv16m.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-nv16m.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-nv16m.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-nv24.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-nv24.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-nv24.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-nv24.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-packed-hsv.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-packed-hsv.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-packed-rgb.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-packed-rgb.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-packed-yuv.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-packed-yuv.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-packed-yuv.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-packed-yuv.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-reserved.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-reserved.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-reserved.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-reserved.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-rgb.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-rgb.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-rgb.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-rgb.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-sdr-cs08.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-sdr-cs08.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-sdr-cs08.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-sdr-cs08.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-sdr-cs14le.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-sdr-cs14le.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-sdr-cs14le.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-sdr-cs14le.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-sdr-cu08.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-sdr-cu08.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-sdr-cu08.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-sdr-cu08.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-sdr-cu16le.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-sdr-cu16le.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-sdr-cu16le.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-sdr-cu16le.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-sdr-pcu16be.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-sdr-pcu16be.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-sdr-pcu16be.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-sdr-pcu16be.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-sdr-pcu18be.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-sdr-pcu18be.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-sdr-pcu18be.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-sdr-pcu18be.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-sdr-pcu20be.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-sdr-pcu20be.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-sdr-pcu20be.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-sdr-pcu20be.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-sdr-ru12le.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-sdr-ru12le.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-sdr-ru12le.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-sdr-ru12le.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-srggb10-ipu3.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-srggb10-ipu3.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-srggb10-ipu3.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-srggb10-ipu3.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-srggb10.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-srggb10.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-srggb10.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-srggb10.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-srggb10alaw8.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-srggb10alaw8.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-srggb10alaw8.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-srggb10alaw8.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-srggb10dpcm8.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-srggb10dpcm8.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-srggb10dpcm8.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-srggb10dpcm8.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-srggb10p.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-srggb10p.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-srggb10p.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-srggb10p.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-srggb12.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-srggb12.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-srggb12.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-srggb12.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-srggb12p.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-srggb12p.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-srggb12p.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-srggb12p.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-srggb14p.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-srggb14p.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-srggb14p.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-srggb14p.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-srggb16.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-srggb16.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-srggb16.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-srggb16.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-srggb8.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-srggb8.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-srggb8.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-srggb8.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-tch-td08.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-tch-td08.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-tch-td08.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-tch-td08.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-tch-td16.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-tch-td16.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-tch-td16.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-tch-td16.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-tch-tu08.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-tch-tu08.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-tch-tu08.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-tch-tu08.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-tch-tu16.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-tch-tu16.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-tch-tu16.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-tch-tu16.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-uv8.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-uv8.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-uv8.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-uv8.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-uyvy.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-uyvy.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-uyvy.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-uyvy.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-v4l2-mplane.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-v4l2-mplane.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-v4l2-mplane.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-v4l2-mplane.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-v4l2.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-v4l2.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-v4l2.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-v4l2.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-vyuy.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-vyuy.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-vyuy.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-vyuy.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-y10.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-y10.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-y10.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-y10.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-y10b.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-y10b.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-y10b.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-y10b.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-y10p.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-y10p.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-y10p.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-y10p.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-y12.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-y12.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-y12.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-y12.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-y12i.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-y12i.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-y12i.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-y12i.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-y16-be.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-y16-be.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-y16-be.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-y16-be.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-y16.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-y16.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-y16.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-y16.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-y41p.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-y41p.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-y41p.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-y41p.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-y8i.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-y8i.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-y8i.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-y8i.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-yuv410.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-yuv410.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-yuv410.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-yuv410.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-yuv411p.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-yuv411p.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-yuv411p.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-yuv411p.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-yuv420.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-yuv420.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-yuv420.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-yuv420.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-yuv420m.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-yuv420m.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-yuv420m.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-yuv420m.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-yuv422m.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-yuv422m.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-yuv422m.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-yuv422m.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-yuv422p.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-yuv422p.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-yuv422p.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-yuv422p.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-yuv444m.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-yuv444m.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-yuv444m.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-yuv444m.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-yuyv.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-yuyv.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-yuyv.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-yuyv.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-yvyu.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-yvyu.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-yvyu.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-yvyu.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt-z16.rst b/Documentation/drivers/media/uapi/v4l/pixfmt-z16.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt-z16.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt-z16.rst
diff --git a/Documentation/media/uapi/v4l/pixfmt.rst b/Documentation/drivers/media/uapi/v4l/pixfmt.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/pixfmt.rst
rename to Documentation/drivers/media/uapi/v4l/pixfmt.rst
diff --git a/Documentation/media/uapi/v4l/planar-apis.rst b/Documentation/drivers/media/uapi/v4l/planar-apis.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/planar-apis.rst
rename to Documentation/drivers/media/uapi/v4l/planar-apis.rst
diff --git a/Documentation/media/uapi/v4l/querycap.rst b/Documentation/drivers/media/uapi/v4l/querycap.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/querycap.rst
rename to Documentation/drivers/media/uapi/v4l/querycap.rst
diff --git a/Documentation/media/uapi/v4l/rw.rst b/Documentation/drivers/media/uapi/v4l/rw.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/rw.rst
rename to Documentation/drivers/media/uapi/v4l/rw.rst
diff --git a/Documentation/media/uapi/v4l/sdr-formats.rst b/Documentation/drivers/media/uapi/v4l/sdr-formats.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/sdr-formats.rst
rename to Documentation/drivers/media/uapi/v4l/sdr-formats.rst
diff --git a/Documentation/media/uapi/v4l/selection-api-configuration.rst b/Documentation/drivers/media/uapi/v4l/selection-api-configuration.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/selection-api-configuration.rst
rename to Documentation/drivers/media/uapi/v4l/selection-api-configuration.rst
diff --git a/Documentation/media/uapi/v4l/selection-api-examples.rst b/Documentation/drivers/media/uapi/v4l/selection-api-examples.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/selection-api-examples.rst
rename to Documentation/drivers/media/uapi/v4l/selection-api-examples.rst
diff --git a/Documentation/media/uapi/v4l/selection-api-intro.rst b/Documentation/drivers/media/uapi/v4l/selection-api-intro.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/selection-api-intro.rst
rename to Documentation/drivers/media/uapi/v4l/selection-api-intro.rst
diff --git a/Documentation/media/uapi/v4l/selection-api-targets.rst b/Documentation/drivers/media/uapi/v4l/selection-api-targets.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/selection-api-targets.rst
rename to Documentation/drivers/media/uapi/v4l/selection-api-targets.rst
diff --git a/Documentation/media/uapi/v4l/selection-api-vs-crop-api.rst b/Documentation/drivers/media/uapi/v4l/selection-api-vs-crop-api.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/selection-api-vs-crop-api.rst
rename to Documentation/drivers/media/uapi/v4l/selection-api-vs-crop-api.rst
diff --git a/Documentation/media/uapi/v4l/selection-api.rst b/Documentation/drivers/media/uapi/v4l/selection-api.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/selection-api.rst
rename to Documentation/drivers/media/uapi/v4l/selection-api.rst
diff --git a/Documentation/media/uapi/v4l/selection.svg b/Documentation/drivers/media/uapi/v4l/selection.svg
similarity index 100%
rename from Documentation/media/uapi/v4l/selection.svg
rename to Documentation/drivers/media/uapi/v4l/selection.svg
diff --git a/Documentation/media/uapi/v4l/selections-common.rst b/Documentation/drivers/media/uapi/v4l/selections-common.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/selections-common.rst
rename to Documentation/drivers/media/uapi/v4l/selections-common.rst
diff --git a/Documentation/media/uapi/v4l/standard.rst b/Documentation/drivers/media/uapi/v4l/standard.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/standard.rst
rename to Documentation/drivers/media/uapi/v4l/standard.rst
diff --git a/Documentation/media/uapi/v4l/streaming-par.rst b/Documentation/drivers/media/uapi/v4l/streaming-par.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/streaming-par.rst
rename to Documentation/drivers/media/uapi/v4l/streaming-par.rst
diff --git a/Documentation/media/uapi/v4l/subdev-formats.rst b/Documentation/drivers/media/uapi/v4l/subdev-formats.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/subdev-formats.rst
rename to Documentation/drivers/media/uapi/v4l/subdev-formats.rst
diff --git a/Documentation/media/uapi/v4l/subdev-image-processing-crop.svg b/Documentation/drivers/media/uapi/v4l/subdev-image-processing-crop.svg
similarity index 100%
rename from Documentation/media/uapi/v4l/subdev-image-processing-crop.svg
rename to Documentation/drivers/media/uapi/v4l/subdev-image-processing-crop.svg
diff --git a/Documentation/media/uapi/v4l/subdev-image-processing-full.svg b/Documentation/drivers/media/uapi/v4l/subdev-image-processing-full.svg
similarity index 100%
rename from Documentation/media/uapi/v4l/subdev-image-processing-full.svg
rename to Documentation/drivers/media/uapi/v4l/subdev-image-processing-full.svg
diff --git a/Documentation/media/uapi/v4l/subdev-image-processing-scaling-multi-source.svg b/Documentation/drivers/media/uapi/v4l/subdev-image-processing-scaling-multi-source.svg
similarity index 100%
rename from Documentation/media/uapi/v4l/subdev-image-processing-scaling-multi-source.svg
rename to Documentation/drivers/media/uapi/v4l/subdev-image-processing-scaling-multi-source.svg
diff --git a/Documentation/media/uapi/v4l/tch-formats.rst b/Documentation/drivers/media/uapi/v4l/tch-formats.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/tch-formats.rst
rename to Documentation/drivers/media/uapi/v4l/tch-formats.rst
diff --git a/Documentation/media/uapi/v4l/tuner.rst b/Documentation/drivers/media/uapi/v4l/tuner.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/tuner.rst
rename to Documentation/drivers/media/uapi/v4l/tuner.rst
diff --git a/Documentation/media/uapi/v4l/user-func.rst b/Documentation/drivers/media/uapi/v4l/user-func.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/user-func.rst
rename to Documentation/drivers/media/uapi/v4l/user-func.rst
diff --git a/Documentation/media/uapi/v4l/userp.rst b/Documentation/drivers/media/uapi/v4l/userp.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/userp.rst
rename to Documentation/drivers/media/uapi/v4l/userp.rst
diff --git a/Documentation/media/uapi/v4l/v4l2-selection-flags.rst b/Documentation/drivers/media/uapi/v4l/v4l2-selection-flags.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/v4l2-selection-flags.rst
rename to Documentation/drivers/media/uapi/v4l/v4l2-selection-flags.rst
diff --git a/Documentation/media/uapi/v4l/v4l2-selection-targets.rst b/Documentation/drivers/media/uapi/v4l/v4l2-selection-targets.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/v4l2-selection-targets.rst
rename to Documentation/drivers/media/uapi/v4l/v4l2-selection-targets.rst
diff --git a/Documentation/media/uapi/v4l/v4l2.rst b/Documentation/drivers/media/uapi/v4l/v4l2.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/v4l2.rst
rename to Documentation/drivers/media/uapi/v4l/v4l2.rst
diff --git a/Documentation/media/uapi/v4l/v4l2grab-example.rst b/Documentation/drivers/media/uapi/v4l/v4l2grab-example.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/v4l2grab-example.rst
rename to Documentation/drivers/media/uapi/v4l/v4l2grab-example.rst
diff --git a/Documentation/media/uapi/v4l/v4l2grab.c.rst b/Documentation/drivers/media/uapi/v4l/v4l2grab.c.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/v4l2grab.c.rst
rename to Documentation/drivers/media/uapi/v4l/v4l2grab.c.rst
diff --git a/Documentation/media/uapi/v4l/vbi_525.svg b/Documentation/drivers/media/uapi/v4l/vbi_525.svg
similarity index 100%
rename from Documentation/media/uapi/v4l/vbi_525.svg
rename to Documentation/drivers/media/uapi/v4l/vbi_525.svg
diff --git a/Documentation/media/uapi/v4l/vbi_625.svg b/Documentation/drivers/media/uapi/v4l/vbi_625.svg
similarity index 100%
rename from Documentation/media/uapi/v4l/vbi_625.svg
rename to Documentation/drivers/media/uapi/v4l/vbi_625.svg
diff --git a/Documentation/media/uapi/v4l/vbi_hsync.svg b/Documentation/drivers/media/uapi/v4l/vbi_hsync.svg
similarity index 100%
rename from Documentation/media/uapi/v4l/vbi_hsync.svg
rename to Documentation/drivers/media/uapi/v4l/vbi_hsync.svg
diff --git a/Documentation/media/uapi/v4l/video.rst b/Documentation/drivers/media/uapi/v4l/video.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/video.rst
rename to Documentation/drivers/media/uapi/v4l/video.rst
diff --git a/Documentation/media/uapi/v4l/videodev.rst b/Documentation/drivers/media/uapi/v4l/videodev.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/videodev.rst
rename to Documentation/drivers/media/uapi/v4l/videodev.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-create-bufs.rst b/Documentation/drivers/media/uapi/v4l/vidioc-create-bufs.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-create-bufs.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-create-bufs.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-cropcap.rst b/Documentation/drivers/media/uapi/v4l/vidioc-cropcap.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-cropcap.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-cropcap.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-dbg-g-chip-info.rst b/Documentation/drivers/media/uapi/v4l/vidioc-dbg-g-chip-info.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-dbg-g-chip-info.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-dbg-g-chip-info.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-dbg-g-register.rst b/Documentation/drivers/media/uapi/v4l/vidioc-dbg-g-register.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-dbg-g-register.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-dbg-g-register.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-decoder-cmd.rst b/Documentation/drivers/media/uapi/v4l/vidioc-decoder-cmd.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-decoder-cmd.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-decoder-cmd.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-dqevent.rst b/Documentation/drivers/media/uapi/v4l/vidioc-dqevent.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-dqevent.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-dqevent.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-dv-timings-cap.rst b/Documentation/drivers/media/uapi/v4l/vidioc-dv-timings-cap.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-dv-timings-cap.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-dv-timings-cap.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-encoder-cmd.rst b/Documentation/drivers/media/uapi/v4l/vidioc-encoder-cmd.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-encoder-cmd.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-encoder-cmd.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-enum-dv-timings.rst b/Documentation/drivers/media/uapi/v4l/vidioc-enum-dv-timings.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-enum-dv-timings.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-enum-dv-timings.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-enum-fmt.rst b/Documentation/drivers/media/uapi/v4l/vidioc-enum-fmt.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-enum-fmt.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-enum-fmt.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-enum-frameintervals.rst b/Documentation/drivers/media/uapi/v4l/vidioc-enum-frameintervals.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-enum-frameintervals.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-enum-frameintervals.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-enum-framesizes.rst b/Documentation/drivers/media/uapi/v4l/vidioc-enum-framesizes.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-enum-framesizes.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-enum-framesizes.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-enum-freq-bands.rst b/Documentation/drivers/media/uapi/v4l/vidioc-enum-freq-bands.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-enum-freq-bands.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-enum-freq-bands.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-enumaudio.rst b/Documentation/drivers/media/uapi/v4l/vidioc-enumaudio.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-enumaudio.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-enumaudio.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-enumaudioout.rst b/Documentation/drivers/media/uapi/v4l/vidioc-enumaudioout.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-enumaudioout.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-enumaudioout.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-enuminput.rst b/Documentation/drivers/media/uapi/v4l/vidioc-enuminput.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-enuminput.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-enuminput.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-enumoutput.rst b/Documentation/drivers/media/uapi/v4l/vidioc-enumoutput.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-enumoutput.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-enumoutput.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-enumstd.rst b/Documentation/drivers/media/uapi/v4l/vidioc-enumstd.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-enumstd.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-enumstd.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-expbuf.rst b/Documentation/drivers/media/uapi/v4l/vidioc-expbuf.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-expbuf.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-expbuf.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-audio.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-audio.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-audio.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-audio.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-audioout.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-audioout.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-audioout.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-audioout.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-crop.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-crop.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-crop.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-crop.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-ctrl.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-ctrl.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-ctrl.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-ctrl.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-dv-timings.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-dv-timings.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-dv-timings.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-dv-timings.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-edid.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-edid.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-edid.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-edid.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-enc-index.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-enc-index.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-enc-index.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-enc-index.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-ext-ctrls.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-ext-ctrls.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-ext-ctrls.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-ext-ctrls.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-fbuf.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-fbuf.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-fbuf.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-fbuf.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-fmt.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-fmt.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-fmt.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-fmt.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-frequency.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-frequency.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-frequency.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-frequency.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-input.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-input.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-input.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-input.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-jpegcomp.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-jpegcomp.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-jpegcomp.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-jpegcomp.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-modulator.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-modulator.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-modulator.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-modulator.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-output.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-output.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-output.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-output.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-parm.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-parm.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-parm.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-parm.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-priority.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-priority.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-priority.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-priority.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-selection.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-selection.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-selection.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-selection.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-sliced-vbi-cap.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-sliced-vbi-cap.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-sliced-vbi-cap.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-sliced-vbi-cap.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-std.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-std.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-std.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-std.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-g-tuner.rst b/Documentation/drivers/media/uapi/v4l/vidioc-g-tuner.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-g-tuner.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-g-tuner.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-log-status.rst b/Documentation/drivers/media/uapi/v4l/vidioc-log-status.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-log-status.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-log-status.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-overlay.rst b/Documentation/drivers/media/uapi/v4l/vidioc-overlay.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-overlay.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-overlay.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-prepare-buf.rst b/Documentation/drivers/media/uapi/v4l/vidioc-prepare-buf.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-prepare-buf.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-prepare-buf.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-qbuf.rst b/Documentation/drivers/media/uapi/v4l/vidioc-qbuf.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-qbuf.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-qbuf.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-query-dv-timings.rst b/Documentation/drivers/media/uapi/v4l/vidioc-query-dv-timings.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-query-dv-timings.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-query-dv-timings.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-querybuf.rst b/Documentation/drivers/media/uapi/v4l/vidioc-querybuf.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-querybuf.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-querybuf.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-querycap.rst b/Documentation/drivers/media/uapi/v4l/vidioc-querycap.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-querycap.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-querycap.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-queryctrl.rst b/Documentation/drivers/media/uapi/v4l/vidioc-queryctrl.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-queryctrl.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-queryctrl.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-querystd.rst b/Documentation/drivers/media/uapi/v4l/vidioc-querystd.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-querystd.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-querystd.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-reqbufs.rst b/Documentation/drivers/media/uapi/v4l/vidioc-reqbufs.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-reqbufs.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-reqbufs.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-s-hw-freq-seek.rst b/Documentation/drivers/media/uapi/v4l/vidioc-s-hw-freq-seek.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-s-hw-freq-seek.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-s-hw-freq-seek.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-streamon.rst b/Documentation/drivers/media/uapi/v4l/vidioc-streamon.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-streamon.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-streamon.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-subdev-enum-frame-interval.rst b/Documentation/drivers/media/uapi/v4l/vidioc-subdev-enum-frame-interval.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-subdev-enum-frame-interval.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-subdev-enum-frame-interval.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-subdev-enum-frame-size.rst b/Documentation/drivers/media/uapi/v4l/vidioc-subdev-enum-frame-size.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-subdev-enum-frame-size.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-subdev-enum-frame-size.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-subdev-enum-mbus-code.rst b/Documentation/drivers/media/uapi/v4l/vidioc-subdev-enum-mbus-code.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-subdev-enum-mbus-code.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-subdev-enum-mbus-code.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-subdev-g-crop.rst b/Documentation/drivers/media/uapi/v4l/vidioc-subdev-g-crop.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-subdev-g-crop.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-subdev-g-crop.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-subdev-g-fmt.rst b/Documentation/drivers/media/uapi/v4l/vidioc-subdev-g-fmt.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-subdev-g-fmt.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-subdev-g-fmt.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-subdev-g-frame-interval.rst b/Documentation/drivers/media/uapi/v4l/vidioc-subdev-g-frame-interval.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-subdev-g-frame-interval.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-subdev-g-frame-interval.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-subdev-g-selection.rst b/Documentation/drivers/media/uapi/v4l/vidioc-subdev-g-selection.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-subdev-g-selection.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-subdev-g-selection.rst
diff --git a/Documentation/media/uapi/v4l/vidioc-subscribe-event.rst b/Documentation/drivers/media/uapi/v4l/vidioc-subscribe-event.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/vidioc-subscribe-event.rst
rename to Documentation/drivers/media/uapi/v4l/vidioc-subscribe-event.rst
diff --git a/Documentation/media/uapi/v4l/yuv-formats.rst b/Documentation/drivers/media/uapi/v4l/yuv-formats.rst
similarity index 100%
rename from Documentation/media/uapi/v4l/yuv-formats.rst
rename to Documentation/drivers/media/uapi/v4l/yuv-formats.rst
diff --git a/Documentation/media/v4l-drivers/au0828-cardlist.rst b/Documentation/drivers/media/v4l-drivers/au0828-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/au0828-cardlist.rst
rename to Documentation/drivers/media/v4l-drivers/au0828-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/bttv-cardlist.rst b/Documentation/drivers/media/v4l-drivers/bttv-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/bttv-cardlist.rst
rename to Documentation/drivers/media/v4l-drivers/bttv-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/bttv.rst b/Documentation/drivers/media/v4l-drivers/bttv.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/bttv.rst
rename to Documentation/drivers/media/v4l-drivers/bttv.rst
diff --git a/Documentation/media/v4l-drivers/cafe_ccic.rst b/Documentation/drivers/media/v4l-drivers/cafe_ccic.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cafe_ccic.rst
rename to Documentation/drivers/media/v4l-drivers/cafe_ccic.rst
diff --git a/Documentation/media/v4l-drivers/cardlist.rst b/Documentation/drivers/media/v4l-drivers/cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cardlist.rst
rename to Documentation/drivers/media/v4l-drivers/cardlist.rst
diff --git a/Documentation/media/v4l-drivers/cpia2.rst b/Documentation/drivers/media/v4l-drivers/cpia2.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cpia2.rst
rename to Documentation/drivers/media/v4l-drivers/cpia2.rst
diff --git a/Documentation/media/v4l-drivers/cx18.rst b/Documentation/drivers/media/v4l-drivers/cx18.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cx18.rst
rename to Documentation/drivers/media/v4l-drivers/cx18.rst
diff --git a/Documentation/media/v4l-drivers/cx2341x.rst b/Documentation/drivers/media/v4l-drivers/cx2341x.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cx2341x.rst
rename to Documentation/drivers/media/v4l-drivers/cx2341x.rst
diff --git a/Documentation/media/v4l-drivers/cx23885-cardlist.rst b/Documentation/drivers/media/v4l-drivers/cx23885-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cx23885-cardlist.rst
rename to Documentation/drivers/media/v4l-drivers/cx23885-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/cx88-cardlist.rst b/Documentation/drivers/media/v4l-drivers/cx88-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cx88-cardlist.rst
rename to Documentation/drivers/media/v4l-drivers/cx88-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/cx88.rst b/Documentation/drivers/media/v4l-drivers/cx88.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cx88.rst
rename to Documentation/drivers/media/v4l-drivers/cx88.rst
diff --git a/Documentation/media/v4l-drivers/davinci-vpbe.rst b/Documentation/drivers/media/v4l-drivers/davinci-vpbe.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/davinci-vpbe.rst
rename to Documentation/drivers/media/v4l-drivers/davinci-vpbe.rst
diff --git a/Documentation/media/v4l-drivers/em28xx-cardlist.rst b/Documentation/drivers/media/v4l-drivers/em28xx-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/em28xx-cardlist.rst
rename to Documentation/drivers/media/v4l-drivers/em28xx-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/fimc.rst b/Documentation/drivers/media/v4l-drivers/fimc.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/fimc.rst
rename to Documentation/drivers/media/v4l-drivers/fimc.rst
diff --git a/Documentation/media/v4l-drivers/fourcc.rst b/Documentation/drivers/media/v4l-drivers/fourcc.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/fourcc.rst
rename to Documentation/drivers/media/v4l-drivers/fourcc.rst
diff --git a/Documentation/media/v4l-drivers/gspca-cardlist.rst b/Documentation/drivers/media/v4l-drivers/gspca-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/gspca-cardlist.rst
rename to Documentation/drivers/media/v4l-drivers/gspca-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/imx.rst b/Documentation/drivers/media/v4l-drivers/imx.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/imx.rst
rename to Documentation/drivers/media/v4l-drivers/imx.rst
diff --git a/Documentation/media/v4l-drivers/imx7.rst b/Documentation/drivers/media/v4l-drivers/imx7.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/imx7.rst
rename to Documentation/drivers/media/v4l-drivers/imx7.rst
diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/drivers/media/v4l-drivers/index.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/index.rst
rename to Documentation/drivers/media/v4l-drivers/index.rst
diff --git a/Documentation/media/v4l-drivers/ipu3.rst b/Documentation/drivers/media/v4l-drivers/ipu3.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/ipu3.rst
rename to Documentation/drivers/media/v4l-drivers/ipu3.rst
diff --git a/Documentation/media/v4l-drivers/ivtv-cardlist.rst b/Documentation/drivers/media/v4l-drivers/ivtv-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/ivtv-cardlist.rst
rename to Documentation/drivers/media/v4l-drivers/ivtv-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/ivtv.rst b/Documentation/drivers/media/v4l-drivers/ivtv.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/ivtv.rst
rename to Documentation/drivers/media/v4l-drivers/ivtv.rst
diff --git a/Documentation/media/v4l-drivers/max2175.rst b/Documentation/drivers/media/v4l-drivers/max2175.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/max2175.rst
rename to Documentation/drivers/media/v4l-drivers/max2175.rst
diff --git a/Documentation/media/v4l-drivers/meye.rst b/Documentation/drivers/media/v4l-drivers/meye.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/meye.rst
rename to Documentation/drivers/media/v4l-drivers/meye.rst
diff --git a/Documentation/media/v4l-drivers/omap3isp.rst b/Documentation/drivers/media/v4l-drivers/omap3isp.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/omap3isp.rst
rename to Documentation/drivers/media/v4l-drivers/omap3isp.rst
diff --git a/Documentation/media/v4l-drivers/omap4_camera.rst b/Documentation/drivers/media/v4l-drivers/omap4_camera.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/omap4_camera.rst
rename to Documentation/drivers/media/v4l-drivers/omap4_camera.rst
diff --git a/Documentation/media/v4l-drivers/philips.rst b/Documentation/drivers/media/v4l-drivers/philips.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/philips.rst
rename to Documentation/drivers/media/v4l-drivers/philips.rst
diff --git a/Documentation/media/v4l-drivers/pvrusb2.rst b/Documentation/drivers/media/v4l-drivers/pvrusb2.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/pvrusb2.rst
rename to Documentation/drivers/media/v4l-drivers/pvrusb2.rst
diff --git a/Documentation/media/v4l-drivers/pxa_camera.rst b/Documentation/drivers/media/v4l-drivers/pxa_camera.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/pxa_camera.rst
rename to Documentation/drivers/media/v4l-drivers/pxa_camera.rst
diff --git a/Documentation/media/v4l-drivers/qcom_camss.rst b/Documentation/drivers/media/v4l-drivers/qcom_camss.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/qcom_camss.rst
rename to Documentation/drivers/media/v4l-drivers/qcom_camss.rst
diff --git a/Documentation/media/v4l-drivers/qcom_camss_8x96_graph.dot b/Documentation/drivers/media/v4l-drivers/qcom_camss_8x96_graph.dot
similarity index 100%
rename from Documentation/media/v4l-drivers/qcom_camss_8x96_graph.dot
rename to Documentation/drivers/media/v4l-drivers/qcom_camss_8x96_graph.dot
diff --git a/Documentation/media/v4l-drivers/qcom_camss_graph.dot b/Documentation/drivers/media/v4l-drivers/qcom_camss_graph.dot
similarity index 100%
rename from Documentation/media/v4l-drivers/qcom_camss_graph.dot
rename to Documentation/drivers/media/v4l-drivers/qcom_camss_graph.dot
diff --git a/Documentation/media/v4l-drivers/radiotrack.rst b/Documentation/drivers/media/v4l-drivers/radiotrack.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/radiotrack.rst
rename to Documentation/drivers/media/v4l-drivers/radiotrack.rst
diff --git a/Documentation/media/v4l-drivers/rcar-fdp1.rst b/Documentation/drivers/media/v4l-drivers/rcar-fdp1.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/rcar-fdp1.rst
rename to Documentation/drivers/media/v4l-drivers/rcar-fdp1.rst
diff --git a/Documentation/media/v4l-drivers/saa7134-cardlist.rst b/Documentation/drivers/media/v4l-drivers/saa7134-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/saa7134-cardlist.rst
rename to Documentation/drivers/media/v4l-drivers/saa7134-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/saa7134.rst b/Documentation/drivers/media/v4l-drivers/saa7134.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/saa7134.rst
rename to Documentation/drivers/media/v4l-drivers/saa7134.rst
diff --git a/Documentation/media/v4l-drivers/saa7164-cardlist.rst b/Documentation/drivers/media/v4l-drivers/saa7164-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/saa7164-cardlist.rst
rename to Documentation/drivers/media/v4l-drivers/saa7164-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/sh_mobile_ceu_camera.rst b/Documentation/drivers/media/v4l-drivers/sh_mobile_ceu_camera.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/sh_mobile_ceu_camera.rst
rename to Documentation/drivers/media/v4l-drivers/sh_mobile_ceu_camera.rst
diff --git a/Documentation/media/v4l-drivers/si470x.rst b/Documentation/drivers/media/v4l-drivers/si470x.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/si470x.rst
rename to Documentation/drivers/media/v4l-drivers/si470x.rst
diff --git a/Documentation/media/v4l-drivers/si4713.rst b/Documentation/drivers/media/v4l-drivers/si4713.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/si4713.rst
rename to Documentation/drivers/media/v4l-drivers/si4713.rst
diff --git a/Documentation/media/v4l-drivers/si476x.rst b/Documentation/drivers/media/v4l-drivers/si476x.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/si476x.rst
rename to Documentation/drivers/media/v4l-drivers/si476x.rst
diff --git a/Documentation/media/v4l-drivers/soc-camera.rst b/Documentation/drivers/media/v4l-drivers/soc-camera.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/soc-camera.rst
rename to Documentation/drivers/media/v4l-drivers/soc-camera.rst
diff --git a/Documentation/media/v4l-drivers/tm6000-cardlist.rst b/Documentation/drivers/media/v4l-drivers/tm6000-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/tm6000-cardlist.rst
rename to Documentation/drivers/media/v4l-drivers/tm6000-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/tuner-cardlist.rst b/Documentation/drivers/media/v4l-drivers/tuner-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/tuner-cardlist.rst
rename to Documentation/drivers/media/v4l-drivers/tuner-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/tuners.rst b/Documentation/drivers/media/v4l-drivers/tuners.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/tuners.rst
rename to Documentation/drivers/media/v4l-drivers/tuners.rst
diff --git a/Documentation/media/v4l-drivers/usbvision-cardlist.rst b/Documentation/drivers/media/v4l-drivers/usbvision-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/usbvision-cardlist.rst
rename to Documentation/drivers/media/v4l-drivers/usbvision-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/uvcvideo.rst b/Documentation/drivers/media/v4l-drivers/uvcvideo.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/uvcvideo.rst
rename to Documentation/drivers/media/v4l-drivers/uvcvideo.rst
diff --git a/Documentation/media/v4l-drivers/v4l-with-ir.rst b/Documentation/drivers/media/v4l-drivers/v4l-with-ir.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/v4l-with-ir.rst
rename to Documentation/drivers/media/v4l-drivers/v4l-with-ir.rst
diff --git a/Documentation/media/v4l-drivers/vimc.dot b/Documentation/drivers/media/v4l-drivers/vimc.dot
similarity index 100%
rename from Documentation/media/v4l-drivers/vimc.dot
rename to Documentation/drivers/media/v4l-drivers/vimc.dot
diff --git a/Documentation/media/v4l-drivers/vimc.rst b/Documentation/drivers/media/v4l-drivers/vimc.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/vimc.rst
rename to Documentation/drivers/media/v4l-drivers/vimc.rst
diff --git a/Documentation/media/v4l-drivers/vivid.rst b/Documentation/drivers/media/v4l-drivers/vivid.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/vivid.rst
rename to Documentation/drivers/media/v4l-drivers/vivid.rst
diff --git a/Documentation/media/v4l-drivers/zr364xx.rst b/Documentation/drivers/media/v4l-drivers/zr364xx.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/zr364xx.rst
rename to Documentation/drivers/media/v4l-drivers/zr364xx.rst
diff --git a/Documentation/media/video.h.rst.exceptions b/Documentation/drivers/media/video.h.rst.exceptions
similarity index 100%
rename from Documentation/media/video.h.rst.exceptions
rename to Documentation/drivers/media/video.h.rst.exceptions
diff --git a/Documentation/media/videodev2.h.rst.exceptions b/Documentation/drivers/media/videodev2.h.rst.exceptions
similarity index 100%
rename from Documentation/media/videodev2.h.rst.exceptions
rename to Documentation/drivers/media/videodev2.h.rst.exceptions
diff --git a/Documentation/memory-devices/ti-emif.txt b/Documentation/drivers/memory/ti-emif.txt
similarity index 100%
rename from Documentation/memory-devices/ti-emif.txt
rename to Documentation/drivers/memory/ti-emif.txt
diff --git a/Documentation/misc-devices/ad525x_dpot.txt b/Documentation/drivers/misc/ad525x_dpot.txt
similarity index 100%
rename from Documentation/misc-devices/ad525x_dpot.txt
rename to Documentation/drivers/misc/ad525x_dpot.txt
diff --git a/Documentation/misc-devices/apds990x.txt b/Documentation/drivers/misc/apds990x.txt
similarity index 100%
rename from Documentation/misc-devices/apds990x.txt
rename to Documentation/drivers/misc/apds990x.txt
diff --git a/Documentation/misc-devices/bh1770glc.txt b/Documentation/drivers/misc/bh1770glc.txt
similarity index 100%
rename from Documentation/misc-devices/bh1770glc.txt
rename to Documentation/drivers/misc/bh1770glc.txt
diff --git a/Documentation/misc-devices/c2port.txt b/Documentation/drivers/misc/c2port.txt
similarity index 100%
rename from Documentation/misc-devices/c2port.txt
rename to Documentation/drivers/misc/c2port.txt
diff --git a/Documentation/misc-devices/eeprom b/Documentation/drivers/misc/eeprom
similarity index 100%
rename from Documentation/misc-devices/eeprom
rename to Documentation/drivers/misc/eeprom
diff --git a/Documentation/misc-devices/ibmvmc.rst b/Documentation/drivers/misc/ibmvmc.rst
similarity index 100%
rename from Documentation/misc-devices/ibmvmc.rst
rename to Documentation/drivers/misc/ibmvmc.rst
diff --git a/Documentation/misc-devices/ics932s401 b/Documentation/drivers/misc/ics932s401
similarity index 100%
rename from Documentation/misc-devices/ics932s401
rename to Documentation/drivers/misc/ics932s401
diff --git a/Documentation/misc-devices/index.rst b/Documentation/drivers/misc/index.rst
similarity index 100%
rename from Documentation/misc-devices/index.rst
rename to Documentation/drivers/misc/index.rst
diff --git a/Documentation/misc-devices/isl29003 b/Documentation/drivers/misc/isl29003
similarity index 100%
rename from Documentation/misc-devices/isl29003
rename to Documentation/drivers/misc/isl29003
diff --git a/Documentation/misc-devices/lis3lv02d b/Documentation/drivers/misc/lis3lv02d
similarity index 100%
rename from Documentation/misc-devices/lis3lv02d
rename to Documentation/drivers/misc/lis3lv02d
diff --git a/Documentation/misc-devices/max6875 b/Documentation/drivers/misc/max6875
similarity index 100%
rename from Documentation/misc-devices/max6875
rename to Documentation/drivers/misc/max6875
diff --git a/Documentation/misc-devices/mei/mei-client-bus.txt b/Documentation/drivers/misc/mei/mei-client-bus.txt
similarity index 100%
rename from Documentation/misc-devices/mei/mei-client-bus.txt
rename to Documentation/drivers/misc/mei/mei-client-bus.txt
diff --git a/Documentation/misc-devices/mei/mei.txt b/Documentation/drivers/misc/mei/mei.txt
similarity index 100%
rename from Documentation/misc-devices/mei/mei.txt
rename to Documentation/drivers/misc/mei/mei.txt
diff --git a/Documentation/misc-devices/pci-endpoint-test.txt b/Documentation/drivers/misc/pci-endpoint-test.txt
similarity index 100%
rename from Documentation/misc-devices/pci-endpoint-test.txt
rename to Documentation/drivers/misc/pci-endpoint-test.txt
diff --git a/Documentation/misc-devices/spear-pcie-gadget.txt b/Documentation/drivers/misc/spear-pcie-gadget.txt
similarity index 100%
rename from Documentation/misc-devices/spear-pcie-gadget.txt
rename to Documentation/drivers/misc/spear-pcie-gadget.txt
diff --git a/Documentation/mmc/mmc-async-req.txt b/Documentation/drivers/mmc/mmc-async-req.txt
similarity index 100%
rename from Documentation/mmc/mmc-async-req.txt
rename to Documentation/drivers/mmc/mmc-async-req.txt
diff --git a/Documentation/mmc/mmc-dev-attrs.txt b/Documentation/drivers/mmc/mmc-dev-attrs.txt
similarity index 100%
rename from Documentation/mmc/mmc-dev-attrs.txt
rename to Documentation/drivers/mmc/mmc-dev-attrs.txt
diff --git a/Documentation/mmc/mmc-dev-parts.txt b/Documentation/drivers/mmc/mmc-dev-parts.txt
similarity index 100%
rename from Documentation/mmc/mmc-dev-parts.txt
rename to Documentation/drivers/mmc/mmc-dev-parts.txt
diff --git a/Documentation/mmc/mmc-tools.txt b/Documentation/drivers/mmc/mmc-tools.txt
similarity index 100%
rename from Documentation/mmc/mmc-tools.txt
rename to Documentation/drivers/mmc/mmc-tools.txt
diff --git a/Documentation/mtd/intel-spi.txt b/Documentation/drivers/mtd/intel-spi.txt
similarity index 100%
rename from Documentation/mtd/intel-spi.txt
rename to Documentation/drivers/mtd/intel-spi.txt
diff --git a/Documentation/mtd/nand_ecc.txt b/Documentation/drivers/mtd/nand_ecc.txt
similarity index 100%
rename from Documentation/mtd/nand_ecc.txt
rename to Documentation/drivers/mtd/nand_ecc.txt
diff --git a/Documentation/mtd/spi-nor.txt b/Documentation/drivers/mtd/spi-nor.txt
similarity index 100%
rename from Documentation/mtd/spi-nor.txt
rename to Documentation/drivers/mtd/spi-nor.txt
diff --git a/Documentation/nfc/nfc-hci.txt b/Documentation/drivers/nfc/nfc-hci.txt
similarity index 100%
rename from Documentation/nfc/nfc-hci.txt
rename to Documentation/drivers/nfc/nfc-hci.txt
diff --git a/Documentation/nfc/nfc-pn544.txt b/Documentation/drivers/nfc/nfc-pn544.txt
similarity index 100%
rename from Documentation/nfc/nfc-pn544.txt
rename to Documentation/drivers/nfc/nfc-pn544.txt
diff --git a/Documentation/nvdimm/btt.txt b/Documentation/drivers/nvdimm/btt.txt
similarity index 100%
rename from Documentation/nvdimm/btt.txt
rename to Documentation/drivers/nvdimm/btt.txt
diff --git a/Documentation/nvdimm/nvdimm.txt b/Documentation/drivers/nvdimm/nvdimm.txt
similarity index 100%
rename from Documentation/nvdimm/nvdimm.txt
rename to Documentation/drivers/nvdimm/nvdimm.txt
diff --git a/Documentation/nvdimm/security.txt b/Documentation/drivers/nvdimm/security.txt
similarity index 100%
rename from Documentation/nvdimm/security.txt
rename to Documentation/drivers/nvdimm/security.txt
diff --git a/Documentation/nvmem/nvmem.txt b/Documentation/drivers/nvmem/nvmem.txt
similarity index 100%
rename from Documentation/nvmem/nvmem.txt
rename to Documentation/drivers/nvmem/nvmem.txt
diff --git a/Documentation/pcmcia/devicetable.rst b/Documentation/drivers/pcmcia/devicetable.rst
similarity index 100%
rename from Documentation/pcmcia/devicetable.rst
rename to Documentation/drivers/pcmcia/devicetable.rst
diff --git a/Documentation/pcmcia/driver-changes.rst b/Documentation/drivers/pcmcia/driver-changes.rst
similarity index 100%
rename from Documentation/pcmcia/driver-changes.rst
rename to Documentation/drivers/pcmcia/driver-changes.rst
diff --git a/Documentation/pcmcia/driver.rst b/Documentation/drivers/pcmcia/driver.rst
similarity index 100%
rename from Documentation/pcmcia/driver.rst
rename to Documentation/drivers/pcmcia/driver.rst
diff --git a/Documentation/pcmcia/index.rst b/Documentation/drivers/pcmcia/index.rst
similarity index 100%
rename from Documentation/pcmcia/index.rst
rename to Documentation/drivers/pcmcia/index.rst
diff --git a/Documentation/pcmcia/locking.rst b/Documentation/drivers/pcmcia/locking.rst
similarity index 100%
rename from Documentation/pcmcia/locking.rst
rename to Documentation/drivers/pcmcia/locking.rst
diff --git a/Documentation/rapidio/mport_cdev.txt b/Documentation/drivers/rapidio/mport_cdev.txt
similarity index 100%
rename from Documentation/rapidio/mport_cdev.txt
rename to Documentation/drivers/rapidio/mport_cdev.txt
diff --git a/Documentation/rapidio/rapidio.txt b/Documentation/drivers/rapidio/rapidio.txt
similarity index 100%
rename from Documentation/rapidio/rapidio.txt
rename to Documentation/drivers/rapidio/rapidio.txt
diff --git a/Documentation/rapidio/rio_cm.txt b/Documentation/drivers/rapidio/rio_cm.txt
similarity index 100%
rename from Documentation/rapidio/rio_cm.txt
rename to Documentation/drivers/rapidio/rio_cm.txt
diff --git a/Documentation/rapidio/sysfs.txt b/Documentation/drivers/rapidio/sysfs.txt
similarity index 100%
rename from Documentation/rapidio/sysfs.txt
rename to Documentation/drivers/rapidio/sysfs.txt
diff --git a/Documentation/rapidio/tsi721.txt b/Documentation/drivers/rapidio/tsi721.txt
similarity index 100%
rename from Documentation/rapidio/tsi721.txt
rename to Documentation/drivers/rapidio/tsi721.txt
diff --git a/Documentation/scsi/53c700.txt b/Documentation/drivers/scsi/53c700.txt
similarity index 100%
rename from Documentation/scsi/53c700.txt
rename to Documentation/drivers/scsi/53c700.txt
diff --git a/Documentation/scsi/BusLogic.txt b/Documentation/drivers/scsi/BusLogic.txt
similarity index 100%
rename from Documentation/scsi/BusLogic.txt
rename to Documentation/drivers/scsi/BusLogic.txt
diff --git a/Documentation/scsi/ChangeLog.arcmsr b/Documentation/drivers/scsi/ChangeLog.arcmsr
similarity index 100%
rename from Documentation/scsi/ChangeLog.arcmsr
rename to Documentation/drivers/scsi/ChangeLog.arcmsr
diff --git a/Documentation/scsi/ChangeLog.ips b/Documentation/drivers/scsi/ChangeLog.ips
similarity index 100%
rename from Documentation/scsi/ChangeLog.ips
rename to Documentation/drivers/scsi/ChangeLog.ips
diff --git a/Documentation/scsi/ChangeLog.lpfc b/Documentation/drivers/scsi/ChangeLog.lpfc
similarity index 100%
rename from Documentation/scsi/ChangeLog.lpfc
rename to Documentation/drivers/scsi/ChangeLog.lpfc
diff --git a/Documentation/scsi/ChangeLog.megaraid b/Documentation/drivers/scsi/ChangeLog.megaraid
similarity index 100%
rename from Documentation/scsi/ChangeLog.megaraid
rename to Documentation/drivers/scsi/ChangeLog.megaraid
diff --git a/Documentation/scsi/ChangeLog.megaraid_sas b/Documentation/drivers/scsi/ChangeLog.megaraid_sas
similarity index 100%
rename from Documentation/scsi/ChangeLog.megaraid_sas
rename to Documentation/drivers/scsi/ChangeLog.megaraid_sas
diff --git a/Documentation/scsi/ChangeLog.ncr53c8xx b/Documentation/drivers/scsi/ChangeLog.ncr53c8xx
similarity index 100%
rename from Documentation/scsi/ChangeLog.ncr53c8xx
rename to Documentation/drivers/scsi/ChangeLog.ncr53c8xx
diff --git a/Documentation/scsi/ChangeLog.sym53c8xx b/Documentation/drivers/scsi/ChangeLog.sym53c8xx
similarity index 100%
rename from Documentation/scsi/ChangeLog.sym53c8xx
rename to Documentation/drivers/scsi/ChangeLog.sym53c8xx
diff --git a/Documentation/scsi/ChangeLog.sym53c8xx_2 b/Documentation/drivers/scsi/ChangeLog.sym53c8xx_2
similarity index 100%
rename from Documentation/scsi/ChangeLog.sym53c8xx_2
rename to Documentation/drivers/scsi/ChangeLog.sym53c8xx_2
diff --git a/Documentation/scsi/FlashPoint.txt b/Documentation/drivers/scsi/FlashPoint.txt
similarity index 100%
rename from Documentation/scsi/FlashPoint.txt
rename to Documentation/drivers/scsi/FlashPoint.txt
diff --git a/Documentation/scsi/LICENSE.FlashPoint b/Documentation/drivers/scsi/LICENSE.FlashPoint
similarity index 100%
rename from Documentation/scsi/LICENSE.FlashPoint
rename to Documentation/drivers/scsi/LICENSE.FlashPoint
diff --git a/Documentation/scsi/LICENSE.qla2xxx b/Documentation/drivers/scsi/LICENSE.qla2xxx
similarity index 100%
rename from Documentation/scsi/LICENSE.qla2xxx
rename to Documentation/drivers/scsi/LICENSE.qla2xxx
diff --git a/Documentation/scsi/LICENSE.qla4xxx b/Documentation/drivers/scsi/LICENSE.qla4xxx
similarity index 100%
rename from Documentation/scsi/LICENSE.qla4xxx
rename to Documentation/drivers/scsi/LICENSE.qla4xxx
diff --git a/Documentation/scsi/NinjaSCSI.txt b/Documentation/drivers/scsi/NinjaSCSI.txt
similarity index 100%
rename from Documentation/scsi/NinjaSCSI.txt
rename to Documentation/drivers/scsi/NinjaSCSI.txt
diff --git a/Documentation/scsi/aacraid.txt b/Documentation/drivers/scsi/aacraid.txt
similarity index 100%
rename from Documentation/scsi/aacraid.txt
rename to Documentation/drivers/scsi/aacraid.txt
diff --git a/Documentation/scsi/advansys.txt b/Documentation/drivers/scsi/advansys.txt
similarity index 100%
rename from Documentation/scsi/advansys.txt
rename to Documentation/drivers/scsi/advansys.txt
diff --git a/Documentation/scsi/aha152x.txt b/Documentation/drivers/scsi/aha152x.txt
similarity index 100%
rename from Documentation/scsi/aha152x.txt
rename to Documentation/drivers/scsi/aha152x.txt
diff --git a/Documentation/scsi/aic79xx.txt b/Documentation/drivers/scsi/aic79xx.txt
similarity index 100%
rename from Documentation/scsi/aic79xx.txt
rename to Documentation/drivers/scsi/aic79xx.txt
diff --git a/Documentation/scsi/aic7xxx.txt b/Documentation/drivers/scsi/aic7xxx.txt
similarity index 100%
rename from Documentation/scsi/aic7xxx.txt
rename to Documentation/drivers/scsi/aic7xxx.txt
diff --git a/Documentation/scsi/arcmsr_spec.txt b/Documentation/drivers/scsi/arcmsr_spec.txt
similarity index 100%
rename from Documentation/scsi/arcmsr_spec.txt
rename to Documentation/drivers/scsi/arcmsr_spec.txt
diff --git a/Documentation/scsi/bfa.txt b/Documentation/drivers/scsi/bfa.txt
similarity index 100%
rename from Documentation/scsi/bfa.txt
rename to Documentation/drivers/scsi/bfa.txt
diff --git a/Documentation/scsi/bnx2fc.txt b/Documentation/drivers/scsi/bnx2fc.txt
similarity index 100%
rename from Documentation/scsi/bnx2fc.txt
rename to Documentation/drivers/scsi/bnx2fc.txt
diff --git a/Documentation/scsi/cxgb3i.txt b/Documentation/drivers/scsi/cxgb3i.txt
similarity index 100%
rename from Documentation/scsi/cxgb3i.txt
rename to Documentation/drivers/scsi/cxgb3i.txt
diff --git a/Documentation/scsi/dc395x.txt b/Documentation/drivers/scsi/dc395x.txt
similarity index 100%
rename from Documentation/scsi/dc395x.txt
rename to Documentation/drivers/scsi/dc395x.txt
diff --git a/Documentation/scsi/dpti.txt b/Documentation/drivers/scsi/dpti.txt
similarity index 100%
rename from Documentation/scsi/dpti.txt
rename to Documentation/drivers/scsi/dpti.txt
diff --git a/Documentation/scsi/g_NCR5380.txt b/Documentation/drivers/scsi/g_NCR5380.txt
similarity index 100%
rename from Documentation/scsi/g_NCR5380.txt
rename to Documentation/drivers/scsi/g_NCR5380.txt
diff --git a/Documentation/scsi/hpsa.txt b/Documentation/drivers/scsi/hpsa.txt
similarity index 100%
rename from Documentation/scsi/hpsa.txt
rename to Documentation/drivers/scsi/hpsa.txt
diff --git a/Documentation/scsi/hptiop.txt b/Documentation/drivers/scsi/hptiop.txt
similarity index 100%
rename from Documentation/scsi/hptiop.txt
rename to Documentation/drivers/scsi/hptiop.txt
diff --git a/Documentation/scsi/libsas.txt b/Documentation/drivers/scsi/libsas.txt
similarity index 100%
rename from Documentation/scsi/libsas.txt
rename to Documentation/drivers/scsi/libsas.txt
diff --git a/Documentation/scsi/link_power_management_policy.txt b/Documentation/drivers/scsi/link_power_management_policy.txt
similarity index 100%
rename from Documentation/scsi/link_power_management_policy.txt
rename to Documentation/drivers/scsi/link_power_management_policy.txt
diff --git a/Documentation/scsi/lpfc.txt b/Documentation/drivers/scsi/lpfc.txt
similarity index 100%
rename from Documentation/scsi/lpfc.txt
rename to Documentation/drivers/scsi/lpfc.txt
diff --git a/Documentation/scsi/megaraid.txt b/Documentation/drivers/scsi/megaraid.txt
similarity index 100%
rename from Documentation/scsi/megaraid.txt
rename to Documentation/drivers/scsi/megaraid.txt
diff --git a/Documentation/scsi/ncr53c8xx.txt b/Documentation/drivers/scsi/ncr53c8xx.txt
similarity index 100%
rename from Documentation/scsi/ncr53c8xx.txt
rename to Documentation/drivers/scsi/ncr53c8xx.txt
diff --git a/Documentation/scsi/osst.txt b/Documentation/drivers/scsi/osst.txt
similarity index 100%
rename from Documentation/scsi/osst.txt
rename to Documentation/drivers/scsi/osst.txt
diff --git a/Documentation/scsi/ppa.txt b/Documentation/drivers/scsi/ppa.txt
similarity index 100%
rename from Documentation/scsi/ppa.txt
rename to Documentation/drivers/scsi/ppa.txt
diff --git a/Documentation/scsi/qlogicfas.txt b/Documentation/drivers/scsi/qlogicfas.txt
similarity index 100%
rename from Documentation/scsi/qlogicfas.txt
rename to Documentation/drivers/scsi/qlogicfas.txt
diff --git a/Documentation/scsi/scsi-changer.txt b/Documentation/drivers/scsi/scsi-changer.txt
similarity index 100%
rename from Documentation/scsi/scsi-changer.txt
rename to Documentation/drivers/scsi/scsi-changer.txt
diff --git a/Documentation/scsi/scsi-generic.txt b/Documentation/drivers/scsi/scsi-generic.txt
similarity index 100%
rename from Documentation/scsi/scsi-generic.txt
rename to Documentation/drivers/scsi/scsi-generic.txt
diff --git a/Documentation/scsi/scsi-parameters.txt b/Documentation/drivers/scsi/scsi-parameters.txt
similarity index 100%
rename from Documentation/scsi/scsi-parameters.txt
rename to Documentation/drivers/scsi/scsi-parameters.txt
diff --git a/Documentation/scsi/scsi.txt b/Documentation/drivers/scsi/scsi.txt
similarity index 100%
rename from Documentation/scsi/scsi.txt
rename to Documentation/drivers/scsi/scsi.txt
diff --git a/Documentation/scsi/scsi_eh.txt b/Documentation/drivers/scsi/scsi_eh.txt
similarity index 100%
rename from Documentation/scsi/scsi_eh.txt
rename to Documentation/drivers/scsi/scsi_eh.txt
diff --git a/Documentation/scsi/scsi_fc_transport.txt b/Documentation/drivers/scsi/scsi_fc_transport.txt
similarity index 100%
rename from Documentation/scsi/scsi_fc_transport.txt
rename to Documentation/drivers/scsi/scsi_fc_transport.txt
diff --git a/Documentation/scsi/scsi_mid_low_api.txt b/Documentation/drivers/scsi/scsi_mid_low_api.txt
similarity index 100%
rename from Documentation/scsi/scsi_mid_low_api.txt
rename to Documentation/drivers/scsi/scsi_mid_low_api.txt
diff --git a/Documentation/scsi/scsi_transport_srp/Makefile b/Documentation/drivers/scsi/scsi_transport_srp/Makefile
similarity index 100%
rename from Documentation/scsi/scsi_transport_srp/Makefile
rename to Documentation/drivers/scsi/scsi_transport_srp/Makefile
diff --git a/Documentation/scsi/scsi_transport_srp/rport_state_diagram.dot b/Documentation/drivers/scsi/scsi_transport_srp/rport_state_diagram.dot
similarity index 100%
rename from Documentation/scsi/scsi_transport_srp/rport_state_diagram.dot
rename to Documentation/drivers/scsi/scsi_transport_srp/rport_state_diagram.dot
diff --git a/Documentation/scsi/sd-parameters.txt b/Documentation/drivers/scsi/sd-parameters.txt
similarity index 100%
rename from Documentation/scsi/sd-parameters.txt
rename to Documentation/drivers/scsi/sd-parameters.txt
diff --git a/Documentation/scsi/smartpqi.txt b/Documentation/drivers/scsi/smartpqi.txt
similarity index 100%
rename from Documentation/scsi/smartpqi.txt
rename to Documentation/drivers/scsi/smartpqi.txt
diff --git a/Documentation/scsi/st.txt b/Documentation/drivers/scsi/st.txt
similarity index 100%
rename from Documentation/scsi/st.txt
rename to Documentation/drivers/scsi/st.txt
diff --git a/Documentation/scsi/sym53c500_cs.txt b/Documentation/drivers/scsi/sym53c500_cs.txt
similarity index 100%
rename from Documentation/scsi/sym53c500_cs.txt
rename to Documentation/drivers/scsi/sym53c500_cs.txt
diff --git a/Documentation/scsi/sym53c8xx_2.txt b/Documentation/drivers/scsi/sym53c8xx_2.txt
similarity index 100%
rename from Documentation/scsi/sym53c8xx_2.txt
rename to Documentation/drivers/scsi/sym53c8xx_2.txt
diff --git a/Documentation/scsi/tcm_qla2xxx.txt b/Documentation/drivers/scsi/tcm_qla2xxx.txt
similarity index 100%
rename from Documentation/scsi/tcm_qla2xxx.txt
rename to Documentation/drivers/scsi/tcm_qla2xxx.txt
diff --git a/Documentation/scsi/ufs.txt b/Documentation/drivers/scsi/ufs.txt
similarity index 100%
rename from Documentation/scsi/ufs.txt
rename to Documentation/drivers/scsi/ufs.txt
diff --git a/Documentation/scsi/wd719x.txt b/Documentation/drivers/scsi/wd719x.txt
similarity index 100%
rename from Documentation/scsi/wd719x.txt
rename to Documentation/drivers/scsi/wd719x.txt
diff --git a/Documentation/serial/cyclades_z.rst b/Documentation/drivers/serial/cyclades_z.rst
similarity index 100%
rename from Documentation/serial/cyclades_z.rst
rename to Documentation/drivers/serial/cyclades_z.rst
diff --git a/Documentation/serial/driver.rst b/Documentation/drivers/serial/driver.rst
similarity index 100%
rename from Documentation/serial/driver.rst
rename to Documentation/drivers/serial/driver.rst
diff --git a/Documentation/serial/index.rst b/Documentation/drivers/serial/index.rst
similarity index 100%
rename from Documentation/serial/index.rst
rename to Documentation/drivers/serial/index.rst
diff --git a/Documentation/serial/moxa-smartio.rst b/Documentation/drivers/serial/moxa-smartio.rst
similarity index 100%
rename from Documentation/serial/moxa-smartio.rst
rename to Documentation/drivers/serial/moxa-smartio.rst
diff --git a/Documentation/serial/n_gsm.rst b/Documentation/drivers/serial/n_gsm.rst
similarity index 100%
rename from Documentation/serial/n_gsm.rst
rename to Documentation/drivers/serial/n_gsm.rst
diff --git a/Documentation/serial/rocket.rst b/Documentation/drivers/serial/rocket.rst
similarity index 100%
rename from Documentation/serial/rocket.rst
rename to Documentation/drivers/serial/rocket.rst
diff --git a/Documentation/serial/serial-iso7816.rst b/Documentation/drivers/serial/serial-iso7816.rst
similarity index 100%
rename from Documentation/serial/serial-iso7816.rst
rename to Documentation/drivers/serial/serial-iso7816.rst
diff --git a/Documentation/serial/serial-rs485.rst b/Documentation/drivers/serial/serial-rs485.rst
similarity index 100%
rename from Documentation/serial/serial-rs485.rst
rename to Documentation/drivers/serial/serial-rs485.rst
diff --git a/Documentation/serial/tty.rst b/Documentation/drivers/serial/tty.rst
similarity index 100%
rename from Documentation/serial/tty.rst
rename to Documentation/drivers/serial/tty.rst
diff --git a/Documentation/sound/alsa-configuration.rst b/Documentation/drivers/sound/alsa-configuration.rst
similarity index 100%
rename from Documentation/sound/alsa-configuration.rst
rename to Documentation/drivers/sound/alsa-configuration.rst
diff --git a/Documentation/sound/cards/audigy-mixer.rst b/Documentation/drivers/sound/cards/audigy-mixer.rst
similarity index 100%
rename from Documentation/sound/cards/audigy-mixer.rst
rename to Documentation/drivers/sound/cards/audigy-mixer.rst
diff --git a/Documentation/sound/cards/audiophile-usb.rst b/Documentation/drivers/sound/cards/audiophile-usb.rst
similarity index 100%
rename from Documentation/sound/cards/audiophile-usb.rst
rename to Documentation/drivers/sound/cards/audiophile-usb.rst
diff --git a/Documentation/sound/cards/bt87x.rst b/Documentation/drivers/sound/cards/bt87x.rst
similarity index 100%
rename from Documentation/sound/cards/bt87x.rst
rename to Documentation/drivers/sound/cards/bt87x.rst
diff --git a/Documentation/sound/cards/cmipci.rst b/Documentation/drivers/sound/cards/cmipci.rst
similarity index 100%
rename from Documentation/sound/cards/cmipci.rst
rename to Documentation/drivers/sound/cards/cmipci.rst
diff --git a/Documentation/sound/cards/emu10k1-jack.rst b/Documentation/drivers/sound/cards/emu10k1-jack.rst
similarity index 100%
rename from Documentation/sound/cards/emu10k1-jack.rst
rename to Documentation/drivers/sound/cards/emu10k1-jack.rst
diff --git a/Documentation/sound/cards/hdspm.rst b/Documentation/drivers/sound/cards/hdspm.rst
similarity index 100%
rename from Documentation/sound/cards/hdspm.rst
rename to Documentation/drivers/sound/cards/hdspm.rst
diff --git a/Documentation/sound/cards/img-spdif-in.rst b/Documentation/drivers/sound/cards/img-spdif-in.rst
similarity index 100%
rename from Documentation/sound/cards/img-spdif-in.rst
rename to Documentation/drivers/sound/cards/img-spdif-in.rst
diff --git a/Documentation/sound/cards/index.rst b/Documentation/drivers/sound/cards/index.rst
similarity index 100%
rename from Documentation/sound/cards/index.rst
rename to Documentation/drivers/sound/cards/index.rst
diff --git a/Documentation/sound/cards/joystick.rst b/Documentation/drivers/sound/cards/joystick.rst
similarity index 100%
rename from Documentation/sound/cards/joystick.rst
rename to Documentation/drivers/sound/cards/joystick.rst
diff --git a/Documentation/sound/cards/maya44.rst b/Documentation/drivers/sound/cards/maya44.rst
similarity index 100%
rename from Documentation/sound/cards/maya44.rst
rename to Documentation/drivers/sound/cards/maya44.rst
diff --git a/Documentation/sound/cards/mixart.rst b/Documentation/drivers/sound/cards/mixart.rst
similarity index 100%
rename from Documentation/sound/cards/mixart.rst
rename to Documentation/drivers/sound/cards/mixart.rst
diff --git a/Documentation/sound/cards/multisound.sh b/Documentation/drivers/sound/cards/multisound.sh
similarity index 100%
rename from Documentation/sound/cards/multisound.sh
rename to Documentation/drivers/sound/cards/multisound.sh
diff --git a/Documentation/sound/cards/sb-live-mixer.rst b/Documentation/drivers/sound/cards/sb-live-mixer.rst
similarity index 100%
rename from Documentation/sound/cards/sb-live-mixer.rst
rename to Documentation/drivers/sound/cards/sb-live-mixer.rst
diff --git a/Documentation/sound/cards/serial-u16550.rst b/Documentation/drivers/sound/cards/serial-u16550.rst
similarity index 100%
rename from Documentation/sound/cards/serial-u16550.rst
rename to Documentation/drivers/sound/cards/serial-u16550.rst
diff --git a/Documentation/sound/cards/via82xx-mixer.rst b/Documentation/drivers/sound/cards/via82xx-mixer.rst
similarity index 100%
rename from Documentation/sound/cards/via82xx-mixer.rst
rename to Documentation/drivers/sound/cards/via82xx-mixer.rst
diff --git a/Documentation/sound/conf.py b/Documentation/drivers/sound/conf.py
similarity index 100%
rename from Documentation/sound/conf.py
rename to Documentation/drivers/sound/conf.py
diff --git a/Documentation/sound/designs/channel-mapping-api.rst b/Documentation/drivers/sound/designs/channel-mapping-api.rst
similarity index 100%
rename from Documentation/sound/designs/channel-mapping-api.rst
rename to Documentation/drivers/sound/designs/channel-mapping-api.rst
diff --git a/Documentation/sound/designs/compress-offload.rst b/Documentation/drivers/sound/designs/compress-offload.rst
similarity index 100%
rename from Documentation/sound/designs/compress-offload.rst
rename to Documentation/drivers/sound/designs/compress-offload.rst
diff --git a/Documentation/sound/designs/control-names.rst b/Documentation/drivers/sound/designs/control-names.rst
similarity index 100%
rename from Documentation/sound/designs/control-names.rst
rename to Documentation/drivers/sound/designs/control-names.rst
diff --git a/Documentation/sound/designs/index.rst b/Documentation/drivers/sound/designs/index.rst
similarity index 100%
rename from Documentation/sound/designs/index.rst
rename to Documentation/drivers/sound/designs/index.rst
diff --git a/Documentation/sound/designs/jack-controls.rst b/Documentation/drivers/sound/designs/jack-controls.rst
similarity index 100%
rename from Documentation/sound/designs/jack-controls.rst
rename to Documentation/drivers/sound/designs/jack-controls.rst
diff --git a/Documentation/sound/designs/oss-emulation.rst b/Documentation/drivers/sound/designs/oss-emulation.rst
similarity index 100%
rename from Documentation/sound/designs/oss-emulation.rst
rename to Documentation/drivers/sound/designs/oss-emulation.rst
diff --git a/Documentation/sound/designs/powersave.rst b/Documentation/drivers/sound/designs/powersave.rst
similarity index 100%
rename from Documentation/sound/designs/powersave.rst
rename to Documentation/drivers/sound/designs/powersave.rst
diff --git a/Documentation/sound/designs/procfile.rst b/Documentation/drivers/sound/designs/procfile.rst
similarity index 100%
rename from Documentation/sound/designs/procfile.rst
rename to Documentation/drivers/sound/designs/procfile.rst
diff --git a/Documentation/sound/designs/seq-oss.rst b/Documentation/drivers/sound/designs/seq-oss.rst
similarity index 100%
rename from Documentation/sound/designs/seq-oss.rst
rename to Documentation/drivers/sound/designs/seq-oss.rst
diff --git a/Documentation/sound/designs/timestamping.rst b/Documentation/drivers/sound/designs/timestamping.rst
similarity index 100%
rename from Documentation/sound/designs/timestamping.rst
rename to Documentation/drivers/sound/designs/timestamping.rst
diff --git a/Documentation/sound/designs/tracepoints.rst b/Documentation/drivers/sound/designs/tracepoints.rst
similarity index 100%
rename from Documentation/sound/designs/tracepoints.rst
rename to Documentation/drivers/sound/designs/tracepoints.rst
diff --git a/Documentation/sound/hd-audio/controls.rst b/Documentation/drivers/sound/hd-audio/controls.rst
similarity index 100%
rename from Documentation/sound/hd-audio/controls.rst
rename to Documentation/drivers/sound/hd-audio/controls.rst
diff --git a/Documentation/sound/hd-audio/dp-mst.rst b/Documentation/drivers/sound/hd-audio/dp-mst.rst
similarity index 100%
rename from Documentation/sound/hd-audio/dp-mst.rst
rename to Documentation/drivers/sound/hd-audio/dp-mst.rst
diff --git a/Documentation/sound/hd-audio/index.rst b/Documentation/drivers/sound/hd-audio/index.rst
similarity index 100%
rename from Documentation/sound/hd-audio/index.rst
rename to Documentation/drivers/sound/hd-audio/index.rst
diff --git a/Documentation/sound/hd-audio/models.rst b/Documentation/drivers/sound/hd-audio/models.rst
similarity index 100%
rename from Documentation/sound/hd-audio/models.rst
rename to Documentation/drivers/sound/hd-audio/models.rst
diff --git a/Documentation/sound/hd-audio/notes.rst b/Documentation/drivers/sound/hd-audio/notes.rst
similarity index 100%
rename from Documentation/sound/hd-audio/notes.rst
rename to Documentation/drivers/sound/hd-audio/notes.rst
diff --git a/Documentation/sound/index.rst b/Documentation/drivers/sound/index.rst
similarity index 100%
rename from Documentation/sound/index.rst
rename to Documentation/drivers/sound/index.rst
diff --git a/Documentation/sound/kernel-api/alsa-driver-api.rst b/Documentation/drivers/sound/kernel-api/alsa-driver-api.rst
similarity index 100%
rename from Documentation/sound/kernel-api/alsa-driver-api.rst
rename to Documentation/drivers/sound/kernel-api/alsa-driver-api.rst
diff --git a/Documentation/sound/kernel-api/index.rst b/Documentation/drivers/sound/kernel-api/index.rst
similarity index 100%
rename from Documentation/sound/kernel-api/index.rst
rename to Documentation/drivers/sound/kernel-api/index.rst
diff --git a/Documentation/sound/kernel-api/writing-an-alsa-driver.rst b/Documentation/drivers/sound/kernel-api/writing-an-alsa-driver.rst
similarity index 100%
rename from Documentation/sound/kernel-api/writing-an-alsa-driver.rst
rename to Documentation/drivers/sound/kernel-api/writing-an-alsa-driver.rst
diff --git a/Documentation/sound/soc/clocking.rst b/Documentation/drivers/sound/soc/clocking.rst
similarity index 100%
rename from Documentation/sound/soc/clocking.rst
rename to Documentation/drivers/sound/soc/clocking.rst
diff --git a/Documentation/sound/soc/codec-to-codec.rst b/Documentation/drivers/sound/soc/codec-to-codec.rst
similarity index 100%
rename from Documentation/sound/soc/codec-to-codec.rst
rename to Documentation/drivers/sound/soc/codec-to-codec.rst
diff --git a/Documentation/sound/soc/codec.rst b/Documentation/drivers/sound/soc/codec.rst
similarity index 100%
rename from Documentation/sound/soc/codec.rst
rename to Documentation/drivers/sound/soc/codec.rst
diff --git a/Documentation/sound/soc/dai.rst b/Documentation/drivers/sound/soc/dai.rst
similarity index 100%
rename from Documentation/sound/soc/dai.rst
rename to Documentation/drivers/sound/soc/dai.rst
diff --git a/Documentation/sound/soc/dapm.rst b/Documentation/drivers/sound/soc/dapm.rst
similarity index 100%
rename from Documentation/sound/soc/dapm.rst
rename to Documentation/drivers/sound/soc/dapm.rst
diff --git a/Documentation/sound/soc/dpcm.rst b/Documentation/drivers/sound/soc/dpcm.rst
similarity index 100%
rename from Documentation/sound/soc/dpcm.rst
rename to Documentation/drivers/sound/soc/dpcm.rst
diff --git a/Documentation/sound/soc/index.rst b/Documentation/drivers/sound/soc/index.rst
similarity index 100%
rename from Documentation/sound/soc/index.rst
rename to Documentation/drivers/sound/soc/index.rst
diff --git a/Documentation/sound/soc/jack.rst b/Documentation/drivers/sound/soc/jack.rst
similarity index 100%
rename from Documentation/sound/soc/jack.rst
rename to Documentation/drivers/sound/soc/jack.rst
diff --git a/Documentation/sound/soc/machine.rst b/Documentation/drivers/sound/soc/machine.rst
similarity index 100%
rename from Documentation/sound/soc/machine.rst
rename to Documentation/drivers/sound/soc/machine.rst
diff --git a/Documentation/sound/soc/overview.rst b/Documentation/drivers/sound/soc/overview.rst
similarity index 100%
rename from Documentation/sound/soc/overview.rst
rename to Documentation/drivers/sound/soc/overview.rst
diff --git a/Documentation/sound/soc/platform.rst b/Documentation/drivers/sound/soc/platform.rst
similarity index 100%
rename from Documentation/sound/soc/platform.rst
rename to Documentation/drivers/sound/soc/platform.rst
diff --git a/Documentation/sound/soc/pops-clicks.rst b/Documentation/drivers/sound/soc/pops-clicks.rst
similarity index 100%
rename from Documentation/sound/soc/pops-clicks.rst
rename to Documentation/drivers/sound/soc/pops-clicks.rst
diff --git a/Documentation/usb/CREDITS b/Documentation/drivers/usb/CREDITS
similarity index 100%
rename from Documentation/usb/CREDITS
rename to Documentation/drivers/usb/CREDITS
diff --git a/Documentation/usb/WUSB-Design-overview.txt b/Documentation/drivers/usb/WUSB-Design-overview.txt
similarity index 100%
rename from Documentation/usb/WUSB-Design-overview.txt
rename to Documentation/drivers/usb/WUSB-Design-overview.txt
diff --git a/Documentation/usb/acm.txt b/Documentation/drivers/usb/acm.txt
similarity index 100%
rename from Documentation/usb/acm.txt
rename to Documentation/drivers/usb/acm.txt
diff --git a/Documentation/usb/authorization.txt b/Documentation/drivers/usb/authorization.txt
similarity index 100%
rename from Documentation/usb/authorization.txt
rename to Documentation/drivers/usb/authorization.txt
diff --git a/Documentation/usb/chipidea.txt b/Documentation/drivers/usb/chipidea.txt
similarity index 100%
rename from Documentation/usb/chipidea.txt
rename to Documentation/drivers/usb/chipidea.txt
diff --git a/Documentation/usb/dwc3.txt b/Documentation/drivers/usb/dwc3.txt
similarity index 100%
rename from Documentation/usb/dwc3.txt
rename to Documentation/drivers/usb/dwc3.txt
diff --git a/Documentation/usb/ehci.txt b/Documentation/drivers/usb/ehci.txt
similarity index 100%
rename from Documentation/usb/ehci.txt
rename to Documentation/drivers/usb/ehci.txt
diff --git a/Documentation/usb/functionfs.txt b/Documentation/drivers/usb/functionfs.txt
similarity index 100%
rename from Documentation/usb/functionfs.txt
rename to Documentation/drivers/usb/functionfs.txt
diff --git a/Documentation/usb/gadget-testing.txt b/Documentation/drivers/usb/gadget-testing.txt
similarity index 100%
rename from Documentation/usb/gadget-testing.txt
rename to Documentation/drivers/usb/gadget-testing.txt
diff --git a/Documentation/usb/gadget_configfs.txt b/Documentation/drivers/usb/gadget_configfs.txt
similarity index 100%
rename from Documentation/usb/gadget_configfs.txt
rename to Documentation/drivers/usb/gadget_configfs.txt
diff --git a/Documentation/usb/gadget_hid.txt b/Documentation/drivers/usb/gadget_hid.txt
similarity index 100%
rename from Documentation/usb/gadget_hid.txt
rename to Documentation/drivers/usb/gadget_hid.txt
diff --git a/Documentation/usb/gadget_multi.txt b/Documentation/drivers/usb/gadget_multi.txt
similarity index 100%
rename from Documentation/usb/gadget_multi.txt
rename to Documentation/drivers/usb/gadget_multi.txt
diff --git a/Documentation/usb/gadget_printer.txt b/Documentation/drivers/usb/gadget_printer.txt
similarity index 100%
rename from Documentation/usb/gadget_printer.txt
rename to Documentation/drivers/usb/gadget_printer.txt
diff --git a/Documentation/usb/gadget_serial.txt b/Documentation/drivers/usb/gadget_serial.txt
similarity index 100%
rename from Documentation/usb/gadget_serial.txt
rename to Documentation/drivers/usb/gadget_serial.txt
diff --git a/Documentation/usb/iuu_phoenix.txt b/Documentation/drivers/usb/iuu_phoenix.txt
similarity index 100%
rename from Documentation/usb/iuu_phoenix.txt
rename to Documentation/drivers/usb/iuu_phoenix.txt
diff --git a/Documentation/usb/linux-cdc-acm.inf b/Documentation/drivers/usb/linux-cdc-acm.inf
similarity index 100%
rename from Documentation/usb/linux-cdc-acm.inf
rename to Documentation/drivers/usb/linux-cdc-acm.inf
diff --git a/Documentation/usb/linux.inf b/Documentation/drivers/usb/linux.inf
similarity index 100%
rename from Documentation/usb/linux.inf
rename to Documentation/drivers/usb/linux.inf
diff --git a/Documentation/usb/mass-storage.txt b/Documentation/drivers/usb/mass-storage.txt
similarity index 100%
rename from Documentation/usb/mass-storage.txt
rename to Documentation/drivers/usb/mass-storage.txt
diff --git a/Documentation/usb/misc_usbsevseg.txt b/Documentation/drivers/usb/misc_usbsevseg.txt
similarity index 100%
rename from Documentation/usb/misc_usbsevseg.txt
rename to Documentation/drivers/usb/misc_usbsevseg.txt
diff --git a/Documentation/usb/mtouchusb.txt b/Documentation/drivers/usb/mtouchusb.txt
similarity index 100%
rename from Documentation/usb/mtouchusb.txt
rename to Documentation/drivers/usb/mtouchusb.txt
diff --git a/Documentation/usb/ohci.txt b/Documentation/drivers/usb/ohci.txt
similarity index 100%
rename from Documentation/usb/ohci.txt
rename to Documentation/drivers/usb/ohci.txt
diff --git a/Documentation/usb/rio.txt b/Documentation/drivers/usb/rio.txt
similarity index 100%
rename from Documentation/usb/rio.txt
rename to Documentation/drivers/usb/rio.txt
diff --git a/Documentation/usb/usb-help.txt b/Documentation/drivers/usb/usb-help.txt
similarity index 100%
rename from Documentation/usb/usb-help.txt
rename to Documentation/drivers/usb/usb-help.txt
diff --git a/Documentation/usb/usb-serial.txt b/Documentation/drivers/usb/usb-serial.txt
similarity index 100%
rename from Documentation/usb/usb-serial.txt
rename to Documentation/drivers/usb/usb-serial.txt
diff --git a/Documentation/usb/usbdevfs-drop-permissions.c b/Documentation/drivers/usb/usbdevfs-drop-permissions.c
similarity index 100%
rename from Documentation/usb/usbdevfs-drop-permissions.c
rename to Documentation/drivers/usb/usbdevfs-drop-permissions.c
diff --git a/Documentation/usb/usbip_protocol.txt b/Documentation/drivers/usb/usbip_protocol.txt
similarity index 100%
rename from Documentation/usb/usbip_protocol.txt
rename to Documentation/drivers/usb/usbip_protocol.txt
diff --git a/Documentation/usb/usbmon.txt b/Documentation/drivers/usb/usbmon.txt
similarity index 100%
rename from Documentation/usb/usbmon.txt
rename to Documentation/drivers/usb/usbmon.txt
diff --git a/Documentation/usb/wusb-cbaf b/Documentation/drivers/usb/wusb-cbaf
similarity index 100%
rename from Documentation/usb/wusb-cbaf
rename to Documentation/drivers/usb/wusb-cbaf
diff --git a/Documentation/watchdog/convert_drivers_to_kernel_api.rst b/Documentation/drivers/watchdog/convert_drivers_to_kernel_api.rst
similarity index 100%
rename from Documentation/watchdog/convert_drivers_to_kernel_api.rst
rename to Documentation/drivers/watchdog/convert_drivers_to_kernel_api.rst
diff --git a/Documentation/watchdog/hpwdt.rst b/Documentation/drivers/watchdog/hpwdt.rst
similarity index 100%
rename from Documentation/watchdog/hpwdt.rst
rename to Documentation/drivers/watchdog/hpwdt.rst
diff --git a/Documentation/watchdog/index.rst b/Documentation/drivers/watchdog/index.rst
similarity index 100%
rename from Documentation/watchdog/index.rst
rename to Documentation/drivers/watchdog/index.rst
diff --git a/Documentation/watchdog/mlx-wdt.rst b/Documentation/drivers/watchdog/mlx-wdt.rst
similarity index 100%
rename from Documentation/watchdog/mlx-wdt.rst
rename to Documentation/drivers/watchdog/mlx-wdt.rst
diff --git a/Documentation/watchdog/pcwd-watchdog.rst b/Documentation/drivers/watchdog/pcwd-watchdog.rst
similarity index 100%
rename from Documentation/watchdog/pcwd-watchdog.rst
rename to Documentation/drivers/watchdog/pcwd-watchdog.rst
diff --git a/Documentation/watchdog/watchdog-api.rst b/Documentation/drivers/watchdog/watchdog-api.rst
similarity index 100%
rename from Documentation/watchdog/watchdog-api.rst
rename to Documentation/drivers/watchdog/watchdog-api.rst
diff --git a/Documentation/watchdog/watchdog-kernel-api.rst b/Documentation/drivers/watchdog/watchdog-kernel-api.rst
similarity index 100%
rename from Documentation/watchdog/watchdog-kernel-api.rst
rename to Documentation/drivers/watchdog/watchdog-kernel-api.rst
diff --git a/Documentation/watchdog/watchdog-parameters.rst b/Documentation/drivers/watchdog/watchdog-parameters.rst
similarity index 100%
rename from Documentation/watchdog/watchdog-parameters.rst
rename to Documentation/drivers/watchdog/watchdog-parameters.rst
diff --git a/Documentation/watchdog/watchdog-pm.rst b/Documentation/drivers/watchdog/watchdog-pm.rst
similarity index 100%
rename from Documentation/watchdog/watchdog-pm.rst
rename to Documentation/drivers/watchdog/watchdog-pm.rst
diff --git a/Documentation/watchdog/wdt.rst b/Documentation/drivers/watchdog/wdt.rst
similarity index 100%
rename from Documentation/watchdog/wdt.rst
rename to Documentation/drivers/watchdog/wdt.rst
-- 
2.19.1.856.g8858448bb

^ permalink raw reply

* Re: [PATCH v4 15/23] drm: sti: Provide ddc symlink in hdmi connector sysfs directory
From: Benjamin Gaignard @ 2019-07-12  7:42 UTC (permalink / raw)
  To: Andrzej Pietrasiewicz
  Cc: Y.C. Chen, Heiko Stübner, Sam Ravnborg, Neil Armstrong,
	Maxime Ripard, Ramalingam C, Joonas Lahtinen, Liviu Dudau,
	ML dri-devel, Douglas Anderson, Andrzej Hajda, Thierry Reding,
	Laurent Pinchart, kernel-ZGY8ohtN/8qB+jHODAdFcQ, Fabio Estevam,
	Ville Syrjälä, David (ChunMing) Zhou,
	moderated list:ARM/S5P EXYNOS AR..., Joonyoung Shim,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
In-Reply-To: <86afdc0bca6939901870176dcf55f279f7b10a08.1562843413.git.andrzej.p-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>

Le jeu. 11 juil. 2019 à 13:30, Andrzej Pietrasiewicz
<andrzej.p@collabora.com> a écrit :
>
> Use the ddc pointer provided by the generic connector.
>
> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>

Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

> ---
>  drivers/gpu/drm/sti/sti_hdmi.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c
> index f03d617edc4c..90f8db63c095 100644
> --- a/drivers/gpu/drm/sti/sti_hdmi.c
> +++ b/drivers/gpu/drm/sti/sti_hdmi.c
> @@ -1279,6 +1279,7 @@ static int sti_hdmi_bind(struct device *dev, struct device *master, void *data)
>         drm_bridge_attach(encoder, bridge, NULL);
>
>         connector->encoder = encoder;
> +       drm_connector->ddc = hdmi->ddc_adapt;
>
>         drm_connector = (struct drm_connector *)connector;
>
> --
> 2.17.1
>
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

^ permalink raw reply

* Re: [PATCH v1] drm/modes: Skip invalid cmdline mode
From: Maxime Ripard @ 2019-07-12  8:10 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Thierry Reding, Jonathan Hunter, Maarten Lankhorst, Sean Paul,
	Daniel Vetter, David Airlie, dri-devel, linux-tegra, linux-kernel
In-Reply-To: <de21fe78-87a6-741f-caf7-2771f6468739@gmail.com>

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

On Thu, Jul 11, 2019 at 06:55:03PM +0300, Dmitry Osipenko wrote:
> 11.07.2019 12:03, Maxime Ripard пишет:
> > On Wed, Jul 10, 2019 at 06:05:18PM +0300, Dmitry Osipenko wrote:
> >> 10.07.2019 17:05, Maxime Ripard пишет:
> >>> On Wed, Jul 10, 2019 at 04:29:19PM +0300, Dmitry Osipenko wrote:
> >>>> This works:
> >>>>
> >>>> diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
> >>>> index 56d36779d213..e5a2f9c8f404 100644
> >>>> --- a/drivers/gpu/drm/drm_client_modeset.c
> >>>> +++ b/drivers/gpu/drm/drm_client_modeset.c
> >>>> @@ -182,6 +182,8 @@ drm_connector_pick_cmdline_mode(struct drm_connector *connector)
> >>>>         mode = drm_mode_create_from_cmdline_mode(connector->dev, cmdline_mode);
> >>>>         if (mode)
> >>>>                 list_add(&mode->head, &connector->modes);
> >>>> +       else
> >>>> +               cmdline_mode->specified = false;
> >>>
> >>> Hmmm, it's not clear to me why that wouldn't be the case.
> >>>
> >>> If we come back to the beginning of that function, we retrieve the
> >>> cmdline_mode buffer from the connector pointer, that will probably
> >>> have been parsed a first time using drm_mode_create_from_cmdline_mode
> >>> in drm_helper_probe_add_cmdline_mode.
> >>>
> >>> Now, I'm guessing that the issue is that in
> >>> drm_mode_parse_command_line_for_connector, if we have a named mode, we
> >>> just copy the mode over and set mode->specified.
> >>>
> >>> And we then move over to do other checks, and that's probably what
> >>> fails and returns, but our drm_cmdline_mode will have been modified.
> >>>
> >>> I'm not entirely sure how to deal with that though.
> >>>
> >>> I guess we could allocate a drm_cmdline_mode structure on the stack,
> >>> fill that, and if successful copy over its content to the one in
> >>> drm_connector. That would allow us to only change the content on
> >>> success, which is what I would expect from such a function?
> >>>
> >>> How does that sound?
> >>
> >> I now see that there is DRM_MODE_TYPE_USERDEF flag that is assigned only
> >> for the "cmdline" mode and drm_client_rotation() is the only place in
> >> DRM code that cares about whether mode is from cmdline, hence looks like
> >> it will be more correct to do the following:
> >
> > I'm still under the impression that we're dealing with workarounds of
> > a more central issue, which is that we shouldn't return a partially
> > modified drm_cmdline_mode.
> >
> > You said it yourself, the breakage is in the commit changing the
> > command line parsing logic, while you're fixing here some code that
> > was introduced later on.
>
> The problem stems from assumption that *any* named mode is valid. It
> looks to me that the ultimate solution would be to move the mode's name
> comparison into the [1], if that's possible.
>
> [1] drm_mode_parse_command_line_for_connector()

Well, one could argue that video=tegrafb is invalid and should be
rejected as well, but we haven't cleared that up.

> > Can you try the followintg patch?
> > http://code.bulix.org/8cwk4c-794565?raw
>
> This doesn't help because the problem with the rotation_reflection is
> that it's 0 if "rotation" not present in the cmdline and then ilog2(0)
> returns -1. So the patch "drm/modes: Don't apply cmdline's rotation if
> it wasn't specified" should be correct in any case.

So we would have the same issue with rotate=0 then?

Maxime

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

^ permalink raw reply

* Re: [PATCH v1] drm/modes: Skip invalid cmdline mode
From: Dmitry Osipenko @ 2019-07-12  8:30 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Thierry Reding, Jonathan Hunter, Maarten Lankhorst, Sean Paul,
	Daniel Vetter, David Airlie, dri-devel, linux-tegra, linux-kernel
In-Reply-To: <20190712081027.arybdoxr6nzrmkxt@flea>

12.07.2019 11:10, Maxime Ripard пишет:
> On Thu, Jul 11, 2019 at 06:55:03PM +0300, Dmitry Osipenko wrote:
>> 11.07.2019 12:03, Maxime Ripard пишет:
>>> On Wed, Jul 10, 2019 at 06:05:18PM +0300, Dmitry Osipenko wrote:
>>>> 10.07.2019 17:05, Maxime Ripard пишет:
>>>>> On Wed, Jul 10, 2019 at 04:29:19PM +0300, Dmitry Osipenko wrote:
>>>>>> This works:
>>>>>>
>>>>>> diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
>>>>>> index 56d36779d213..e5a2f9c8f404 100644
>>>>>> --- a/drivers/gpu/drm/drm_client_modeset.c
>>>>>> +++ b/drivers/gpu/drm/drm_client_modeset.c
>>>>>> @@ -182,6 +182,8 @@ drm_connector_pick_cmdline_mode(struct drm_connector *connector)
>>>>>>         mode = drm_mode_create_from_cmdline_mode(connector->dev, cmdline_mode);
>>>>>>         if (mode)
>>>>>>                 list_add(&mode->head, &connector->modes);
>>>>>> +       else
>>>>>> +               cmdline_mode->specified = false;
>>>>>
>>>>> Hmmm, it's not clear to me why that wouldn't be the case.
>>>>>
>>>>> If we come back to the beginning of that function, we retrieve the
>>>>> cmdline_mode buffer from the connector pointer, that will probably
>>>>> have been parsed a first time using drm_mode_create_from_cmdline_mode
>>>>> in drm_helper_probe_add_cmdline_mode.
>>>>>
>>>>> Now, I'm guessing that the issue is that in
>>>>> drm_mode_parse_command_line_for_connector, if we have a named mode, we
>>>>> just copy the mode over and set mode->specified.
>>>>>
>>>>> And we then move over to do other checks, and that's probably what
>>>>> fails and returns, but our drm_cmdline_mode will have been modified.
>>>>>
>>>>> I'm not entirely sure how to deal with that though.
>>>>>
>>>>> I guess we could allocate a drm_cmdline_mode structure on the stack,
>>>>> fill that, and if successful copy over its content to the one in
>>>>> drm_connector. That would allow us to only change the content on
>>>>> success, which is what I would expect from such a function?
>>>>>
>>>>> How does that sound?
>>>>
>>>> I now see that there is DRM_MODE_TYPE_USERDEF flag that is assigned only
>>>> for the "cmdline" mode and drm_client_rotation() is the only place in
>>>> DRM code that cares about whether mode is from cmdline, hence looks like
>>>> it will be more correct to do the following:
>>>
>>> I'm still under the impression that we're dealing with workarounds of
>>> a more central issue, which is that we shouldn't return a partially
>>> modified drm_cmdline_mode.
>>>
>>> You said it yourself, the breakage is in the commit changing the
>>> command line parsing logic, while you're fixing here some code that
>>> was introduced later on.
>>
>> The problem stems from assumption that *any* named mode is valid. It
>> looks to me that the ultimate solution would be to move the mode's name
>> comparison into the [1], if that's possible.
>>
>> [1] drm_mode_parse_command_line_for_connector()
> 
> Well, one could argue that video=tegrafb is invalid and should be
> rejected as well, but we haven't cleared that up.

The video=tegrafb is invalid mode, there is nothing to argue here. And
the problem is that invalid modes and not rejected for the very beginning.

>>> Can you try the followintg patch?
>>> http://code.bulix.org/8cwk4c-794565?raw
>>
>> This doesn't help because the problem with the rotation_reflection is
>> that it's 0 if "rotation" not present in the cmdline and then ilog2(0)
>> returns -1. So the patch "drm/modes: Don't apply cmdline's rotation if
>> it wasn't specified" should be correct in any case.
> 
> So we would have the same issue with rotate=0 then?

No, we won't. Rotation mode is parsed into the DRM_MODE bitmask and
rotate=0 corresponds to DRM_MODE_ROTATE_0, which is BIT(0) as you may
notice. Hence rotation_reflection=0 is always an invalid value, meaning
that "rotate" option does not present in the cmdline. Please consult the
code, in particular see drm_mode_parse_cmdline_options() which was
written by yourself ;)

^ permalink raw reply

* Re: [PATCH v2 1/6] ARM: tegra: Remove cpuidle drivers
From: Jon Hunter @ 2019-07-12  9:39 UTC (permalink / raw)
  To: Dmitry Osipenko, Thierry Reding, Peter De Schrijver,
	Rafael J. Wysocki, Daniel Lezcano
  Cc: linux-pm, linux-tegra, linux-arm-kernel, linux-kernel
In-Reply-To: <a6e4b43e-369c-c501-6d2e-69d5b940ff9c@gmail.com>


On 11/07/2019 18:03, Dmitry Osipenko wrote:
> 11.07.2019 12:26, Jon Hunter пишет:
>>
>> On 11/07/2019 04:13, Dmitry Osipenko wrote:
>>> Remove the old drivers to replace them cleanly with a new one later on.
>>>
>>> Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
>>> ---
>>>  arch/arm/mach-tegra/Makefile           |  13 --
>>>  arch/arm/mach-tegra/cpuidle-tegra114.c |  89 -----------
>>>  arch/arm/mach-tegra/cpuidle-tegra20.c  | 212 -------------------------
>>>  arch/arm/mach-tegra/cpuidle-tegra30.c  | 132 ---------------
>>>  arch/arm/mach-tegra/cpuidle.c          |  50 ------
>>>  arch/arm/mach-tegra/cpuidle.h          |  21 ---
>>>  arch/arm/mach-tegra/irq.c              |  18 ---
>>>  arch/arm/mach-tegra/irq.h              |  11 --
>>>  arch/arm/mach-tegra/pm.c               |   7 -
>>>  arch/arm/mach-tegra/pm.h               |   1 -
>>>  arch/arm/mach-tegra/reset-handler.S    |  11 --
>>>  arch/arm/mach-tegra/reset.h            |   9 +-
>>>  arch/arm/mach-tegra/sleep-tegra20.S    | 190 +---------------------
>>>  arch/arm/mach-tegra/sleep.h            |  12 --
>>>  arch/arm/mach-tegra/tegra.c            |   3 -
>>>  drivers/soc/tegra/Kconfig              |   1 -
>>>  include/soc/tegra/cpuidle.h            |   4 -
>>>  17 files changed, 5 insertions(+), 779 deletions(-)
>>>  delete mode 100644 arch/arm/mach-tegra/cpuidle-tegra114.c
>>>  delete mode 100644 arch/arm/mach-tegra/cpuidle-tegra20.c
>>>  delete mode 100644 arch/arm/mach-tegra/cpuidle-tegra30.c
>>>  delete mode 100644 arch/arm/mach-tegra/cpuidle.c
>>>  delete mode 100644 arch/arm/mach-tegra/cpuidle.h
>>>  delete mode 100644 arch/arm/mach-tegra/irq.h
>>
>> By removing all the above, it is really hard to review the diff. Is
>> there any way you could first consolidate the cpuidle drivers into say
>> the existing arch/arm/mach-tegra/cpuidle-tegra20.c and then move to
>> drivers/cpuidle?
> 
> I'm afraid that it will make reviewing even more difficult because
> everything that is removed here is not returned in the further patches.
> The new driver is based on the older ones, but I wrote it from scratch
> and it's not only looks different, but also works a bit different as you
> may see.
> 
> Could you please clarify what exactly makes it hard to review? The diff
> looks pretty clean to me, while squashing everything into existing
> driver should be quite a mess.

Ideally a patch should standalone and can be reviewed by itself.
However, to review this, we need to review patches 1, 2 and 3 at the
same time. So IMO it is not that convenient from a reviewers
perspective. Furthermore, patches 1 and 3 are large and so easy to miss
something.

Is there really no way to have a patch to combined the existing drivers,
then a patch to convert them into the newer rewritten version you have
implemented, then move the driver?

Jon

-- 
nvpublic

^ permalink raw reply

* Re: [PATCH 5.1 000/138] 5.1.18-stable review
From: Jon Hunter @ 2019-07-12 13:26 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: torvalds, akpm, linux, shuah, patches, ben.hutchings, lkft-triage,
	stable, linux-tegra, j-keerthy
In-Reply-To: <20190712121628.731888964@linuxfoundation.org>

Hi Greg,

On 12/07/2019 13:17, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.1.18 release.
> There are 138 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Sun 14 Jul 2019 12:14:36 PM UTC.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.1.18-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.1.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 
> -------------
> Pseudo-Shortlog of commits:

...

> Keerthy <j-keerthy@ti.com>
>     ARM: dts: dra71x: Disable usb4_tm target module

...

> Keerthy <j-keerthy@ti.com>
>     ARM: dts: dra76x: Disable usb4_tm target module

The above commits are generating the following compilation errors for
ARM ...

Error:
/dvs/git/dirty/git-master_l4t-upstream/kernel/arch/arm/boot/dts/dra71x.dtsi:15.1-9
Label or path usb4_tm not found

Error:
/dvs/git/dirty/git-master_l4t-upstream/kernel/arch/arm/boot/dts/dra76x.dtsi:89.1-9
Label or path usb4_tm not found

After reverting these two, I no longer see these errors.

Cheers,
Jon

-- 
nvpublic

^ permalink raw reply

* Re: [PATCH 4.19 00/91] 4.19.59-stable review
From: Jon Hunter @ 2019-07-12 13:36 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: torvalds, akpm, linux, shuah, patches, ben.hutchings, lkft-triage,
	stable, linux-tegra
In-Reply-To: <20190712121621.422224300@linuxfoundation.org>


On 12/07/2019 13:18, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.19.59 release.
> There are 91 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Sun 14 Jul 2019 12:14:36 PM UTC.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.19.59-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h

All tests are passing for Tegra ...

Test results for stable-v4.19:
    12 builds:	12 pass, 0 fail
    22 boots:	22 pass, 0 fail
    32 tests:	32 pass, 0 fail

Linux version:	4.19.59-rc1-gd66f8e7f112f
Boards tested:	tegra124-jetson-tk1, tegra186-p2771-0000,
                tegra194-p2972-0000, tegra20-ventana,
                tegra210-p2371-2180, tegra30-cardhu-a04

Cheers
Jon

-- 
nvpublic

^ permalink raw reply

* Re: [PATCH 5.2 00/61] 5.2.1-stable review
From: Jon Hunter @ 2019-07-12 13:36 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: torvalds, akpm, linux, shuah, patches, ben.hutchings, lkft-triage,
	stable, linux-tegra
In-Reply-To: <20190712121620.632595223@linuxfoundation.org>


On 12/07/2019 13:19, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.2.1 release.
> There are 61 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Sun 14 Jul 2019 12:14:36 PM UTC.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.2.1-rc1.gz
> or in the git tree and branch at:
> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.2.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h

All tests are passing for Tegra ...

Test results for stable-v5.2:
    12 builds:	12 pass, 0 fail
    22 boots:	22 pass, 0 fail
    38 tests:	38 pass, 0 fail

Linux version:	5.2.1-rc1-g61731e8fe278
Boards tested:	tegra124-jetson-tk1, tegra186-p2771-0000,
                tegra194-p2972-0000, tegra20-ventana,
                tegra210-p2371-2180, tegra30-cardhu-a04

Cheers
Jon

-- 
nvpublic

^ permalink raw reply

* Re: [PATCH 5.1 000/138] 5.1.18-stable review
From: Greg Kroah-Hartman @ 2019-07-12 15:30 UTC (permalink / raw)
  To: Jon Hunter
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable, linux-tegra, j-keerthy
In-Reply-To: <4dae64c8-046e-3647-52d6-43362e986d21@nvidia.com>

On Fri, Jul 12, 2019 at 02:26:57PM +0100, Jon Hunter wrote:
> Hi Greg,
> 
> On 12/07/2019 13:17, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.1.18 release.
> > There are 138 patches in this series, all will be posted as a response
> > to this one.  If anyone has any issues with these being applied, please
> > let me know.
> > 
> > Responses should be made by Sun 14 Jul 2019 12:14:36 PM UTC.
> > Anything received after that time might be too late.
> > 
> > The whole patch series can be found in one patch at:
> > 	https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.1.18-rc1.gz
> > or in the git tree and branch at:
> > 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.1.y
> > and the diffstat can be found below.
> > 
> > thanks,
> > 
> > greg k-h
> > 
> > -------------
> > Pseudo-Shortlog of commits:
> 
> ...
> 
> > Keerthy <j-keerthy@ti.com>
> >     ARM: dts: dra71x: Disable usb4_tm target module
> 
> ...
> 
> > Keerthy <j-keerthy@ti.com>
> >     ARM: dts: dra76x: Disable usb4_tm target module
> 
> The above commits are generating the following compilation errors for
> ARM ...
> 
> Error:
> /dvs/git/dirty/git-master_l4t-upstream/kernel/arch/arm/boot/dts/dra71x.dtsi:15.1-9
> Label or path usb4_tm not found
> 
> Error:
> /dvs/git/dirty/git-master_l4t-upstream/kernel/arch/arm/boot/dts/dra76x.dtsi:89.1-9
> Label or path usb4_tm not found
> 
> After reverting these two, I no longer see these errors.

Both are now dropped, thanks.  I'll push out a -rc2 with that changed.

greg k-h

^ permalink raw reply

* Re: [PATCH 5.2 00/61] 5.2.1-stable review
From: Greg Kroah-Hartman @ 2019-07-12 15:31 UTC (permalink / raw)
  To: Jon Hunter
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable, linux-tegra
In-Reply-To: <a1ae16a7-e8f7-b6fc-df4e-46079bebf9b3@nvidia.com>

On Fri, Jul 12, 2019 at 02:36:29PM +0100, Jon Hunter wrote:
> 
> On 12/07/2019 13:19, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.2.1 release.
> > There are 61 patches in this series, all will be posted as a response
> > to this one.  If anyone has any issues with these being applied, please
> > let me know.
> > 
> > Responses should be made by Sun 14 Jul 2019 12:14:36 PM UTC.
> > Anything received after that time might be too late.
> > 
> > The whole patch series can be found in one patch at:
> > 	https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.2.1-rc1.gz
> > or in the git tree and branch at:
> > 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.2.y
> > and the diffstat can be found below.
> > 
> > thanks,
> > 
> > greg k-h
> 
> All tests are passing for Tegra ...
> 
> Test results for stable-v5.2:
>     12 builds:	12 pass, 0 fail
>     22 boots:	22 pass, 0 fail
>     38 tests:	38 pass, 0 fail
> 
> Linux version:	5.2.1-rc1-g61731e8fe278
> Boards tested:	tegra124-jetson-tk1, tegra186-p2771-0000,
>                 tegra194-p2972-0000, tegra20-ventana,
>                 tegra210-p2371-2180, tegra30-cardhu-a04

That was fast, thanks for testing all of these.

greg k-h

^ permalink raw reply

* Re: [PATCH V13 12/12] PCI: tegra: Add Tegra194 PCIe support
From: Vidya Sagar @ 2019-07-12 15:32 UTC (permalink / raw)
  To: Lorenzo Pieralisi
  Cc: bhelgaas, robh+dt, mark.rutland, thierry.reding, jonathanh,
	kishon, catalin.marinas, will.deacon, jingoohan1,
	gustavo.pimentel, digetx, mperttunen, linux-pci, devicetree,
	linux-tegra, linux-kernel, linux-arm-kernel, kthota, mmaddireddy,
	sagar.tv
In-Reply-To: <20190711125433.GB26088@e121166-lin.cambridge.arm.com>

On 7/11/2019 6:24 PM, Lorenzo Pieralisi wrote:
> On Wed, Jul 10, 2019 at 11:52:12AM +0530, Vidya Sagar wrote:
> 
> [...]
> 
>> diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
>> new file mode 100644
>> index 000000000000..189779edd976
>> --- /dev/null
>> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
>> @@ -0,0 +1,1632 @@
>> +// SPDX-License-Identifier: GPL-2.0+
>> +/*
>> + * PCIe host controller driver for Tegra194 SoC
>> + *
>> + * Copyright (C) 2019 NVIDIA Corporation.
>> + *
>> + * Author: Vidya Sagar <vidyas@nvidia.com>
>> + */
>> +
>> +#include <linux/clk.h>
>> +#include <linux/debugfs.h>
>> +#include <linux/delay.h>
>> +#include <linux/gpio.h>
>> +#include <linux/interrupt.h>
>> +#include <linux/iopoll.h>
>> +#include <linux/kernel.h>
>> +#include <linux/kfifo.h>
>> +#include <linux/kthread.h>
> 
> What do you need these two headers for ?
These were added for a different reason. They are not required
and I'll remove them.

> 
> [...]
> 
>> +struct tegra_pcie_dw {
>> +	struct device *dev;
>> +	struct resource *appl_res;
>> +	struct resource *dbi_res;
>> +	struct resource *atu_dma_res;
>> +	void __iomem *appl_base;
>> +	struct clk *core_clk;
>> +	struct reset_control *core_apb_rst;
>> +	struct reset_control *core_rst;
>> +	struct dw_pcie pci;
>> +	enum dw_pcie_device_mode mode;
>> +	struct tegra_bpmp *bpmp;
>> +
>> +	bool supports_clkreq;
>> +	bool enable_cdm_check;
>> +	u8 init_link_width;
>> +	bool link_state;
>> +	u32 msi_ctrl_int;
>> +	u32 num_lanes;
>> +	u32 max_speed;
>> +	u32 cid;
>> +	bool update_fc_fixup;
>> +	u32 cfg_link_cap_l1sub;
>> +	u32 pcie_cap_base;
>> +	u32 aspm_cmrt;
>> +	u32 aspm_pwr_on_t;
>> +	u32 aspm_l0s_enter_lat;o
> 
> Nit: You should try to group variables according to their usage,
> it would make sense to group booleans together.
Ok.

> 
>> +	struct regulator *pex_ctl_supply;
>> +
>> +	unsigned int phy_count;
>> +	struct phy **phys;
>> +
>> +	struct dentry *debugfs;
>> +};
>> +
>> +static inline struct tegra_pcie_dw *to_tegra_pcie(struct dw_pcie *pci)
>> +{
>> +	return container_of(pci, struct tegra_pcie_dw, pci);
>> +}
>> +
>> +static inline void appl_writel(struct tegra_pcie_dw *pcie, const u32 value,
>> +			       const u32 reg)
>> +{
>> +	writel_relaxed(value, pcie->appl_base + reg);
>> +}
>> +
>> +static inline u32 appl_readl(struct tegra_pcie_dw *pcie, const u32 reg)
>> +{
>> +	return readl_relaxed(pcie->appl_base + reg);
>> +}
>> +
>> +struct tegra_pcie_soc {
>> +	enum dw_pcie_device_mode mode;
>> +};
>> +
>> +static void apply_bad_link_workaround(struct pcie_port *pp)
>> +{
>> +	struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
>> +	struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
>> +	u32 current_link_width;
>> +	u16 val;
>> +
>> +	/*
>> +	 * NOTE:- Since this scenario is uncommon and link as such is not
>> +	 * stable anyway, not waiting to confirm if link is really
>> +	 * transitioning to Gen-2 speed
>> +	 */
>> +	val = dw_pcie_readw_dbi(pci, pcie->pcie_cap_base + PCI_EXP_LNKSTA);
>> +	if (val & PCI_EXP_LNKSTA_LBMS) {
>> +		current_link_width = (val & PCI_EXP_LNKSTA_NLW) >>
>> +				     PCI_EXP_LNKSTA_NLW_SHIFT;
>> +		if (pcie->init_link_width > current_link_width) {
>> +			dev_warn(pci->dev, "PCIe link is bad, width reduced\n");
>> +			val = dw_pcie_readw_dbi(pci, pcie->pcie_cap_base +
>> +						PCI_EXP_LNKCTL2);
>> +			val &= ~PCI_EXP_LNKCTL2_TLS;
>> +			val |= PCI_EXP_LNKCTL2_TLS_2_5GT;
>> +			dw_pcie_writew_dbi(pci, pcie->pcie_cap_base +
>> +					   PCI_EXP_LNKCTL2, val);
>> +
>> +			val = dw_pcie_readw_dbi(pci, pcie->pcie_cap_base +
>> +						PCI_EXP_LNKCTL);
>> +			val |= PCI_EXP_LNKCTL_RL;
>> +			dw_pcie_writew_dbi(pci, pcie->pcie_cap_base +
>> +					   PCI_EXP_LNKCTL, val);
>> +		}
>> +	}
>> +}
>> +
>> +static irqreturn_t tegra_pcie_rp_irq_handler(struct tegra_pcie_dw *pcie)
>> +{
>> +	struct dw_pcie *pci = &pcie->pci;
>> +	struct pcie_port *pp = &pci->pp;
>> +	u32 val, tmp;
>> +	u16 val_w;
>> +
>> +	val = appl_readl(pcie, APPL_INTR_STATUS_L0);
>> +	if (val & APPL_INTR_STATUS_L0_LINK_STATE_INT) {
>> +		val = appl_readl(pcie, APPL_INTR_STATUS_L1_0_0);
>> +		if (val & APPL_INTR_STATUS_L1_0_0_LINK_REQ_RST_NOT_CHGED) {
>> +			appl_writel(pcie, val, APPL_INTR_STATUS_L1_0_0);
>> +
>> +			/* SBR & Surprise Link Down WAR */
>> +			val = appl_readl(pcie, APPL_CAR_RESET_OVRD);
>> +			val &= ~APPL_CAR_RESET_OVRD_CYA_OVERRIDE_CORE_RST_N;
>> +			appl_writel(pcie, val, APPL_CAR_RESET_OVRD);
>> +			udelay(1);
>> +			val = appl_readl(pcie, APPL_CAR_RESET_OVRD);
>> +			val |= APPL_CAR_RESET_OVRD_CYA_OVERRIDE_CORE_RST_N;
>> +			appl_writel(pcie, val, APPL_CAR_RESET_OVRD);
>> +
>> +			val = dw_pcie_readl_dbi(pci, PORT_LOGIC_GEN2_CTRL);
>> +			val |= PORT_LOGIC_GEN2_CTRL_DIRECT_SPEED_CHANGE;
>> +			dw_pcie_writel_dbi(pci, PORT_LOGIC_GEN2_CTRL, val);
>> +		}
>> +	}
>> +
>> +	if (val & APPL_INTR_STATUS_L0_INT_INT) {
>> +		val = appl_readl(pcie, APPL_INTR_STATUS_L1_8_0);
>> +		if (val & APPL_INTR_STATUS_L1_8_0_AUTO_BW_INT_STS) {
>> +			appl_writel(pcie,
>> +				    APPL_INTR_STATUS_L1_8_0_AUTO_BW_INT_STS,
>> +				    APPL_INTR_STATUS_L1_8_0);
>> +			apply_bad_link_workaround(pp);
>> +		}
>> +		if (val & APPL_INTR_STATUS_L1_8_0_BW_MGT_INT_STS) {
>> +			appl_writel(pcie,
>> +				    APPL_INTR_STATUS_L1_8_0_BW_MGT_INT_STS,
>> +				    APPL_INTR_STATUS_L1_8_0);
>> +
>> +			val_w = dw_pcie_readw_dbi(pci, pcie->pcie_cap_base +
>> +						  PCI_EXP_LNKSTA);
>> +			dev_dbg(pci->dev, "Link Speed : Gen-%u\n", val_w &
>> +				PCI_EXP_LNKSTA_CLS);
>> +		}
>> +	}
>> +
>> +	val = appl_readl(pcie, APPL_INTR_STATUS_L0);
>> +	if (val & APPL_INTR_STATUS_L0_CDM_REG_CHK_INT) {
>> +		val = appl_readl(pcie, APPL_INTR_STATUS_L1_18);
>> +		tmp = dw_pcie_readl_dbi(pci, PCIE_PL_CHK_REG_CONTROL_STATUS);
>> +		if (val & APPL_INTR_STATUS_L1_18_CDM_REG_CHK_CMPLT) {
>> +			dev_info(pci->dev, "CDM check complete\n");
>> +			tmp |= PCIE_PL_CHK_REG_CHK_REG_COMPLETE;
>> +		}
>> +		if (val & APPL_INTR_STATUS_L1_18_CDM_REG_CHK_CMP_ERR) {
>> +			dev_err(pci->dev, "CDM comparison mismatch\n");
>> +			tmp |= PCIE_PL_CHK_REG_CHK_REG_COMPARISON_ERROR;
>> +		}
>> +		if (val & APPL_INTR_STATUS_L1_18_CDM_REG_CHK_LOGIC_ERR) {
>> +			dev_err(pci->dev, "CDM Logic error\n");
>> +			tmp |= PCIE_PL_CHK_REG_CHK_REG_LOGIC_ERROR;
>> +		}
>> +		dw_pcie_writel_dbi(pci, PCIE_PL_CHK_REG_CONTROL_STATUS, tmp);
>> +		tmp = dw_pcie_readl_dbi(pci, PCIE_PL_CHK_REG_ERR_ADDR);
>> +		dev_err(pci->dev, "CDM Error Address Offset = 0x%08X\n", tmp);
>> +	}
>> +
>> +	return IRQ_HANDLED;
>> +}
>> +
>> +static irqreturn_t tegra_pcie_irq_handler(int irq, void *arg)
>> +{
>> +	struct tegra_pcie_dw *pcie = arg;
>> +
>> +	if (pcie->mode == DW_PCIE_RC_TYPE)
>> +		return tegra_pcie_rp_irq_handler(pcie);
> 
> What's the point of registering the handler if mode != DW_PCIE_RC_TYPE ?
Currently this driver supports only root port mode but we have a plan to add
support for endpoint mode (as Tegra194 as dual mode controllers) also in future
and when that happens, we'll have a corresponding tegra_pcie_ep_irq_handler()
to take care of ep specific interrupts.

> 
>> +	return IRQ_NONE;
>> +}
>> +
>> +static int tegra_pcie_dw_rd_own_conf(struct pcie_port *pp, int where, int size,
>> +				     u32 *val)
>> +{
>> +	struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
>> +
>> +	/*
>> +	 * This is an endpoint mode specific register happen to appear even
>> +	 * when controller is operating in root port mode and system hangs
>> +	 * when it is accessed with link being in ASPM-L1 state.
>> +	 * So skip accessing it altogether
>> +	 */
>> +	if (where == PORT_LOGIC_MSIX_DOORBELL) {
>> +		*val = 0x00000000;
>> +		return PCIBIOS_SUCCESSFUL;
>> +	}
>> +
>> +	return dw_pcie_read(pci->dbi_base + where, size, val);
>> +}
>> +
>> +static int tegra_pcie_dw_wr_own_conf(struct pcie_port *pp, int where, int size,
>> +				     u32 val)
>> +{
>> +	struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
>> +
>> +	/*
>> +	 * This is an endpoint mode specific register happen to appear even
>> +	 * when controller is operating in root port mode and system hangs
>> +	 * when it is accessed with link being in ASPM-L1 state.
>> +	 * So skip accessing it altogether
>> +	 */
>> +	if (where == PORT_LOGIC_MSIX_DOORBELL)
>> +		return PCIBIOS_SUCCESSFUL;
>> +
>> +	return dw_pcie_write(pci->dbi_base + where, size, val);
>> +}
>> +
>> +#if defined(CONFIG_PCIEASPM)
>> +static void disable_aspm_l11(struct tegra_pcie_dw *pcie)
>> +{
>> +	u32 val;
>> +
>> +	val = dw_pcie_readl_dbi(&pcie->pci, pcie->cfg_link_cap_l1sub);
>> +	val &= ~PCI_L1SS_CAP_ASPM_L1_1;
>> +	dw_pcie_writel_dbi(&pcie->pci, pcie->cfg_link_cap_l1sub, val);
>> +}
>> +
>> +static void disable_aspm_l12(struct tegra_pcie_dw *pcie)
>> +{
>> +	u32 val;
>> +
>> +	val = dw_pcie_readl_dbi(&pcie->pci, pcie->cfg_link_cap_l1sub);
>> +	val &= ~PCI_L1SS_CAP_ASPM_L1_2;
>> +	dw_pcie_writel_dbi(&pcie->pci, pcie->cfg_link_cap_l1sub, val);
>> +}
>> +
>> +static inline u32 event_counter_prog(struct tegra_pcie_dw *pcie, u32 event)
>> +{
>> +	u32 val;
>> +
>> +	val = dw_pcie_readl_dbi(&pcie->pci, event_cntr_ctrl_offset[pcie->cid]);
>> +	val &= ~(EVENT_COUNTER_EVENT_SEL_MASK << EVENT_COUNTER_EVENT_SEL_SHIFT);
>> +	val |= EVENT_COUNTER_GROUP_5 << EVENT_COUNTER_GROUP_SEL_SHIFT;
>> +	val |= event << EVENT_COUNTER_EVENT_SEL_SHIFT;
>> +	val |= EVENT_COUNTER_ENABLE_ALL << EVENT_COUNTER_ENABLE_SHIFT;
>> +	dw_pcie_writel_dbi(&pcie->pci, event_cntr_ctrl_offset[pcie->cid], val);
>> +	val = dw_pcie_readl_dbi(&pcie->pci, event_cntr_data_offset[pcie->cid]);
>> +	return val;
>> +}
>> +
>> +static int aspm_state_cnt(struct seq_file *s, void *data)
>> +{
>> +	struct tegra_pcie_dw *pcie = (struct tegra_pcie_dw *)
>> +				     dev_get_drvdata(s->private);
>> +	u32 val;
>> +
>> +	seq_printf(s, "Tx L0s entry count : %u\n",
>> +		   event_counter_prog(pcie, EVENT_COUNTER_EVENT_Tx_L0S));
>> +
>> +	seq_printf(s, "Rx L0s entry count : %u\n",
>> +		   event_counter_prog(pcie, EVENT_COUNTER_EVENT_Rx_L0S));
>> +
>> +	seq_printf(s, "Link L1 entry count : %u\n",
>> +		   event_counter_prog(pcie, EVENT_COUNTER_EVENT_L1));
>> +
>> +	seq_printf(s, "Link L1.1 entry count : %u\n",
>> +		   event_counter_prog(pcie, EVENT_COUNTER_EVENT_L1_1));
>> +
>> +	seq_printf(s, "Link L1.2 entry count : %u\n",
>> +		   event_counter_prog(pcie, EVENT_COUNTER_EVENT_L1_2));
>> +
>> +	/* Clear all counters */
>> +	dw_pcie_writel_dbi(&pcie->pci, event_cntr_ctrl_offset[pcie->cid],
>> +			   EVENT_COUNTER_ALL_CLEAR);
>> +
>> +	/* Re-enable counting */
>> +	val = EVENT_COUNTER_ENABLE_ALL << EVENT_COUNTER_ENABLE_SHIFT;
>> +	val |= EVENT_COUNTER_GROUP_5 << EVENT_COUNTER_GROUP_SEL_SHIFT;
>> +	dw_pcie_writel_dbi(&pcie->pci, event_cntr_ctrl_offset[pcie->cid], val);
>> +
>> +	return 0;
>> +}
>> +#endif
>> +
>> +static int init_debugfs(struct tegra_pcie_dw *pcie)
>> +{
>> +#if defined(CONFIG_PCIEASPM)
>> +	struct dentry *d;
>> +
>> +	d = debugfs_create_devm_seqfile(pcie->dev, "aspm_state_cnt",
>> +					pcie->debugfs, aspm_state_cnt);
>> +	if (IS_ERR_OR_NULL(d))
>> +		dev_err(pcie->dev,
>> +			"Failed to create debugfs file \"aspm_state_cnt\"\n");
>> +#endif
>> +	return 0;
>> +}
>> +
>> +static void tegra_pcie_enable_system_interrupts(struct pcie_port *pp)
>> +{
>> +	struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
>> +	struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
>> +	u32 val;
>> +	u16 val_w;
>> +
>> +	val = appl_readl(pcie, APPL_INTR_EN_L0_0);
>> +	val |= APPL_INTR_EN_L0_0_LINK_STATE_INT_EN;
>> +	appl_writel(pcie, val, APPL_INTR_EN_L0_0);
>> +
>> +	val = appl_readl(pcie, APPL_INTR_EN_L1_0_0);
>> +	val |= APPL_INTR_EN_L1_0_0_LINK_REQ_RST_NOT_INT_EN;
>> +	appl_writel(pcie, val, APPL_INTR_EN_L1_0_0);
>> +
>> +	if (pcie->enable_cdm_check) {
>> +		val = appl_readl(pcie, APPL_INTR_EN_L0_0);
>> +		val |= APPL_INTR_EN_L0_0_CDM_REG_CHK_INT_EN;
>> +		appl_writel(pcie, val, APPL_INTR_EN_L0_0);
>> +
>> +		val = appl_readl(pcie, APPL_INTR_EN_L1_18);
>> +		val |= APPL_INTR_EN_L1_18_CDM_REG_CHK_CMP_ERR;
>> +		val |= APPL_INTR_EN_L1_18_CDM_REG_CHK_LOGIC_ERR;
>> +		appl_writel(pcie, val, APPL_INTR_EN_L1_18);
>> +	}
>> +
>> +	val_w = dw_pcie_readw_dbi(&pcie->pci, pcie->pcie_cap_base +
>> +				  PCI_EXP_LNKSTA);
>> +	pcie->init_link_width = (val_w & PCI_EXP_LNKSTA_NLW) >>
>> +				PCI_EXP_LNKSTA_NLW_SHIFT;
>> +
>> +	val_w = dw_pcie_readw_dbi(&pcie->pci, pcie->pcie_cap_base +
>> +				  PCI_EXP_LNKCTL);
>> +	val_w |= PCI_EXP_LNKCTL_LBMIE;
>> +	dw_pcie_writew_dbi(&pcie->pci, pcie->pcie_cap_base + PCI_EXP_LNKCTL,
>> +			   val_w);
>> +}
>> +
>> +static void tegra_pcie_enable_legacy_interrupts(struct pcie_port *pp)
>> +{
>> +	struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
>> +	struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
>> +	u32 val;
>> +
>> +	/* Enable legacy interrupt generation */
>> +	val = appl_readl(pcie, APPL_INTR_EN_L0_0);
>> +	val |= APPL_INTR_EN_L0_0_SYS_INTR_EN;
>> +	val |= APPL_INTR_EN_L0_0_INT_INT_EN;
>> +	appl_writel(pcie, val, APPL_INTR_EN_L0_0);
>> +
>> +	val = appl_readl(pcie, APPL_INTR_EN_L1_8_0);
>> +	val |= APPL_INTR_EN_L1_8_INTX_EN;
>> +	val |= APPL_INTR_EN_L1_8_AUTO_BW_INT_EN;
>> +	val |= APPL_INTR_EN_L1_8_BW_MGT_INT_EN;
>> +	if (IS_ENABLED(CONFIG_PCIEAER))
>> +		val |= APPL_INTR_EN_L1_8_AER_INT_EN;
>> +	appl_writel(pcie, val, APPL_INTR_EN_L1_8_0);
>> +}
>> +
>> +static void tegra_pcie_enable_msi_interrupts(struct pcie_port *pp)
>> +{
>> +	struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
>> +	struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
>> +	u32 val;
>> +
>> +	dw_pcie_msi_init(pp);
>> +
>> +	/* Enable MSI interrupt generation */
>> +	val = appl_readl(pcie, APPL_INTR_EN_L0_0);
>> +	val |= APPL_INTR_EN_L0_0_SYS_MSI_INTR_EN;
>> +	val |= APPL_INTR_EN_L0_0_MSI_RCV_INT_EN;
>> +	appl_writel(pcie, val, APPL_INTR_EN_L0_0);
>> +}
>> +
>> +static void tegra_pcie_enable_interrupts(struct pcie_port *pp)
>> +{
>> +	struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
>> +	struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
>> +
>> +	/* Clear interrupt statuses before enabling interrupts */
>> +	appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L0);
>> +	appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L1_0_0);
>> +	appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L1_1);
>> +	appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L1_2);
>> +	appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L1_3);
>> +	appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L1_6);
>> +	appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L1_7);
>> +	appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L1_8_0);
>> +	appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L1_9);
>> +	appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L1_10);
>> +	appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L1_11);
>> +	appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L1_13);
>> +	appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L1_14);
>> +	appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L1_15);
>> +	appl_writel(pcie, 0xFFFFFFFF, APPL_INTR_STATUS_L1_17);
>> +
>> +	tegra_pcie_enable_system_interrupts(pp);
>> +	tegra_pcie_enable_legacy_interrupts(pp);
>> +	if (IS_ENABLED(CONFIG_PCI_MSI))
>> +		tegra_pcie_enable_msi_interrupts(pp);
>> +}
>> +
>> +static void config_gen3_gen4_eq_presets(struct tegra_pcie_dw *pcie)
>> +{
>> +	struct dw_pcie *pci = &pcie->pci;
>> +	u32 val, offset, i;
>> +
>> +	/* Program init preset */
>> +	for (i = 0; i < pcie->num_lanes; i++) {
>> +		dw_pcie_read(pci->dbi_base + CAP_SPCIE_CAP_OFF
>> +				 + (i * 2), 2, &val);
>> +		val &= ~CAP_SPCIE_CAP_OFF_DSP_TX_PRESET0_MASK;
>> +		val |= GEN3_GEN4_EQ_PRESET_INIT;
>> +		val &= ~CAP_SPCIE_CAP_OFF_USP_TX_PRESET0_MASK;
>> +		val |= (GEN3_GEN4_EQ_PRESET_INIT <<
>> +			   CAP_SPCIE_CAP_OFF_USP_TX_PRESET0_SHIFT);
>> +		dw_pcie_write(pci->dbi_base + CAP_SPCIE_CAP_OFF
>> +				 + (i * 2), 2, val);
>> +
>> +		offset = dw_pcie_find_ext_capability(pci,
>> +						     PCI_EXT_CAP_ID_PL_16GT) +
>> +				PCI_PL_16GT_LE_CTRL;
>> +		dw_pcie_read(pci->dbi_base + offset + i, 1, &val);
>> +		val &= ~PCI_PL_16GT_LE_CTRL_DSP_TX_PRESET_MASK;
>> +		val |= GEN3_GEN4_EQ_PRESET_INIT;
>> +		val &= ~PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_MASK;
>> +		val |= (GEN3_GEN4_EQ_PRESET_INIT <<
>> +			PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_SHIFT);
>> +		dw_pcie_write(pci->dbi_base + offset + i, 1, val);
>> +	}
>> +
>> +	val = dw_pcie_readl_dbi(pci, GEN3_RELATED_OFF);
>> +	val &= ~GEN3_RELATED_OFF_RATE_SHADOW_SEL_MASK;
>> +	dw_pcie_writel_dbi(pci, GEN3_RELATED_OFF, val);
>> +
>> +	val = dw_pcie_readl_dbi(pci, GEN3_EQ_CONTROL_OFF);
>> +	val &= ~GEN3_EQ_CONTROL_OFF_PSET_REQ_VEC_MASK;
>> +	val |= (0x3ff << GEN3_EQ_CONTROL_OFF_PSET_REQ_VEC_SHIFT);
>> +	val &= ~GEN3_EQ_CONTROL_OFF_FB_MODE_MASK;
>> +	dw_pcie_writel_dbi(pci, GEN3_EQ_CONTROL_OFF, val);
>> +
>> +	val = dw_pcie_readl_dbi(pci, GEN3_RELATED_OFF);
>> +	val &= ~GEN3_RELATED_OFF_RATE_SHADOW_SEL_MASK;
>> +	val |= (0x1 << GEN3_RELATED_OFF_RATE_SHADOW_SEL_SHIFT);
>> +	dw_pcie_writel_dbi(pci, GEN3_RELATED_OFF, val);
>> +
>> +	val = dw_pcie_readl_dbi(pci, GEN3_EQ_CONTROL_OFF);
>> +	val &= ~GEN3_EQ_CONTROL_OFF_PSET_REQ_VEC_MASK;
>> +	val |= (0x360 << GEN3_EQ_CONTROL_OFF_PSET_REQ_VEC_SHIFT);
>> +	val &= ~GEN3_EQ_CONTROL_OFF_FB_MODE_MASK;
>> +	dw_pcie_writel_dbi(pci, GEN3_EQ_CONTROL_OFF, val);
>> +
>> +	val = dw_pcie_readl_dbi(pci, GEN3_RELATED_OFF);
>> +	val &= ~GEN3_RELATED_OFF_RATE_SHADOW_SEL_MASK;
>> +	dw_pcie_writel_dbi(pci, GEN3_RELATED_OFF, val);
>> +}
>> +
>> +static int tegra_pcie_dw_host_init(struct pcie_port *pp)
>> +{
>> +	struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
>> +	struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
>> +	u32 val, tmp, offset, speed;
>> +	unsigned int count;
>> +	u16 val_w;
>> +
>> +core_init:
> 
> I think it would be cleaner to include all registers programming
> within a function and we remove this label (and goto) below.
Some background:
As per spec r4.0 v1.0, downstream ports that support 16.0 GT/s must
support Scaled Flow Control (sec 3.4.2) and Tegra194's downstream ports
being 16.0 GT/s capable, enable scaled flow control by having
Data Link Feature (sec 7.7.4) enabled by default. There is one
endpoint (ASMedia USB3.0 controller) that doesn't link up with root port
because of this (i.e. DLF being enabled). The way we are detecting this situation
is to check for partial linkup i.e. one of application logic registers (i.e. from
"appl" region) says link is up but the same is not reflected in configuration space
of root port. Recommendation from our hardware team in this situation is to disable
DLF in root port and try link up with endpoint again.  To achieve this, we put the
core through reset cycle, disable DLF and proceed with configuring all other registers
and check for link up.

Initially in Patch-1, I didn't have goto statement but a recursion with depth-1 (as the
above situation occurs only once). It was reviewed @ http://patchwork.ozlabs.org/patch/1065707/
and Thierry said it would be simpler to use a goto instead of calling the same
function again. So, I modified the code accordingly. Please do let me know if you strongly
feel we should call tegra_pcie_dw_host_init() instead of goto here. I'll change it.

> 
>> +	count = 200;
> 
> It would be easier to read if we could inizialize this value closer
> to where it is actually used. Actually explaining why 200 as value
> was chosen would be appreciated.
Ok.

> 
>> +#if defined(CONFIG_PCIEASPM)
>> +	offset = dw_pcie_find_ext_capability(pci, PCI_EXT_CAP_ID_L1SS);
>> +	pcie->cfg_link_cap_l1sub = offset + PCI_L1SS_CAP;
>> +#endif
> 
> Please try to factor this out within a single #ifdef guard.
Ok.

> 
>> +	val = dw_pcie_readl_dbi(pci, PCI_IO_BASE);
>> +	val &= ~(IO_BASE_IO_DECODE | IO_BASE_IO_DECODE_BIT8);
>> +	dw_pcie_writel_dbi(pci, PCI_IO_BASE, val);
>> +
>> +	val = dw_pcie_readl_dbi(pci, PCI_PREF_MEMORY_BASE);
>> +	val |= CFG_PREF_MEM_LIMIT_BASE_MEM_DECODE;
>> +	val |= CFG_PREF_MEM_LIMIT_BASE_MEM_LIMIT_DECODE;
>> +	dw_pcie_writel_dbi(pci, PCI_PREF_MEMORY_BASE, val);
>> +
>> +	dw_pcie_writel_dbi(pci, PCI_BASE_ADDRESS_0, 0);
>> +
>> +	/* Configure FTS */
>> +	val = dw_pcie_readl_dbi(pci, PORT_LOGIC_ACK_F_ASPM_CTRL);
>> +	val &= ~(N_FTS_MASK << N_FTS_SHIFT);
>> +	val |= N_FTS_VAL << N_FTS_SHIFT;
>> +	dw_pcie_writel_dbi(pci, PORT_LOGIC_ACK_F_ASPM_CTRL, val);
>> +
>> +	val = dw_pcie_readl_dbi(pci, PORT_LOGIC_GEN2_CTRL);
>> +	val &= ~FTS_MASK;
>> +	val |= FTS_VAL;
>> +	dw_pcie_writel_dbi(pci, PORT_LOGIC_GEN2_CTRL, val);
>> +
>> +	/* Enable as 0xFFFF0001 response for CRS */
>> +	val = dw_pcie_readl_dbi(pci, PORT_LOGIC_AMBA_ERROR_RESPONSE_DEFAULT);
>> +	val &= ~(AMBA_ERROR_RESPONSE_CRS_MASK << AMBA_ERROR_RESPONSE_CRS_SHIFT);
>> +	val |= (AMBA_ERROR_RESPONSE_CRS_OKAY_FFFF0001 <<
>> +		AMBA_ERROR_RESPONSE_CRS_SHIFT);
>> +	dw_pcie_writel_dbi(pci, PORT_LOGIC_AMBA_ERROR_RESPONSE_DEFAULT, val);
>> +
>> +	/* Configure Max Speed from DT */
>> +	if (pcie->max_speed && pcie->max_speed != -EINVAL) {
>> +		val = dw_pcie_readl_dbi(pci, pcie->pcie_cap_base +
>> +					PCI_EXP_LNKCAP);
>> +		val &= ~PCI_EXP_LNKCAP_SLS;
>> +		val |= pcie->max_speed;
>> +		dw_pcie_writel_dbi(pci, pcie->pcie_cap_base + PCI_EXP_LNKCAP,
>> +				   val);
>> +	}
>> +
>> +	/* Configure Max lane width from DT */
>> +	val = dw_pcie_readl_dbi(pci, pcie->pcie_cap_base + PCI_EXP_LNKCAP);
>> +	val &= ~PCI_EXP_LNKCAP_MLW;
>> +	val |= (pcie->num_lanes << PCI_EXP_LNKSTA_NLW_SHIFT);
>> +	dw_pcie_writel_dbi(pci, pcie->pcie_cap_base + PCI_EXP_LNKCAP, val);
>> +
>> +	config_gen3_gen4_eq_presets(pcie);
>> +
>> +#if defined(CONFIG_PCIEASPM)
>> +	/* Enable ASPM counters */
>> +	val = EVENT_COUNTER_ENABLE_ALL << EVENT_COUNTER_ENABLE_SHIFT;
>> +	val |= EVENT_COUNTER_GROUP_5 << EVENT_COUNTER_GROUP_SEL_SHIFT;
>> +	dw_pcie_writel_dbi(pci, event_cntr_ctrl_offset[pcie->cid], val);
>> +
>> +	/* Program T_cmrt and T_pwr_on values */
>> +	val = dw_pcie_readl_dbi(pci, pcie->cfg_link_cap_l1sub);
>> +	val &= ~(PCI_L1SS_CAP_CM_RESTORE_TIME | PCI_L1SS_CAP_P_PWR_ON_VALUE);
>> +	val |= (pcie->aspm_cmrt << 8);
>> +	val |= (pcie->aspm_pwr_on_t << 19);
>> +	dw_pcie_writel_dbi(pci, pcie->cfg_link_cap_l1sub, val);
>> +
>> +	/* Program L0s and L1 entrance latencies */
>> +	val = dw_pcie_readl_dbi(pci, PORT_LOGIC_ACK_F_ASPM_CTRL);
>> +	val &= ~L0S_ENTRANCE_LAT_MASK;
>> +	val |= (pcie->aspm_l0s_enter_lat << L0S_ENTRANCE_LAT_SHIFT);
>> +	val |= ENTER_ASPM;
>> +	dw_pcie_writel_dbi(pci, PORT_LOGIC_ACK_F_ASPM_CTRL, val);
>> +#endif
> 
> See above.
Ok.

> 
>> +	val = dw_pcie_readl_dbi(pci, GEN3_RELATED_OFF);
>> +	val &= ~GEN3_RELATED_OFF_GEN3_ZRXDC_NONCOMPL;
>> +	dw_pcie_writel_dbi(pci, GEN3_RELATED_OFF, val);
>> +
>> +	if (pcie->update_fc_fixup) {
>> +		val = dw_pcie_readl_dbi(pci, CFG_TIMER_CTRL_MAX_FUNC_NUM_OFF);
>> +		val |= 0x1 << CFG_TIMER_CTRL_ACK_NAK_SHIFT;
>> +		dw_pcie_writel_dbi(pci, CFG_TIMER_CTRL_MAX_FUNC_NUM_OFF, val);
>> +	}
>> +
>> +	dw_pcie_setup_rc(pp);
>> +
>> +	clk_set_rate(pcie->core_clk, GEN4_CORE_CLK_FREQ);
>> +
>> +	/* Assert RST */
>> +	val = appl_readl(pcie, APPL_PINMUX);
>> +	val &= ~APPL_PINMUX_PEX_RST;
>> +	appl_writel(pcie, val, APPL_PINMUX);
>> +
>> +	usleep_range(100, 200);
>> +
>> +	/* Enable LTSSM */
>> +	val = appl_readl(pcie, APPL_CTRL);
>> +	val |= APPL_CTRL_LTSSM_EN;
>> +	appl_writel(pcie, val, APPL_CTRL);
>> +
>> +	/* De-assert RST */
>> +	val = appl_readl(pcie, APPL_PINMUX);
>> +	val |= APPL_PINMUX_PEX_RST;
>> +	appl_writel(pcie, val, APPL_PINMUX);
>> +
>> +	msleep(100);
>> +
>> +	val_w = dw_pcie_readw_dbi(pci, pcie->pcie_cap_base + PCI_EXP_LNKSTA);
>> +	while (!(val_w & PCI_EXP_LNKSTA_DLLLA)) {
>> +		if (count) {
>> +			dev_dbg(pci->dev, "Waiting for link up\n");
>> +			usleep_range(1000, 2000);
>> +			val_w = dw_pcie_readw_dbi(pci, pcie->pcie_cap_base +
>> +						  PCI_EXP_LNKSTA);
>> +			count--;
>> +			continue;
>> +		}
>> +
>> +		val = appl_readl(pcie, APPL_DEBUG);
>> +		val &= APPL_DEBUG_LTSSM_STATE_MASK;
>> +		val >>= APPL_DEBUG_LTSSM_STATE_SHIFT;
>> +		tmp = appl_readl(pcie, APPL_LINK_STATUS);
>> +		tmp &= APPL_LINK_STATUS_RDLH_LINK_UP;
>> +		if (!(val == 0x11 && !tmp)) {
>> +			dev_info(pci->dev, "Link is down\n");
>> +			return 0;
>> +		}
>> +
>> +		dev_info(pci->dev, "Link is down in DLL");
>> +		dev_info(pci->dev, "Trying again with DLFE disabled\n");
>> +		/* Disable LTSSM */
>> +		val = appl_readl(pcie, APPL_CTRL);
>> +		val &= ~APPL_CTRL_LTSSM_EN;
>> +		appl_writel(pcie, val, APPL_CTRL);
>> +
>> +		reset_control_assert(pcie->core_rst);
>> +		reset_control_deassert(pcie->core_rst);
>> +
>> +		offset = dw_pcie_find_ext_capability(pci, PCI_EXT_CAP_ID_DLF);
>> +		val = dw_pcie_readl_dbi(pci, offset + PCI_DLF_CAP);
>> +		val &= ~PCI_DLF_EXCHANGE_ENABLE;
>> +		dw_pcie_writel_dbi(pci, offset, val);
>> +
>> +		/* Retry now with DLF Exchange disabled */
>> +		goto core_init;
> 
> This goto upwards honestly is a bit horrible. Use some functions
> to make the code more readable.
Updated my comments above.

> 
>> +	}
>> +	dev_dbg(pci->dev, "Link is up\n");
>> +
>> +	speed = dw_pcie_readw_dbi(pci, pcie->pcie_cap_base + PCI_EXP_LNKSTA) &
>> +		PCI_EXP_LNKSTA_CLS;
>> +	clk_set_rate(pcie->core_clk, pcie_gen_freq[speed - 1]);
>> +
>> +	tegra_pcie_enable_interrupts(pp);
>> +
>> +	return 0;
>> +}
>> +
>> +static int tegra_pcie_dw_link_up(struct dw_pcie *pci)
>> +{
>> +	struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
>> +	u32 val = dw_pcie_readw_dbi(pci, pcie->pcie_cap_base + PCI_EXP_LNKSTA);
>> +
>> +	return !!(val & PCI_EXP_LNKSTA_DLLLA);
> 
> It looks like this can be common code reusable by other DWC drivers ?
> 
> Not mandatory, just a hint.
Well, each DesignWare core based implementation has a different way to find out
if the link is up and hence this hook is provided by DWC framework to let host controller
drivers implement their implementation specific link up check. In Tegra194, we are just
relying on spec defined configuration space register for link up.

> 
>> +}
>> +
>> +static void tegra_pcie_set_msi_vec_num(struct pcie_port *pp)
>> +{
>> +	pp->num_vectors = MAX_MSI_IRQS;
>> +}
>> +
>> +static const struct dw_pcie_ops tegra_dw_pcie_ops = {
>> +	.link_up = tegra_pcie_dw_link_up,
>> +};
>> +
>> +static struct dw_pcie_host_ops tegra_pcie_dw_host_ops = {
>> +	.rd_own_conf = tegra_pcie_dw_rd_own_conf,
>> +	.wr_own_conf = tegra_pcie_dw_wr_own_conf,
>> +	.host_init = tegra_pcie_dw_host_init,
>> +	.set_num_vectors = tegra_pcie_set_msi_vec_num,
>> +};
>> +
>> +static void tegra_pcie_disable_phy(struct tegra_pcie_dw *pcie)
>> +{
>> +	unsigned int phy_count = pcie->phy_count;
>> +
>> +	while (phy_count--) {
>> +		phy_power_off(pcie->phys[phy_count]);
>> +		phy_exit(pcie->phys[phy_count]);
>> +	}
>> +}
>> +
>> +static int tegra_pcie_enable_phy(struct tegra_pcie_dw *pcie)
>> +{
>> +	unsigned int i;
>> +	int ret;
>> +
>> +	for (i = 0; i < pcie->phy_count; i++) {
>> +		ret = phy_init(pcie->phys[i]);
>> +		if (ret < 0)
>> +			goto phy_power_off;
>> +
>> +		ret = phy_power_on(pcie->phys[i]);
>> +		if (ret < 0)
>> +			goto phy_exit;
>> +	}
>> +
>> +	return 0;
>> +
>> +phy_power_off:
>> +	while (i--) {
>> +		phy_power_off(pcie->phys[i]);
>> +phy_exit:
>> +		phy_exit(pcie->phys[i]);
>> +	}
>> +
>> +	return ret;
>> +}
>> +
>> +static int tegra_pcie_dw_parse_dt(struct tegra_pcie_dw *pcie)
>> +{
>> +	struct device_node *np = pcie->dev->of_node;
>> +	int ret;
>> +
>> +	ret = of_property_read_u32(np, "nvidia,aspm-cmrt-us", &pcie->aspm_cmrt);
>> +	if (ret < 0) {
>> +		dev_info(pcie->dev, "Failed to read ASPM T_cmrt: %d\n", ret);
>> +		return ret;
>> +	}
>> +
>> +	ret = of_property_read_u32(np, "nvidia,aspm-pwr-on-t-us",
>> +				   &pcie->aspm_pwr_on_t);
>> +	if (ret < 0)
>> +		dev_info(pcie->dev, "Failed to read ASPM Power On time: %d\n",
>> +			 ret);
>> +
>> +	ret = of_property_read_u32(np, "nvidia,aspm-l0s-entrance-latency-us",
>> +				   &pcie->aspm_l0s_enter_lat);
>> +	if (ret < 0)
>> +		dev_info(pcie->dev,
>> +			 "Failed to read ASPM L0s Entrance latency: %d\n", ret);
>> +
>> +	ret = of_property_read_u32(np, "num-lanes", &pcie->num_lanes);
>> +	if (ret < 0) {
>> +		dev_err(pcie->dev, "Failed to read num-lanes: %d\n", ret);
>> +		return ret;
>> +	}
>> +
>> +	pcie->max_speed = of_pci_get_max_link_speed(np);
>> +
>> +	ret = of_property_read_u32_index(np, "nvidia,bpmp", 1, &pcie->cid);
>> +	if (ret) {
>> +		dev_err(pcie->dev, "Failed to read Controller-ID: %d\n", ret);
>> +		return ret;
>> +	}
>> +
>> +	pcie->phy_count = of_property_count_strings(np, "phy-names");
>> +	if (pcie->phy_count < 0) {
>> +		dev_err(pcie->dev, "Failed to find PHY entries: %d\n",
>> +			pcie->phy_count);
>> +		return pcie->phy_count;
>> +	}
>> +
>> +	if (of_property_read_bool(np, "nvidia,update-fc-fixup"))
>> +		pcie->update_fc_fixup = true;
>> +
>> +	pcie->supports_clkreq =
>> +		of_property_read_bool(pcie->dev->of_node, "supports-clkreq");
>> +
>> +	pcie->enable_cdm_check =
>> +		of_property_read_bool(np, "snps,enable-cdm-check");
>> +
>> +	return 0;
>> +}
>> +
>> +static int tegra_pcie_bpmp_set_ctrl_state(struct tegra_pcie_dw *pcie,
>> +					  bool enable)
>> +{
>> +	struct mrq_uphy_response resp;
>> +	struct tegra_bpmp_message msg;
>> +	struct mrq_uphy_request req;
>> +	int err;
>> +
>> +	if (pcie->cid == 5)
>> +		return 0;
> 
> What's wrong with cid == 5 ? Explain please.
Controller with ID=5 doesn't need any programming to enable it which is
done here through calling firmware API.

> 
>> +	memset(&req, 0, sizeof(req));
>> +	memset(&resp, 0, sizeof(resp));
>> +
>> +	req.cmd = CMD_UPHY_PCIE_CONTROLLER_STATE;
>> +	req.controller_state.pcie_controller = pcie->cid;
>> +	req.controller_state.enable = enable;
>> +
>> +	memset(&msg, 0, sizeof(msg));
>> +	msg.mrq = MRQ_UPHY;
>> +	msg.tx.data = &req;
>> +	msg.tx.size = sizeof(req);
>> +	msg.rx.data = &resp;
>> +	msg.rx.size = sizeof(resp);
>> +
>> +	if (irqs_disabled())
> 
> Can you explain to me what this check is meant to achieve please ?
Firmware interface provides different APIs to be called when there are no
interrupts enabled in the system (noirq context) and otherwise hence
checking that situation here and calling appropriate API.

> 
>> +		err = tegra_bpmp_transfer_atomic(pcie->bpmp, &msg);
>> +	else
>> +		err = tegra_bpmp_transfer(pcie->bpmp, &msg);
>> +
>> +	return err;
>> +}
>> +
>> +static void tegra_pcie_downstream_dev_to_D0(struct tegra_pcie_dw *pcie)
>> +{
>> +	struct pcie_port *pp = &pcie->pci.pp;
>> +	struct pci_dev *pdev;
>> +	struct pci_bus *child;
>> +
>> +	list_for_each_entry(child, &pp->root_bus->children, node) {
>> +		/* Bring downstream devices to D0 if they are not already in */
>> +		if (child->parent == pp->root_bus)
>> +			break;
>> +	}
>> +	list_for_each_entry(pdev, &child->devices, bus_list) {
>> +		if (PCI_SLOT(pdev->devfn) == 0) {
>> +			if (pci_set_power_state(pdev, PCI_D0))
>> +				dev_err(pcie->dev,
>> +					"Failed to transition %s to D0 state\n",
>> +					dev_name(&pdev->dev));
>> +		}
>> +	}
>> +}
>> +
>> +static int tegra_pcie_config_controller(struct tegra_pcie_dw *pcie,
>> +					bool en_hw_hot_rst)
>> +{
>> +	int ret;
>> +	u32 val;
>> +
>> +	ret = tegra_pcie_bpmp_set_ctrl_state(pcie, true);
>> +	if (ret) {
>> +		dev_err(pcie->dev,
>> +			"Failed to enable controller %u: %d\n", pcie->cid, ret);
>> +		return ret;
>> +	}
>> +
>> +	ret = regulator_enable(pcie->pex_ctl_supply);
>> +	if (ret < 0) {
>> +		dev_err(pcie->dev, "Failed to enable regulator: %d\n", ret);
>> +		goto fail_reg_en;
>> +	}
>> +
>> +	ret = clk_prepare_enable(pcie->core_clk);
>> +	if (ret) {
>> +		dev_err(pcie->dev, "Failed to enable core clock: %d\n", ret);
>> +		goto fail_core_clk;
>> +	}
>> +
>> +	ret = reset_control_deassert(pcie->core_apb_rst);
>> +	if (ret) {
>> +		dev_err(pcie->dev, "Failed to deassert core APB reset: %d\n",
>> +			ret);
>> +		goto fail_core_apb_rst;
>> +	}
>> +
>> +	if (en_hw_hot_rst) {
>> +		/* Enable HW_HOT_RST mode */
>> +		val = appl_readl(pcie, APPL_CTRL);
>> +		val &= ~(APPL_CTRL_HW_HOT_RST_MODE_MASK <<
>> +			 APPL_CTRL_HW_HOT_RST_MODE_SHIFT);
>> +		val |= APPL_CTRL_HW_HOT_RST_EN;
>> +		appl_writel(pcie, val, APPL_CTRL);
>> +	}
>> +
>> +	ret = tegra_pcie_enable_phy(pcie);
>> +	if (ret) {
>> +		dev_err(pcie->dev, "Failed to enable PHY: %d\n", ret);
>> +		goto fail_phy;
>> +	}
>> +
>> +	/* Update CFG base address */
>> +	appl_writel(pcie, pcie->dbi_res->start & APPL_CFG_BASE_ADDR_MASK,
>> +		    APPL_CFG_BASE_ADDR);
>> +
>> +	/* Configure this core for RP mode operation */
>> +	appl_writel(pcie, APPL_DM_TYPE_RP, APPL_DM_TYPE);
>> +
>> +	appl_writel(pcie, 0x0, APPL_CFG_SLCG_OVERRIDE);
>> +
>> +	val = appl_readl(pcie, APPL_CTRL);
>> +	appl_writel(pcie, val | APPL_CTRL_SYS_PRE_DET_STATE, APPL_CTRL);
>> +
>> +	val = appl_readl(pcie, APPL_CFG_MISC);
>> +	val |= (APPL_CFG_MISC_ARCACHE_VAL << APPL_CFG_MISC_ARCACHE_SHIFT);
>> +	appl_writel(pcie, val, APPL_CFG_MISC);
>> +
>> +	if (!pcie->supports_clkreq) {
>> +		val = appl_readl(pcie, APPL_PINMUX);
>> +		val |= APPL_PINMUX_CLKREQ_OUT_OVRD_EN;
>> +		val |= APPL_PINMUX_CLKREQ_OUT_OVRD;
>> +		appl_writel(pcie, val, APPL_PINMUX);
>> +	}
>> +
>> +	/* Update iATU_DMA base address */
>> +	appl_writel(pcie,
>> +		    pcie->atu_dma_res->start & APPL_CFG_IATU_DMA_BASE_ADDR_MASK,
>> +		    APPL_CFG_IATU_DMA_BASE_ADDR);
>> +
>> +	reset_control_deassert(pcie->core_rst);
>> +
>> +	pcie->pcie_cap_base = dw_pcie_find_capability(&pcie->pci,
>> +						      PCI_CAP_ID_EXP);
>> +
>> +#if defined(CONFIG_PCIEASPM)
>> +	/* Disable ASPM-L1SS advertisement as there is no CLKREQ routing */
>> +	if (!pcie->supports_clkreq) {
>> +		disable_aspm_l11(pcie);
>> +		disable_aspm_l12(pcie);
>> +	}
>> +#endif
>> +	return ret;
>> +
>> +fail_phy:
>> +	reset_control_assert(pcie->core_apb_rst);
>> +fail_core_apb_rst:
>> +	clk_disable_unprepare(pcie->core_clk);
>> +fail_core_clk:
>> +	regulator_disable(pcie->pex_ctl_supply);
>> +fail_reg_en:
>> +	tegra_pcie_bpmp_set_ctrl_state(pcie, false);
>> +
>> +	return ret;
>> +}
>> +
>> +static int __deinit_controller(struct tegra_pcie_dw *pcie)
>> +{
>> +	int ret;
>> +
>> +	ret = reset_control_assert(pcie->core_rst);
>> +	if (ret) {
>> +		dev_err(pcie->dev, "Failed to assert \"core\" reset: %d\n",
>> +			ret);
>> +		return ret;
>> +	}
>> +	tegra_pcie_disable_phy(pcie);
>> +	ret = reset_control_assert(pcie->core_apb_rst);
>> +	if (ret) {
>> +		dev_err(pcie->dev, "Failed to assert APB reset: %d\n", ret);
>> +		return ret;
>> +	}
>> +	clk_disable_unprepare(pcie->core_clk);
>> +	ret = regulator_disable(pcie->pex_ctl_supply);
>> +	if (ret) {
>> +		dev_err(pcie->dev, "Failed to disable regulator: %d\n", ret);
>> +		return ret;
>> +	}
>> +	ret = tegra_pcie_bpmp_set_ctrl_state(pcie, false);
>> +	if (ret) {
>> +		dev_err(pcie->dev, "Failed to disable controller %d: %d\n",
>> +			pcie->cid, ret);
>> +		return ret;
>> +	}
>> +	return ret;
>> +}
>> +
>> +static int tegra_pcie_init_controller(struct tegra_pcie_dw *pcie)
>> +{
>> +	struct dw_pcie *pci = &pcie->pci;
>> +	struct pcie_port *pp = &pci->pp;
>> +	int ret;
>> +
>> +	ret = tegra_pcie_config_controller(pcie, false);
>> +	if (ret < 0)
>> +		return ret;
>> +
>> +	pp->root_bus_nr = -1;
>> +	pp->ops = &tegra_pcie_dw_host_ops;
>> +
>> +	ret = dw_pcie_host_init(pp);
>> +	if (ret < 0) {
>> +		dev_err(pcie->dev, "Failed to add PCIe port: %d\n", ret);
>> +		goto fail_host_init;
>> +	}
>> +
>> +	return 0;
>> +
>> +fail_host_init:
>> +	return __deinit_controller(pcie);
>> +}
>> +
>> +static int tegra_pcie_try_link_l2(struct tegra_pcie_dw *pcie)
>> +{
>> +	u32 val;
>> +
>> +	if (!tegra_pcie_dw_link_up(&pcie->pci))
>> +		return 0;
>> +
>> +	val = appl_readl(pcie, APPL_RADM_STATUS);
>> +	val |= APPL_PM_XMT_TURNOFF_STATE;
>> +	appl_writel(pcie, val, APPL_RADM_STATUS);
>> +
>> +	return readl_poll_timeout_atomic(pcie->appl_base + APPL_DEBUG, val,
>> +				 val & APPL_DEBUG_PM_LINKST_IN_L2_LAT,
>> +				 1, PME_ACK_TIMEOUT);
>> +}
>> +
>> +static void tegra_pcie_dw_pme_turnoff(struct tegra_pcie_dw *pcie)
>> +{
>> +	u32 data;
>> +	int err;
>> +
>> +	if (!tegra_pcie_dw_link_up(&pcie->pci)) {
>> +		dev_dbg(pcie->dev, "PCIe link is not up...!\n");
>> +		return;
>> +	}
>> +
>> +	if (tegra_pcie_try_link_l2(pcie)) {
>> +		dev_info(pcie->dev, "Link didn't transition to L2 state\n");
>> +		/*
>> +		 * TX lane clock freq will reset to Gen1 only if link is in L2
>> +		 * or detect state.
>> +		 * So apply pex_rst to end point to force RP to go into detect
>> +		 * state
>> +		 */
>> +		data = appl_readl(pcie, APPL_PINMUX);
>> +		data &= ~APPL_PINMUX_PEX_RST;
>> +		appl_writel(pcie, data, APPL_PINMUX);
>> +
>> +		err = readl_poll_timeout_atomic(pcie->appl_base + APPL_DEBUG,
>> +						data,
>> +						((data &
>> +						APPL_DEBUG_LTSSM_STATE_MASK) >>
>> +						APPL_DEBUG_LTSSM_STATE_SHIFT) ==
>> +						LTSSM_STATE_PRE_DETECT,
>> +						1, LTSSM_TIMEOUT);
>> +		if (err) {
>> +			dev_info(pcie->dev, "Link didn't go to detect state\n");
>> +		} else {
>> +			/* Disable LTSSM after link is in detect state */
>> +			data = appl_readl(pcie, APPL_CTRL);
>> +			data &= ~APPL_CTRL_LTSSM_EN;
>> +			appl_writel(pcie, data, APPL_CTRL);
>> +		}
>> +	}
>> +	/*
>> +	 * DBI registers may not be accessible after this as PLL-E would be
>> +	 * down depending on how CLKREQ is pulled by end point
>> +	 */
>> +	data = appl_readl(pcie, APPL_PINMUX);
>> +	data |= (APPL_PINMUX_CLKREQ_OVERRIDE_EN | APPL_PINMUX_CLKREQ_OVERRIDE);
>> +	/* Cut REFCLK to slot */
>> +	data |= APPL_PINMUX_CLK_OUTPUT_IN_OVERRIDE_EN;
>> +	data &= ~APPL_PINMUX_CLK_OUTPUT_IN_OVERRIDE;
>> +	appl_writel(pcie, data, APPL_PINMUX);
>> +}
>> +
>> +static int tegra_pcie_deinit_controller(struct tegra_pcie_dw *pcie)
>> +{
>> +	/*
>> +	 * link doesn't go into L2 state with some of the endpoints with Tegra
>> +	 * if they are not in D0 state. So, need to make sure that immediate
>> +	 * downstream devices are in D0 state before sending PME_TurnOff to put
>> +	 * link into L2 state
>> +	 */
>> +	tegra_pcie_downstream_dev_to_D0(pcie);
>> +	dw_pcie_host_deinit(&pcie->pci.pp);
>> +	tegra_pcie_dw_pme_turnoff(pcie);
>> +	return __deinit_controller(pcie);
>> +}
>> +
>> +static int tegra_pcie_config_rp(struct tegra_pcie_dw *pcie)
>> +{
>> +	struct pcie_port *pp = &pcie->pci.pp;
>> +	struct device *dev = pcie->dev;
>> +	char *name;
>> +	int ret;
>> +
>> +	if (IS_ENABLED(CONFIG_PCI_MSI)) {
>> +		pp->msi_irq = of_irq_get_byname(dev->of_node, "msi");
>> +		if (!pp->msi_irq) {
>> +			dev_err(dev, "Failed to get MSI interrupt\n");
>> +			return -ENODEV;
>> +		}
>> +	}
>> +
>> +	pm_runtime_enable(dev);
>> +	ret = pm_runtime_get_sync(dev);
>> +	if (ret < 0) {
>> +		dev_err(dev, "Failed to get runtime sync for PCIe dev: %d\n",
>> +			ret);
>> +		pm_runtime_disable(dev);
>> +		return ret;
>> +	}
>> +
>> +	tegra_pcie_init_controller(pcie);
>> +
>> +	pcie->link_state = tegra_pcie_dw_link_up(&pcie->pci);
>> +
>> +	if (!pcie->link_state) {
>> +		ret = -ENOMEDIUM;
>> +		goto fail_host_init;
>> +	}
>> +
>> +	name = devm_kasprintf(dev, GFP_KERNEL, "%pOFP", dev->of_node);
>> +	if (!name) {
>> +		ret = -ENOMEM;
>> +		goto fail_host_init;
>> +	}
>> +
>> +	pcie->debugfs = debugfs_create_dir(name, NULL);
>> +	if (!pcie->debugfs)
>> +		dev_err(dev, "Failed to create debugfs\n");
>> +	else
>> +		init_debugfs(pcie);
>> +
>> +	return ret;
>> +
>> +fail_host_init:
>> +	tegra_pcie_deinit_controller(pcie);
>> +	pm_runtime_put_sync(dev);
>> +	pm_runtime_disable(dev);
>> +	return ret;
>> +}
>> +
>> +static const struct tegra_pcie_soc tegra_pcie_rc_of_data = {
>> +	.mode = DW_PCIE_RC_TYPE,
>> +};
>> +
>> +static const struct of_device_id tegra_pcie_dw_of_match[] = {
>> +	{
>> +		.compatible = "nvidia,tegra194-pcie",
>> +		.data = &tegra_pcie_rc_of_data,
>> +	},
>> +	{},
>> +};
>> +MODULE_DEVICE_TABLE(of, tegra_pcie_dw_of_match);
>> +
>> +static int tegra_pcie_dw_probe(struct platform_device *pdev)
>> +{
>> +	const struct tegra_pcie_soc *data;
>> +	struct device *dev = &pdev->dev;
>> +	struct resource *atu_dma_res;
>> +	struct tegra_pcie_dw *pcie;
>> +	struct resource *dbi_res;
>> +	struct pcie_port *pp;
>> +	struct dw_pcie *pci;
>> +	struct phy **phys;
>> +	char *name;
>> +	int ret;
>> +	u32 i;
>> +
>> +	pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
>> +	if (!pcie)
>> +		return -ENOMEM;
>> +
>> +	pci = &pcie->pci;
>> +	pci->dev = &pdev->dev;
>> +	pci->ops = &tegra_dw_pcie_ops;
>> +	pp = &pci->pp;
>> +	pcie->dev = &pdev->dev;
>> +
>> +	data = (struct tegra_pcie_soc *)of_device_get_match_data(dev);
>> +	if (!data)
>> +		return -EINVAL;
>> +	pcie->mode = (enum dw_pcie_device_mode)data->mode;
>> +
>> +	ret = tegra_pcie_dw_parse_dt(pcie);
>> +	if (ret < 0) {
>> +		dev_err(dev, "Failed to parse device tree: %d\n", ret);
>> +		return ret;
>> +	}
>> +
>> +	pcie->pex_ctl_supply = devm_regulator_get(dev, "vddio-pex-ctl");
>> +	if (IS_ERR(pcie->pex_ctl_supply)) {
>> +		dev_err(dev, "Failed to get regulator: %ld\n",
>> +			PTR_ERR(pcie->pex_ctl_supply));
>> +		return PTR_ERR(pcie->pex_ctl_supply);
>> +	}
>> +
>> +	pcie->core_clk = devm_clk_get(dev, "core");
>> +	if (IS_ERR(pcie->core_clk)) {
>> +		dev_err(dev, "Failed to get core clock: %ld\n",
>> +			PTR_ERR(pcie->core_clk));
>> +		return PTR_ERR(pcie->core_clk);
>> +	}
>> +
>> +	pcie->appl_res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
>> +						      "appl");
>> +	if (!pcie->appl_res) {
>> +		dev_err(dev, "Failed to find \"appl\" region\n");
>> +		return PTR_ERR(pcie->appl_res);
>> +	}
>> +	pcie->appl_base = devm_ioremap_resource(dev, pcie->appl_res);
>> +	if (IS_ERR(pcie->appl_base))
>> +		return PTR_ERR(pcie->appl_base);
>> +
>> +	pcie->core_apb_rst = devm_reset_control_get(dev, "apb");
>> +	if (IS_ERR(pcie->core_apb_rst)) {
>> +		dev_err(dev, "Failed to get APB reset: %ld\n",
>> +			PTR_ERR(pcie->core_apb_rst));
>> +		return PTR_ERR(pcie->core_apb_rst);
>> +	}
>> +
>> +	phys = devm_kcalloc(dev, pcie->phy_count, sizeof(*phys), GFP_KERNEL);
>> +	if (!phys)
>> +		return PTR_ERR(phys);
>> +
>> +	for (i = 0; i < pcie->phy_count; i++) {
>> +		name = kasprintf(GFP_KERNEL, "p2u-%u", i);
>> +		if (!name) {
>> +			dev_err(dev, "Failed to create P2U string\n");
>> +			return -ENOMEM;
>> +		}
>> +		phys[i] = devm_phy_get(dev, name);
>> +		kfree(name);
>> +		if (IS_ERR(phys[i])) {
>> +			ret = PTR_ERR(phys[i]);
>> +			dev_err(dev, "Failed to get PHY: %d\n", ret);
>> +			return ret;
>> +		}
>> +	}
>> +
>> +	pcie->phys = phys;
>> +
>> +	dbi_res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dbi");
>> +	if (!dbi_res) {
>> +		dev_err(dev, "Failed to find \"dbi\" region\n");
>> +		return PTR_ERR(dbi_res);
>> +	}
>> +	pcie->dbi_res = dbi_res;
>> +
>> +	pci->dbi_base = devm_ioremap_resource(dev, dbi_res);
>> +	if (IS_ERR(pci->dbi_base))
>> +		return PTR_ERR(pci->dbi_base);
>> +
>> +	/* Tegra HW locates DBI2 at a fixed offset from DBI */
>> +	pci->dbi_base2 = pci->dbi_base + 0x1000;
>> +
>> +	atu_dma_res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
>> +						   "atu_dma");
>> +	if (!atu_dma_res) {
>> +		dev_err(dev, "Failed to find \"atu_dma\" region\n");
>> +		return PTR_ERR(atu_dma_res);
>> +	}
>> +	pcie->atu_dma_res = atu_dma_res;
>> +	pci->atu_base = devm_ioremap_resource(dev, atu_dma_res);
>> +	if (IS_ERR(pci->atu_base))
>> +		return PTR_ERR(pci->atu_base);
>> +
>> +	pcie->core_rst = devm_reset_control_get(dev, "core");
>> +	if (IS_ERR(pcie->core_rst)) {
>> +		dev_err(dev, "Failed to get core reset: %ld\n",
>> +			PTR_ERR(pcie->core_rst));
>> +		return PTR_ERR(pcie->core_rst);
>> +	}
>> +
>> +	pp->irq = platform_get_irq_byname(pdev, "intr");
>> +	if (!pp->irq) {
>> +		dev_err(dev, "Failed to get \"intr\" interrupt\n");
>> +		return -ENODEV;
>> +	}
>> +
>> +	ret = devm_request_irq(dev, pp->irq, tegra_pcie_irq_handler,
>> +			       IRQF_SHARED, "tegra-pcie-intr", pcie);
>> +	if (ret) {
>> +		dev_err(dev, "Failed to request IRQ %d: %d\n", pp->irq, ret);
>> +		return ret;
>> +	}
>> +
>> +	pcie->bpmp = tegra_bpmp_get(dev);
>> +	if (IS_ERR(pcie->bpmp))
>> +		return PTR_ERR(pcie->bpmp);
>> +
>> +	platform_set_drvdata(pdev, pcie);
>> +
>> +	if (pcie->mode == DW_PCIE_RC_TYPE) {
>> +		ret = tegra_pcie_config_rp(pcie);
>> +		if (ret && ret != -ENOMEDIUM)
>> +			goto fail;
>> +		else
>> +			return 0;
> 
> So if the link is not up we still go ahead and make probe
> succeed. What for ?
We may need root port to be available to support hot-plugging of endpoint
devices, so, we don't fail the probe.

> 
>> +	}
>> +
>> +fail:
>> +	tegra_bpmp_put(pcie->bpmp);
>> +	return ret;
>> +}
>> +
>> +static int tegra_pcie_dw_remove(struct platform_device *pdev)
>> +{
>> +	struct tegra_pcie_dw *pcie = platform_get_drvdata(pdev);
>> +
>> +	if (pcie->mode != DW_PCIE_RC_TYPE)
>> +		return 0;
>> +
>> +	if (!pcie->link_state)
>> +		return 0;
>> +
>> +	debugfs_remove_recursive(pcie->debugfs);
>> +	tegra_pcie_deinit_controller(pcie);
>> +	pm_runtime_put_sync(pcie->dev);
>> +	pm_runtime_disable(pcie->dev);
>> +	tegra_bpmp_put(pcie->bpmp);
>> +
>> +	return 0;
>> +}
>> +
>> +static int tegra_pcie_dw_suspend_late(struct device *dev)
>> +{
>> +	struct tegra_pcie_dw *pcie = dev_get_drvdata(dev);
>> +	u32 val;
>> +
>> +	if (!pcie->link_state)
>> +		return 0;
>> +
>> +	/* Enable HW_HOT_RST mode */
>> +	val = appl_readl(pcie, APPL_CTRL);
>> +	val &= ~(APPL_CTRL_HW_HOT_RST_MODE_MASK <<
>> +		 APPL_CTRL_HW_HOT_RST_MODE_SHIFT);
>> +	val |= APPL_CTRL_HW_HOT_RST_EN;
>> +	appl_writel(pcie, val, APPL_CTRL);
>> +
>> +	return 0;
>> +}
>> +
>> +static int tegra_pcie_dw_suspend_noirq(struct device *dev)
>> +{
>> +	struct tegra_pcie_dw *pcie = dev_get_drvdata(dev);
>> +
>> +	if (!pcie->link_state)
>> +		return 0;
>> +
>> +	/* Save MSI interrupt vector */
>> +	pcie->msi_ctrl_int = dw_pcie_readl_dbi(&pcie->pci,
>> +					       PORT_LOGIC_MSI_CTRL_INT_0_EN);
>> +	tegra_pcie_downstream_dev_to_D0(pcie);
> 
> I think this requires some comments. AFAIU this is allowed by
> the PCI specs (PCI Express Base 4.0 r1.0 September 29-2017,
> 5.2 Link State Power Management). However, I would like to
> understand how this plays with the D state the devices are left
> in upon system suspend.
> 
> "As the following example illustrates, it is also possible to remove
> power without first placing all Functions into D3Hot".
> 
> I assume that's what happens on this platform to allow L2 entry but
> again, this needs clarification.
Yes. It is true that in the case of Tegra194, it brings devices back to D0
before putting link to L2 state.

> 
> Lorenzo
> 
>> +	tegra_pcie_dw_pme_turnoff(pcie);
>> +	return __deinit_controller(pcie);
>> +}
>> +
>> +static int tegra_pcie_dw_resume_noirq(struct device *dev)
>> +{
>> +	struct tegra_pcie_dw *pcie = dev_get_drvdata(dev);
>> +	int ret;
>> +
>> +	if (!pcie->link_state)
>> +		return 0;
>> +
>> +	ret = tegra_pcie_config_controller(pcie, true);
>> +	if (ret < 0)
>> +		return ret;
>> +
>> +	ret = tegra_pcie_dw_host_init(&pcie->pci.pp);
>> +	if (ret < 0) {
>> +		dev_err(dev, "Failed to init host: %d\n", ret);
>> +		goto fail_host_init;
>> +	}
>> +
>> +	/* Restore MSI interrupt vector */
>> +	dw_pcie_writel_dbi(&pcie->pci, PORT_LOGIC_MSI_CTRL_INT_0_EN,
>> +			   pcie->msi_ctrl_int);
>> +
>> +	return 0;
>> +fail_host_init:
>> +	return __deinit_controller(pcie);
>> +}
>> +
>> +static int tegra_pcie_dw_resume_early(struct device *dev)
>> +{
>> +	struct tegra_pcie_dw *pcie = dev_get_drvdata(dev);
>> +	u32 val;
>> +
>> +	if (!pcie->link_state)
>> +		return 0;
>> +
>> +	/* Disable HW_HOT_RST mode */
>> +	val = appl_readl(pcie, APPL_CTRL);
>> +	val &= ~(APPL_CTRL_HW_HOT_RST_MODE_MASK <<
>> +		 APPL_CTRL_HW_HOT_RST_MODE_SHIFT);
>> +	val |= APPL_CTRL_HW_HOT_RST_MODE_IMDT_RST <<
>> +	       APPL_CTRL_HW_HOT_RST_MODE_SHIFT;
>> +	val &= ~APPL_CTRL_HW_HOT_RST_EN;
>> +	appl_writel(pcie, val, APPL_CTRL);
>> +
>> +	return 0;
>> +}
>> +
>> +static void tegra_pcie_dw_shutdown(struct platform_device *pdev)
>> +{
>> +	struct tegra_pcie_dw *pcie = platform_get_drvdata(pdev);
>> +
>> +	if (pcie->mode != DW_PCIE_RC_TYPE)
>> +		return;
>> +
>> +	if (!pcie->link_state)
>> +		return;
>> +
>> +	debugfs_remove_recursive(pcie->debugfs);
>> +	tegra_pcie_downstream_dev_to_D0(pcie);
>> +
>> +	disable_irq(pcie->pci.pp.irq);
>> +	if (IS_ENABLED(CONFIG_PCI_MSI))
>> +		disable_irq(pcie->pci.pp.msi_irq);
>> +
>> +	tegra_pcie_dw_pme_turnoff(pcie);
>> +	__deinit_controller(pcie);
>> +}
>> +
>> +static const struct dev_pm_ops tegra_pcie_dw_pm_ops = {
>> +	.suspend_late = tegra_pcie_dw_suspend_late,
>> +	.suspend_noirq = tegra_pcie_dw_suspend_noirq,
>> +	.resume_noirq = tegra_pcie_dw_resume_noirq,
>> +	.resume_early = tegra_pcie_dw_resume_early,
>> +};
>> +
>> +static struct platform_driver tegra_pcie_dw_driver = {
>> +	.probe = tegra_pcie_dw_probe,
>> +	.remove = tegra_pcie_dw_remove,
>> +	.shutdown = tegra_pcie_dw_shutdown,
>> +	.driver = {
>> +		.name	= "tegra194-pcie",
>> +		.pm = &tegra_pcie_dw_pm_ops,
>> +		.of_match_table = tegra_pcie_dw_of_match,
>> +	},
>> +};
>> +module_platform_driver(tegra_pcie_dw_driver);
>> +
>> +MODULE_AUTHOR("Vidya Sagar <vidyas@nvidia.com>");
>> +MODULE_DESCRIPTION("NVIDIA PCIe host controller driver");
>> +MODULE_LICENSE("GPL v2");
>> -- 
>> 2.17.1
>>

^ permalink raw reply

* Re: [PATCH V13 12/12] PCI: tegra: Add Tegra194 PCIe support
From: Lorenzo Pieralisi @ 2019-07-12 16:07 UTC (permalink / raw)
  To: Vidya Sagar
  Cc: bhelgaas, robh+dt, mark.rutland, thierry.reding, jonathanh,
	kishon, catalin.marinas, will.deacon, jingoohan1,
	gustavo.pimentel, digetx, mperttunen, linux-pci, devicetree,
	linux-tegra, linux-kernel, linux-arm-kernel, kthota, mmaddireddy,
	sagar.tv
In-Reply-To: <986d0b1a-666a-7b05-a9f3-e761518bdc92@nvidia.com>

On Fri, Jul 12, 2019 at 09:02:49PM +0530, Vidya Sagar wrote:

[...]

> > > +static irqreturn_t tegra_pcie_irq_handler(int irq, void *arg)
> > > +{
> > > +	struct tegra_pcie_dw *pcie = arg;
> > > +
> > > +	if (pcie->mode == DW_PCIE_RC_TYPE)
> > > +		return tegra_pcie_rp_irq_handler(pcie);
> > 
> > What's the point of registering the handler if mode != DW_PCIE_RC_TYPE ?
> Currently this driver supports only root port mode but we have a plan
> to add support for endpoint mode (as Tegra194 as dual mode
> controllers) also in future and when that happens, we'll have a
> corresponding tegra_pcie_ep_irq_handler() to take care of ep specific
> interrupts.

Sure, that's why you should add tegra_pcie_dw->mode when it is needed,
not in this patch.

[...]

> > > +static int tegra_pcie_dw_host_init(struct pcie_port *pp)
> > > +{
> > > +	struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
> > > +	struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
> > > +	u32 val, tmp, offset, speed;
> > > +	unsigned int count;
> > > +	u16 val_w;
> > > +
> > > +core_init:
> > 
> > I think it would be cleaner to include all registers programming
> > within a function and we remove this label (and goto) below.
> Some background: As per spec r4.0 v1.0, downstream ports that support
> 16.0 GT/s must support Scaled Flow Control (sec 3.4.2) and Tegra194's
> downstream ports being 16.0 GT/s capable, enable scaled flow control
> by having Data Link Feature (sec 7.7.4) enabled by default. There is
> one endpoint (ASMedia USB3.0 controller) that doesn't link up with
> root port because of this (i.e. DLF being enabled). The way we are
> detecting this situation is to check for partial linkup i.e. one of
> application logic registers (i.e. from "appl" region) says link is up
> but the same is not reflected in configuration space of root port.
> Recommendation from our hardware team in this situation is to disable
> DLF in root port and try link up with endpoint again.  To achieve
> this, we put the core through reset cycle, disable DLF and proceed
> with configuring all other registers and check for link up.
> 
> Initially in Patch-1, I didn't have goto statement but a recursion
> with depth-1 (as the above situation occurs only once). It was
> reviewed @ http://patchwork.ozlabs.org/patch/1065707/ and Thierry said
> it would be simpler to use a goto instead of calling the same function
> again. So, I modified the code accordingly. Please do let me know if
> you strongly feel we should call tegra_pcie_dw_host_init() instead of
> goto here. I'll change it.

I did not say we should call tegra_pcie_dw_host_init(), sorry for
not being clear. What I asked is factoring out registers programming
in a function and call it where core_init: label is and call it
again if DLF enablement causes link up to fail.

[...]

> > > +static int tegra_pcie_bpmp_set_ctrl_state(struct tegra_pcie_dw *pcie,
> > > +					  bool enable)
> > > +{
> > > +	struct mrq_uphy_response resp;
> > > +	struct tegra_bpmp_message msg;
> > > +	struct mrq_uphy_request req;
> > > +	int err;
> > > +
> > > +	if (pcie->cid == 5)
> > > +		return 0;
> > 
> > What's wrong with cid == 5 ? Explain please.
> Controller with ID=5 doesn't need any programming to enable it which is
> done here through calling firmware API.
> 
> > 
> > > +	memset(&req, 0, sizeof(req));
> > > +	memset(&resp, 0, sizeof(resp));
> > > +
> > > +	req.cmd = CMD_UPHY_PCIE_CONTROLLER_STATE;
> > > +	req.controller_state.pcie_controller = pcie->cid;
> > > +	req.controller_state.enable = enable;
> > > +
> > > +	memset(&msg, 0, sizeof(msg));
> > > +	msg.mrq = MRQ_UPHY;
> > > +	msg.tx.data = &req;
> > > +	msg.tx.size = sizeof(req);
> > > +	msg.rx.data = &resp;
> > > +	msg.rx.size = sizeof(resp);
> > > +
> > > +	if (irqs_disabled())
> > 
> > Can you explain to me what this check is meant to achieve please ?
> Firmware interface provides different APIs to be called when there are
> no interrupts enabled in the system (noirq context) and otherwise
> hence checking that situation here and calling appropriate API.

That's what I am questioning. Being called from {suspend/resume}_noirq()
callbacks (if that's the code path this check caters for) does not mean
irqs_disabled() == true.

Actually, if tegra_bpmp_transfer() requires IRQs to be enabled you may
even end up in a situation where that blocking call does not wake up
because the IRQ in question was disabled in the NOIRQ suspend/resume
phase.

[...]

> > > +static int tegra_pcie_dw_probe(struct platform_device *pdev)
> > > +{
> > > +	const struct tegra_pcie_soc *data;
> > > +	struct device *dev = &pdev->dev;
> > > +	struct resource *atu_dma_res;
> > > +	struct tegra_pcie_dw *pcie;
> > > +	struct resource *dbi_res;
> > > +	struct pcie_port *pp;
> > > +	struct dw_pcie *pci;
> > > +	struct phy **phys;
> > > +	char *name;
> > > +	int ret;
> > > +	u32 i;
> > > +
> > > +	pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
> > > +	if (!pcie)
> > > +		return -ENOMEM;
> > > +
> > > +	pci = &pcie->pci;
> > > +	pci->dev = &pdev->dev;
> > > +	pci->ops = &tegra_dw_pcie_ops;
> > > +	pp = &pci->pp;
> > > +	pcie->dev = &pdev->dev;
> > > +
> > > +	data = (struct tegra_pcie_soc *)of_device_get_match_data(dev);
> > > +	if (!data)
> > > +		return -EINVAL;
> > > +	pcie->mode = (enum dw_pcie_device_mode)data->mode;
> > > +
> > > +	ret = tegra_pcie_dw_parse_dt(pcie);
> > > +	if (ret < 0) {
> > > +		dev_err(dev, "Failed to parse device tree: %d\n", ret);
> > > +		return ret;
> > > +	}
> > > +
> > > +	pcie->pex_ctl_supply = devm_regulator_get(dev, "vddio-pex-ctl");
> > > +	if (IS_ERR(pcie->pex_ctl_supply)) {
> > > +		dev_err(dev, "Failed to get regulator: %ld\n",
> > > +			PTR_ERR(pcie->pex_ctl_supply));
> > > +		return PTR_ERR(pcie->pex_ctl_supply);
> > > +	}
> > > +
> > > +	pcie->core_clk = devm_clk_get(dev, "core");
> > > +	if (IS_ERR(pcie->core_clk)) {
> > > +		dev_err(dev, "Failed to get core clock: %ld\n",
> > > +			PTR_ERR(pcie->core_clk));
> > > +		return PTR_ERR(pcie->core_clk);
> > > +	}
> > > +
> > > +	pcie->appl_res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
> > > +						      "appl");
> > > +	if (!pcie->appl_res) {
> > > +		dev_err(dev, "Failed to find \"appl\" region\n");
> > > +		return PTR_ERR(pcie->appl_res);
> > > +	}
> > > +	pcie->appl_base = devm_ioremap_resource(dev, pcie->appl_res);
> > > +	if (IS_ERR(pcie->appl_base))
> > > +		return PTR_ERR(pcie->appl_base);
> > > +
> > > +	pcie->core_apb_rst = devm_reset_control_get(dev, "apb");
> > > +	if (IS_ERR(pcie->core_apb_rst)) {
> > > +		dev_err(dev, "Failed to get APB reset: %ld\n",
> > > +			PTR_ERR(pcie->core_apb_rst));
> > > +		return PTR_ERR(pcie->core_apb_rst);
> > > +	}
> > > +
> > > +	phys = devm_kcalloc(dev, pcie->phy_count, sizeof(*phys), GFP_KERNEL);
> > > +	if (!phys)
> > > +		return PTR_ERR(phys);
> > > +
> > > +	for (i = 0; i < pcie->phy_count; i++) {
> > > +		name = kasprintf(GFP_KERNEL, "p2u-%u", i);
> > > +		if (!name) {
> > > +			dev_err(dev, "Failed to create P2U string\n");
> > > +			return -ENOMEM;
> > > +		}
> > > +		phys[i] = devm_phy_get(dev, name);
> > > +		kfree(name);
> > > +		if (IS_ERR(phys[i])) {
> > > +			ret = PTR_ERR(phys[i]);
> > > +			dev_err(dev, "Failed to get PHY: %d\n", ret);
> > > +			return ret;
> > > +		}
> > > +	}
> > > +
> > > +	pcie->phys = phys;
> > > +
> > > +	dbi_res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dbi");
> > > +	if (!dbi_res) {
> > > +		dev_err(dev, "Failed to find \"dbi\" region\n");
> > > +		return PTR_ERR(dbi_res);
> > > +	}
> > > +	pcie->dbi_res = dbi_res;
> > > +
> > > +	pci->dbi_base = devm_ioremap_resource(dev, dbi_res);
> > > +	if (IS_ERR(pci->dbi_base))
> > > +		return PTR_ERR(pci->dbi_base);
> > > +
> > > +	/* Tegra HW locates DBI2 at a fixed offset from DBI */
> > > +	pci->dbi_base2 = pci->dbi_base + 0x1000;
> > > +
> > > +	atu_dma_res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
> > > +						   "atu_dma");
> > > +	if (!atu_dma_res) {
> > > +		dev_err(dev, "Failed to find \"atu_dma\" region\n");
> > > +		return PTR_ERR(atu_dma_res);
> > > +	}
> > > +	pcie->atu_dma_res = atu_dma_res;
> > > +	pci->atu_base = devm_ioremap_resource(dev, atu_dma_res);
> > > +	if (IS_ERR(pci->atu_base))
> > > +		return PTR_ERR(pci->atu_base);
> > > +
> > > +	pcie->core_rst = devm_reset_control_get(dev, "core");
> > > +	if (IS_ERR(pcie->core_rst)) {
> > > +		dev_err(dev, "Failed to get core reset: %ld\n",
> > > +			PTR_ERR(pcie->core_rst));
> > > +		return PTR_ERR(pcie->core_rst);
> > > +	}
> > > +
> > > +	pp->irq = platform_get_irq_byname(pdev, "intr");
> > > +	if (!pp->irq) {
> > > +		dev_err(dev, "Failed to get \"intr\" interrupt\n");
> > > +		return -ENODEV;
> > > +	}
> > > +
> > > +	ret = devm_request_irq(dev, pp->irq, tegra_pcie_irq_handler,
> > > +			       IRQF_SHARED, "tegra-pcie-intr", pcie);
> > > +	if (ret) {
> > > +		dev_err(dev, "Failed to request IRQ %d: %d\n", pp->irq, ret);
> > > +		return ret;
> > > +	}
> > > +
> > > +	pcie->bpmp = tegra_bpmp_get(dev);
> > > +	if (IS_ERR(pcie->bpmp))
> > > +		return PTR_ERR(pcie->bpmp);
> > > +
> > > +	platform_set_drvdata(pdev, pcie);
> > > +
> > > +	if (pcie->mode == DW_PCIE_RC_TYPE) {
> > > +		ret = tegra_pcie_config_rp(pcie);
> > > +		if (ret && ret != -ENOMEDIUM)
> > > +			goto fail;
> > > +		else
> > > +			return 0;
> > 
> > So if the link is not up we still go ahead and make probe
> > succeed. What for ?
> We may need root port to be available to support hot-plugging of
> endpoint devices, so, we don't fail the probe.

We need it or we don't. If you do support hotplugging of endpoint
devices point me at the code, otherwise link up failure means
failure to probe.

> > > +	}
> > > +
> > > +fail:
> > > +	tegra_bpmp_put(pcie->bpmp);
> > > +	return ret;
> > > +}
> > > +
> > > +static int tegra_pcie_dw_remove(struct platform_device *pdev)
> > > +{
> > > +	struct tegra_pcie_dw *pcie = platform_get_drvdata(pdev);
> > > +
> > > +	if (pcie->mode != DW_PCIE_RC_TYPE)
> > > +		return 0;
> > > +
> > > +	if (!pcie->link_state)
> > > +		return 0;
> > > +
> > > +	debugfs_remove_recursive(pcie->debugfs);
> > > +	tegra_pcie_deinit_controller(pcie);
> > > +	pm_runtime_put_sync(pcie->dev);
> > > +	pm_runtime_disable(pcie->dev);
> > > +	tegra_bpmp_put(pcie->bpmp);
> > > +
> > > +	return 0;
> > > +}
> > > +
> > > +static int tegra_pcie_dw_suspend_late(struct device *dev)
> > > +{
> > > +	struct tegra_pcie_dw *pcie = dev_get_drvdata(dev);
> > > +	u32 val;
> > > +
> > > +	if (!pcie->link_state)
> > > +		return 0;
> > > +
> > > +	/* Enable HW_HOT_RST mode */
> > > +	val = appl_readl(pcie, APPL_CTRL);
> > > +	val &= ~(APPL_CTRL_HW_HOT_RST_MODE_MASK <<
> > > +		 APPL_CTRL_HW_HOT_RST_MODE_SHIFT);
> > > +	val |= APPL_CTRL_HW_HOT_RST_EN;
> > > +	appl_writel(pcie, val, APPL_CTRL);
> > > +
> > > +	return 0;
> > > +}
> > > +
> > > +static int tegra_pcie_dw_suspend_noirq(struct device *dev)
> > > +{
> > > +	struct tegra_pcie_dw *pcie = dev_get_drvdata(dev);
> > > +
> > > +	if (!pcie->link_state)
> > > +		return 0;
> > > +
> > > +	/* Save MSI interrupt vector */
> > > +	pcie->msi_ctrl_int = dw_pcie_readl_dbi(&pcie->pci,
> > > +					       PORT_LOGIC_MSI_CTRL_INT_0_EN);
> > > +	tegra_pcie_downstream_dev_to_D0(pcie);
> > 
> > I think this requires some comments. AFAIU this is allowed by
> > the PCI specs (PCI Express Base 4.0 r1.0 September 29-2017,
> > 5.2 Link State Power Management). However, I would like to
> > understand how this plays with the D state the devices are left
> > in upon system suspend.
> > 
> > "As the following example illustrates, it is also possible to remove
> > power without first placing all Functions into D3Hot".
> > 
> > I assume that's what happens on this platform to allow L2 entry but
> > again, this needs clarification.
> Yes. It is true that in the case of Tegra194, it brings devices back
> to D0 before putting link to L2 state.

Comment it, extensively, so that anyone reading the code understands
why it is done so and what happens to devices then.

Lorenzo

^ permalink raw reply

* Re: [PATCH 5.2 00/61] 5.2.1-stable review
From: Jon Hunter @ 2019-07-12 16:10 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable, linux-tegra
In-Reply-To: <20190712153108.GD13940@kroah.com>


On 12/07/2019 16:31, Greg Kroah-Hartman wrote:
> On Fri, Jul 12, 2019 at 02:36:29PM +0100, Jon Hunter wrote:
>>
>> On 12/07/2019 13:19, Greg Kroah-Hartman wrote:
>>> This is the start of the stable review cycle for the 5.2.1 release.
>>> There are 61 patches in this series, all will be posted as a response
>>> to this one.  If anyone has any issues with these being applied, please
>>> let me know.
>>>
>>> Responses should be made by Sun 14 Jul 2019 12:14:36 PM UTC.
>>> Anything received after that time might be too late.
>>>
>>> The whole patch series can be found in one patch at:
>>> 	https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.2.1-rc1.gz
>>> or in the git tree and branch at:
>>> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.2.y
>>> and the diffstat can be found below.
>>>
>>> thanks,
>>>
>>> greg k-h
>>
>> All tests are passing for Tegra ...
>>
>> Test results for stable-v5.2:
>>     12 builds:	12 pass, 0 fail
>>     22 boots:	22 pass, 0 fail
>>     38 tests:	38 pass, 0 fail
>>
>> Linux version:	5.2.1-rc1-g61731e8fe278
>> Boards tested:	tegra124-jetson-tk1, tegra186-p2771-0000,
>>                 tegra194-p2972-0000, tegra20-ventana,
>>                 tegra210-p2371-2180, tegra30-cardhu-a04
> 
> That was fast, thanks for testing all of these.

Friday afternoon for me and so I am even more motivated :-)

BTW, has anyone ever requested pushing out a deadline failing on the
weekend to the following Monday? There is a chance I could miss this if
I happen to leave early on a Friday.

Cheers!
Jon

-- 
nvpublic

^ permalink raw reply

* Re: [PATCH v2 1/6] ARM: tegra: Remove cpuidle drivers
From: Dmitry Osipenko @ 2019-07-12 16:23 UTC (permalink / raw)
  To: Jon Hunter, Thierry Reding, Peter De Schrijver, Rafael J. Wysocki,
	Daniel Lezcano
  Cc: linux-pm, linux-tegra, linux-arm-kernel, linux-kernel
In-Reply-To: <73781434-d25a-b17b-aacb-95ace5ac5f95@nvidia.com>

12.07.2019 12:39, Jon Hunter пишет:
> 
> On 11/07/2019 18:03, Dmitry Osipenko wrote:
>> 11.07.2019 12:26, Jon Hunter пишет:
>>>
>>> On 11/07/2019 04:13, Dmitry Osipenko wrote:
>>>> Remove the old drivers to replace them cleanly with a new one later on.
>>>>
>>>> Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
>>>> ---
>>>>  arch/arm/mach-tegra/Makefile           |  13 --
>>>>  arch/arm/mach-tegra/cpuidle-tegra114.c |  89 -----------
>>>>  arch/arm/mach-tegra/cpuidle-tegra20.c  | 212 -------------------------
>>>>  arch/arm/mach-tegra/cpuidle-tegra30.c  | 132 ---------------
>>>>  arch/arm/mach-tegra/cpuidle.c          |  50 ------
>>>>  arch/arm/mach-tegra/cpuidle.h          |  21 ---
>>>>  arch/arm/mach-tegra/irq.c              |  18 ---
>>>>  arch/arm/mach-tegra/irq.h              |  11 --
>>>>  arch/arm/mach-tegra/pm.c               |   7 -
>>>>  arch/arm/mach-tegra/pm.h               |   1 -
>>>>  arch/arm/mach-tegra/reset-handler.S    |  11 --
>>>>  arch/arm/mach-tegra/reset.h            |   9 +-
>>>>  arch/arm/mach-tegra/sleep-tegra20.S    | 190 +---------------------
>>>>  arch/arm/mach-tegra/sleep.h            |  12 --
>>>>  arch/arm/mach-tegra/tegra.c            |   3 -
>>>>  drivers/soc/tegra/Kconfig              |   1 -
>>>>  include/soc/tegra/cpuidle.h            |   4 -
>>>>  17 files changed, 5 insertions(+), 779 deletions(-)
>>>>  delete mode 100644 arch/arm/mach-tegra/cpuidle-tegra114.c
>>>>  delete mode 100644 arch/arm/mach-tegra/cpuidle-tegra20.c
>>>>  delete mode 100644 arch/arm/mach-tegra/cpuidle-tegra30.c
>>>>  delete mode 100644 arch/arm/mach-tegra/cpuidle.c
>>>>  delete mode 100644 arch/arm/mach-tegra/cpuidle.h
>>>>  delete mode 100644 arch/arm/mach-tegra/irq.h
>>>
>>> By removing all the above, it is really hard to review the diff. Is
>>> there any way you could first consolidate the cpuidle drivers into say
>>> the existing arch/arm/mach-tegra/cpuidle-tegra20.c and then move to
>>> drivers/cpuidle?
>>
>> I'm afraid that it will make reviewing even more difficult because
>> everything that is removed here is not returned in the further patches.
>> The new driver is based on the older ones, but I wrote it from scratch
>> and it's not only looks different, but also works a bit different as you
>> may see.
>>
>> Could you please clarify what exactly makes it hard to review? The diff
>> looks pretty clean to me, while squashing everything into existing
>> driver should be quite a mess.
> 
> Ideally a patch should standalone and can be reviewed by itself.
> However, to review this, we need to review patches 1, 2 and 3 at the
> same time. So IMO it is not that convenient from a reviewers
> perspective. Furthermore, patches 1 and 3 are large and so easy to miss
> something.
> 
> Is there really no way to have a patch to combined the existing drivers,
> then a patch to convert them into the newer rewritten version you have
> implemented, then move the driver?

Probably I spent a bit too much time with that code, so now yours
suggestion looks to me like an unnecessary step. But I will try and see
how it goes, at least it should be possible to break down the patch 1 a
bit more, hopefully it will help to better understand what's going on in
the further patches if you're not familiar or don't remember how it all
works.

^ permalink raw reply

* Re: [PATCH v2 3/6] cpuidle: Add unified driver for NVIDIA Tegra SoCs
From: Dmitry Osipenko @ 2019-07-12 16:41 UTC (permalink / raw)
  To: Thierry Reding, Jonathan Hunter, Peter De Schrijver,
	Rafael J. Wysocki, Daniel Lezcano
  Cc: linux-pm, linux-tegra, linux-arm-kernel, linux-kernel
In-Reply-To: <c54c43fd-9b11-4aa8-3acf-d2260d0fca4a@gmail.com>

11.07.2019 21:35, Dmitry Osipenko пишет:
> 11.07.2019 6:13, Dmitry Osipenko пишет:
>> The new driver is based on the old CPU Idle drivers that are removed now
>> from arm/arch/mach-tegra/ directory. Those removed drivers were reworked
>> and squashed into a single unified driver that covers multiple hardware
>> generations, starting from Tegra20 and ending with Tegra124.
>>
>> Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
>> ---
>>  arch/arm/mach-tegra/tegra.c     |   4 +
>>  drivers/cpuidle/Kconfig.arm     |   8 +
>>  drivers/cpuidle/Makefile        |   1 +
>>  drivers/cpuidle/cpuidle-tegra.c | 304 ++++++++++++++++++++++++++++++++
>>  include/soc/tegra/cpuidle.h     |   4 +
>>  5 files changed, 321 insertions(+)
>>  create mode 100644 drivers/cpuidle/cpuidle-tegra.c
>>
>> diff --git a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c
>> index d9237769a37c..f1ce2857a251 100644
>> --- a/arch/arm/mach-tegra/tegra.c
>> +++ b/arch/arm/mach-tegra/tegra.c
>> @@ -36,6 +36,7 @@
>>  #include <asm/mach/arch.h>
>>  #include <asm/mach/time.h>
>>  #include <asm/mach-types.h>
>> +#include <asm/psci.h>
>>  #include <asm/setup.h>
>>  
>>  #include "board.h"
>> @@ -92,6 +93,9 @@ static void __init tegra_dt_init_late(void)
>>  	if (IS_ENABLED(CONFIG_ARCH_TEGRA_2x_SOC) &&
>>  	    of_machine_is_compatible("nvidia,tegra20"))
>>  		platform_device_register_simple("tegra20-cpufreq", -1, NULL, 0);
>> +
>> +	if (IS_ENABLED(CONFIG_ARM_TEGRA_CPUIDLE) && !psci_smp_available())
>> +		platform_device_register_simple("tegra-cpuidle", -1, NULL, 0);
>>  }
>>  
>>  static const char * const tegra_dt_board_compat[] = {
>> diff --git a/drivers/cpuidle/Kconfig.arm b/drivers/cpuidle/Kconfig.arm
>> index 48cb3d4bb7d1..d90861361f1d 100644
>> --- a/drivers/cpuidle/Kconfig.arm
>> +++ b/drivers/cpuidle/Kconfig.arm
>> @@ -76,3 +76,11 @@ config ARM_MVEBU_V7_CPUIDLE
>>  	depends on ARCH_MVEBU && !ARM64
>>  	help
>>  	  Select this to enable cpuidle on Armada 370, 38x and XP processors.
>> +
>> +config ARM_TEGRA_CPUIDLE
>> +	bool "CPU Idle Driver for NVIDIA Tegra SoCs"
>> +	depends on ARCH_TEGRA && !ARM64
>> +	select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
>> +	select ARM_CPU_SUSPEND
>> +	help
>> +	  Select this to enable cpuidle for NVIDIA Tegra20/30/114/124 SoCs.
>> diff --git a/drivers/cpuidle/Makefile b/drivers/cpuidle/Makefile
>> index 9d7176cee3d3..470d17fa8746 100644
>> --- a/drivers/cpuidle/Makefile
>> +++ b/drivers/cpuidle/Makefile
>> @@ -20,6 +20,7 @@ obj-$(CONFIG_ARM_U8500_CPUIDLE)         += cpuidle-ux500.o
>>  obj-$(CONFIG_ARM_AT91_CPUIDLE)          += cpuidle-at91.o
>>  obj-$(CONFIG_ARM_EXYNOS_CPUIDLE)        += cpuidle-exynos.o
>>  obj-$(CONFIG_ARM_CPUIDLE)		+= cpuidle-arm.o
>> +obj-$(CONFIG_ARM_TEGRA_CPUIDLE)		+= cpuidle-tegra.o
>>  
>>  ###############################################################################
>>  # MIPS drivers
>> diff --git a/drivers/cpuidle/cpuidle-tegra.c b/drivers/cpuidle/cpuidle-tegra.c
>> new file mode 100644
>> index 000000000000..54974cd2255f
>> --- /dev/null
>> +++ b/drivers/cpuidle/cpuidle-tegra.c
>> @@ -0,0 +1,304 @@
>> +// SPDX-License-Identifier: GPL-2.0-only
>> +/*
>> + * CPU idle driver for Tegra CPUs
>> + *
>> + * Copyright (c) 2010-2013, NVIDIA Corporation.
>> + * Copyright (c) 2011 Google, Inc.
>> + * Author: Colin Cross <ccross@android.com>
>> + *         Gary King <gking@nvidia.com>
>> + *
>> + * Rework for 3.3 by Peter De Schrijver <pdeschrijver@nvidia.com>
>> + *
>> + * Tegra20/124 driver unification by Dmitry Osipenko <digetx@gmail.com>
>> + */
>> +
>> +#include <linux/cpuidle.h>
>> +#include <linux/cpumask.h>
>> +#include <linux/cpu_pm.h>
>> +#include <linux/errno.h>
>> +#include <linux/ktime.h>
>> +#include <linux/platform_device.h>
>> +#include <linux/types.h>
>> +
>> +#include <linux/clk/tegra.h>
>> +#include <linux/firmware/trusted_foundations.h>
>> +
>> +#include <soc/tegra/cpuidle.h>
>> +#include <soc/tegra/flowctrl.h>
>> +#include <soc/tegra/fuse.h>
>> +#include <soc/tegra/pm.h>
>> +
>> +#include <asm/cpuidle.h>
>> +#include <asm/firmware.h>
>> +#include <asm/smp_plat.h>
>> +#include <asm/suspend.h>
>> +
>> +#define TEGRA_C1		0
>> +#define TEGRA_C7		1
>> +#define TEGRA_CC6		2
>> +
>> +static atomic_t tegra_idle_barrier;
>> +
>> +static inline bool tegra_cpuidle_using_firmware(void)
>> +{
>> +	return firmware_ops->prepare_idle && firmware_ops->do_idle;
>> +}
>> +
>> +static int tegra_shutdown_secondary_cpu(unsigned long cpu)
>> +{
>> +	tegra_cpu_die(cpu);
>> +
>> +	return -EINVAL;
>> +}
>> +
>> +static int tegra_await_secondary_cpus_shutdown(void)
>> +{
>> +	ktime_t timeout = ktime_add_ms(ktime_get(), 1);
>> +
>> +	/*
>> +	 * The boot CPU shall await for the secondaries shutdown in order
>> +	 * to power-off CPU's cluster safely.
>> +	 */
>> +	do {
>> +		if (tegra_cpu_rail_off_ready())
>> +			return 0;
>> +
>> +	} while (ktime_compare(ktime_get(), timeout) < 0);
>> +
>> +	return -ETIMEDOUT;
>> +}
>> +
>> +static void tegra_wake_up_secondary_cpus(void)
>> +{
>> +	unsigned int cpu, lcpu;
>> +
>> +	for_each_cpu(lcpu, cpu_online_mask) {
>> +		cpu = cpu_logical_map(lcpu);
>> +
>> +		if (cpu > 0) {
>> +			tegra_enable_cpu_clock(cpu);
>> +			tegra_cpu_out_of_reset(cpu);
>> +			flowctrl_write_cpu_halt(cpu, 0);
>> +		}
>> +	}
>> +}
>> +
>> +static int tegra_cpuidle_cc6_enter(void)
>> +{
>> +	int err;
>> +
>> +	err = tegra_await_secondary_cpus_shutdown();
>> +	if (err)
>> +		return err;
>> +
>> +	err = tegra_idle_lp2_last();
>> +
>> +	tegra_wake_up_secondary_cpus();
>> +
>> +	return err;
>> +}
>> +
>> +static int tegra_cpuidle_c7_enter(void)
>> +{
>> +	int err;
>> +
>> +	if (tegra_cpuidle_using_firmware()) {
>> +		err = call_firmware_op(prepare_idle, TF_PM_MODE_LP2_NOFLUSH_L2);
>> +		if (err)
>> +			return err;
>> +
>> +		return call_firmware_op(do_idle, 0);
>> +	}
>> +
>> +	return cpu_suspend(0, tegra30_sleep_cpu_secondary_finish);
>> +}
>> +
>> +static int tegra_cpuidle_enter(struct cpuidle_device *dev,
>> +			       int index, unsigned int cpu)
>> +{
>> +	int err;
>> +
>> +	local_fiq_disable();
>> +	tegra_set_cpu_in_lp2();
>> +	cpu_pm_enter();
>> +
>> +	switch (index) {
>> +	case TEGRA_C7:
>> +		err = tegra_cpuidle_c7_enter();
>> +		break;
>> +	case TEGRA_CC6:
>> +		cpuidle_coupled_parallel_barrier(dev, &tegra_idle_barrier);
> 
> I realized that this is not very correct. We still need to do a proper
> barrier with SGI checking in order to bail out if other CPU sent IPI
> during of the awaiting for a coupled barrier to avoid the overhead of
> unnecessary power-gating. Will correct that in the next revision.

UPDATE: Actually, turned out it's even a necessity to handle the SGI
because GIC's driver doesn't save and replay SGI across CPU cluster PM.

^ permalink raw reply

* Re: [PATCH 5.2 00/61] 5.2.1-stable review
From: Greg Kroah-Hartman @ 2019-07-12 16:51 UTC (permalink / raw)
  To: Jon Hunter
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable, linux-tegra
In-Reply-To: <a0d871e7-a68c-5c77-1389-5b9a86f93ac9@nvidia.com>

On Fri, Jul 12, 2019 at 05:10:30PM +0100, Jon Hunter wrote:
> 
> On 12/07/2019 16:31, Greg Kroah-Hartman wrote:
> > On Fri, Jul 12, 2019 at 02:36:29PM +0100, Jon Hunter wrote:
> >>
> >> On 12/07/2019 13:19, Greg Kroah-Hartman wrote:
> >>> This is the start of the stable review cycle for the 5.2.1 release.
> >>> There are 61 patches in this series, all will be posted as a response
> >>> to this one.  If anyone has any issues with these being applied, please
> >>> let me know.
> >>>
> >>> Responses should be made by Sun 14 Jul 2019 12:14:36 PM UTC.
> >>> Anything received after that time might be too late.
> >>>
> >>> The whole patch series can be found in one patch at:
> >>> 	https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.2.1-rc1.gz
> >>> or in the git tree and branch at:
> >>> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.2.y
> >>> and the diffstat can be found below.
> >>>
> >>> thanks,
> >>>
> >>> greg k-h
> >>
> >> All tests are passing for Tegra ...
> >>
> >> Test results for stable-v5.2:
> >>     12 builds:	12 pass, 0 fail
> >>     22 boots:	22 pass, 0 fail
> >>     38 tests:	38 pass, 0 fail
> >>
> >> Linux version:	5.2.1-rc1-g61731e8fe278
> >> Boards tested:	tegra124-jetson-tk1, tegra186-p2771-0000,
> >>                 tegra194-p2972-0000, tegra20-ventana,
> >>                 tegra210-p2371-2180, tegra30-cardhu-a04
> > 
> > That was fast, thanks for testing all of these.
> 
> Friday afternoon for me and so I am even more motivated :-)
> 
> BTW, has anyone ever requested pushing out a deadline failing on the
> weekend to the following Monday? There is a chance I could miss this if
> I happen to leave early on a Friday.

Sure, if things break and I notice them, I've delayed releases until
they get fixed in the past.

thanks,

greg k-h

^ permalink raw reply

* Re: [PATCH v1] drm/modes: Skip invalid cmdline mode
From: Maxime Ripard @ 2019-07-12 19:53 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Thierry Reding, Jonathan Hunter, Maarten Lankhorst, Sean Paul,
	Daniel Vetter, David Airlie, dri-devel, linux-tegra, linux-kernel
In-Reply-To: <686a20ce-e09a-037c-a5db-bd1309790c3e@gmail.com>

On Fri, Jul 12, 2019 at 11:30:01AM +0300, Dmitry Osipenko wrote:
> 12.07.2019 11:10, Maxime Ripard пишет:
> > On Thu, Jul 11, 2019 at 06:55:03PM +0300, Dmitry Osipenko wrote:
> >> 11.07.2019 12:03, Maxime Ripard пишет:
> >>> On Wed, Jul 10, 2019 at 06:05:18PM +0300, Dmitry Osipenko wrote:
> >>>> 10.07.2019 17:05, Maxime Ripard пишет:
> >>>>> On Wed, Jul 10, 2019 at 04:29:19PM +0300, Dmitry Osipenko wrote:
> >>>>>> This works:
> >>>>>>
> >>>>>> diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
> >>>>>> index 56d36779d213..e5a2f9c8f404 100644
> >>>>>> --- a/drivers/gpu/drm/drm_client_modeset.c
> >>>>>> +++ b/drivers/gpu/drm/drm_client_modeset.c
> >>>>>> @@ -182,6 +182,8 @@ drm_connector_pick_cmdline_mode(struct drm_connector *connector)
> >>>>>>         mode = drm_mode_create_from_cmdline_mode(connector->dev, cmdline_mode);
> >>>>>>         if (mode)
> >>>>>>                 list_add(&mode->head, &connector->modes);
> >>>>>> +       else
> >>>>>> +               cmdline_mode->specified = false;
> >>>>>
> >>>>> Hmmm, it's not clear to me why that wouldn't be the case.
> >>>>>
> >>>>> If we come back to the beginning of that function, we retrieve the
> >>>>> cmdline_mode buffer from the connector pointer, that will probably
> >>>>> have been parsed a first time using drm_mode_create_from_cmdline_mode
> >>>>> in drm_helper_probe_add_cmdline_mode.
> >>>>>
> >>>>> Now, I'm guessing that the issue is that in
> >>>>> drm_mode_parse_command_line_for_connector, if we have a named mode, we
> >>>>> just copy the mode over and set mode->specified.
> >>>>>
> >>>>> And we then move over to do other checks, and that's probably what
> >>>>> fails and returns, but our drm_cmdline_mode will have been modified.
> >>>>>
> >>>>> I'm not entirely sure how to deal with that though.
> >>>>>
> >>>>> I guess we could allocate a drm_cmdline_mode structure on the stack,
> >>>>> fill that, and if successful copy over its content to the one in
> >>>>> drm_connector. That would allow us to only change the content on
> >>>>> success, which is what I would expect from such a function?
> >>>>>
> >>>>> How does that sound?
> >>>>
> >>>> I now see that there is DRM_MODE_TYPE_USERDEF flag that is assigned only
> >>>> for the "cmdline" mode and drm_client_rotation() is the only place in
> >>>> DRM code that cares about whether mode is from cmdline, hence looks like
> >>>> it will be more correct to do the following:
> >>>
> >>> I'm still under the impression that we're dealing with workarounds of
> >>> a more central issue, which is that we shouldn't return a partially
> >>> modified drm_cmdline_mode.
> >>>
> >>> You said it yourself, the breakage is in the commit changing the
> >>> command line parsing logic, while you're fixing here some code that
> >>> was introduced later on.
> >>
> >> The problem stems from assumption that *any* named mode is valid. It
> >> looks to me that the ultimate solution would be to move the mode's name
> >> comparison into the [1], if that's possible.
> >>
> >> [1] drm_mode_parse_command_line_for_connector()
> >
> > Well, one could argue that video=tegrafb is invalid and should be
> > rejected as well, but we haven't cleared that up.
>
> The video=tegrafb is invalid mode, there is nothing to argue here. And
> the problem is that invalid modes and not rejected for the very beginning.

Yeah, I guess fb_get_options should also return an error in such a
case, but I'm a bit worried about the side effects here.

> >>> Can you try the followintg patch?
> >>> http://code.bulix.org/8cwk4c-794565?raw
> >>
> >> This doesn't help because the problem with the rotation_reflection is
> >> that it's 0 if "rotation" not present in the cmdline and then ilog2(0)
> >> returns -1. So the patch "drm/modes: Don't apply cmdline's rotation if
> >> it wasn't specified" should be correct in any case.
> >
> > So we would have the same issue with rotate=0 then?
>
> No, we won't. Rotation mode is parsed into the DRM_MODE bitmask and
> rotate=0 corresponds to DRM_MODE_ROTATE_0, which is BIT(0) as you may
> notice. Hence rotation_reflection=0 is always an invalid value, meaning
> that "rotate" option does not present in the cmdline. Please consult the
> code, in particular see drm_mode_parse_cmdline_options() which was
> written by yourself ;)

Sigh... You're right :)

Sorry for that, I'll reply to the other patch

Maxime

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply

* Re: [PATCH v1] drm/modes: Don't apply cmdline's rotation if it wasn't specified
From: Maxime Ripard @ 2019-07-12 19:54 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Thierry Reding, Jonathan Hunter, Maarten Lankhorst, Sean Paul,
	Daniel Vetter, David Airlie, dri-devel, linux-tegra, linux-kernel
In-Reply-To: <20190711021313.29445-1-digetx@gmail.com>

On Thu, Jul 11, 2019 at 05:13:13AM +0300, Dmitry Osipenko wrote:
> The rotation mode from cmdline shouldn't be taken into account if it
> wasn't specified in the cmdline. This fixes ignored default display
> orientation when display mode is given using cmdline without the
> rotation being specified.
>
> Fixes: 1bf4e09227c3 ("drm/modes: Allow to specify rotation and reflection on the commandline")
> Signed-off-by: Dmitry Osipenko <digetx@gmail.com>

Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>

Thanks!
Maxime

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply

* Re: [PATCH 5.1 000/138] 5.1.18-stable review
From: Guenter Roeck @ 2019-07-12 20:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Jon Hunter, linux-kernel, torvalds, akpm, shuah, patches,
	ben.hutchings, lkft-triage, stable, linux-tegra, j-keerthy
In-Reply-To: <20190712153035.GC13940@kroah.com>

On Fri, Jul 12, 2019 at 05:30:35PM +0200, Greg Kroah-Hartman wrote:
> On Fri, Jul 12, 2019 at 02:26:57PM +0100, Jon Hunter wrote:
> > Hi Greg,
> > 
> > On 12/07/2019 13:17, Greg Kroah-Hartman wrote:
> > > This is the start of the stable review cycle for the 5.1.18 release.
> > > There are 138 patches in this series, all will be posted as a response
> > > to this one.  If anyone has any issues with these being applied, please
> > > let me know.
> > > 
> > > Responses should be made by Sun 14 Jul 2019 12:14:36 PM UTC.
> > > Anything received after that time might be too late.
> > > 
> > > The whole patch series can be found in one patch at:
> > > 	https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.1.18-rc1.gz
> > > or in the git tree and branch at:
> > > 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.1.y
> > > and the diffstat can be found below.
> > > 
> > > thanks,
> > > 
> > > greg k-h
> > > 
> > > -------------
> > > Pseudo-Shortlog of commits:
> > 
> Both are now dropped, thanks.  I'll push out a -rc2 with that changed.
> 

Can you push that update into the git repository ?
v5.1.17-137-gde182b90f76d still has the problem.

Also:

Building powerpc:ppc6xx_defconfig ... failed

drivers/crypto/talitos.c: In function ‘get_request_hdr’:
include/linux/kernel.h:979:51: error:
	dereferencing pointer to incomplete type ‘struct talitos_edesc’

Seen with both v4.19.58-92-gd66f8e7 and v5.1.17-137-gde182b90f76d.

This problem is caused by "crypto: talitos - fix hash on SEC1.", which will
need a proper backport - struct talitos_edesc is declared later in the
source file.

Guenter

^ permalink raw reply

* Re: [PATCH V5 02/18] pinctrl: tegra: Add suspend and resume support
From: Sowjanya Komatineni @ 2019-07-13  5:31 UTC (permalink / raw)
  To: Dmitry Osipenko, Linus Walleij
  Cc: thierry.reding@gmail.com, Jon Hunter, Thomas Gleixner,
	Jason Cooper, Marc Zyngier, Stefan Agner, Mark Rutland,
	Peter De Schrijver, Prashant Gaikwad, Stephen Boyd, linux-clk,
	open list:GPIO SUBSYSTEM, jckuo, Joseph Lo, talho, linux-tegra,
	linux-kernel@vger.kernel.org, Mikko Perttunen, spatra,
	Rob Herring
In-Reply-To: <66b5e81b-d468-e2aa-7336-3d4854c234ab@gmail.com>


On 7/4/19 3:40 AM, Dmitry Osipenko wrote:
> 04.07.2019 10:31, Linus Walleij пишет:
>> On Sat, Jun 29, 2019 at 5:58 PM Dmitry Osipenko <digetx@gmail.com> wrote:
>>
>>> Oh, also what about GPIO-pinctrl suspend resume ordering .. is it okay that pinctrl
>>> will be resumed after GPIO? Shouldn't a proper pin-muxing be selected at first?
>> Thierry sent some initial patches about this I think. We need to use
>> device links for this to work properly so he adds support for
>> linking the pinctrl and GPIO devices through the ranges.
>>
>> For links between pin control handles and their consumers, see also:
>> 036f394dd77f pinctrl: Enable device link creation for pin control
>> c6045b4e3cad pinctrl: stmfx: enable links creations
>> 489b64d66325 pinctrl: stm32: Add links to consumers
>>
>> I am using STM32 as guinea pig for this, consider adding links also
>> from the Tegra pinctrl. I might simply make these pinctrl consumer
>> to producer links default because I think it makes a lot sense.
> IIUC, currently the plan is to resume pinctrl *after* GPIO for Tegra210 [1]. But this
> contradicts to what was traditionally done for older Tegras where pinctrl was always
> resumed first and apparently it won't work well for the GPIO ranges as well. I think this
> and the other patchsets related to suspend-resume still need some more thought.
>
> [1] https://patchwork.kernel.org/patch/11012077/

Park bit was introduced from Tegra210 onwards and during suspend/resume, 
requirement of gpio restore prior to pinctrl restore is not required for 
prior Tegra210.

Also currently pinctrl suspend/resume implementation for prior Tegra210 
is not yet upstreamed but having gpio restore prior to pinmux during 
suspend/resume should not cause any issue for prior tegra's as well as 
gpio resume restores pins back to same gpio config as they were during 
suspend entry.

^ permalink raw reply

* Re: [PATCH V5 02/18] pinctrl: tegra: Add suspend and resume support
From: Sowjanya Komatineni @ 2019-07-13  5:48 UTC (permalink / raw)
  To: Dmitry Osipenko, thierry.reding, jonathanh, tglx, jason,
	marc.zyngier, linus.walleij, stefan, mark.rutland
  Cc: pdeschrijver, pgaikwad, sboyd, linux-clk, linux-gpio, jckuo,
	josephl, talho, linux-tegra, linux-kernel, mperttunen, spatra,
	robh+dt, devicetree
In-Reply-To: <a262cbb3-845c-3ad1-16cc-375a24b9f7e9@gmail.com>


On 6/29/19 8:46 AM, Dmitry Osipenko wrote:
> 28.06.2019 5:12, Sowjanya Komatineni пишет:
>> This patch adds support for Tegra pinctrl driver suspend and resume.
>>
>> During suspend, context of all pinctrl registers are stored and
>> on resume they are all restored to have all the pinmux and pad
>> configuration for normal operation.
>>
>> Acked-by: Thierry Reding <treding@nvidia.com>
>> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
>> ---
>>   drivers/pinctrl/tegra/pinctrl-tegra.c    | 52 ++++++++++++++++++++++++++++++++
>>   drivers/pinctrl/tegra/pinctrl-tegra.h    |  3 ++
>>   drivers/pinctrl/tegra/pinctrl-tegra210.c |  1 +
>>   3 files changed, 56 insertions(+)
>>
>> diff --git a/drivers/pinctrl/tegra/pinctrl-tegra.c b/drivers/pinctrl/tegra/pinctrl-tegra.c
>> index 34596b246578..e7c0a1011cba 100644
>> --- a/drivers/pinctrl/tegra/pinctrl-tegra.c
>> +++ b/drivers/pinctrl/tegra/pinctrl-tegra.c
>> @@ -621,6 +621,43 @@ static void tegra_pinctrl_clear_parked_bits(struct tegra_pmx *pmx)
>>   	}
>>   }
>>   
>> +static int tegra_pinctrl_suspend(struct device *dev)
>> +{
>> +	struct tegra_pmx *pmx = dev_get_drvdata(dev);
>> +	u32 *backup_regs = pmx->backup_regs;
>> +	u32 *regs;
>> +	unsigned int i, j;
>> +
>> +	for (i = 0; i < pmx->nbanks; i++) {
>> +		regs = pmx->regs[i];
>> +		for (j = 0; j < pmx->reg_bank_size[i] / 4; j++)
>> +			*backup_regs++ = readl(regs++);
>> +	}
>> +
>> +	return pinctrl_force_sleep(pmx->pctl);
>> +}
>> +
>> +static int tegra_pinctrl_resume(struct device *dev)
>> +{
>> +	struct tegra_pmx *pmx = dev_get_drvdata(dev);
>> +	u32 *backup_regs = pmx->backup_regs;
>> +	u32 *regs;
>> +	unsigned int i, j;
>> +
>> +	for (i = 0; i < pmx->nbanks; i++) {
>> +		regs = pmx->regs[i];
>> +		for (j = 0; j < pmx->reg_bank_size[i] / 4; j++)
>> +			writel(*backup_regs++, regs++);
>> +	}
>> +
>> +	return 0;
>> +}
>> +
>> +const struct dev_pm_ops tegra_pinctrl_pm = {
>> +	.suspend = &tegra_pinctrl_suspend,
>> +	.resume = &tegra_pinctrl_resume
>> +};
> Hm, so this are the generic platform-driver suspend-resume OPS here, which is very
> nice! But.. shouldn't pinctrl be resumed before the CLK driver (which is syscore_ops
> in this version of the series)? .. Given that "clock" function may need to be
> selected for some of the pins.

selection of clock functions on some Tegra pins through corresponding 
pinmux (like extperiph clks) can happen after clock driver resume as 
well where clock source is restored to state during suspend before 
selecting clock function on that pin.

^ permalink raw reply

* Re: [PATCH V5 11/18] clk: tegra210: Add support for Tegra210 clocks
From: Sowjanya Komatineni @ 2019-07-13  5:54 UTC (permalink / raw)
  To: Dmitry Osipenko, thierry.reding, jonathanh, tglx, jason,
	marc.zyngier, linus.walleij, stefan, mark.rutland
  Cc: pdeschrijver, pgaikwad, sboyd, linux-clk, linux-gpio, jckuo,
	josephl, talho, linux-tegra, linux-kernel, mperttunen, spatra,
	robh+dt, devicetree
In-Reply-To: <a5e1a6df-dff7-9e0c-9551-f78103a5462f@gmail.com>


On 6/29/19 8:10 AM, Dmitry Osipenko wrote:
> 28.06.2019 5:12, Sowjanya Komatineni пишет:
>> This patch adds system suspend and resume support for Tegra210
>> clocks.
>>
>> All the CAR controller settings are lost on suspend when core power
>> goes off.
>>
>> This patch has implementation for saving and restoring all the PLLs
>> and clocks context during system suspend and resume to have the
>> clocks back to same state for normal operation.
>>
>> Acked-by: Thierry Reding <treding@nvidia.com>
>> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
>> ---
>>   drivers/clk/tegra/clk-tegra210.c | 115 ++++++++++++++++++++++++++++++++++++++-
>>   drivers/clk/tegra/clk.c          |  14 +++++
>>   drivers/clk/tegra/clk.h          |   1 +
>>   3 files changed, 127 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/clk/tegra/clk-tegra210.c b/drivers/clk/tegra/clk-tegra210.c
>> index 1c08c53482a5..1b839544e086 100644
>> --- a/drivers/clk/tegra/clk-tegra210.c
>> +++ b/drivers/clk/tegra/clk-tegra210.c
>> @@ -9,10 +9,12 @@
>>   #include <linux/clkdev.h>
>>   #include <linux/of.h>
>>   #include <linux/of_address.h>
>> +#include <linux/of_platform.h>
>>   #include <linux/delay.h>
>>   #include <linux/export.h>
>>   #include <linux/mutex.h>
>>   #include <linux/clk/tegra.h>
>> +#include <linux/syscore_ops.h>
>>   #include <dt-bindings/clock/tegra210-car.h>
>>   #include <dt-bindings/reset/tegra210-car.h>
>>   #include <linux/iopoll.h>
>> @@ -20,6 +22,7 @@
>>   #include <soc/tegra/pmc.h>
>>   
>>   #include "clk.h"
>> +#include "clk-dfll.h"
>>   #include "clk-id.h"
>>   
>>   /*
>> @@ -225,6 +228,7 @@
>>   
>>   #define CLK_RST_CONTROLLER_RST_DEV_Y_SET 0x2a8
>>   #define CLK_RST_CONTROLLER_RST_DEV_Y_CLR 0x2ac
>> +#define CPU_SOFTRST_CTRL 0x380
>>   
>>   #define LVL2_CLK_GATE_OVRA 0xf8
>>   #define LVL2_CLK_GATE_OVRC 0x3a0
>> @@ -2820,6 +2824,7 @@ static int tegra210_enable_pllu(void)
>>   	struct tegra_clk_pll_freq_table *fentry;
>>   	struct tegra_clk_pll pllu;
>>   	u32 reg;
>> +	int ret;
>>   
>>   	for (fentry = pll_u_freq_table; fentry->input_rate; fentry++) {
>>   		if (fentry->input_rate == pll_ref_freq)
>> @@ -2847,10 +2852,10 @@ static int tegra210_enable_pllu(void)
>>   	fence_udelay(1, clk_base);
>>   	reg |= PLL_ENABLE;
>>   	writel(reg, clk_base + PLLU_BASE);
>> +	fence_udelay(1, clk_base);
>>   
>> -	readl_relaxed_poll_timeout_atomic(clk_base + PLLU_BASE, reg,
>> -					  reg & PLL_BASE_LOCK, 2, 1000);
>> -	if (!(reg & PLL_BASE_LOCK)) {
>> +	ret = tegra210_wait_for_mask(&pllu, PLLU_BASE, PLL_BASE_LOCK);
>> +	if (ret) {
>>   		pr_err("Timed out waiting for PLL_U to lock\n");
>>   		return -ETIMEDOUT;
>>   	}
>> @@ -3283,6 +3288,103 @@ static void tegra210_disable_cpu_clock(u32 cpu)
>>   }
>>   
>>   #ifdef CONFIG_PM_SLEEP
>> +static u32 cpu_softrst_ctx[3];
>> +static struct platform_device *dfll_pdev;
>> +#define car_readl(_base, _off) readl_relaxed(clk_base + (_base) + ((_off) * 4))
>> +#define car_writel(_val, _base, _off) \
>> +		writel_relaxed(_val, clk_base + (_base) + ((_off) * 4))
>> +
>> +static int tegra210_clk_suspend(void)
>> +{
>> +	unsigned int i;
>> +	struct device_node *node;
>> +
>> +	tegra_cclkg_burst_policy_save_context();
>> +
>> +	if (!dfll_pdev) {
>> +		node = of_find_compatible_node(NULL, NULL,
>> +					       "nvidia,tegra210-dfll");
>> +		if (node)
>> +			dfll_pdev = of_find_device_by_node(node);
>> +
>> +		of_node_put(node);
>> +		if (!dfll_pdev)
>> +			pr_err("dfll node not found. no suspend for dfll\n");
>> +	}
>> +
>> +	if (dfll_pdev)
>> +		tegra_dfll_suspend(dfll_pdev);
>> +
>> +	/* Enable PLLP_OUT_CPU after dfll suspend */
>> +	tegra_clk_set_pllp_out_cpu(true);
>> +
>> +	tegra_sclk_cclklp_burst_policy_save_context();
>> +
>> +	clk_save_context();
>> +
>> +	for (i = 0; i < ARRAY_SIZE(cpu_softrst_ctx); i++)
>> +		cpu_softrst_ctx[i] = car_readl(CPU_SOFTRST_CTRL, i);
>> +
>> +	return 0;
>> +}
>> +
>> +static void tegra210_clk_resume(void)
>> +{
>> +	unsigned int i;
>> +	struct clk_hw *parent;
>> +	struct clk *clk;
>> +
>> +	/*
>> +	 * clk_restore_context restores clocks as per the clock tree.
>> +	 *
>> +	 * dfllCPU_out is first in the clock tree to get restored and it
>> +	 * involves programming DFLL controller along with restoring CPUG
>> +	 * clock burst policy.
>> +	 *
>> +	 * DFLL programming needs dfll_ref and dfll_soc peripheral clocks
>> +	 * to be restores which are part ofthe peripheral clocks.
>> +	 * So, peripheral clocks restore should happen prior to dfll clock
>> +	 * restore.
>> +	 */
>> +
>> +	tegra_clk_osc_resume(clk_base);
>> +	for (i = 0; i < ARRAY_SIZE(cpu_softrst_ctx); i++)
>> +		car_writel(cpu_softrst_ctx[i], CPU_SOFTRST_CTRL, i);
>> +
>> +	/* restore all plls and peripheral clocks */
>> +	tegra210_init_pllu();
>> +	clk_restore_context();
>> +
>> +	fence_udelay(5, clk_base);
>> +
>> +	/* resume SCLK and CPULP clocks */
>> +	tegra_sclk_cpulp_burst_policy_restore_context();
>> +
>> +	/*
>> +	 * restore CPUG clocks:
>> +	 * - enable DFLL in open loop mode
>> +	 * - switch CPUG to DFLL clock source
>> +	 * - close DFLL loop
>> +	 * - sync PLLX state
>> +	 */
>> +	if (dfll_pdev)
>> +		tegra_dfll_resume(dfll_pdev, false);
>> +
>> +	tegra_cclkg_burst_policy_restore_context();
>> +	fence_udelay(2, clk_base);
>> +
>> +	if (dfll_pdev)
>> +		tegra_dfll_resume(dfll_pdev, true);
>> +
>> +	parent = clk_hw_get_parent(__clk_get_hw(clks[TEGRA210_CLK_CCLK_G]));
>> +	clk = clks[TEGRA210_CLK_PLL_X];
>> +	if (parent != __clk_get_hw(clk))
>> +		tegra_clk_sync_state_pll(__clk_get_hw(clk));
>> +
>> +	/* Disable PLL_OUT_CPU after DFLL resume */
>> +	tegra_clk_set_pllp_out_cpu(false);
>> +}
>> +
>>   static void tegra210_cpu_clock_suspend(void)
>>   {
>>   	/* switch coresite to clk_m, save off original source */
>> @@ -3298,6 +3400,11 @@ static void tegra210_cpu_clock_resume(void)
>>   }
>>   #endif
>>   
>> +static struct syscore_ops tegra_clk_syscore_ops = {
>> +	.suspend = tegra210_clk_suspend,
>> +	.resume = tegra210_clk_resume,
>> +};
>> +
>>   static struct tegra_cpu_car_ops tegra210_cpu_car_ops = {
>>   	.wait_for_reset	= tegra210_wait_cpu_in_reset,
>>   	.disable_clock	= tegra210_disable_cpu_clock,
>> @@ -3583,5 +3690,7 @@ static void __init tegra210_clock_init(struct device_node *np)
>>   	tegra210_mbist_clk_init();
>>   
>>   	tegra_cpu_car_ops = &tegra210_cpu_car_ops;
>> +
>> +	register_syscore_ops(&tegra_clk_syscore_ops);
>>   }
> Is it really worthwhile to use syscore_ops for suspend/resume given that drivers for
> won't resume before the CLK driver anyway? Are there any other options for CLK
> suspend/resume?
>
> I'm also not sure whether PM runtime API could be used at all in the context of
> syscore_ops ..
>
> Secondly, what about to use generic clk_save_context() / clk_restore_context()
> helpers for the suspend-resume? It looks to me that some other essential (and proper)
> platform driver (soc/tegra/? PMC?) should suspend-resume the clocks using the generic
> CLK Framework API.

Clock resume should happen very early to restore peripheral and cpu 
clocks very early than peripheral drivers resume happens.

this patch series uses clk_save_context and clk_restore_context for 
corresponding divider, pll, pllout.. save and restore context.

But as there is dependency on dfll resume and cpu and pllx clocks 
restore, couldnt use clk_save_context and clk_restore_context for dfll.

So implemented recommended dfll resume sequence in main Tegra210 clock 
driver along with invoking clk_save_context/clk_restore_context where 
all other clocks save/restore happens as per clock tree traversal.

^ permalink raw reply

* Re: [PATCH V13 12/12] PCI: tegra: Add Tegra194 PCIe support
From: Vidya Sagar @ 2019-07-13  7:04 UTC (permalink / raw)
  To: Lorenzo Pieralisi
  Cc: mark.rutland, devicetree, mperttunen, mmaddireddy, linux-pci,
	catalin.marinas, will.deacon, linux-kernel, kthota, kishon,
	linux-tegra, robh+dt, thierry.reding, gustavo.pimentel,
	jingoohan1, bhelgaas, digetx, jonathanh, linux-arm-kernel,
	sagar.tv
In-Reply-To: <20190712160754.GA24285@e121166-lin.cambridge.arm.com>

On 7/12/2019 9:37 PM, Lorenzo Pieralisi wrote:
> On Fri, Jul 12, 2019 at 09:02:49PM +0530, Vidya Sagar wrote:
> 
> [...]
> 
>>>> +static irqreturn_t tegra_pcie_irq_handler(int irq, void *arg)
>>>> +{
>>>> +	struct tegra_pcie_dw *pcie = arg;
>>>> +
>>>> +	if (pcie->mode == DW_PCIE_RC_TYPE)
>>>> +		return tegra_pcie_rp_irq_handler(pcie);
>>>
>>> What's the point of registering the handler if mode != DW_PCIE_RC_TYPE ?
>> Currently this driver supports only root port mode but we have a plan
>> to add support for endpoint mode (as Tegra194 as dual mode
>> controllers) also in future and when that happens, we'll have a
>> corresponding tegra_pcie_ep_irq_handler() to take care of ep specific
>> interrupts.
> 
> Sure, that's why you should add tegra_pcie_dw->mode when it is needed,
> not in this patch.
Ok.

> 
> [...]
> 
>>>> +static int tegra_pcie_dw_host_init(struct pcie_port *pp)
>>>> +{
>>>> +	struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
>>>> +	struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
>>>> +	u32 val, tmp, offset, speed;
>>>> +	unsigned int count;
>>>> +	u16 val_w;
>>>> +
>>>> +core_init:
>>>
>>> I think it would be cleaner to include all registers programming
>>> within a function and we remove this label (and goto) below.
>> Some background: As per spec r4.0 v1.0, downstream ports that support
>> 16.0 GT/s must support Scaled Flow Control (sec 3.4.2) and Tegra194's
>> downstream ports being 16.0 GT/s capable, enable scaled flow control
>> by having Data Link Feature (sec 7.7.4) enabled by default. There is
>> one endpoint (ASMedia USB3.0 controller) that doesn't link up with
>> root port because of this (i.e. DLF being enabled). The way we are
>> detecting this situation is to check for partial linkup i.e. one of
>> application logic registers (i.e. from "appl" region) says link is up
>> but the same is not reflected in configuration space of root port.
>> Recommendation from our hardware team in this situation is to disable
>> DLF in root port and try link up with endpoint again.  To achieve
>> this, we put the core through reset cycle, disable DLF and proceed
>> with configuring all other registers and check for link up.
>>
>> Initially in Patch-1, I didn't have goto statement but a recursion
>> with depth-1 (as the above situation occurs only once). It was
>> reviewed @ http://patchwork.ozlabs.org/patch/1065707/ and Thierry said
>> it would be simpler to use a goto instead of calling the same function
>> again. So, I modified the code accordingly. Please do let me know if
>> you strongly feel we should call tegra_pcie_dw_host_init() instead of
>> goto here. I'll change it.
> 
> I did not say we should call tegra_pcie_dw_host_init(), sorry for
> not being clear. What I asked is factoring out registers programming
> in a function and call it where core_init: label is and call it
> again if DLF enablement causes link up to fail.
Ok.

> 
> [...]
> 
>>>> +static int tegra_pcie_bpmp_set_ctrl_state(struct tegra_pcie_dw *pcie,
>>>> +					  bool enable)
>>>> +{
>>>> +	struct mrq_uphy_response resp;
>>>> +	struct tegra_bpmp_message msg;
>>>> +	struct mrq_uphy_request req;
>>>> +	int err;
>>>> +
>>>> +	if (pcie->cid == 5)
>>>> +		return 0;
>>>
>>> What's wrong with cid == 5 ? Explain please.
>> Controller with ID=5 doesn't need any programming to enable it which is
>> done here through calling firmware API.
>>
>>>
>>>> +	memset(&req, 0, sizeof(req));
>>>> +	memset(&resp, 0, sizeof(resp));
>>>> +
>>>> +	req.cmd = CMD_UPHY_PCIE_CONTROLLER_STATE;
>>>> +	req.controller_state.pcie_controller = pcie->cid;
>>>> +	req.controller_state.enable = enable;
>>>> +
>>>> +	memset(&msg, 0, sizeof(msg));
>>>> +	msg.mrq = MRQ_UPHY;
>>>> +	msg.tx.data = &req;
>>>> +	msg.tx.size = sizeof(req);
>>>> +	msg.rx.data = &resp;
>>>> +	msg.rx.size = sizeof(resp);
>>>> +
>>>> +	if (irqs_disabled())
>>>
>>> Can you explain to me what this check is meant to achieve please ?
>> Firmware interface provides different APIs to be called when there are
>> no interrupts enabled in the system (noirq context) and otherwise
>> hence checking that situation here and calling appropriate API.
> 
> That's what I am questioning. Being called from {suspend/resume}_noirq()
> callbacks (if that's the code path this check caters for) does not mean
> irqs_disabled() == true.
Agree.
Actually, I got a hint of having this check from the following.
Both tegra_bpmp_transfer_atomic() and tegra_bpmp_transfer() are indirectly
called by APIs registered with .master_xfer() and .master_xfer_atomic() hooks of
struct i2c_algorithm and the decision to call which one of these is made using the
following check in i2c-core.h file.
static inline bool i2c_in_atomic_xfer_mode(void)
{
	return system_state > SYSTEM_RUNNING && irqs_disabled();
}
I think I should use this condition as is IIUC.
Please let me know if there are any concerns with this.

> 
> Actually, if tegra_bpmp_transfer() requires IRQs to be enabled you may
> even end up in a situation where that blocking call does not wake up
> because the IRQ in question was disabled in the NOIRQ suspend/resume
> phase.
> 
> [...]
> 
>>>> +static int tegra_pcie_dw_probe(struct platform_device *pdev)
>>>> +{
>>>> +	const struct tegra_pcie_soc *data;
>>>> +	struct device *dev = &pdev->dev;
>>>> +	struct resource *atu_dma_res;
>>>> +	struct tegra_pcie_dw *pcie;
>>>> +	struct resource *dbi_res;
>>>> +	struct pcie_port *pp;
>>>> +	struct dw_pcie *pci;
>>>> +	struct phy **phys;
>>>> +	char *name;
>>>> +	int ret;
>>>> +	u32 i;
>>>> +
>>>> +	pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
>>>> +	if (!pcie)
>>>> +		return -ENOMEM;
>>>> +
>>>> +	pci = &pcie->pci;
>>>> +	pci->dev = &pdev->dev;
>>>> +	pci->ops = &tegra_dw_pcie_ops;
>>>> +	pp = &pci->pp;
>>>> +	pcie->dev = &pdev->dev;
>>>> +
>>>> +	data = (struct tegra_pcie_soc *)of_device_get_match_data(dev);
>>>> +	if (!data)
>>>> +		return -EINVAL;
>>>> +	pcie->mode = (enum dw_pcie_device_mode)data->mode;
>>>> +
>>>> +	ret = tegra_pcie_dw_parse_dt(pcie);
>>>> +	if (ret < 0) {
>>>> +		dev_err(dev, "Failed to parse device tree: %d\n", ret);
>>>> +		return ret;
>>>> +	}
>>>> +
>>>> +	pcie->pex_ctl_supply = devm_regulator_get(dev, "vddio-pex-ctl");
>>>> +	if (IS_ERR(pcie->pex_ctl_supply)) {
>>>> +		dev_err(dev, "Failed to get regulator: %ld\n",
>>>> +			PTR_ERR(pcie->pex_ctl_supply));
>>>> +		return PTR_ERR(pcie->pex_ctl_supply);
>>>> +	}
>>>> +
>>>> +	pcie->core_clk = devm_clk_get(dev, "core");
>>>> +	if (IS_ERR(pcie->core_clk)) {
>>>> +		dev_err(dev, "Failed to get core clock: %ld\n",
>>>> +			PTR_ERR(pcie->core_clk));
>>>> +		return PTR_ERR(pcie->core_clk);
>>>> +	}
>>>> +
>>>> +	pcie->appl_res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
>>>> +						      "appl");
>>>> +	if (!pcie->appl_res) {
>>>> +		dev_err(dev, "Failed to find \"appl\" region\n");
>>>> +		return PTR_ERR(pcie->appl_res);
>>>> +	}
>>>> +	pcie->appl_base = devm_ioremap_resource(dev, pcie->appl_res);
>>>> +	if (IS_ERR(pcie->appl_base))
>>>> +		return PTR_ERR(pcie->appl_base);
>>>> +
>>>> +	pcie->core_apb_rst = devm_reset_control_get(dev, "apb");
>>>> +	if (IS_ERR(pcie->core_apb_rst)) {
>>>> +		dev_err(dev, "Failed to get APB reset: %ld\n",
>>>> +			PTR_ERR(pcie->core_apb_rst));
>>>> +		return PTR_ERR(pcie->core_apb_rst);
>>>> +	}
>>>> +
>>>> +	phys = devm_kcalloc(dev, pcie->phy_count, sizeof(*phys), GFP_KERNEL);
>>>> +	if (!phys)
>>>> +		return PTR_ERR(phys);
>>>> +
>>>> +	for (i = 0; i < pcie->phy_count; i++) {
>>>> +		name = kasprintf(GFP_KERNEL, "p2u-%u", i);
>>>> +		if (!name) {
>>>> +			dev_err(dev, "Failed to create P2U string\n");
>>>> +			return -ENOMEM;
>>>> +		}
>>>> +		phys[i] = devm_phy_get(dev, name);
>>>> +		kfree(name);
>>>> +		if (IS_ERR(phys[i])) {
>>>> +			ret = PTR_ERR(phys[i]);
>>>> +			dev_err(dev, "Failed to get PHY: %d\n", ret);
>>>> +			return ret;
>>>> +		}
>>>> +	}
>>>> +
>>>> +	pcie->phys = phys;
>>>> +
>>>> +	dbi_res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dbi");
>>>> +	if (!dbi_res) {
>>>> +		dev_err(dev, "Failed to find \"dbi\" region\n");
>>>> +		return PTR_ERR(dbi_res);
>>>> +	}
>>>> +	pcie->dbi_res = dbi_res;
>>>> +
>>>> +	pci->dbi_base = devm_ioremap_resource(dev, dbi_res);
>>>> +	if (IS_ERR(pci->dbi_base))
>>>> +		return PTR_ERR(pci->dbi_base);
>>>> +
>>>> +	/* Tegra HW locates DBI2 at a fixed offset from DBI */
>>>> +	pci->dbi_base2 = pci->dbi_base + 0x1000;
>>>> +
>>>> +	atu_dma_res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
>>>> +						   "atu_dma");
>>>> +	if (!atu_dma_res) {
>>>> +		dev_err(dev, "Failed to find \"atu_dma\" region\n");
>>>> +		return PTR_ERR(atu_dma_res);
>>>> +	}
>>>> +	pcie->atu_dma_res = atu_dma_res;
>>>> +	pci->atu_base = devm_ioremap_resource(dev, atu_dma_res);
>>>> +	if (IS_ERR(pci->atu_base))
>>>> +		return PTR_ERR(pci->atu_base);
>>>> +
>>>> +	pcie->core_rst = devm_reset_control_get(dev, "core");
>>>> +	if (IS_ERR(pcie->core_rst)) {
>>>> +		dev_err(dev, "Failed to get core reset: %ld\n",
>>>> +			PTR_ERR(pcie->core_rst));
>>>> +		return PTR_ERR(pcie->core_rst);
>>>> +	}
>>>> +
>>>> +	pp->irq = platform_get_irq_byname(pdev, "intr");
>>>> +	if (!pp->irq) {
>>>> +		dev_err(dev, "Failed to get \"intr\" interrupt\n");
>>>> +		return -ENODEV;
>>>> +	}
>>>> +
>>>> +	ret = devm_request_irq(dev, pp->irq, tegra_pcie_irq_handler,
>>>> +			       IRQF_SHARED, "tegra-pcie-intr", pcie);
>>>> +	if (ret) {
>>>> +		dev_err(dev, "Failed to request IRQ %d: %d\n", pp->irq, ret);
>>>> +		return ret;
>>>> +	}
>>>> +
>>>> +	pcie->bpmp = tegra_bpmp_get(dev);
>>>> +	if (IS_ERR(pcie->bpmp))
>>>> +		return PTR_ERR(pcie->bpmp);
>>>> +
>>>> +	platform_set_drvdata(pdev, pcie);
>>>> +
>>>> +	if (pcie->mode == DW_PCIE_RC_TYPE) {
>>>> +		ret = tegra_pcie_config_rp(pcie);
>>>> +		if (ret && ret != -ENOMEDIUM)
>>>> +			goto fail;
>>>> +		else
>>>> +			return 0;
>>>
>>> So if the link is not up we still go ahead and make probe
>>> succeed. What for ?
>> We may need root port to be available to support hot-plugging of
>> endpoint devices, so, we don't fail the probe.
> 
> We need it or we don't. If you do support hotplugging of endpoint
> devices point me at the code, otherwise link up failure means
> failure to probe.
Currently hotplugging of endpoint is not supported, but it is one of the use cases that
we may add support for in future.
But, why should we fail probe if link up doesn't happen? As such, nothing went wrong in
terms of root port initialization right?
I checked other DWC based implementations and following are not failing the probe
pci-dra7xx.c, pcie-armada8k.c, pcie-artpec6.c, pcie-histb.c, pcie-kirin.c, pcie-spear13xx.c,
pci-exynos.c, pci-imx6.c, pci-keystone.c, pci-layerscape.c

Although following do fail the probe if link is not up.
pcie-qcom.c, pcie-uniphier.c, pci-meson.c

So, to me, it looks more like a choice we can make whether to fail the probe or not and in this
case we are choosing not to fail.
> 
>>>> +	}
>>>> +
>>>> +fail:
>>>> +	tegra_bpmp_put(pcie->bpmp);
>>>> +	return ret;
>>>> +}
>>>> +
>>>> +static int tegra_pcie_dw_remove(struct platform_device *pdev)
>>>> +{
>>>> +	struct tegra_pcie_dw *pcie = platform_get_drvdata(pdev);
>>>> +
>>>> +	if (pcie->mode != DW_PCIE_RC_TYPE)
>>>> +		return 0;
>>>> +
>>>> +	if (!pcie->link_state)
>>>> +		return 0;
>>>> +
>>>> +	debugfs_remove_recursive(pcie->debugfs);
>>>> +	tegra_pcie_deinit_controller(pcie);
>>>> +	pm_runtime_put_sync(pcie->dev);
>>>> +	pm_runtime_disable(pcie->dev);
>>>> +	tegra_bpmp_put(pcie->bpmp);
>>>> +
>>>> +	return 0;
>>>> +}
>>>> +
>>>> +static int tegra_pcie_dw_suspend_late(struct device *dev)
>>>> +{
>>>> +	struct tegra_pcie_dw *pcie = dev_get_drvdata(dev);
>>>> +	u32 val;
>>>> +
>>>> +	if (!pcie->link_state)
>>>> +		return 0;
>>>> +
>>>> +	/* Enable HW_HOT_RST mode */
>>>> +	val = appl_readl(pcie, APPL_CTRL);
>>>> +	val &= ~(APPL_CTRL_HW_HOT_RST_MODE_MASK <<
>>>> +		 APPL_CTRL_HW_HOT_RST_MODE_SHIFT);
>>>> +	val |= APPL_CTRL_HW_HOT_RST_EN;
>>>> +	appl_writel(pcie, val, APPL_CTRL);
>>>> +
>>>> +	return 0;
>>>> +}
>>>> +
>>>> +static int tegra_pcie_dw_suspend_noirq(struct device *dev)
>>>> +{
>>>> +	struct tegra_pcie_dw *pcie = dev_get_drvdata(dev);
>>>> +
>>>> +	if (!pcie->link_state)
>>>> +		return 0;
>>>> +
>>>> +	/* Save MSI interrupt vector */
>>>> +	pcie->msi_ctrl_int = dw_pcie_readl_dbi(&pcie->pci,
>>>> +					       PORT_LOGIC_MSI_CTRL_INT_0_EN);
>>>> +	tegra_pcie_downstream_dev_to_D0(pcie);
>>>
>>> I think this requires some comments. AFAIU this is allowed by
>>> the PCI specs (PCI Express Base 4.0 r1.0 September 29-2017,
>>> 5.2 Link State Power Management). However, I would like to
>>> understand how this plays with the D state the devices are left
>>> in upon system suspend.
>>>
>>> "As the following example illustrates, it is also possible to remove
>>> power without first placing all Functions into D3Hot".
>>>
>>> I assume that's what happens on this platform to allow L2 entry but
>>> again, this needs clarification.
>> Yes. It is true that in the case of Tegra194, it brings devices back
>> to D0 before putting link to L2 state.
> 
> Comment it, extensively, so that anyone reading the code understands
> why it is done so and what happens to devices then.
I added comment in tegra_pcie_deinit_controller() where this API is called
but I think I should move the comment inside tegra_pcie_downstream_dev_to_D0()
API and also add more info to it.
I'll take care of it in the next patch.

> 
> Lorenzo
> 

^ permalink raw reply

* Re: [PATCH 5.1 000/138] 5.1.18-stable review
From: Greg Kroah-Hartman @ 2019-07-13  8:22 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Jon Hunter, linux-kernel, torvalds, akpm, shuah, patches,
	ben.hutchings, lkft-triage, stable, linux-tegra, j-keerthy
In-Reply-To: <20190712202141.GA18698@roeck-us.net>

On Fri, Jul 12, 2019 at 01:21:41PM -0700, Guenter Roeck wrote:
> On Fri, Jul 12, 2019 at 05:30:35PM +0200, Greg Kroah-Hartman wrote:
> > On Fri, Jul 12, 2019 at 02:26:57PM +0100, Jon Hunter wrote:
> > > Hi Greg,
> > > 
> > > On 12/07/2019 13:17, Greg Kroah-Hartman wrote:
> > > > This is the start of the stable review cycle for the 5.1.18 release.
> > > > There are 138 patches in this series, all will be posted as a response
> > > > to this one.  If anyone has any issues with these being applied, please
> > > > let me know.
> > > > 
> > > > Responses should be made by Sun 14 Jul 2019 12:14:36 PM UTC.
> > > > Anything received after that time might be too late.
> > > > 
> > > > The whole patch series can be found in one patch at:
> > > > 	https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.1.18-rc1.gz
> > > > or in the git tree and branch at:
> > > > 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.1.y
> > > > and the diffstat can be found below.
> > > > 
> > > > thanks,
> > > > 
> > > > greg k-h
> > > > 
> > > > -------------
> > > > Pseudo-Shortlog of commits:
> > > 
> > Both are now dropped, thanks.  I'll push out a -rc2 with that changed.
> > 
> 
> Can you push that update into the git repository ?
> v5.1.17-137-gde182b90f76d still has the problem.

Odd, I thought I did this.  Pushed out again just to be sure.

> Also:
> 
> Building powerpc:ppc6xx_defconfig ... failed
> 
> drivers/crypto/talitos.c: In function ‘get_request_hdr’:
> include/linux/kernel.h:979:51: error:
> 	dereferencing pointer to incomplete type ‘struct talitos_edesc’
> 
> Seen with both v4.19.58-92-gd66f8e7 and v5.1.17-137-gde182b90f76d.
> 
> This problem is caused by "crypto: talitos - fix hash on SEC1.", which will
> need a proper backport - struct talitos_edesc is declared later in the
> source file.

Ick, let me go drop this one after breakfast...

greg k-h

^ permalink raw reply

* Re: [PATCH 5.1 000/138] 5.1.18-stable review
From: Jon Hunter @ 2019-07-13  9:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, linux, shuah, patches,
	ben.hutchings, lkft-triage, stable, linux-tegra, j-keerthy
In-Reply-To: <20190712153035.GC13940@kroah.com>


On 12/07/2019 16:30, Greg Kroah-Hartman wrote:
> On Fri, Jul 12, 2019 at 02:26:57PM +0100, Jon Hunter wrote:
>> Hi Greg,
>>
>> On 12/07/2019 13:17, Greg Kroah-Hartman wrote:
>>> This is the start of the stable review cycle for the 5.1.18 release.
>>> There are 138 patches in this series, all will be posted as a response
>>> to this one.  If anyone has any issues with these being applied, please
>>> let me know.
>>>
>>> Responses should be made by Sun 14 Jul 2019 12:14:36 PM UTC.
>>> Anything received after that time might be too late.
>>>
>>> The whole patch series can be found in one patch at:
>>> 	https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.1.18-rc1.gz
>>> or in the git tree and branch at:
>>> 	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.1.y
>>> and the diffstat can be found below.
>>>
>>> thanks,
>>>
>>> greg k-h
>>>
>>> -------------
>>> Pseudo-Shortlog of commits:
>>
>> ...
>>
>>> Keerthy <j-keerthy@ti.com>
>>>     ARM: dts: dra71x: Disable usb4_tm target module
>>
>> ...
>>
>>> Keerthy <j-keerthy@ti.com>
>>>     ARM: dts: dra76x: Disable usb4_tm target module
>>
>> The above commits are generating the following compilation errors for
>> ARM ...
>>
>> Error:
>> /dvs/git/dirty/git-master_l4t-upstream/kernel/arch/arm/boot/dts/dra71x.dtsi:15.1-9
>> Label or path usb4_tm not found
>>
>> Error:
>> /dvs/git/dirty/git-master_l4t-upstream/kernel/arch/arm/boot/dts/dra76x.dtsi:89.1-9
>> Label or path usb4_tm not found
>>
>> After reverting these two, I no longer see these errors.
> 
> Both are now dropped, thanks.  I'll push out a -rc2 with that changed.

Hmmm ... -rc2 still not building ...

Error:
/dvs/git/dirty/git-master_l4t-upstream/kernel/arch/arm/boot/dts/dra71x.dtsi:11.1-11
Label or path rtctarget not found
Error:
/dvs/git/dirty/git-master_l4t-upstream/kernel/arch/arm/boot/dts/dra71x.dtsi:15.1-9
Label or path usb4_tm not found

I still see the following commit in -rc2 ...

commit 0caa574b3244cd863dd74bde680a6309cb8803ad
Author: Keerthy <j-keerthy@ti.com>
Date:   Fri May 17 06:44:09 2019 +0530

    ARM: dts: dra71x: Disable usb4_tm target module

In -rc1 I see there were 4 changes from Keerthy, any chance you reverted
one of the rtc patches and not the above? Looks like the following is
missing from -rc2 ...

Keerthy <j-keerthy@ti.com>
    ARM: dts: dra76x: Disable rtc target module

Cheers
Jon

-- 
nvpublic

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox