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

* [PATCH] cpufreq: Make cpufreq_generic_init() return void
From: Viresh Kumar @ 2019-07-12  3:42 UTC (permalink / raw)
  To: Rafael Wysocki, Markus Mayer, bcm-kernel-feedback-list, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, Keguang Zhang, Jiaxun Yang, Kevin Hilman,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	Kukjin Kim, Krzysztof Kozlowski, Thierry Reding, Jonathan Hunter
  Cc: Viresh Kumar, linux-pm, Vincent Guittot, wen.yang99, linux-kernel,
	linux-arm-kernel, linux-mips, linux-omap, linuxppc-dev,
	linux-samsung-soc, linux-tegra

It always returns 0 (success) and its return type should really be void.
Over that, many drivers have added error handling code based on its
return value, which is not required at all.

change its return type to void and update all the callers.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 drivers/cpufreq/bmips-cpufreq.c     |  7 ++-----
 drivers/cpufreq/cpufreq.c           |  4 +---
 drivers/cpufreq/davinci-cpufreq.c   |  3 ++-
 drivers/cpufreq/imx6q-cpufreq.c     |  6 ++----
 drivers/cpufreq/kirkwood-cpufreq.c  |  3 ++-
 drivers/cpufreq/loongson1-cpufreq.c |  8 +++-----
 drivers/cpufreq/loongson2_cpufreq.c |  3 ++-
 drivers/cpufreq/maple-cpufreq.c     |  3 ++-
 drivers/cpufreq/omap-cpufreq.c      | 15 +++++----------
 drivers/cpufreq/pasemi-cpufreq.c    |  3 ++-
 drivers/cpufreq/pmac32-cpufreq.c    |  3 ++-
 drivers/cpufreq/pmac64-cpufreq.c    |  3 ++-
 drivers/cpufreq/s3c2416-cpufreq.c   |  9 ++-------
 drivers/cpufreq/s3c64xx-cpufreq.c   | 15 +++------------
 drivers/cpufreq/s5pv210-cpufreq.c   |  3 ++-
 drivers/cpufreq/sa1100-cpufreq.c    |  3 ++-
 drivers/cpufreq/sa1110-cpufreq.c    |  3 ++-
 drivers/cpufreq/spear-cpufreq.c     |  3 ++-
 drivers/cpufreq/tegra20-cpufreq.c   |  8 +-------
 include/linux/cpufreq.h             |  2 +-
 20 files changed, 42 insertions(+), 65 deletions(-)

diff --git a/drivers/cpufreq/bmips-cpufreq.c b/drivers/cpufreq/bmips-cpufreq.c
index 56a4ebbf00e0..2b187d802fe3 100644
--- a/drivers/cpufreq/bmips-cpufreq.c
+++ b/drivers/cpufreq/bmips-cpufreq.c
@@ -141,11 +141,8 @@ static int bmips_cpufreq_init(struct cpufreq_policy *policy)
 		return ret;
 	}
 
-	ret = cpufreq_generic_init(policy, freq_table, TRANSITION_LATENCY);
-	if (ret)
-		bmips_cpufreq_exit(policy);
-	else
-		pr_info("%s: registered\n", BMIPS_CPUFREQ_NAME);
+	cpufreq_generic_init(policy, freq_table, TRANSITION_LATENCY);
+	pr_info("%s: registered\n", BMIPS_CPUFREQ_NAME);
 
 	return ret;
 }
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index 4d6043ee7834..8dda62367816 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -159,7 +159,7 @@ EXPORT_SYMBOL_GPL(arch_set_freq_scale);
  * - set policies transition latency
  * - policy->cpus with all possible CPUs
  */
-int cpufreq_generic_init(struct cpufreq_policy *policy,
+void cpufreq_generic_init(struct cpufreq_policy *policy,
 		struct cpufreq_frequency_table *table,
 		unsigned int transition_latency)
 {
@@ -171,8 +171,6 @@ int cpufreq_generic_init(struct cpufreq_policy *policy,
 	 * share the clock and voltage and clock.
 	 */
 	cpumask_setall(policy->cpus);
-
-	return 0;
 }
 EXPORT_SYMBOL_GPL(cpufreq_generic_init);
 
diff --git a/drivers/cpufreq/davinci-cpufreq.c b/drivers/cpufreq/davinci-cpufreq.c
index 3de48ae60c29..297d23cad8b5 100644
--- a/drivers/cpufreq/davinci-cpufreq.c
+++ b/drivers/cpufreq/davinci-cpufreq.c
@@ -90,7 +90,8 @@ static int davinci_cpu_init(struct cpufreq_policy *policy)
 	 * Setting the latency to 2000 us to accommodate addition of drivers
 	 * to pre/post change notification list.
 	 */
-	return cpufreq_generic_init(policy, freq_table, 2000 * 1000);
+	cpufreq_generic_init(policy, freq_table, 2000 * 1000);
+	return 0;
 }
 
 static struct cpufreq_driver davinci_driver = {
diff --git a/drivers/cpufreq/imx6q-cpufreq.c b/drivers/cpufreq/imx6q-cpufreq.c
index 47ccfa6b17b7..648a09a1778a 100644
--- a/drivers/cpufreq/imx6q-cpufreq.c
+++ b/drivers/cpufreq/imx6q-cpufreq.c
@@ -190,14 +190,12 @@ static int imx6q_set_target(struct cpufreq_policy *policy, unsigned int index)
 
 static int imx6q_cpufreq_init(struct cpufreq_policy *policy)
 {
-	int ret;
-
 	policy->clk = clks[ARM].clk;
-	ret = cpufreq_generic_init(policy, freq_table, transition_latency);
+	cpufreq_generic_init(policy, freq_table, transition_latency);
 	policy->suspend_freq = max_freq;
 	dev_pm_opp_of_register_em(policy->cpus);
 
-	return ret;
+	return 0;
 }
 
 static struct cpufreq_driver imx6q_cpufreq_driver = {
diff --git a/drivers/cpufreq/kirkwood-cpufreq.c b/drivers/cpufreq/kirkwood-cpufreq.c
index 7ab564c1f7ae..cb74bdc5baaa 100644
--- a/drivers/cpufreq/kirkwood-cpufreq.c
+++ b/drivers/cpufreq/kirkwood-cpufreq.c
@@ -85,7 +85,8 @@ static int kirkwood_cpufreq_target(struct cpufreq_policy *policy,
 /* Module init and exit code */
 static int kirkwood_cpufreq_cpu_init(struct cpufreq_policy *policy)
 {
-	return cpufreq_generic_init(policy, kirkwood_freq_table, 5000);
+	cpufreq_generic_init(policy, kirkwood_freq_table, 5000);
+	return 0;
 }
 
 static struct cpufreq_driver kirkwood_cpufreq_driver = {
diff --git a/drivers/cpufreq/loongson1-cpufreq.c b/drivers/cpufreq/loongson1-cpufreq.c
index 21c9ce8526c0..0ea88778882a 100644
--- a/drivers/cpufreq/loongson1-cpufreq.c
+++ b/drivers/cpufreq/loongson1-cpufreq.c
@@ -81,7 +81,7 @@ static int ls1x_cpufreq_init(struct cpufreq_policy *policy)
 	struct device *cpu_dev = get_cpu_device(policy->cpu);
 	struct cpufreq_frequency_table *freq_tbl;
 	unsigned int pll_freq, freq;
-	int steps, i, ret;
+	int steps, i;
 
 	pll_freq = clk_get_rate(cpufreq->pll_clk) / 1000;
 
@@ -103,11 +103,9 @@ static int ls1x_cpufreq_init(struct cpufreq_policy *policy)
 	freq_tbl[i].frequency = CPUFREQ_TABLE_END;
 
 	policy->clk = cpufreq->clk;
-	ret = cpufreq_generic_init(policy, freq_tbl, 0);
-	if (ret)
-		kfree(freq_tbl);
+	cpufreq_generic_init(policy, freq_tbl, 0);
 
-	return ret;
+	return 0;
 }
 
 static int ls1x_cpufreq_exit(struct cpufreq_policy *policy)
diff --git a/drivers/cpufreq/loongson2_cpufreq.c b/drivers/cpufreq/loongson2_cpufreq.c
index da344696beed..890813e0bb76 100644
--- a/drivers/cpufreq/loongson2_cpufreq.c
+++ b/drivers/cpufreq/loongson2_cpufreq.c
@@ -95,7 +95,8 @@ static int loongson2_cpufreq_cpu_init(struct cpufreq_policy *policy)
 	}
 
 	policy->clk = cpuclk;
-	return cpufreq_generic_init(policy, &loongson2_clockmod_table[0], 0);
+	cpufreq_generic_init(policy, &loongson2_clockmod_table[0], 0);
+	return 0;
 }
 
 static int loongson2_cpufreq_exit(struct cpufreq_policy *policy)
diff --git a/drivers/cpufreq/maple-cpufreq.c b/drivers/cpufreq/maple-cpufreq.c
index f5220b3d4ec5..28d346062166 100644
--- a/drivers/cpufreq/maple-cpufreq.c
+++ b/drivers/cpufreq/maple-cpufreq.c
@@ -140,7 +140,8 @@ static unsigned int maple_cpufreq_get_speed(unsigned int cpu)
 
 static int maple_cpufreq_cpu_init(struct cpufreq_policy *policy)
 {
-	return cpufreq_generic_init(policy, maple_cpu_freqs, 12000);
+	cpufreq_generic_init(policy, maple_cpu_freqs, 12000);
+	return 0;
 }
 
 static struct cpufreq_driver maple_cpufreq_driver = {
diff --git a/drivers/cpufreq/omap-cpufreq.c b/drivers/cpufreq/omap-cpufreq.c
index 29643f06a3c3..8d14b42a8c6f 100644
--- a/drivers/cpufreq/omap-cpufreq.c
+++ b/drivers/cpufreq/omap-cpufreq.c
@@ -122,23 +122,18 @@ static int omap_cpu_init(struct cpufreq_policy *policy)
 			dev_err(mpu_dev,
 				"%s: cpu%d: failed creating freq table[%d]\n",
 				__func__, policy->cpu, result);
-			goto fail;
+			clk_put(policy->clk);
+			return result;
 		}
 	}
 
 	atomic_inc_return(&freq_table_users);
 
 	/* FIXME: what's the actual transition time? */
-	result = cpufreq_generic_init(policy, freq_table, 300 * 1000);
-	if (!result) {
-		dev_pm_opp_of_register_em(policy->cpus);
-		return 0;
-	}
+	cpufreq_generic_init(policy, freq_table, 300 * 1000);
+	dev_pm_opp_of_register_em(policy->cpus);
 
-	freq_table_free();
-fail:
-	clk_put(policy->clk);
-	return result;
+	return 0;
 }
 
 static int omap_cpu_exit(struct cpufreq_policy *policy)
diff --git a/drivers/cpufreq/pasemi-cpufreq.c b/drivers/cpufreq/pasemi-cpufreq.c
index 6b1e4abe3248..93f39a1d4c3d 100644
--- a/drivers/cpufreq/pasemi-cpufreq.c
+++ b/drivers/cpufreq/pasemi-cpufreq.c
@@ -196,7 +196,8 @@ static int pas_cpufreq_cpu_init(struct cpufreq_policy *policy)
 	policy->cur = pas_freqs[cur_astate].frequency;
 	ppc_proc_freq = policy->cur * 1000ul;
 
-	return cpufreq_generic_init(policy, pas_freqs, get_gizmo_latency());
+	cpufreq_generic_init(policy, pas_freqs, get_gizmo_latency());
+	return 0;
 
 out_unmap_sdcpwr:
 	iounmap(sdcpwr_mapbase);
