android_kernel_oneplus_msm8998/drivers
Will Drewry 0fd87fad90 CHROMIUM: dm: boot time specification of dm=
This is a wrap-up of three patches pending upstream approval.
I'm bundling them because they are interdependent, and it'll be
easier to drop it on rebase later.

1. dm: allow a dm-fs-style device to be shared via dm-ioctl

Integrates feedback from Alisdair, Mike, and Kiyoshi.

Two main changes occur here:

- One function is added which allows for a programmatically created
mapped device to be inserted into the dm-ioctl hash table.  This binds
the device to a name and, optional, uuid which is needed by udev and
allows for userspace management of the mapped device.

- dm_table_complete() was extended to handle all of the final
functional changes required for the table to be operational once
called.

2. init: boot to device-mapper targets without an initr*

Add a dm= kernel parameter modeled after the md= parameter from
do_mounts_md.  It allows for device-mapper targets to be configured at
boot time for use early in the boot process (as the root device or
otherwise).  It also replaces /dev/XXX calls with major:minor opportunistically.

The format is dm="name uuid ro,table line 1,table line 2,...".  The
parser expects the comma to be safe to use as a newline substitute but,
otherwise, uses the normal separator of space.  Some attempt has been
made to make it forgiving of additional spaces (using skip_spaces()).

A mapped device created during boot will be assigned a minor of 0 and
may be access via /dev/dm-0.

An example dm-linear root with no uuid may look like:

root=/dev/dm-0  dm="lroot none ro, 0 4096 linear /dev/ubdb 0, 4096 4096 linear /dv/ubdc 0"

Once udev is started, /dev/dm-0 will become /dev/mapper/lroot.

Older upstream threads:
http://marc.info/?l=dm-devel&m=127429492521964&w=2
http://marc.info/?l=dm-devel&m=127429499422096&w=2
http://marc.info/?l=dm-devel&m=127429493922000&w=2

Latest upstream threads:
https://patchwork.kernel.org/patch/104859/
https://patchwork.kernel.org/patch/104860/
https://patchwork.kernel.org/patch/104861/

Bug: 27175947

Signed-off-by: Will Drewry <wad@chromium.org>

Review URL: http://codereview.chromium.org/2020011