diff --git a/drivers/cpufreq/pmac32-cpufreq.c b/drivers/cpufreq/pmac32-cpufreq.c
index 650104d729f3..73621bc11976 100644
--- a/drivers/cpufreq/pmac32-cpufreq.c
+++ b/drivers/cpufreq/pmac32-cpufreq.c
@@ -372,7 +372,8 @@ static int pmac_cpufreq_target(	struct cpufreq_policy *policy,
 
 static int pmac_cpufreq_cpu_init(struct cpufreq_policy *policy)
 {
-	return cpufreq_generic_init(policy, pmac_cpu_freqs, transition_latency);
+	cpufreq_generic_init(policy, pmac_cpu_freqs, transition_latency);
+	return 0;
 }
 
 static u32 read_gpio(struct device_node *np)
diff --git a/drivers/cpufreq/pmac64-cpufreq.c b/drivers/cpufreq/pmac64-cpufreq.c
index 1af3492a000d..d7542a106e6b 100644
--- a/drivers/cpufreq/pmac64-cpufreq.c
+++ b/drivers/cpufreq/pmac64-cpufreq.c
@@ -321,7 +321,8 @@ static unsigned int g5_cpufreq_get_speed(unsigned int cpu)
 
 static int g5_cpufreq_cpu_init(struct cpufreq_policy *policy)
 {
-	return cpufreq_generic_init(policy, g5_cpu_freqs, transition_latency);
+	cpufreq_generic_init(policy, g5_cpu_freqs, transition_latency);
+	return 0;
 }
 
 static struct cpufreq_driver g5_cpufreq_driver = {
diff --git a/drivers/cpufreq/s3c2416-cpufreq.c b/drivers/cpufreq/s3c2416-cpufreq.c
index f7ff1ed7fef1..106910351c41 100644
--- a/drivers/cpufreq/s3c2416-cpufreq.c
+++ b/drivers/cpufreq/s3c2416-cpufreq.c
@@ -447,21 +447,16 @@ static int s3c2416_cpufreq_driver_init(struct cpufreq_policy *policy)
 	/* Datasheet says PLL stabalisation time must be at least 300us,
 	 * so but add some fudge. (reference in LOCKCON0 register description)
 	 */
-	ret = cpufreq_generic_init(policy, s3c_freq->freq_table,
+	cpufreq_generic_init(policy, s3c_freq->freq_table,
 			(500 * 1000) + s3c_freq->regulator_latency);
-	if (ret)
-		goto err_freq_table;
-
 	register_reboot_notifier(&s3c2416_cpufreq_reboot_notifier);
 
 	return 0;
 
-err_freq_table:
 #ifdef CONFIG_ARM_S3C2416_CPUFREQ_VCORESCALE
-	regulator_put(s3c_freq->vddarm);
 err_vddarm:
-#endif
 	clk_put(s3c_freq->armclk);
+#endif
 err_armclk:
 	clk_put(s3c_freq->hclk);
 err_hclk:
diff --git a/drivers/cpufreq/s3c64xx-cpufreq.c b/drivers/cpufreq/s3c64xx-cpufreq.c
index 37df2d892eb0..ca756269a48a 100644
--- a/drivers/cpufreq/s3c64xx-cpufreq.c
+++ b/drivers/cpufreq/s3c64xx-cpufreq.c
@@ -144,7 +144,6 @@ static void s3c64xx_cpufreq_config_regulator(void)
 
 static int s3c64xx_cpufreq_driver_init(struct cpufreq_policy *policy)
 {
-	int ret;
 	struct cpufreq_frequency_table *freq;
 
 	if (policy->cpu != 0)
@@ -165,8 +164,7 @@ static int s3c64xx_cpufreq_driver_init(struct cpufreq_policy *policy)
 #ifdef CONFIG_REGULATOR
 	vddarm = regulator_get(NULL, "vddarm");
 	if (IS_ERR(vddarm)) {
-		ret = PTR_ERR(vddarm);
-		pr_err("Failed to obtain VDDARM: %d\n", ret);
+		pr_err("Failed to obtain VDDARM: %d\n", PTR_ERR(vddarm));
 		pr_err("Only frequency scaling available\n");
 		vddarm = NULL;
 	} else {
@@ -196,16 +194,9 @@ static int s3c64xx_cpufreq_driver_init(struct cpufreq_policy *policy)
 	 * the PLLs, which we don't currently) is ~300us worst case,
 	 * but add some fudge.
 	 */
-	ret = cpufreq_generic_init(policy, s3c64xx_freq_table,
+	cpufreq_generic_init(policy, s3c64xx_freq_table,
 			(500 * 1000) + regulator_latency);
-	if (ret != 0) {
-		pr_err("Failed to configure frequency table: %d\n",
-		       ret);
-		regulator_put(vddarm);
-		clk_put(policy->clk);
-	}
-
-	return ret;
+	return 0;
 }
 
 static struct cpufreq_driver s3c64xx_cpufreq_driver = {
diff --git a/drivers/cpufreq/s5pv210-cpufreq.c b/drivers/cpufreq/s5pv210-cpufreq.c
index e5cb17d4be7b..5d10030f2560 100644
--- a/drivers/cpufreq/s5pv210-cpufreq.c
+++ b/drivers/cpufreq/s5pv210-cpufreq.c
@@ -541,7 +541,8 @@ static int s5pv210_cpu_init(struct cpufreq_policy *policy)
 	s5pv210_dram_conf[1].freq = clk_get_rate(dmc1_clk);
 
 	policy->suspend_freq = SLEEP_FREQ;
-	return cpufreq_generic_init(policy, s5pv210_freq_table, 40000);
+	cpufreq_generic_init(policy, s5pv210_freq_table, 40000);
+	return 0;
 
 out_dmc1:
 	clk_put(dmc0_clk);
diff --git a/drivers/cpufreq/sa1100-cpufreq.c b/drivers/cpufreq/sa1100-cpufreq.c
index ab5cab93e638..5c075ef6adc0 100644
--- a/drivers/cpufreq/sa1100-cpufreq.c
+++ b/drivers/cpufreq/sa1100-cpufreq.c
@@ -181,7 +181,8 @@ static int sa1100_target(struct cpufreq_policy *policy, unsigned int ppcr)
 
 static int __init sa1100_cpu_init(struct cpufreq_policy *policy)
 {
-	return cpufreq_generic_init(policy, sa11x0_freq_table, 0);
+	cpufreq_generic_init(policy, sa11x0_freq_table, 0);
+	return 0;
 }
 
 static struct cpufreq_driver sa1100_driver __refdata = {
diff --git a/drivers/cpufreq/sa1110-cpufreq.c b/drivers/cpufreq/sa1110-cpufreq.c
index dab54e051c0e..d9d04d935b3a 100644
--- a/drivers/cpufreq/sa1110-cpufreq.c
+++ b/drivers/cpufreq/sa1110-cpufreq.c
@@ -303,7 +303,8 @@ static int sa1110_target(struct cpufreq_policy *policy, unsigned int ppcr)
 
 static int __init sa1110_cpu_init(struct cpufreq_policy *policy)
 {
-	return cpufreq_generic_init(policy, sa11x0_freq_table, 0);
+	cpufreq_generic_init(policy, sa11x0_freq_table, 0);
+	return 0;
 }
 
 /* sa1110_driver needs __refdata because it must remain after init registers
diff --git a/drivers/cpufreq/spear-cpufreq.c b/drivers/cpufreq/spear-cpufreq.c
index 4074e2615522..73bd8dc47074 100644
--- a/drivers/cpufreq/spear-cpufreq.c
+++ b/drivers/cpufreq/spear-cpufreq.c
@@ -153,8 +153,9 @@ static int spear_cpufreq_target(struct cpufreq_policy *policy,
 static int spear_cpufreq_init(struct cpufreq_policy *policy)
 {
 	policy->clk = spear_cpufreq.clk;
-	return cpufreq_generic_init(policy, spear_cpufreq.freq_tbl,
+	cpufreq_generic_init(policy, spear_cpufreq.freq_tbl,
 			spear_cpufreq.transition_latency);
+	return 0;
 }
 
 static struct cpufreq_driver spear_cpufreq_driver = {
diff --git a/drivers/cpufreq/tegra20-cpufreq.c b/drivers/cpufreq/tegra20-cpufreq.c
index 3c32cc7b0671..f84ecd22f488 100644
--- a/drivers/cpufreq/tegra20-cpufreq.c
+++ b/drivers/cpufreq/tegra20-cpufreq.c
@@ -118,17 +118,11 @@ static int tegra_target(struct cpufreq_policy *policy, unsigned int index)
 static int tegra_cpu_init(struct cpufreq_policy *policy)
 {
 	struct tegra20_cpufreq *cpufreq = cpufreq_get_driver_data();
-	int ret;
 
 	clk_prepare_enable(cpufreq->cpu_clk);
 
 	/* FIXME: what's the actual transition time? */
-	ret = cpufreq_generic_init(policy, freq_table, 300 * 1000);
-	if (ret) {
-		clk_disable_unprepare(cpufreq->cpu_clk);
-		return ret;
-	}
-
+	cpufreq_generic_init(policy, freq_table, 300 * 1000);
 	policy->clk = cpufreq->cpu_clk;
 	policy->suspend_freq = freq_table[0].frequency;
 	return 0;
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
index d757a56a74dc..536a049d7ecc 100644
--- a/include/linux/cpufreq.h
+++ b/include/linux/cpufreq.h
@@ -992,7 +992,7 @@ extern struct freq_attr *cpufreq_generic_attr[];
 int cpufreq_table_validate_and_sort(struct cpufreq_policy *policy);
 
 unsigned int cpufreq_generic_get(unsigned int cpu);
-int cpufreq_generic_init(struct cpufreq_policy *policy,
+void cpufreq_generic_init(struct cpufreq_policy *policy,
 		struct cpufreq_frequency_table *table,
 		unsigned int transition_latency);
 #endif /* _LINUX_CPUFREQ_H */
-- 
2.21.0.rc0.269.g1a574e7a288b

^ permalink raw reply related

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

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.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply

* Re: [PATCH v4 17/23] drm/ast: Provide ddc symlink in connector sysfs directory
From: Thomas Zimmermann @ 2019-07-11 17:27 UTC (permalink / raw)
  To: Andrzej Pietrasiewicz, dri-devel
  Cc: Sam Ravnborg, Neil Armstrong, Maxime Ripard, Liviu Dudau,
	Douglas Anderson, Thierry Reding, Laurent Pinchart, kernel,
	linux-samsung-soc, linux-rockchip, Vincent Abriou,
	Krzysztof Kozlowski, Jonathan Hunter, David Airlie, Chen-Yu Tsai,
	Kukjin Kim, NXP Linux Team, Dave Airlie, intel-gfx, freedreno,
	linux-tegra, Jonas Karlman, linux-arm-msm, Alexios Zavras, Mamta
In-Reply-To: <d3651bd2fd8ba69b8380304bca4c629a8c1da4e9.1562843413.git.andrzej.p@collabora.com>


[-- Attachment #1.1.1: Type: text/plain, Size: 1639 bytes --]

Acked-by: Thomas Zimmermann <tzimmermann@suse.de>

Am 11.07.19 um 13:26 schrieb Andrzej Pietrasiewicz:
> Use the ddc pointer provided by the generic connector.
> 
> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
> ---
>  drivers/gpu/drm/ast/ast_mode.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
> index ffccbef962a4..1ca9bc4aa3bb 100644
> --- a/drivers/gpu/drm/ast/ast_mode.c
> +++ b/drivers/gpu/drm/ast/ast_mode.c
> @@ -890,6 +890,11 @@ static int ast_connector_init(struct drm_device *dev)
>  		return -ENOMEM;
>  
>  	connector = &ast_connector->base;
> +	ast_connector->i2c = ast_i2c_create(dev);
> +	if (!ast_connector->i2c)
> +		DRM_ERROR("failed to add ddc bus for connector\n");
> +
> +	connector->ddc = &ast_connector->i2c->adapter;
>  	drm_connector_init(dev, connector, &ast_connector_funcs, DRM_MODE_CONNECTOR_VGA);
>  
>  	drm_connector_helper_add(connector, &ast_connector_helper_funcs);
> @@ -904,10 +909,6 @@ static int ast_connector_init(struct drm_device *dev)
>  	encoder = list_first_entry(&dev->mode_config.encoder_list, struct drm_encoder, head);
>  	drm_connector_attach_encoder(connector, encoder);
>  
> -	ast_connector->i2c = ast_i2c_create(dev);
> -	if (!ast_connector->i2c)
> -		DRM_ERROR("failed to add ddc bus for connector\n");
> -
>  	return 0;
>  }
>  
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah
HRB 21284 (AG Nürnberg)


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply

* Re: [PATCH v4 16/23] drm/mgag200: Provide ddc symlink in connector sysfs directory
From: Thomas Zimmermann @ 2019-07-11 17:26 UTC (permalink / raw)
  To: Andrzej Pietrasiewicz, dri-devel
  Cc: Sam Ravnborg, Neil Armstrong, Maxime Ripard, Douglas Anderson,
	Thierry Reding, Laurent Pinchart, kernel, linux-samsung-soc,
	linux-rockchip, Vincent Abriou, Krzysztof Kozlowski,
	Jonathan Hunter, David Airlie, Chen-Yu Tsai, Kukjin Kim,
	NXP Linux Team, Dave Airlie, intel-gfx, linux-tegra,
	Jonas Karlman, linux-arm-msm, Alexios Zavras, Mamta Shukla,
	linux-mediatek, Jyr
In-Reply-To: <d32a6b1f0a3b79f1fbc8d0894080908526f6e61e.1562843413.git.andrzej.p@collabora.com>


[-- Attachment #1.1.1: Type: text/plain, Size: 1534 bytes --]

Acked-by: Thomas Zimmermann <tzimmermann@suse.de>

Am 11.07.19 um 13:26 schrieb Andrzej Pietrasiewicz:
> Use the ddc pointer provided by the generic connector.
> 
> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
> ---
>  drivers/gpu/drm/mgag200/mgag200_mode.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c
> index a25054015e8c..8fb9444b2142 100644
> --- a/drivers/gpu/drm/mgag200/mgag200_mode.c
> +++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
> @@ -1703,6 +1703,11 @@ static struct drm_connector *mga_vga_init(struct drm_device *dev)
>  		return NULL;
>  
>  	connector = &mga_connector->base;
> +	mga_connector->i2c = mgag200_i2c_create(dev);
> +	if (!mga_connector->i2c)
> +		DRM_ERROR("failed to add ddc bus\n");
> +
> +	connector->ddc = &mga_connector->i2c->adapter;
>  
>  	drm_connector_init(dev, connector,
>  			   &mga_vga_connector_funcs, DRM_MODE_CONNECTOR_VGA);
> @@ -1711,10 +1716,6 @@ static struct drm_connector *mga_vga_init(struct drm_device *dev)
>  
>  	drm_connector_register(connector);
>  
> -	mga_connector->i2c = mgag200_i2c_create(dev);
> -	if (!mga_connector->i2c)
> -		DRM_ERROR("failed to add ddc bus\n");
> -
>  	return connector;
>  }
>  
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah
HRB 21284 (AG Nürnberg)


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply

* Re: [PATCH v2 2/6] ARM: tegra: Expose functions required for cpuidle driver
From: Dmitry Osipenko @ 2019-07-11 17:25 UTC (permalink / raw)
  To: Jon Hunter, Thierry Reding, Peter De Schrijver, Rafael J. Wysocki,
	Daniel Lezcano
  Cc: linux-tegra, linux-kernel, linux-arm-kernel, linux-pm
In-Reply-To: <bc6e96be-91ee-5d94-cbc2-46d2e2f25bce@nvidia.com>

11.07.2019 15:42, Jon Hunter пишет:
> 
> On 11/07/2019 04:13, Dmitry Osipenko wrote:
>> The upcoming unified CPUIDLE driver will be added to the drivers/cpuidle/
>> directory and it will require all these Tegra PM-core functions.
>>
>> Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
>> ---
>>  arch/arm/mach-tegra/Makefile  |  2 +-
>>  arch/arm/mach-tegra/platsmp.c |  2 --
>>  arch/arm/mach-tegra/pm.c      | 16 +++++++---------
>>  arch/arm/mach-tegra/pm.h      |  3 ---
>>  arch/arm/mach-tegra/sleep.h   |  1 -
>>  include/linux/clk/tegra.h     | 13 +++++++++++++
>>  include/soc/tegra/pm.h        | 28 ++++++++++++++++++++++++++++
>>  7 files changed, 49 insertions(+), 16 deletions(-)
>>
>> diff --git a/arch/arm/mach-tegra/Makefile b/arch/arm/mach-tegra/Makefile
>> index 5d93a0b36866..27bd5d9865e3 100644
>> --- a/arch/arm/mach-tegra/Makefile
>> +++ b/arch/arm/mach-tegra/Makefile
>> @@ -13,7 +13,7 @@ obj-$(CONFIG_ARCH_TEGRA_2x_SOC)		+= pm-tegra20.o
>>  obj-$(CONFIG_ARCH_TEGRA_3x_SOC)		+= sleep-tegra30.o
>>  obj-$(CONFIG_ARCH_TEGRA_3x_SOC)		+= pm-tegra30.o
>>  obj-$(CONFIG_SMP)			+= platsmp.o
>> -obj-$(CONFIG_HOTPLUG_CPU)               += hotplug.o
>> +obj-y					+= hotplug.o
>>  
>>  obj-$(CONFIG_ARCH_TEGRA_114_SOC)	+= sleep-tegra30.o
>>  obj-$(CONFIG_ARCH_TEGRA_114_SOC)	+= pm-tegra30.o
>> diff --git a/arch/arm/mach-tegra/platsmp.c b/arch/arm/mach-tegra/platsmp.c
>> index e6911a14c096..c8a63719a143 100644
>> --- a/arch/arm/mach-tegra/platsmp.c
>> +++ b/arch/arm/mach-tegra/platsmp.c
>> @@ -183,8 +183,6 @@ const struct smp_operations tegra_smp_ops __initconst = {
>>  	.smp_prepare_cpus	= tegra_smp_prepare_cpus,
>>  	.smp_secondary_init	= tegra_secondary_init,
>>  	.smp_boot_secondary	= tegra_boot_secondary,
>> -#ifdef CONFIG_HOTPLUG_CPU
>>  	.cpu_kill		= tegra_cpu_kill,
>>  	.cpu_die		= tegra_cpu_die,
>> -#endif
>>  };
>> diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c
>> index 6aaacb5757e1..f9c9bce9e15d 100644
>> --- a/arch/arm/mach-tegra/pm.c
>> +++ b/arch/arm/mach-tegra/pm.c
>> @@ -123,11 +123,9 @@ void tegra_clear_cpu_in_lp2(void)
>>  	spin_unlock(&tegra_lp2_lock);
>>  }
>>  
>> -bool tegra_set_cpu_in_lp2(void)
>> +void tegra_set_cpu_in_lp2(void)
>>  {
>>  	int phy_cpu_id = cpu_logical_map(smp_processor_id());
>> -	bool last_cpu = false;
>> -	cpumask_t *cpu_lp2_mask = tegra_cpu_lp2_mask;
>>  	u32 *cpu_in_lp2 = tegra_cpu_lp2_mask;
>>  
>>  	spin_lock(&tegra_lp2_lock);
>> @@ -135,11 +133,7 @@ bool tegra_set_cpu_in_lp2(void)
>>  	BUG_ON((*cpu_in_lp2 & BIT(phy_cpu_id)));
>>  	*cpu_in_lp2 |= BIT(phy_cpu_id);
>>  
>> -	if ((phy_cpu_id == 0) && cpumask_equal(cpu_lp2_mask, cpu_online_mask))
>> -		last_cpu = true;
>> -
>>  	spin_unlock(&tegra_lp2_lock);
>> -	return last_cpu;
>>  }
> 
> I think that the commit message should describe what is going on here or
> this should be a separate change.

Indeed, it could be not very obvious what's going on here without a
thorough review. I'll factor out all these minor changes into separate
commits.

In particular there is no need to know whether CPU is the "last_cpu" for
the new driver because CPU0 is always the "last" since it awaits for the
secondaries in the coupled state.

>>  static int tegra_sleep_cpu(unsigned long v2p)
>> @@ -195,14 +189,16 @@ static void tegra_pm_set(enum tegra_suspend_mode mode)
>>  	tegra_pmc_enter_suspend_mode(mode);
>>  }
>>  
>> -void tegra_idle_lp2_last(void)
>> +int tegra_idle_lp2_last(void)
>>  {
>> +	int err;
>> +
>>  	tegra_pm_set(TEGRA_SUSPEND_LP2);
>>  
>>  	cpu_cluster_pm_enter();
>>  	suspend_cpu_complex();
>>  
>> -	cpu_suspend(PHYS_OFFSET - PAGE_OFFSET, &tegra_sleep_cpu);
>> +	err = cpu_suspend(PHYS_OFFSET - PAGE_OFFSET, &tegra_sleep_cpu);
>>  
>>  	/*
>>  	 * Resume L2 cache if it wasn't re-enabled early during resume,
>> @@ -214,6 +210,8 @@ void tegra_idle_lp2_last(void)
>>  
>>  	restore_cpu_complex();
>>  	cpu_cluster_pm_exit();
>> +
>> +	return err;
>>  }
>>  
>>  enum tegra_suspend_mode tegra_pm_validate_suspend_mode(
>> diff --git a/arch/arm/mach-tegra/pm.h b/arch/arm/mach-tegra/pm.h
>> index 1e51a9b636eb..81525f5f4a44 100644
>> --- a/arch/arm/mach-tegra/pm.h
>> +++ b/arch/arm/mach-tegra/pm.h
>> @@ -23,9 +23,6 @@ void tegra20_sleep_core_init(void);
>>  void tegra30_lp1_iram_hook(void);
>>  void tegra30_sleep_core_init(void);
>>  
>> -void tegra_clear_cpu_in_lp2(void);
>> -bool tegra_set_cpu_in_lp2(void);
>> -void tegra_idle_lp2_last(void);
>>  extern void (*tegra_tear_down_cpu)(void);
>>  
>>  #ifdef CONFIG_PM_SLEEP
>> diff --git a/arch/arm/mach-tegra/sleep.h b/arch/arm/mach-tegra/sleep.h
>> index d219872b7546..0d9956e9a8ea 100644
>> --- a/arch/arm/mach-tegra/sleep.h
>> +++ b/arch/arm/mach-tegra/sleep.h
>> @@ -124,7 +124,6 @@ void tegra30_hotplug_shutdown(void);
>>  #endif
>>  
>>  void tegra20_tear_down_cpu(void);
>> -int tegra30_sleep_cpu_secondary_finish(unsigned long);
>>  void tegra30_tear_down_cpu(void);
>>  
>>  #endif
>> diff --git a/include/linux/clk/tegra.h b/include/linux/clk/tegra.h
>> index b8aef62cc3f5..cf0f2cb5e109 100644
>> --- a/include/linux/clk/tegra.h
>> +++ b/include/linux/clk/tegra.h
>> @@ -108,6 +108,19 @@ static inline void tegra_cpu_clock_resume(void)
>>  
>>  	tegra_cpu_car_ops->resume();
>>  }
>> +#else
>> +static inline bool tegra_cpu_rail_off_ready(void)
>> +{
>> +	return false;
>> +}
>> +
>> +static inline void tegra_cpu_clock_suspend(void)
>> +{
>> +}
>> +
>> +static inline void tegra_cpu_clock_resume(void)
>> +{
>> +}
>>  #endif
>>  
>>  extern void tegra210_xusb_pll_hw_control_enable(void);
>> diff --git a/include/soc/tegra/pm.h b/include/soc/tegra/pm.h
>> index 951fcd738d55..fa18c2df5028 100644
>> --- a/include/soc/tegra/pm.h
>> +++ b/include/soc/tegra/pm.h
>> @@ -20,6 +20,12 @@ tegra_pm_validate_suspend_mode(enum tegra_suspend_mode mode);
>>  
>>  /* low-level resume entry point */
>>  void tegra_resume(void);
>> +
>> +int tegra30_sleep_cpu_secondary_finish(unsigned long arg);
>> +void tegra_clear_cpu_in_lp2(void);
>> +void tegra_set_cpu_in_lp2(void);
>> +int tegra_idle_lp2_last(void);
>> +void tegra_cpu_die(unsigned int cpu);
>>  #else
>>  static inline enum tegra_suspend_mode
>>  tegra_pm_validate_suspend_mode(enum tegra_suspend_mode mode)
>> @@ -30,6 +36,28 @@ tegra_pm_validate_suspend_mode(enum tegra_suspend_mode mode)
>>  static inline void tegra_resume(void)
>>  {
>>  }
>> +
>> +static inline int tegra30_sleep_cpu_secondary_finish(unsigned long arg)
>> +{
>> +	return -1;
>> +}
> 
> -ENOTSUPP?

Good point, thanks!

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply

* Re: [PATCH v2 1/6] ARM: tegra: Remove cpuidle drivers
From: Dmitry Osipenko @ 2019-07-11 17:03 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: <c087a5cb-2ffa-1cf6-f0bf-631234759a22@nvidia.com>

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.

^ permalink raw reply

* Re: [PATCH v1] drm/modes: Skip invalid cmdline mode
From: Dmitry Osipenko @ 2019-07-11 15:55 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: <20190711090327.keuxt2ztfqecdbef@flea>

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()

> 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.

^ permalink raw reply

* Re: [PATCH V13 12/12] PCI: tegra: Add Tegra194 PCIe support
From: Lorenzo Pieralisi @ 2019-07-11 12:54 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: <20190710062212.1745-13-vidyas@nvidia.com>

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 ?

[...]

> +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.

> +	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 ?

> +	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.

> +	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.

> +#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.

> +	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.

> +	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.

> +	}
> +	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.

> +}
> +
> +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.

> +	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 ?

> +		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 ?

> +	}
> +
> +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.

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 v2 2/6] ARM: tegra: Expose functions required for cpuidle driver
From: Jon Hunter @ 2019-07-11 12:42 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: <20190711031312.10038-3-digetx@gmail.com>


On 11/07/2019 04:13, Dmitry Osipenko wrote:
> The upcoming unified CPUIDLE driver will be added to the drivers/cpuidle/
> directory and it will require all these Tegra PM-core functions.
> 
> Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
> ---
>  arch/arm/mach-tegra/Makefile  |  2 +-
>  arch/arm/mach-tegra/platsmp.c |  2 --
>  arch/arm/mach-tegra/pm.c      | 16 +++++++---------
>  arch/arm/mach-tegra/pm.h      |  3 ---
>  arch/arm/mach-tegra/sleep.h   |  1 -
>  include/linux/clk/tegra.h     | 13 +++++++++++++
>  include/soc/tegra/pm.h        | 28 ++++++++++++++++++++++++++++
>  7 files changed, 49 insertions(+), 16 deletions(-)
> 
> diff --git a/arch/arm/mach-tegra/Makefile b/arch/arm/mach-tegra/Makefile
> index 5d93a0b36866..27bd5d9865e3 100644
> --- a/arch/arm/mach-tegra/Makefile
> +++ b/arch/arm/mach-tegra/Makefile
> @@ -13,7 +13,7 @@ obj-$(CONFIG_ARCH_TEGRA_2x_SOC)		+= pm-tegra20.o
>  obj-$(CONFIG_ARCH_TEGRA_3x_SOC)		+= sleep-tegra30.o
>  obj-$(CONFIG_ARCH_TEGRA_3x_SOC)		+= pm-tegra30.o
>  obj-$(CONFIG_SMP)			+= platsmp.o
> -obj-$(CONFIG_HOTPLUG_CPU)               += hotplug.o
> +obj-y					+= hotplug.o
>  
>  obj-$(CONFIG_ARCH_TEGRA_114_SOC)	+= sleep-tegra30.o
>  obj-$(CONFIG_ARCH_TEGRA_114_SOC)	+= pm-tegra30.o
> diff --git a/arch/arm/mach-tegra/platsmp.c b/arch/arm/mach-tegra/platsmp.c
> index e6911a14c096..c8a63719a143 100644
> --- a/arch/arm/mach-tegra/platsmp.c
> +++ b/arch/arm/mach-tegra/platsmp.c
> @@ -183,8 +183,6 @@ const struct smp_operations tegra_smp_ops __initconst = {
>  	.smp_prepare_cpus	= tegra_smp_prepare_cpus,
>  	.smp_secondary_init	= tegra_secondary_init,
>  	.smp_boot_secondary	= tegra_boot_secondary,
> -#ifdef CONFIG_HOTPLUG_CPU
>  	.cpu_kill		= tegra_cpu_kill,
>  	.cpu_die		= tegra_cpu_die,
> -#endif
>  };
> diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c
> index 6aaacb5757e1..f9c9bce9e15d 100644
> --- a/arch/arm/mach-tegra/pm.c
> +++ b/arch/arm/mach-tegra/pm.c
> @@ -123,11 +123,9 @@ void tegra_clear_cpu_in_lp2(void)
>  	spin_unlock(&tegra_lp2_lock);
>  }
>  
> -bool tegra_set_cpu_in_lp2(void)
> +void tegra_set_cpu_in_lp2(void)
>  {
>  	int phy_cpu_id = cpu_logical_map(smp_processor_id());
> -	bool last_cpu = false;
> -	cpumask_t *cpu_lp2_mask = tegra_cpu_lp2_mask;
>  	u32 *cpu_in_lp2 = tegra_cpu_lp2_mask;
>  
>  	spin_lock(&tegra_lp2_lock);
> @@ -135,11 +133,7 @@ bool tegra_set_cpu_in_lp2(void)
>  	BUG_ON((*cpu_in_lp2 & BIT(phy_cpu_id)));
>  	*cpu_in_lp2 |= BIT(phy_cpu_id);
>  
> -	if ((phy_cpu_id == 0) && cpumask_equal(cpu_lp2_mask, cpu_online_mask))
> -		last_cpu = true;
> -
>  	spin_unlock(&tegra_lp2_lock);
> -	return last_cpu;
>  }

I think that the commit message should describe what is going on here or
this should be a separate change.

>  
>  static int tegra_sleep_cpu(unsigned long v2p)
> @@ -195,14 +189,16 @@ static void tegra_pm_set(enum tegra_suspend_mode mode)
>  	tegra_pmc_enter_suspend_mode(mode);
>  }
>  
> -void tegra_idle_lp2_last(void)
> +int tegra_idle_lp2_last(void)
>  {
> +	int err;
> +
>  	tegra_pm_set(TEGRA_SUSPEND_LP2);
>  
>  	cpu_cluster_pm_enter();
>  	suspend_cpu_complex();
>  
> -	cpu_suspend(PHYS_OFFSET - PAGE_OFFSET, &tegra_sleep_cpu);
> +	err = cpu_suspend(PHYS_OFFSET - PAGE_OFFSET, &tegra_sleep_cpu);
>  
>  	/*
>  	 * Resume L2 cache if it wasn't re-enabled early during resume,
> @@ -214,6 +210,8 @@ void tegra_idle_lp2_last(void)
>  
>  	restore_cpu_complex();
>  	cpu_cluster_pm_exit();
> +
> +	return err;
>  }
>  
>  enum tegra_suspend_mode tegra_pm_validate_suspend_mode(
> diff --git a/arch/arm/mach-tegra/pm.h b/arch/arm/mach-tegra/pm.h
> index 1e51a9b636eb..81525f5f4a44 100644
> --- a/arch/arm/mach-tegra/pm.h
> +++ b/arch/arm/mach-tegra/pm.h
> @@ -23,9 +23,6 @@ void tegra20_sleep_core_init(void);
>  void tegra30_lp1_iram_hook(void);
>  void tegra30_sleep_core_init(void);
>  
> -void tegra_clear_cpu_in_lp2(void);
> -bool tegra_set_cpu_in_lp2(void);
> -void tegra_idle_lp2_last(void);
>  extern void (*tegra_tear_down_cpu)(void);
>  
>  #ifdef CONFIG_PM_SLEEP
> diff --git a/arch/arm/mach-tegra/sleep.h b/arch/arm/mach-tegra/sleep.h
> index d219872b7546..0d9956e9a8ea 100644
> --- a/arch/arm/mach-tegra/sleep.h
> +++ b/arch/arm/mach-tegra/sleep.h
> @@ -124,7 +124,6 @@ void tegra30_hotplug_shutdown(void);
>  #endif
>  
>  void tegra20_tear_down_cpu(void);
> -int tegra30_sleep_cpu_secondary_finish(unsigned long);
>  void tegra30_tear_down_cpu(void);
>  
>  #endif
> diff --git a/include/linux/clk/tegra.h b/include/linux/clk/tegra.h
> index b8aef62cc3f5..cf0f2cb5e109 100644
> --- a/include/linux/clk/tegra.h
> +++ b/include/linux/clk/tegra.h
> @@ -108,6 +108,19 @@ static inline void tegra_cpu_clock_resume(void)
>  
>  	tegra_cpu_car_ops->resume();
>  }
> +#else
> +static inline bool tegra_cpu_rail_off_ready(void)
> +{
> +	return false;
> +}
> +
> +static inline void tegra_cpu_clock_suspend(void)
> +{
> +}
> +
> +static inline void tegra_cpu_clock_resume(void)
> +{
> +}
>  #endif
>  
>  extern void tegra210_xusb_pll_hw_control_enable(void);
> diff --git a/include/soc/tegra/pm.h b/include/soc/tegra/pm.h
> index 951fcd738d55..fa18c2df5028 100644
> --- a/include/soc/tegra/pm.h
> +++ b/include/soc/tegra/pm.h
> @@ -20,6 +20,12 @@ tegra_pm_validate_suspend_mode(enum tegra_suspend_mode mode);
>  
>  /* low-level resume entry point */
>  void tegra_resume(void);
> +
> +int tegra30_sleep_cpu_secondary_finish(unsigned long arg);
> +void tegra_clear_cpu_in_lp2(void);
> +void tegra_set_cpu_in_lp2(void);
> +int tegra_idle_lp2_last(void);
> +void tegra_cpu_die(unsigned int cpu);
>  #else
>  static inline enum tegra_suspend_mode
>  tegra_pm_validate_suspend_mode(enum tegra_suspend_mode mode)
> @@ -30,6 +36,28 @@ tegra_pm_validate_suspend_mode(enum tegra_suspend_mode mode)
>  static inline void tegra_resume(void)
>  {
>  }
> +
> +static inline int tegra30_sleep_cpu_secondary_finish(unsigned long arg)
> +{
> +	return -1;
> +}

-ENOTSUPP?

Jon

-- 
nvpublic

^ permalink raw reply

* [PATCH v4 23/23] drm/i915: Provide ddc symlink in hdmi connector sysfs directory
From: Andrzej Pietrasiewicz @ 2019-07-11 11:26 UTC (permalink / raw)
  To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
  Cc: Y.C. Chen, Heiko Stübner, Sam Ravnborg, Neil Armstrong,
	Maxime Ripard, Ramalingam C, Joonas Lahtinen, Douglas Anderson,
	Andrzej Hajda, Thierry Reding, Laurent Pinchart,
	Benjamin Gaignard, kernel-ZGY8ohtN/8qB+jHODAdFcQ, Fabio Estevam,
	Ville Syrjälä, David (ChunMing) Zhou,
	linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, Joonyoung Shim,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Vincent Abriou,
	Rob Clark
In-Reply-To: <cover.1562843413.git.andrzej.p-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>

Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/gpu/drm/i915/display/intel_hdmi.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index 0ebec69bbbfc..678fa4d1bd4e 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -3094,6 +3094,9 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port,
 		 intel_dig_port->max_lanes, port_name(port)))
 		return;
 
+	intel_hdmi->ddc_bus = intel_hdmi_ddc_pin(dev_priv, port);
+	connector->ddc = intel_gmbus_get_adapter(dev_priv, intel_hdmi->ddc_bus);
+
 	drm_connector_init(dev, connector, &intel_hdmi_connector_funcs,
 			   DRM_MODE_CONNECTOR_HDMIA);
 	drm_connector_helper_add(connector, &intel_hdmi_connector_helper_funcs);
@@ -3105,8 +3108,6 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port,
 	if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
 		connector->ycbcr_420_allowed = true;
 
-	intel_hdmi->ddc_bus = intel_hdmi_ddc_pin(dev_priv, port);
-
 	if (WARN_ON(port == PORT_A))
 		return;
 	intel_encoder->hpd_pin = intel_hpd_pin_default(dev_priv, port);
-- 
2.17.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related

* [PATCH v4 22/23] drm/radeon: Provide ddc symlink in connector sysfs directory
From: Andrzej Pietrasiewicz @ 2019-07-11 11:26 UTC (permalink / raw)
  To: dri-devel
  Cc: Sam Ravnborg, Neil Armstrong, Maxime Ripard, Douglas Anderson,
	Thierry Reding, Laurent Pinchart, kernel, linux-samsung-soc,
	linux-rockchip, Vincent Abriou, Krzysztof Kozlowski,
	Jonathan Hunter, David Airlie, Chen-Yu Tsai, Kukjin Kim,
	NXP Linux Team, Dave Airlie, intel-gfx, freedreno, linux-tegra,
	Jonas Karlman, linux-arm-msm, Mamta Shukla, linux-mediatek,
	Jyri Sarha <js>