Change-Id: I92bd53432a11241228d2e5ac89a3b20d19b05a31
Git-commit: 96b0434c25
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 17:08:21 -07:00
..
accessibility
acpi Revert "Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4" 2016-08-26 14:34:05 -07:00
amba
android CHROMIUM: android: binder: Fix potential scheduling-while-atomic 2016-07-26 16:39:51 -07:00
ata Revert "Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4" 2016-08-26 14:34:05 -07:00
atm
auxdisplay
base Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
bcma
bif
block Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
bluetooth bluetooth: Add Split A2DP slimbus 2016-08-11 11:41:55 -07:00
bus Revert "Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4" 2016-08-26 14:34:05 -07:00
cdrom
char Merge "msm: ADSPRPC: Support for dma-coherent devices" 2016-10-11 22:32:47 -07:00
clk Merge "clk: qcom: Change clock index for mmssnoc_axi clock for MSMfalcon" 2016-10-27 15:49:03 -07:00
clocksource Merge remote-tracking branch 'origin/tmp-917a9a9133a6' into lsk 2016-07-12 11:40:49 -07:00
connector
cpufreq Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
cpuidle Merge "Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4" 2016-10-26 13:13:24 -07:00
crypto Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
dca
devfreq Merge "msm: kgsl: Remove use of uninitialized variable" 2016-10-22 11:26:53 -07:00
dio
dma Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
dma-buf
edac Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
eisa
esoc esoc: Add debug engine for external modems. 2016-03-25 16:03:40 -07:00
extcon Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
firewire
firmware Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
fmc
fpga
gpio Merge "soc: qcom: smp2p: Fix kernel address leak" 2016-08-19 17:51:14 -07:00
gpu Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
hid Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
hsi
hv
hwmon hwmon: qpnp-adc-common: Clamp voltage value 2016-09-30 16:45:28 -07:00
hwspinlock Merge remote-tracking branch 'lsk-44/linux-linaro-lsk-v4.4' into 44rc2 2016-03-23 20:51:00 -07:00
hwtracing Merge "Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4" 2016-10-26 13:13:24 -07:00
i2c Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
ide
idle intel_idle: prevent SKL-H boot failure when C8+C9+C10 enabled 2016-04-12 09:09:05 -07:00
iio Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
infiniband Revert "Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4" 2016-08-26 14:34:05 -07:00
input Merge "input: misc: hbtp_input: Add support for multiple AFE" 2016-10-27 15:49:01 -07:00
iommu Merge "Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4" 2016-10-26 13:13:24 -07:00
ipack
irqchip Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
isdn
leds Merge "leds: qpnp-flash-v2: fix safety timer configuration" 2016-10-27 15:49:12 -07:00
lguest
lightnvm
macintosh
mailbox
mcb
md CHROMIUM: dm: boot time specification of dm= 2016-10-28 17:08:21 -07:00
media Merge "msm: sde: Fix SDE rotator clock disable sequence" 2016-10-27 15:49:02 -07:00
memory
memstick
message
mfd Merge "ASoC: wcd934x: Trigger codec DSP subsystem restart" 2016-10-27 15:48:57 -07:00
misc Merge "qseecom: check buffer size when loading firmware images" 2016-10-27 15:49:13 -07:00
mmc mmc: host: Register changes for msmfalcon 2016-10-12 08:58:23 +05:30
mtd Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
net Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
nfc NFC: Fix unbalanced irq warning stack trace 2016-08-17 10:38:00 +05:30
ntb
nubus
nvdimm libnvdimm, pfn: fix uuid validation 2016-04-20 15:41:54 +09:00
nvme
nvmem Revert "Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4" 2016-08-26 14:34:05 -07:00
of Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
oprofile
parisc
parport
pci Merge "msm: pcie: verify EP is accessible before conf restore" 2016-09-29 11:21:10 -07:00
pcmcia pcmcia: db1xxx_ss: fix last irq_to_gpio user 2016-04-20 15:42:09 +09:00
perf perf: add hotplug support so that perf continues after hotplug 2016-08-13 15:05:21 -07:00
phy phy: qcom-ufs: remove warnings for optional clocks 2016-09-16 15:14:08 -07:00
pinctrl Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
platform Merge "msm: ipa: Fix the memory leak in error cases" 2016-10-27 15:49:14 -07:00
pnp
power Merge "qcom-charger: set optimal buck switching frequency" 2016-10-27 15:49:17 -07:00
powercap
pps
ps3
ptp
pwm Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
rapidio
ras
regulator Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
remoteproc
reset
rpmsg
rtc Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
s390
sbus
scsi Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
sensors sensors: ssc: add support to read SLPI fw name 2016-10-26 15:39:02 +05:30
sfi
sh
slimbus Merge "slim: msm: Avoid registration with notifier if service is not located" 2016-09-13 05:43:48 -07:00
sn
soc Merge "soc: qcom: add support for fingerprint sensor driver" 2016-10-27 15:49:06 -07:00
soundwire soundwire: Add support for usecases without compander 2016-09-21 02:49:13 -07:00
spi Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
spmi spmi: pmic-arb: correct support for up to 512 APIDs 2016-07-27 17:59:47 -07:00
ssb
staging Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4 2016-10-21 18:00:55 -07:00
switch
target target: Fix target_release_cmd_kref shutdown comp leak 2016-04-12 09:09:02 -07:00
tc
thermal Merge "Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4" 2016-10-26 13:13:24 -07:00
thunderbolt
tty Merge "Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4" 2016-10-26 13:13:24 -07:00
uio uio: msm_sharedmem: Fix format specifier to print resource_size_t 2016-03-23 21:24:33 -07:00
usb Merge "USB: dwc3-msm: Disable pipe clock requirement for HS/FS only mode" 2016-10-27 15:49:04 -07:00
uwb
vfio
vhost
video Merge "msm: mdss: Fix memleak in framebuffer register and remove" 2016-10-27 15:49:22 -07:00
virt
virtio virtio: virtio 1.0 cs04 spec compliance for reset 2016-04-20 15:42:10 +09:00
vlynq
vme
w1
watchdog watchdog: rc32434_wdt: fix ioctl error handling 2016-04-12 09:08:54 -07:00
xen Revert "Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4" 2016-08-26 14:34:05 -07:00
zorro
Kconfig drivers: remove duplicate entry for soc drivers from Kconfig 2016-03-25 16:04:23 -07:00
Makefile scsi: ufs: Initiate crypto before SCSI for UFS fast boot 2016-08-29 00:30:38 -07:00