In-Reply-To: <cover.1562843413.git.andrzej.p@collabora.com>

Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/gpu/drm/radeon/radeon_connectors.c | 80 ++++++++++++++--------
 1 file changed, 52 insertions(+), 28 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c
index c60d1a44d22a..ee7430d0516e 100644
--- a/drivers/gpu/drm/radeon/radeon_connectors.c
+++ b/drivers/gpu/drm/radeon/radeon_connectors.c
@@ -1947,10 +1947,12 @@ radeon_add_atom_connector(struct drm_device *dev,
 		radeon_connector->con_priv = radeon_dig_connector;
 		if (i2c_bus->valid) {
 			radeon_connector->ddc_bus = radeon_i2c_lookup(rdev, i2c_bus);
-			if (radeon_connector->ddc_bus)
+			if (radeon_connector->ddc_bus) {
 				has_aux = true;
-			else
+				connector->ddc = &radeon_connector->ddc_bus->adapter;
+			} else {
 				DRM_ERROR("DP: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+			}
 		}
 		switch (connector_type) {
 		case DRM_MODE_CONNECTOR_VGA:
@@ -2042,13 +2044,15 @@ radeon_add_atom_connector(struct drm_device *dev,
 	} else {
 		switch (connector_type) {
 		case DRM_MODE_CONNECTOR_VGA:
-			drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type);
-			drm_connector_helper_add(&radeon_connector->base, &radeon_vga_connector_helper_funcs);
 			if (i2c_bus->valid) {
 				radeon_connector->ddc_bus = radeon_i2c_lookup(rdev, i2c_bus);
 				if (!radeon_connector->ddc_bus)
 					DRM_ERROR("VGA: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+				else
+					connector->ddc = &radeon_connector->ddc_bus->adapter;
 			}
+			drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type);
+			drm_connector_helper_add(&radeon_connector->base, &radeon_vga_connector_helper_funcs);
 			radeon_connector->dac_load_detect = true;
 			drm_object_attach_property(&radeon_connector->base.base,
 						      rdev->mode_info.load_detect_property,
@@ -2067,13 +2071,15 @@ radeon_add_atom_connector(struct drm_device *dev,
 			connector->doublescan_allowed = true;
 			break;
 		case DRM_MODE_CONNECTOR_DVIA:
-			drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type);
-			drm_connector_helper_add(&radeon_connector->base, &radeon_vga_connector_helper_funcs);
 			if (i2c_bus->valid) {
 				radeon_connector->ddc_bus = radeon_i2c_lookup(rdev, i2c_bus);
 				if (!radeon_connector->ddc_bus)
 					DRM_ERROR("DVIA: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+				else
+					connector->ddc = &radeon_connector->ddc_bus->adapter;
 			}
+			drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type);
+			drm_connector_helper_add(&radeon_connector->base, &radeon_vga_connector_helper_funcs);
 			radeon_connector->dac_load_detect = true;
 			drm_object_attach_property(&radeon_connector->base.base,
 						      rdev->mode_info.load_detect_property,
@@ -2098,13 +2104,15 @@ radeon_add_atom_connector(struct drm_device *dev,
 				goto failed;
 			radeon_dig_connector->igp_lane_info = igp_lane_info;
 			radeon_connector->con_priv = radeon_dig_connector;
-			drm_connector_init(dev, &radeon_connector->base, &radeon_dvi_connector_funcs, connector_type);
-			drm_connector_helper_add(&radeon_connector->base, &radeon_dvi_connector_helper_funcs);
 			if (i2c_bus->valid) {
 				radeon_connector->ddc_bus = radeon_i2c_lookup(rdev, i2c_bus);
 				if (!radeon_connector->ddc_bus)
 					DRM_ERROR("DVI: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+				else
+					connector->ddc = &radeon_connector->ddc_bus->adapter;
 			}
+			drm_connector_init(dev, &radeon_connector->base, &radeon_dvi_connector_funcs, connector_type);
+			drm_connector_helper_add(&radeon_connector->base, &radeon_dvi_connector_helper_funcs);
 			subpixel_order = SubPixelHorizontalRGB;
 			drm_object_attach_property(&radeon_connector->base.base,
 						      rdev->mode_info.coherent_mode_property,
@@ -2155,13 +2163,15 @@ radeon_add_atom_connector(struct drm_device *dev,
 				goto failed;
 			radeon_dig_connector->igp_lane_info = igp_lane_info;
 			radeon_connector->con_priv = radeon_dig_connector;
-			drm_connector_init(dev, &radeon_connector->base, &radeon_dvi_connector_funcs, connector_type);
-			drm_connector_helper_add(&radeon_connector->base, &radeon_dvi_connector_helper_funcs);
 			if (i2c_bus->valid) {
 				radeon_connector->ddc_bus = radeon_i2c_lookup(rdev, i2c_bus);
 				if (!radeon_connector->ddc_bus)
 					DRM_ERROR("HDMI: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+				else
+					connector->ddc = &radeon_connector->ddc_bus->adapter;
 			}
+			drm_connector_init(dev, &radeon_connector->base, &radeon_dvi_connector_funcs, connector_type);
+			drm_connector_helper_add(&radeon_connector->base, &radeon_dvi_connector_helper_funcs);
 			drm_object_attach_property(&radeon_connector->base.base,
 						      rdev->mode_info.coherent_mode_property,
 						      1);
@@ -2205,15 +2215,17 @@ radeon_add_atom_connector(struct drm_device *dev,
 				goto failed;
 			radeon_dig_connector->igp_lane_info = igp_lane_info;
 			radeon_connector->con_priv = radeon_dig_connector;
-			drm_connector_init(dev, &radeon_connector->base, &radeon_dp_connector_funcs, connector_type);
-			drm_connector_helper_add(&radeon_connector->base, &radeon_dp_connector_helper_funcs);
 			if (i2c_bus->valid) {
 				radeon_connector->ddc_bus = radeon_i2c_lookup(rdev, i2c_bus);
-				if (radeon_connector->ddc_bus)
+				if (radeon_connector->ddc_bus) {
 					has_aux = true;
-				else
+					connector->ddc = &radeon_connector->ddc_bus->adapter;
+				} else {
 					DRM_ERROR("DP: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+				}
 			}
+			drm_connector_init(dev, &radeon_connector->base, &radeon_dp_connector_funcs, connector_type);
+			drm_connector_helper_add(&radeon_connector->base, &radeon_dp_connector_helper_funcs);
 			subpixel_order = SubPixelHorizontalRGB;
 			drm_object_attach_property(&radeon_connector->base.base,
 						      rdev->mode_info.coherent_mode_property,
@@ -2255,15 +2267,17 @@ radeon_add_atom_connector(struct drm_device *dev,
 				goto failed;
 			radeon_dig_connector->igp_lane_info = igp_lane_info;
 			radeon_connector->con_priv = radeon_dig_connector;
-			drm_connector_init(dev, &radeon_connector->base, &radeon_edp_connector_funcs, connector_type);
-			drm_connector_helper_add(&radeon_connector->base, &radeon_dp_connector_helper_funcs);
 			if (i2c_bus->valid) {
 				radeon_connector->ddc_bus = radeon_i2c_lookup(rdev, i2c_bus);
-				if (radeon_connector->ddc_bus)
+				if (radeon_connector->ddc_bus) {
 					has_aux = true;
-				else
+					connector->ddc = &radeon_connector->ddc_bus->adapter;
+				} else {
 					DRM_ERROR("DP: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+				}
 			}
+			drm_connector_init(dev, &radeon_connector->base, &radeon_edp_connector_funcs, connector_type);
+			drm_connector_helper_add(&radeon_connector->base, &radeon_dp_connector_helper_funcs);
 			drm_object_attach_property(&radeon_connector->base.base,
 						      dev->mode_config.scaling_mode_property,
 						      DRM_MODE_SCALE_FULLSCREEN);
@@ -2294,13 +2308,15 @@ radeon_add_atom_connector(struct drm_device *dev,
 				goto failed;
 			radeon_dig_connector->igp_lane_info = igp_lane_info;
 			radeon_connector->con_priv = radeon_dig_connector;
-			drm_connector_init(dev, &radeon_connector->base, &radeon_lvds_connector_funcs, connector_type);
-			drm_connector_helper_add(&radeon_connector->base, &radeon_lvds_connector_helper_funcs);
 			if (i2c_bus->valid) {
 				radeon_connector->ddc_bus = radeon_i2c_lookup(rdev, i2c_bus);
 				if (!radeon_connector->ddc_bus)
 					DRM_ERROR("LVDS: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+				else
+					connector->ddc = &radeon_connector->ddc_bus->adapter;
 			}
+			drm_connector_init(dev, &radeon_connector->base, &radeon_lvds_connector_funcs, connector_type);
+			drm_connector_helper_add(&radeon_connector->base, &radeon_lvds_connector_helper_funcs);
 			drm_object_attach_property(&radeon_connector->base.base,
 						      dev->mode_config.scaling_mode_property,
 						      DRM_MODE_SCALE_FULLSCREEN);
@@ -2378,13 +2394,15 @@ radeon_add_legacy_connector(struct drm_device *dev,
 
 	switch (connector_type) {
 	case DRM_MODE_CONNECTOR_VGA:
-		drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type);
-		drm_connector_helper_add(&radeon_connector->base, &radeon_vga_connector_helper_funcs);
 		if (i2c_bus->valid) {
 			radeon_connector->ddc_bus = radeon_i2c_lookup(rdev, i2c_bus);
 			if (!radeon_connector->ddc_bus)
 				DRM_ERROR("VGA: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+			else
+				connector->ddc = &radeon_connector->ddc_bus->adapter;
 		}
+		drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type);
+		drm_connector_helper_add(&radeon_connector->base, &radeon_vga_connector_helper_funcs);
 		radeon_connector->dac_load_detect = true;
 		drm_object_attach_property(&radeon_connector->base.base,
 					      rdev->mode_info.load_detect_property,
@@ -2395,13 +2413,15 @@ radeon_add_legacy_connector(struct drm_device *dev,
 		connector->doublescan_allowed = true;
 		break;
 	case DRM_MODE_CONNECTOR_DVIA:
-		drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type);
-		drm_connector_helper_add(&radeon_connector->base, &radeon_vga_connector_helper_funcs);
 		if (i2c_bus->valid) {
 			radeon_connector->ddc_bus = radeon_i2c_lookup(rdev, i2c_bus);
 			if (!radeon_connector->ddc_bus)
 				DRM_ERROR("DVIA: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+			else
+				connector->ddc = &radeon_connector->ddc_bus->adapter;
 		}
+		drm_connector_init(dev, &radeon_connector->base, &radeon_vga_connector_funcs, connector_type);
+		drm_connector_helper_add(&radeon_connector->base, &radeon_vga_connector_helper_funcs);
 		radeon_connector->dac_load_detect = true;
 		drm_object_attach_property(&radeon_connector->base.base,
 					      rdev->mode_info.load_detect_property,
@@ -2413,13 +2433,15 @@ radeon_add_legacy_connector(struct drm_device *dev,
 		break;
 	case DRM_MODE_CONNECTOR_DVII:
 	case DRM_MODE_CONNECTOR_DVID:
-		drm_connector_init(dev, &radeon_connector->base, &radeon_dvi_connector_funcs, connector_type);
-		drm_connector_helper_add(&radeon_connector->base, &radeon_dvi_connector_helper_funcs);
 		if (i2c_bus->valid) {
 			radeon_connector->ddc_bus = radeon_i2c_lookup(rdev, i2c_bus);
 			if (!radeon_connector->ddc_bus)
 				DRM_ERROR("DVI: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+			else
+				connector->ddc = &radeon_connector->ddc_bus->adapter;
 		}
+		drm_connector_init(dev, &radeon_connector->base, &radeon_dvi_connector_funcs, connector_type);
+		drm_connector_helper_add(&radeon_connector->base, &radeon_dvi_connector_helper_funcs);
 		if (connector_type == DRM_MODE_CONNECTOR_DVII) {
 			radeon_connector->dac_load_detect = true;
 			drm_object_attach_property(&radeon_connector->base.base,
@@ -2458,13 +2480,15 @@ radeon_add_legacy_connector(struct drm_device *dev,
 		connector->doublescan_allowed = false;
 		break;
 	case DRM_MODE_CONNECTOR_LVDS:
-		drm_connector_init(dev, &radeon_connector->base, &radeon_lvds_connector_funcs, connector_type);
-		drm_connector_helper_add(&radeon_connector->base, &radeon_lvds_connector_helper_funcs);
 		if (i2c_bus->valid) {
 			radeon_connector->ddc_bus = radeon_i2c_lookup(rdev, i2c_bus);
 			if (!radeon_connector->ddc_bus)
 				DRM_ERROR("LVDS: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+			else
+				connector->ddc = &radeon_connector->ddc_bus->adapter;
 		}
+		drm_connector_init(dev, &radeon_connector->base, &radeon_lvds_connector_funcs, connector_type);
+		drm_connector_helper_add(&radeon_connector->base, &radeon_lvds_connector_helper_funcs);
 		drm_object_attach_property(&radeon_connector->base.base,
 					      dev->mode_config.scaling_mode_property,
 					      DRM_MODE_SCALE_FULLSCREEN);
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related

* [PATCH v4 21/23] drm/amdgpu: Provide ddc symlink in connector sysfs directory
From: Andrzej Pietrasiewicz @ 2019-07-11 11:26 UTC (permalink / raw)
  To: dri-devel
  Cc: Sam Ravnborg, Neil Armstrong, Maxime Ripard, Douglas Anderson,
	Thierry Reding, Laurent Pinchart, kernel, linux-samsung-soc,
	linux-rockchip, Oleksandr Andrushchenko, Vincent Abriou,
	Krzysztof Kozlowski, Jonathan Hunter, David Airlie, Chen-Yu Tsai,
	Kukjin Kim, NXP Linux Team, Dave Airlie, intel-gfx, freedreno,
	linux-tegra, Jonas Karlman, linux-arm-msm, Mamta Shukla
In-Reply-To: <cover.1562843413.git.andrzej.p@collabora.com>

Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 .../gpu/drm/amd/amdgpu/amdgpu_connectors.c    | 56 ++++++++++++-------
 1 file changed, 36 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
index 73b2ede773d3..e119d4c1f724 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
@@ -1574,10 +1574,12 @@ amdgpu_connector_add(struct amdgpu_device *adev,
 		amdgpu_connector->con_priv = amdgpu_dig_connector;
 		if (i2c_bus->valid) {
 			amdgpu_connector->ddc_bus = amdgpu_i2c_lookup(adev, i2c_bus);
-			if (amdgpu_connector->ddc_bus)
+			if (amdgpu_connector->ddc_bus) {
 				has_aux = true;
-			else
+				connector->ddc = &amdgpu_connector->ddc_bus->adapter;
+			} else {
 				DRM_ERROR("DP: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+			}
 		}
 		switch (connector_type) {
 		case DRM_MODE_CONNECTOR_VGA:
@@ -1659,13 +1661,15 @@ amdgpu_connector_add(struct amdgpu_device *adev,
 	} else {
 		switch (connector_type) {
 		case DRM_MODE_CONNECTOR_VGA:
-			drm_connector_init(dev, &amdgpu_connector->base, &amdgpu_connector_vga_funcs, connector_type);
-			drm_connector_helper_add(&amdgpu_connector->base, &amdgpu_connector_vga_helper_funcs);
 			if (i2c_bus->valid) {
 				amdgpu_connector->ddc_bus = amdgpu_i2c_lookup(adev, i2c_bus);
 				if (!amdgpu_connector->ddc_bus)
 					DRM_ERROR("VGA: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+				else
+					connector->ddc = &amdgpu_connector->ddc_bus->adapter;
 			}
+			drm_connector_init(dev, &amdgpu_connector->base, &amdgpu_connector_vga_funcs, connector_type);
+			drm_connector_helper_add(&amdgpu_connector->base, &amdgpu_connector_vga_helper_funcs);
 			amdgpu_connector->dac_load_detect = true;
 			drm_object_attach_property(&amdgpu_connector->base.base,
 						      adev->mode_info.load_detect_property,
@@ -1679,13 +1683,15 @@ amdgpu_connector_add(struct amdgpu_device *adev,
 			connector->doublescan_allowed = true;
 			break;
 		case DRM_MODE_CONNECTOR_DVIA:
-			drm_connector_init(dev, &amdgpu_connector->base, &amdgpu_connector_vga_funcs, connector_type);
-			drm_connector_helper_add(&amdgpu_connector->base, &amdgpu_connector_vga_helper_funcs);
 			if (i2c_bus->valid) {
 				amdgpu_connector->ddc_bus = amdgpu_i2c_lookup(adev, i2c_bus);
 				if (!amdgpu_connector->ddc_bus)
 					DRM_ERROR("DVIA: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+				else
+					connector->ddc = &amdgpu_connector->ddc_bus->adapter;
 			}
+			drm_connector_init(dev, &amdgpu_connector->base, &amdgpu_connector_vga_funcs, connector_type);
+			drm_connector_helper_add(&amdgpu_connector->base, &amdgpu_connector_vga_helper_funcs);
 			amdgpu_connector->dac_load_detect = true;
 			drm_object_attach_property(&amdgpu_connector->base.base,
 						      adev->mode_info.load_detect_property,
@@ -1704,13 +1710,15 @@ amdgpu_connector_add(struct amdgpu_device *adev,
 			if (!amdgpu_dig_connector)
 				goto failed;
 			amdgpu_connector->con_priv = amdgpu_dig_connector;
-			drm_connector_init(dev, &amdgpu_connector->base, &amdgpu_connector_dvi_funcs, connector_type);
-			drm_connector_helper_add(&amdgpu_connector->base, &amdgpu_connector_dvi_helper_funcs);
 			if (i2c_bus->valid) {
 				amdgpu_connector->ddc_bus = amdgpu_i2c_lookup(adev, i2c_bus);
 				if (!amdgpu_connector->ddc_bus)
 					DRM_ERROR("DVI: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+				else
+					connector->ddc = &amdgpu_connector->ddc_bus->adapter;
 			}
+			drm_connector_init(dev, &amdgpu_connector->base, &amdgpu_connector_dvi_funcs, connector_type);
+			drm_connector_helper_add(&amdgpu_connector->base, &amdgpu_connector_dvi_helper_funcs);
 			subpixel_order = SubPixelHorizontalRGB;
 			drm_object_attach_property(&amdgpu_connector->base.base,
 						      adev->mode_info.coherent_mode_property,
@@ -1754,13 +1762,15 @@ amdgpu_connector_add(struct amdgpu_device *adev,
 			if (!amdgpu_dig_connector)
 				goto failed;
 			amdgpu_connector->con_priv = amdgpu_dig_connector;
-			drm_connector_init(dev, &amdgpu_connector->base, &amdgpu_connector_dvi_funcs, connector_type);
-			drm_connector_helper_add(&amdgpu_connector->base, &amdgpu_connector_dvi_helper_funcs);
 			if (i2c_bus->valid) {
 				amdgpu_connector->ddc_bus = amdgpu_i2c_lookup(adev, i2c_bus);
 				if (!amdgpu_connector->ddc_bus)
 					DRM_ERROR("HDMI: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+				else
+					connector->ddc = &amdgpu_connector->ddc_bus->adapter;
 			}
+			drm_connector_init(dev, &amdgpu_connector->base, &amdgpu_connector_dvi_funcs, connector_type);
+			drm_connector_helper_add(&amdgpu_connector->base, &amdgpu_connector_dvi_helper_funcs);
 			drm_object_attach_property(&amdgpu_connector->base.base,
 						      adev->mode_info.coherent_mode_property,
 						      1);
@@ -1796,15 +1806,17 @@ amdgpu_connector_add(struct amdgpu_device *adev,
 			if (!amdgpu_dig_connector)
 				goto failed;
 			amdgpu_connector->con_priv = amdgpu_dig_connector;
-			drm_connector_init(dev, &amdgpu_connector->base, &amdgpu_connector_dp_funcs, connector_type);
-			drm_connector_helper_add(&amdgpu_connector->base, &amdgpu_connector_dp_helper_funcs);
 			if (i2c_bus->valid) {
 				amdgpu_connector->ddc_bus = amdgpu_i2c_lookup(adev, i2c_bus);
-				if (amdgpu_connector->ddc_bus)
+				if (amdgpu_connector->ddc_bus) {
 					has_aux = true;
-				else
+					connector->ddc = &amdgpu_connector->ddc_bus->adapter;
+				} else {
 					DRM_ERROR("DP: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+				}
 			}
+			drm_connector_init(dev, &amdgpu_connector->base, &amdgpu_connector_dp_funcs, connector_type);
+			drm_connector_helper_add(&amdgpu_connector->base, &amdgpu_connector_dp_helper_funcs);
 			subpixel_order = SubPixelHorizontalRGB;
 			drm_object_attach_property(&amdgpu_connector->base.base,
 						      adev->mode_info.coherent_mode_property,
@@ -1838,15 +1850,17 @@ amdgpu_connector_add(struct amdgpu_device *adev,
 			if (!amdgpu_dig_connector)
 				goto failed;
 			amdgpu_connector->con_priv = amdgpu_dig_connector;
-			drm_connector_init(dev, &amdgpu_connector->base, &amdgpu_connector_edp_funcs, connector_type);
-			drm_connector_helper_add(&amdgpu_connector->base, &amdgpu_connector_dp_helper_funcs);
 			if (i2c_bus->valid) {
 				amdgpu_connector->ddc_bus = amdgpu_i2c_lookup(adev, i2c_bus);
-				if (amdgpu_connector->ddc_bus)
+				if (amdgpu_connector->ddc_bus) {
 					has_aux = true;
-				else
+					connector->ddc = &amdgpu_connector->ddc_bus->adapter;
+				} else {
 					DRM_ERROR("DP: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+				}
 			}
+			drm_connector_init(dev, &amdgpu_connector->base, &amdgpu_connector_edp_funcs, connector_type);
+			drm_connector_helper_add(&amdgpu_connector->base, &amdgpu_connector_dp_helper_funcs);
 			drm_object_attach_property(&amdgpu_connector->base.base,
 						      dev->mode_config.scaling_mode_property,
 						      DRM_MODE_SCALE_FULLSCREEN);
@@ -1859,13 +1873,15 @@ amdgpu_connector_add(struct amdgpu_device *adev,
 			if (!amdgpu_dig_connector)
 				goto failed;
 			amdgpu_connector->con_priv = amdgpu_dig_connector;
-			drm_connector_init(dev, &amdgpu_connector->base, &amdgpu_connector_lvds_funcs, connector_type);
-			drm_connector_helper_add(&amdgpu_connector->base, &amdgpu_connector_lvds_helper_funcs);
 			if (i2c_bus->valid) {
 				amdgpu_connector->ddc_bus = amdgpu_i2c_lookup(adev, i2c_bus);
 				if (!amdgpu_connector->ddc_bus)
 					DRM_ERROR("LVDS: Failed to assign ddc bus! Check dmesg for i2c errors.\n");
+				else
+					connector->ddc = &amdgpu_connector->ddc_bus->adapter;
 			}
+			drm_connector_init(dev, &amdgpu_connector->base, &amdgpu_connector_lvds_funcs, connector_type);
+			drm_connector_helper_add(&amdgpu_connector->base, &amdgpu_connector_lvds_helper_funcs);
 			drm_object_attach_property(&amdgpu_connector->base.base,
 						      dev->mode_config.scaling_mode_property,
 						      DRM_MODE_SCALE_FULLSCREEN);
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related

* [PATCH v4 20/23] drm/bridge: ti-tfp410: Provide ddc symlink in connector sysfs directory
From: Andrzej Pietrasiewicz @ 2019-07-11 11:26 UTC (permalink / raw)
  To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
  Cc: Y.C. Chen, Heiko Stübner, Sam Ravnborg, Neil Armstrong,
	Maxime Ripard, Ramalingam C, Joonas Lahtinen, Douglas Anderson,
	Andrzej Hajda, Thierry Reding, Laurent Pinchart,
	Benjamin Gaignard, kernel-ZGY8ohtN/8qB+jHODAdFcQ, Fabio Estevam,
	Ville Syrjälä, David (ChunMing) Zhou,
	linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, Joonyoung Shim,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Vincent Abriou,
	Rob Clark
In-Reply-To: <cover.1562843413.git.andrzej.p-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>

Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/gpu/drm/bridge/ti-tfp410.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c b/drivers/gpu/drm/bridge/ti-tfp410.c
index dbf35c7bc85e..e55358f0a5ba 100644
--- a/drivers/gpu/drm/bridge/ti-tfp410.c
+++ b/drivers/gpu/drm/bridge/ti-tfp410.c
@@ -26,7 +26,6 @@ struct tfp410 {
 	unsigned int		connector_type;
 
 	u32			bus_format;
-	struct i2c_adapter	*ddc;
 	struct gpio_desc	*hpd;
 	int			hpd_irq;
 	struct delayed_work	hpd_work;
@@ -55,10 +54,10 @@ static int tfp410_get_modes(struct drm_connector *connector)
 	struct edid *edid;
 	int ret;
 
-	if (!dvi->ddc)
+	if (!dvi->connector.ddc)
 		goto fallback;
 
-	edid = drm_get_edid(connector, dvi->ddc);
+	edid = drm_get_edid(connector, dvi->connector.ddc);
 	if (!edid) {
 		DRM_INFO("EDID read failed. Fallback to standard modes\n");
 		goto fallback;
@@ -98,8 +97,8 @@ tfp410_connector_detect(struct drm_connector *connector, bool force)
 			return connector_status_disconnected;
 	}
 
-	if (dvi->ddc) {
-		if (drm_probe_ddc(dvi->ddc))
+	if (dvi->connector.ddc) {
+		if (drm_probe_ddc(dvi->connector.ddc))
 			return connector_status_connected;
 		else
 			return connector_status_disconnected;
@@ -297,8 +296,8 @@ static int tfp410_get_connector_properties(struct tfp410 *dvi)
 	if (!ddc_phandle)
 		goto fail;
 
-	dvi->ddc = of_get_i2c_adapter_by_node(ddc_phandle);
-	if (dvi->ddc)
+	dvi->connector.ddc = of_get_i2c_adapter_by_node(ddc_phandle);
+	if (dvi->connector.ddc)
 		dev_info(dvi->dev, "Connector's ddc i2c bus found\n");
 	else
 		ret = -EPROBE_DEFER;
@@ -367,7 +366,7 @@ static int tfp410_init(struct device *dev, bool i2c)
 
 	return 0;
 fail:
-	i2c_put_adapter(dvi->ddc);
+	i2c_put_adapter(dvi->connector.ddc);
 	if (dvi->hpd)
 		gpiod_put(dvi->hpd);
 	return ret;
@@ -382,8 +381,8 @@ static int tfp410_fini(struct device *dev)
 
 	drm_bridge_remove(&dvi->bridge);
 
-	if (dvi->ddc)
-		i2c_put_adapter(dvi->ddc);
+	if (dvi->connector.ddc)
+		i2c_put_adapter(dvi->connector.ddc);
 	if (dvi->hpd)
 		gpiod_put(dvi->hpd);
 
-- 
2.17.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related

* [PATCH v4 19/23] drm/bridge: dw-hdmi: Provide ddc symlink in connector sysfs directory
From: Andrzej Pietrasiewicz @ 2019-07-11 11:26 UTC (permalink / raw)
  To: dri-devel
  Cc: Sam Ravnborg, Neil Armstrong, Maxime Ripard, Douglas Anderson,
	Thierry Reding, Laurent Pinchart, kernel, linux-samsung-soc,
	linux-rockchip, Vincent Abriou, Krzysztof Kozlowski,
	Jonathan Hunter, David Airlie, Chen-Yu Tsai, Kukjin Kim,
	NXP Linux Team, Dave Airlie, intel-gfx, freedreno, linux-tegra,
	Jonas Karlman, linux-arm-msm, Mamta Shukla, linux-mediatek,
	Jyri Sarha <js>
In-Reply-To: <cover.1562843413.git.andrzej.p@collabora.com>

Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 40 +++++++++++------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index c6490949d9db..0b9c9f2619da 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -161,7 +161,6 @@ struct dw_hdmi {
 
 	struct drm_display_mode previous_mode;
 
-	struct i2c_adapter *ddc;
 	void __iomem *regs;
 	bool sink_is_hdmi;
 	bool sink_has_audio;
@@ -1118,7 +1117,7 @@ static bool dw_hdmi_support_scdc(struct dw_hdmi *hdmi)
 		return false;
 
 	/* Disable if no DDC bus */
-	if (!hdmi->ddc)
+	if (!hdmi->connector.ddc)
 		return false;
 
 	/* Disable if SCDC is not supported, or if an HF-VSDB block is absent */
@@ -1156,10 +1155,11 @@ void dw_hdmi_set_high_tmds_clock_ratio(struct dw_hdmi *hdmi)
 
 	/* Control for TMDS Bit Period/TMDS Clock-Period Ratio */
 	if (dw_hdmi_support_scdc(hdmi)) {
+		struct i2c_adapter *ddc = hdmi->connector.ddc;
 		if (mtmdsclock > HDMI14_MAX_TMDSCLK)
-			drm_scdc_set_high_tmds_clock_ratio(hdmi->ddc, 1);
+			drm_scdc_set_high_tmds_clock_ratio(ddc, 1);
 		else
-			drm_scdc_set_high_tmds_clock_ratio(hdmi->ddc, 0);
+			drm_scdc_set_high_tmds_clock_ratio(ddc, 0);
 	}
 }
 EXPORT_SYMBOL_GPL(dw_hdmi_set_high_tmds_clock_ratio);
@@ -1750,6 +1750,7 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
 	if (dw_hdmi_support_scdc(hdmi)) {
 		if (vmode->mtmdsclock > HDMI14_MAX_TMDSCLK ||
 		    hdmi_info->scdc.scrambling.low_rates) {
+			struct i2c_adapter *ddc = hdmi->connector.ddc;
 			/*
 			 * HDMI2.0 Specifies the following procedure:
 			 * After the Source Device has determined that
@@ -1759,13 +1760,12 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
 			 * Source Devices compliant shall set the
 			 * Source Version = 1.
 			 */
-			drm_scdc_readb(hdmi->ddc, SCDC_SINK_VERSION,
-				       &bytes);
-			drm_scdc_writeb(hdmi->ddc, SCDC_SOURCE_VERSION,
+			drm_scdc_readb(ddc, SCDC_SINK_VERSION, &bytes);
+			drm_scdc_writeb(ddc, SCDC_SOURCE_VERSION,
 				min_t(u8, bytes, SCDC_MIN_SOURCE_VERSION));
 
 			/* Enabled Scrambling in the Sink */
-			drm_scdc_set_scrambling(hdmi->ddc, 1);
+			drm_scdc_set_scrambling(hdmi->connector.ddc, 1);
 
 			/*
 			 * To activate the scrambler feature, you must ensure
@@ -1781,7 +1781,7 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
 			hdmi_writeb(hdmi, 0, HDMI_FC_SCRAMBLER_CTRL);
 			hdmi_writeb(hdmi, (u8)~HDMI_MC_SWRSTZ_TMDSSWRST_REQ,
 				    HDMI_MC_SWRSTZ);
-			drm_scdc_set_scrambling(hdmi->ddc, 0);
+			drm_scdc_set_scrambling(hdmi->connector.ddc, 0);
 		}
 	}
 
@@ -2127,10 +2127,10 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
 	struct edid *edid;
 	int ret = 0;
 
-	if (!hdmi->ddc)
+	if (!hdmi->connector.ddc)
 		return 0;
 
-	edid = drm_get_edid(connector, hdmi->ddc);
+	edid = drm_get_edid(connector, hdmi->connector.ddc);
 	if (edid) {
 		dev_dbg(hdmi->dev, "got edid: width[%d] x height[%d]\n",
 			edid->width_cm, edid->height_cm);
@@ -2548,9 +2548,9 @@ __dw_hdmi_probe(struct platform_device *pdev,
 
 	ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);
 	if (ddc_node) {
-		hdmi->ddc = of_get_i2c_adapter_by_node(ddc_node);
+		hdmi->connector.ddc = of_get_i2c_adapter_by_node(ddc_node);
 		of_node_put(ddc_node);
-		if (!hdmi->ddc) {
+		if (!hdmi->connector.ddc) {
 			dev_dbg(hdmi->dev, "failed to read ddc node\n");
 			return ERR_PTR(-EPROBE_DEFER);
 		}
@@ -2689,7 +2689,7 @@ __dw_hdmi_probe(struct platform_device *pdev,
 	hdmi_init_clk_regenerator(hdmi);
 
 	/* If DDC bus is not specified, try to register HDMI I2C bus */
-	if (!hdmi->ddc) {
+	if (!hdmi->connector.ddc) {
 		/* Look for (optional) stuff related to unwedging */
 		hdmi->pinctrl = devm_pinctrl_get(dev);
 		if (!IS_ERR(hdmi->pinctrl)) {
@@ -2708,9 +2708,9 @@ __dw_hdmi_probe(struct platform_device *pdev,
 			}
 		}
 
-		hdmi->ddc = dw_hdmi_i2c_adapter(hdmi);
-		if (IS_ERR(hdmi->ddc))
-			hdmi->ddc = NULL;
+		hdmi->connector.ddc = dw_hdmi_i2c_adapter(hdmi);
+		if (IS_ERR(hdmi->connector.ddc))
+			hdmi->connector.ddc = NULL;
 	}
 
 	hdmi->bridge.driver_private = hdmi;
@@ -2776,7 +2776,7 @@ __dw_hdmi_probe(struct platform_device *pdev,
 err_iahb:
 	if (hdmi->i2c) {
 		i2c_del_adapter(&hdmi->i2c->adap);
-		hdmi->ddc = NULL;
+		hdmi->connector.ddc = NULL;
 	}
 
 	if (hdmi->cec_notifier)
@@ -2788,7 +2788,7 @@ __dw_hdmi_probe(struct platform_device *pdev,
 err_isfr:
 	clk_disable_unprepare(hdmi->isfr_clk);
 err_res:
-	i2c_put_adapter(hdmi->ddc);
+	i2c_put_adapter(hdmi->connector.ddc);
 
 	return ERR_PTR(ret);
 }
@@ -2814,7 +2814,7 @@ static void __dw_hdmi_remove(struct dw_hdmi *hdmi)
 	if (hdmi->i2c)
 		i2c_del_adapter(&hdmi->i2c->adap);
 	else
-		i2c_put_adapter(hdmi->ddc);
+		i2c_put_adapter(hdmi->connector.ddc);
 }
 
 /* -----------------------------------------------------------------------------
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related

* [PATCH v4 18/23] drm/bridge: dumb-vga-dac: Provide ddc symlink in connector sysfs directory
From: Andrzej Pietrasiewicz @ 2019-07-11 11:26 UTC (permalink / raw)
  To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
  Cc: Y.C. Chen, Heiko Stübner, Sam Ravnborg, Neil Armstrong,
	Maxime Ripard, Ramalingam C, Joonas Lahtinen, Douglas Anderson,
	Andrzej Hajda, Thierry Reding, Laurent Pinchart,
	Benjamin Gaignard, kernel-ZGY8ohtN/8qB+jHODAdFcQ, Fabio Estevam,
	Ville Syrjälä, David (ChunMing) Zhou,
	linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, Joonyoung Shim,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Vincent Abriou,
	Rob Clark
In-Reply-To: <cover.1562843413.git.andrzej.p-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>

Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/gpu/drm/bridge/dumb-vga-dac.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/bridge/dumb-vga-dac.c b/drivers/gpu/drm/bridge/dumb-vga-dac.c
index d32885b906ae..b4cc3238400a 100644
--- a/drivers/gpu/drm/bridge/dumb-vga-dac.c
+++ b/drivers/gpu/drm/bridge/dumb-vga-dac.c
@@ -20,7 +20,6 @@ struct dumb_vga {
 	struct drm_bridge	bridge;
 	struct drm_connector	connector;
 
-	struct i2c_adapter	*ddc;
 	struct regulator	*vdd;
 };
 
@@ -42,10 +41,10 @@ static int dumb_vga_get_modes(struct drm_connector *connector)
 	struct edid *edid;
 	int ret;
 
-	if (IS_ERR(vga->ddc))
+	if (IS_ERR(vga->connector.ddc))
 		goto fallback;
 
-	edid = drm_get_edid(connector, vga->ddc);
+	edid = drm_get_edid(connector, vga->connector.ddc);
 	if (!edid) {
 		DRM_INFO("EDID readout failed, falling back to standard modes\n");
 		goto fallback;
@@ -84,7 +83,7 @@ dumb_vga_connector_detect(struct drm_connector *connector, bool force)
 	 * wire the DDC pins, or the I2C bus might not be working at
 	 * all.
 	 */
-	if (!IS_ERR(vga->ddc) && drm_probe_ddc(vga->ddc))
+	if (!IS_ERR(vga->connector.ddc) && drm_probe_ddc(vga->connector.ddc))
 		return connector_status_connected;
 
 	return connector_status_unknown;
@@ -190,14 +189,14 @@ static int dumb_vga_probe(struct platform_device *pdev)
 		dev_dbg(&pdev->dev, "No vdd regulator found: %d\n", ret);
 	}
 
-	vga->ddc = dumb_vga_retrieve_ddc(&pdev->dev);
-	if (IS_ERR(vga->ddc)) {
-		if (PTR_ERR(vga->ddc) == -ENODEV) {
+	vga->connector.ddc = dumb_vga_retrieve_ddc(&pdev->dev);
+	if (IS_ERR(vga->connector.ddc)) {
+		if (PTR_ERR(vga->connector.ddc) == -ENODEV) {
 			dev_dbg(&pdev->dev,
 				"No i2c bus specified. Disabling EDID readout\n");
 		} else {
 			dev_err(&pdev->dev, "Couldn't retrieve i2c bus\n");
-			return PTR_ERR(vga->ddc);
+			return PTR_ERR(vga->connector.ddc);
 		}
 	}
 
@@ -216,8 +215,8 @@ static int dumb_vga_remove(struct platform_device *pdev)
 
 	drm_bridge_remove(&vga->bridge);
 
-	if (!IS_ERR(vga->ddc))
-		i2c_put_adapter(vga->ddc);
+	if (!IS_ERR(vga->connector.ddc))
+		i2c_put_adapter(vga->connector.ddc);
 
 	return 0;
 }
-- 
2.17.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related

* [PATCH v4 17/23] drm/ast: Provide ddc symlink in connector sysfs directory
From: Andrzej Pietrasiewicz @ 2019-07-11 11:26 UTC (permalink / raw)
  To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
  Cc: Y.C. Chen, Heiko Stübner, Sam Ravnborg, Neil Armstrong,
	Maxime Ripard, Ramalingam C, Joonas Lahtinen, Liviu Dudau,
	Douglas Anderson, Andrzej Hajda, Thierry Reding, Laurent Pinchart,
	Benjamin Gaignard, kernel-ZGY8ohtN/8qB+jHODAdFcQ, Fabio Estevam,
	Ville Syrjälä, David (ChunMing) Zhou,
	linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, Joonyoung Shim,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Vincent Abriou
In-Reply-To: <cover.1562843413.git.andrzej.p-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>

Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/gpu/drm/ast/ast_mode.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
index ffccbef962a4..1ca9bc4aa3bb 100644
--- a/drivers/gpu/drm/ast/ast_mode.c
+++ b/drivers/gpu/drm/ast/ast_mode.c
@@ -890,6 +890,11 @@ static int ast_connector_init(struct drm_device *dev)
 		return -ENOMEM;
 
 	connector = &ast_connector->base;
+	ast_connector->i2c = ast_i2c_create(dev);
+	if (!ast_connector->i2c)
+		DRM_ERROR("failed to add ddc bus for connector\n");
+
+	connector->ddc = &ast_connector->i2c->adapter;
 	drm_connector_init(dev, connector, &ast_connector_funcs, DRM_MODE_CONNECTOR_VGA);
 
 	drm_connector_helper_add(connector, &ast_connector_helper_funcs);
@@ -904,10 +909,6 @@ static int ast_connector_init(struct drm_device *dev)
 	encoder = list_first_entry(&dev->mode_config.encoder_list, struct drm_encoder, head);
 	drm_connector_attach_encoder(connector, encoder);
 
-	ast_connector->i2c = ast_i2c_create(dev);
-	if (!ast_connector->i2c)
-		DRM_ERROR("failed to add ddc bus for connector\n");
-
 	return 0;
 }
 
-- 
2.17.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related

* [PATCH v4 16/23] drm/mgag200: Provide ddc symlink in connector sysfs directory
From: Andrzej Pietrasiewicz @ 2019-07-11 11:26 UTC (permalink / raw)
  To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
  Cc: Y.C. Chen, Heiko Stübner, Sam Ravnborg, Neil Armstrong,
	Maxime Ripard, Ramalingam C, Joonas Lahtinen, Douglas Anderson,
	Andrzej Hajda, Thierry Reding, Laurent Pinchart,
	Benjamin Gaignard, kernel-ZGY8ohtN/8qB+jHODAdFcQ, Fabio Estevam,
	Ville Syrjälä, David (ChunMing) Zhou,
	linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, Joonyoung Shim,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Vincent Abriou,
	Rob Clark
In-Reply-To: <cover.1562843413.git.andrzej.p-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>

Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/gpu/drm/mgag200/mgag200_mode.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c
index a25054015e8c..8fb9444b2142 100644
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
@@ -1703,6 +1703,11 @@ static struct drm_connector *mga_vga_init(struct drm_device *dev)
 		return NULL;
 
 	connector = &mga_connector->base;
+	mga_connector->i2c = mgag200_i2c_create(dev);
+	if (!mga_connector->i2c)
+		DRM_ERROR("failed to add ddc bus\n");
+
+	connector->ddc = &mga_connector->i2c->adapter;
 
 	drm_connector_init(dev, connector,
 			   &mga_vga_connector_funcs, DRM_MODE_CONNECTOR_VGA);
@@ -1711,10 +1716,6 @@ static struct drm_connector *mga_vga_init(struct drm_device *dev)
 
 	drm_connector_register(connector);
 
-	mga_connector->i2c = mgag200_i2c_create(dev);
-	if (!mga_connector->i2c)
-		DRM_ERROR("failed to add ddc bus\n");
-
 	return connector;
 }
 
-- 
2.17.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related

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

Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 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

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related

* [PATCH v4 14/23] drm/tilcdc: Provide ddc symlink in connector sysfs directory
From: Andrzej Pietrasiewicz @ 2019-07-11 11:26 UTC (permalink / raw)
  To: dri-devel
  Cc: Sam Ravnborg, Neil Armstrong, Maxime Ripard, Douglas Anderson,
	Thierry Reding, Laurent Pinchart, kernel, linux-samsung-soc,
	linux-rockchip, Vincent Abriou, Krzysztof Kozlowski,
	Jonathan Hunter, David Airlie, Chen-Yu Tsai, Kukjin Kim,
	NXP Linux Team, Dave Airlie, intel-gfx, freedreno, linux-tegra,
	Jonas Karlman, linux-arm-msm, Alexios Zavras, Mamta Shukla,
	linux-m
In-Reply-To: <cover.1562843413.git.andrzej.p@collabora.com>

Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
index 62d014c20988..c373edb95666 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
@@ -219,6 +219,7 @@ static struct drm_connector *tfp410_connector_create(struct drm_device *dev,
 	tfp410_connector->mod = mod;
 
 	connector = &tfp410_connector->base;
+	connector->ddc = mod->i2c;
 
 	drm_connector_init(dev, connector, &tfp410_connector_funcs,
 			DRM_MODE_CONNECTOR_DVID);
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related

* [PATCH v4 13/23] drm: zte: Provide ddc symlink in vga connector sysfs directory
From: Andrzej Pietrasiewicz @ 2019-07-11 11:26 UTC (permalink / raw)
  To: dri-devel
  Cc: Sam Ravnborg, Neil Armstrong, Maxime Ripard, Liviu Dudau,
	Douglas Anderson, Thierry Reding, Laurent Pinchart, kernel,
	linux-samsung-soc, linux-rockchip, Vincent Abriou,
	Krzysztof Kozlowski, Jonathan Hunter, David Airlie, Chen-Yu Tsai,
	Kukjin Kim, NXP Linux Team, Dave Airlie, intel-gfx, freedreno,
	linux-tegra, Jonas Karlman, linux-arm-msm, Mamta Shukla,
	linux-mediatek@
In-Reply-To: <cover.1562843413.git.andrzej.p@collabora.com>

Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/gpu/drm/zte/zx_vga.c | 25 +++++++++----------------
 1 file changed, 9 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/zte/zx_vga.c b/drivers/gpu/drm/zte/zx_vga.c
index 1634a08707fb..a3a4d6982888 100644
--- a/drivers/gpu/drm/zte/zx_vga.c
+++ b/drivers/gpu/drm/zte/zx_vga.c
@@ -23,15 +23,11 @@ struct zx_vga_pwrctrl {
 	u32 mask;
 };
 
-struct zx_vga_i2c {
-	struct i2c_adapter adap;
-	struct mutex lock;
-};
-
 struct zx_vga {
 	struct drm_connector connector;
 	struct drm_encoder encoder;
-	struct zx_vga_i2c *ddc;
+	/* protects ddc access */
+	struct mutex ddc_lock;
 	struct device *dev;
 	void __iomem *mmio;
 	struct clk *i2c_wclk;
@@ -86,7 +82,7 @@ static int zx_vga_connector_get_modes(struct drm_connector *connector)
 	 */
 	zx_writel(vga->mmio + VGA_AUTO_DETECT_SEL, 0);
 
-	edid = drm_get_edid(connector, &vga->ddc->adap);
+	edid = drm_get_edid(connector, connector->ddc);
 	if (!edid) {
 		/*
 		 * If EDID reading fails, we set the device state into
@@ -282,11 +278,10 @@ static int zx_vga_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs,
 			   int num)
 {
 	struct zx_vga *vga = i2c_get_adapdata(adap);
-	struct zx_vga_i2c *ddc = vga->ddc;
 	int ret = 0;
 	int i;
 
-	mutex_lock(&ddc->lock);
+	mutex_lock(&vga->ddc_lock);
 
 	for (i = 0; i < num; i++) {
 		if (msgs[i].flags & I2C_M_RD)
@@ -301,7 +296,7 @@ static int zx_vga_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs,
 	if (!ret)
 		ret = num;
 
-	mutex_unlock(&ddc->lock);
+	mutex_unlock(&vga->ddc_lock);
 
 	return ret;
 }
@@ -320,17 +315,15 @@ static int zx_vga_ddc_register(struct zx_vga *vga)
 {
 	struct device *dev = vga->dev;
 	struct i2c_adapter *adap;
-	struct zx_vga_i2c *ddc;
 	int ret;
 
-	ddc = devm_kzalloc(dev, sizeof(*ddc), GFP_KERNEL);
-	if (!ddc)
+	adap = devm_kzalloc(dev, sizeof(*adap), GFP_KERNEL);
+	if (!adap)
 		return -ENOMEM;
 
-	vga->ddc = ddc;
-	mutex_init(&ddc->lock);
+	vga->connector.ddc = adap;
+	mutex_init(&vga->ddc_lock);
 
-	adap = &ddc->adap;
 	adap->owner = THIS_MODULE;
 	adap->class = I2C_CLASS_DDC;
 	adap->dev.parent = dev;
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related

* [PATCH v4 12/23] drm: zte: Provide ddc symlink in hdmi connector sysfs directory
From: Andrzej Pietrasiewicz @ 2019-07-11 11:26 UTC (permalink / raw)
  To: dri-devel
  Cc: Sam Ravnborg, Neil Armstrong, Maxime Ripard, Douglas Anderson,
	Thierry Reding, Laurent Pinchart, kernel, linux-samsung-soc,
	linux-rockchip, Vincent Abriou, Krzysztof Kozlowski,
	Jonathan Hunter, David Airlie, Chen-Yu Tsai, Kukjin Kim,
	NXP Linux Team, Dave Airlie, intel-gfx, freedreno, linux-tegra,
	Jonas Karlman, linux-arm-msm, Mamta Shukla, linux-mediatek,
	Jyri Sarha <js>
In-Reply-To: <cover.1562843413.git.andrzej.p@collabora.com>

Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/gpu/drm/zte/zx_hdmi.c | 25 +++++++++----------------
 1 file changed, 9 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/zte/zx_hdmi.c b/drivers/gpu/drm/zte/zx_hdmi.c
index bfe918b27c5c..862a855ea14a 100644
--- a/drivers/gpu/drm/zte/zx_hdmi.c
+++ b/drivers/gpu/drm/zte/zx_hdmi.c
@@ -29,15 +29,11 @@
 #define ZX_HDMI_INFOFRAME_SIZE		31
 #define DDC_SEGMENT_ADDR		0x30
 
-struct zx_hdmi_i2c {
-	struct i2c_adapter adap;
-	struct mutex lock;
-};
-
 struct zx_hdmi {
 	struct drm_connector connector;
 	struct drm_encoder encoder;
-	struct zx_hdmi_i2c *ddc;
+	/* protects ddc access */
+	struct mutex ddc_lock;
 	struct device *dev;
 	struct drm_device *drm;
 	void __iomem *mmio;
@@ -264,7 +260,7 @@ static int zx_hdmi_connector_get_modes(struct drm_connector *connector)
 	struct edid *edid;
 	int ret;
 
-	edid = drm_get_edid(connector, &hdmi->ddc->adap);
+	edid = drm_get_edid(connector, connector->ddc);
 	if (!edid)
 		return 0;
 
@@ -562,10 +558,9 @@ static int zx_hdmi_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs,
 			    int num)
 {
 	struct zx_hdmi *hdmi = i2c_get_adapdata(adap);
-	struct zx_hdmi_i2c *ddc = hdmi->ddc;
 	int i, ret = 0;
 
-	mutex_lock(&ddc->lock);
+	mutex_lock(&hdmi->ddc_lock);
 
 	/* Enable DDC master access */
 	hdmi_writeb_mask(hdmi, TPI_DDC_MASTER_EN, HW_DDC_MASTER, HW_DDC_MASTER);
@@ -590,7 +585,7 @@ static int zx_hdmi_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs,
 	/* Disable DDC master access */
 	hdmi_writeb_mask(hdmi, TPI_DDC_MASTER_EN, HW_DDC_MASTER, 0);
 
-	mutex_unlock(&ddc->lock);
+	mutex_unlock(&hdmi->ddc_lock);
 
 	return ret;
 }
@@ -608,17 +603,15 @@ static const struct i2c_algorithm zx_hdmi_algorithm = {
 static int zx_hdmi_ddc_register(struct zx_hdmi *hdmi)
 {
 	struct i2c_adapter *adap;
-	struct zx_hdmi_i2c *ddc;
 	int ret;
 
-	ddc = devm_kzalloc(hdmi->dev, sizeof(*ddc), GFP_KERNEL);
-	if (!ddc)
+	adap = devm_kzalloc(hdmi->dev, sizeof(*adap), GFP_KERNEL);
+	if (!adap)
 		return -ENOMEM;
 
-	hdmi->ddc = ddc;
-	mutex_init(&ddc->lock);
+	hdmi->connector.ddc = adap;
+	mutex_init(&hdmi->ddc_lock);
 
-	adap = &ddc->adap;
 	adap->owner = THIS_MODULE;
 	adap->class = I2C_CLASS_DDC;
 	adap->dev.parent = hdmi->dev;
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related

* [PATCH v4 11/23] drm/vc4: Provide ddc symlink in connector sysfs directory
From: Andrzej Pietrasiewicz @ 2019-07-11 11:26 UTC (permalink / raw)
  To: dri-devel
  Cc: Sam Ravnborg, Neil Armstrong, Maxime Ripard, Douglas Anderson,
	Thierry Reding, Laurent Pinchart, kernel, linux-samsung-soc,
	linux-rockchip, Vincent Abriou, Krzysztof Kozlowski,
	Jonathan Hunter, David Airlie, Chen-Yu Tsai, Kukjin Kim,
	NXP Linux Team, Dave Airlie, intel-gfx, freedreno, linux-tegra,
	Jonas Karlman, linux-arm-msm, Mamta Shukla, linux-mediatek,
	Jyri Sarha <js>
In-Reply-To: <cover.1562843413.git.andrzej.p@collabora.com>

Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/gpu/drm/vc4/vc4_hdmi.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
index ee7d4e7b0ee3..abacd48a1462 100644
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -76,7 +76,6 @@ struct vc4_hdmi {
 
 	struct vc4_hdmi_audio audio;
 
-	struct i2c_adapter *ddc;
 	void __iomem *hdmicore_regs;
 	void __iomem *hd_regs;
 	int hpd_gpio;
@@ -207,7 +206,7 @@ vc4_hdmi_connector_detect(struct drm_connector *connector, bool force)
 		return connector_status_disconnected;
 	}
 
-	if (drm_probe_ddc(vc4->hdmi->ddc))
+	if (drm_probe_ddc(connector->ddc))
 		return connector_status_connected;
 
 	if (HDMI_READ(VC4_HDMI_HOTPLUG) & VC4_HDMI_HOTPLUG_CONNECTED)
@@ -233,7 +232,7 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector)
 	int ret = 0;
 	struct edid *edid;
 
-	edid = drm_get_edid(connector, vc4->hdmi->ddc);
+	edid = drm_get_edid(connector, connector->ddc);
 	cec_s_phys_addr_from_edid(vc4->hdmi->cec_adap, edid);
 	if (!edid)
 		return -ENODEV;
@@ -267,7 +266,8 @@ static const struct drm_connector_helper_funcs vc4_hdmi_connector_helper_funcs =
 };
 
 static struct drm_connector *vc4_hdmi_connector_init(struct drm_device *dev,
-						     struct drm_encoder *encoder)
+						     struct drm_encoder *encoder,
+						     struct i2c_adapter *ddc)
 {
 	struct drm_connector *connector;
 	struct vc4_hdmi_connector *hdmi_connector;
@@ -280,6 +280,7 @@ static struct drm_connector *vc4_hdmi_connector_init(struct drm_device *dev,
 	connector = &hdmi_connector->base;
 
 	hdmi_connector->encoder = encoder;
+	connector->ddc = ddc;
 
 	drm_connector_init(dev, connector, &vc4_hdmi_connector_funcs,
 			   DRM_MODE_CONNECTOR_HDMIA);
@@ -1291,6 +1292,7 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
 	struct vc4_hdmi *hdmi;
 	struct vc4_hdmi_encoder *vc4_hdmi_encoder;
 	struct device_node *ddc_node;
+	struct i2c_adapter *ddc;
 	u32 value;
 	int ret;
 
@@ -1338,9 +1340,9 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
 		return -ENODEV;
 	}
 
-	hdmi->ddc = of_find_i2c_adapter_by_node(ddc_node);
+	ddc = of_find_i2c_adapter_by_node(ddc_node);
 	of_node_put(ddc_node);
-	if (!hdmi->ddc) {
+	if (ddc) {
 		DRM_DEBUG("Failed to get ddc i2c adapter by node\n");
 		return -EPROBE_DEFER;
 	}
@@ -1395,7 +1397,7 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
 			 DRM_MODE_ENCODER_TMDS, NULL);
 	drm_encoder_helper_add(hdmi->encoder, &vc4_hdmi_encoder_helper_funcs);
 
-	hdmi->connector = vc4_hdmi_connector_init(drm, hdmi->encoder);
+	hdmi->connector = vc4_hdmi_connector_init(drm, hdmi->encoder, ddc);
 	if (IS_ERR(hdmi->connector)) {
 		ret = PTR_ERR(hdmi->connector);
 		goto err_destroy_encoder;
@@ -1452,7 +1454,7 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
 	clk_disable_unprepare(hdmi->hsm_clock);
 	pm_runtime_disable(dev);
 err_put_i2c:
-	put_device(&hdmi->ddc->dev);
+	put_device(&ddc->dev);
 
 	return ret;
 }
@@ -1463,6 +1465,7 @@ static void vc4_hdmi_unbind(struct device *dev, struct device *master,
 	struct drm_device *drm = dev_get_drvdata(master);
 	struct vc4_dev *vc4 = drm->dev_private;
 	struct vc4_hdmi *hdmi = vc4->hdmi;
+	struct i2c_adapter *ddc = hdmi->connector->ddc;
 
 	cec_unregister_adapter(hdmi->cec_adap);
 	vc4_hdmi_connector_destroy(hdmi->connector);
@@ -1471,7 +1474,7 @@ static void vc4_hdmi_unbind(struct device *dev, struct device *master,
 	clk_disable_unprepare(hdmi->hsm_clock);
 	pm_runtime_disable(dev);
 
-	put_device(&hdmi->ddc->dev);
+	put_device(&ddc->dev);
 
 	vc4->hdmi = NULL;
 }
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related

* [PATCH v4 10/23] drm/imx: imx-tve: Provide ddc symlink in connector's sysfs
From: Andrzej Pietrasiewicz @ 2019-07-11 11:26 UTC (permalink / raw)
  To: dri-devel
  Cc: Sam Ravnborg, Neil Armstrong, Maxime Ripard, Douglas Anderson,
	Thierry Reding, Laurent Pinchart, kernel, linux-samsung-soc,
	linux-rockchip, Vincent Abriou, Krzysztof Kozlowski,
	Jonathan Hunter, David Airlie, Chen-Yu Tsai, Kukjin Kim,
	NXP Linux Team, Dave Airlie, intel-gfx, freedreno, linux-tegra,
	Jonas Karlman, linux-arm-msm, Mamta Shukla, linux-mediatek,
	Jyri Sarha <js>
In-Reply-To: <cover.1562843413.git.andrzej.p@collabora.com>

Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/gpu/drm/imx/imx-tve.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c
index e725af8a0025..b8bee4e1f169 100644
--- a/drivers/gpu/drm/imx/imx-tve.c
+++ b/drivers/gpu/drm/imx/imx-tve.c
@@ -109,7 +109,6 @@ struct imx_tve {
 
 	struct regmap *regmap;
 	struct regulator *dac_reg;
-	struct i2c_adapter *ddc;
 	struct clk *clk;
 	struct clk *di_sel_clk;
 	struct clk_hw clk_hw_di;
@@ -218,14 +217,13 @@ static int tve_setup_vga(struct imx_tve *tve)
 
 static int imx_tve_connector_get_modes(struct drm_connector *connector)
 {
-	struct imx_tve *tve = con_to_tve(connector);
 	struct edid *edid;
 	int ret = 0;
 
-	if (!tve->ddc)
+	if (!connector->ddc)
 		return 0;
 
-	edid = drm_get_edid(connector, tve->ddc);
+	edid = drm_get_edid(connector, connector->ddc);
 	if (edid) {
 		drm_connector_update_edid_property(connector, edid);
 		ret = drm_add_edid_modes(connector, edid);
@@ -551,7 +549,7 @@ static int imx_tve_bind(struct device *dev, struct device *master, void *data)
 
 	ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);
 	if (ddc_node) {
-		tve->ddc = of_find_i2c_adapter_by_node(ddc_node);
+		tve->connector.ddc = of_find_i2c_adapter_by_node(ddc_node);
 		of_node_put(ddc_node);
 	}
 
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related

* [PATCH v4 09/23] drm/imx: imx-ldb: Provide ddc symlink in connector's sysfs
From: Andrzej Pietrasiewicz @ 2019-07-11 11:26 UTC (permalink / raw)
  To: dri-devel
  Cc: Sam Ravnborg, Neil Armstrong, Maxime Ripard, Liviu Dudau,
	Douglas Anderson, Thierry Reding, Laurent Pinchart, kernel,
	linux-samsung-soc, linux-rockchip, Vincent Abriou,
	Krzysztof Kozlowski, Jonathan Hunter, David Airlie, Chen-Yu Tsai,
	Kukjin Kim, NXP Linux Team, Dave Airlie, intel-gfx, freedreno,
	linux-tegra, Jonas Karlman, linux-arm-msm, Mamta Shukla,
	linux-mediatek@
In-Reply-To: <cover.1562843413.git.andrzej.p@collabora.com>

Use the ddc pointer provided by the generic connector.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/gpu/drm/imx/imx-ldb.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c
index 383733302280..44fdb264339e 100644
--- a/drivers/gpu/drm/imx/imx-ldb.c
+++ b/drivers/gpu/drm/imx/imx-ldb.c
@@ -55,7 +55,6 @@ struct imx_ldb_channel {
 	struct drm_bridge *bridge;
 
 	struct device_node *child;
-	struct i2c_adapter *ddc;
 	int chno;
 	void *edid;
 	int edid_len;
@@ -131,8 +130,8 @@ static int imx_ldb_connector_get_modes(struct drm_connector *connector)
 			return num_modes;
 	}
 
-	if (!imx_ldb_ch->edid && imx_ldb_ch->ddc)
-		imx_ldb_ch->edid = drm_get_edid(connector, imx_ldb_ch->ddc);
+	if (!imx_ldb_ch->edid && connector->ddc)
+		imx_ldb_ch->edid = drm_get_edid(connector, connector->ddc);
 
 	if (imx_ldb_ch->edid) {
 		drm_connector_update_edid_property(connector,
@@ -550,15 +549,15 @@ static int imx_ldb_panel_ddc(struct device *dev,
 
 	ddc_node = of_parse_phandle(child, "ddc-i2c-bus", 0);
 	if (ddc_node) {
-		channel->ddc = of_find_i2c_adapter_by_node(ddc_node);
+		channel->connector.ddc = of_find_i2c_adapter_by_node(ddc_node);
 		of_node_put(ddc_node);
-		if (!channel->ddc) {
+		if (!channel->connector.ddc) {
 			dev_warn(dev, "failed to get ddc i2c adapter\n");
 			return -EPROBE_DEFER;
 		}
 	}
 
-	if (!channel->ddc) {
+	if (!channel->connector.ddc) {
 		/* if no DDC available, fallback to hardcoded EDID */
 		dev_dbg(dev, "no ddc available\n");
 
@@ -725,7 +724,7 @@ static void imx_ldb_unbind(struct device *dev, struct device *master,
 			drm_panel_detach(channel->panel);
 
 		kfree(channel->edid);
-		i2c_put_adapter(channel->ddc);
+		i2c_put_adapter(channel->connector.ddc);
 	}
 }
 
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related


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