linux/drivers
Tom Van Braeckel 0b509d8d33 misc: pass miscdevice through file's private_data
Make the miscdevice accessible through the file's private_data.

Previously, this was done only when an open() file operation had been
registered. If no custom open() file operation was defined,
private_data was set to NULL.

This subtle quirk was confusing, to the point where kernel code
registered *empty* file open operations to have private_data point to
the misc device structure and avoid duplicating that logic.

And it could easily lead to bugs, where the addition or removal of a
custom open() file operation surprisingly changes the initial value of
a file's private_data structure.

To resolve this, we now place the miscdevice in the file's private_data
member unconditionally when open() is called.

Signed-off-by: Tom Van Braeckel <tomvanbraeckel@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-04-03 16:15:30 +02:00
..
accessibility
acpi Revert "x86/PCI: Refine the way to release PCI IRQ resources" 2015-03-20 14:56:19 +01:00
amba ARM: 8256/1: driver coamba: add device binding path 'driver_override' 2015-02-10 10:23:15 +00:00
android android: binder: fix binder mmap failures 2015-03-01 18:43:51 -08:00
ata sata-fsl: Apply link speed limits 2015-03-02 12:08:43 -05:00
atm
auxdisplay
base regmap: Fixes for v4.0 2015-03-17 10:41:26 -07:00
bcma
block Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2015-02-28 10:21:57 -08:00
bluetooth Bluetooth: btusb: Fix issue with CSR based Intel Wireless controllers 2015-02-23 09:30:35 +02:00
bus ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
cdrom
char misc: pass miscdevice through file's private_data 2015-04-03 16:15:30 +02:00
clk The clk fixes for 4.0-rc4 comprise three themes. First are the usual 2015-03-15 15:07:08 -07:00
clocksource clockevents: sun5i: Fix setup_irq init sequence 2015-03-05 15:01:37 +01:00
connector
coresight coresight-replicator: constify of_device_id array 2015-03-26 23:22:22 +01:00
cpufreq Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal 2015-03-06 13:43:33 -08:00
cpuidle cpuidle: mvebu: Update cpuidle thresholds for Armada XP SOCs 2015-03-13 18:31:29 +01:00
crypto Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2015-02-18 08:49:20 -08:00
dca
devfreq Merge branches 'pm-cpufreq', 'pm-cpuidle', 'pm-devfreq', 'pm-opp' and 'pm-tools' 2015-02-13 21:39:06 +01:00
dio
dma dmaengine: pl08x: Define capabilities for generic capabilities reporting 2015-03-18 21:34:29 +05:30
dma-buf
edac * A fix to sb_edac for proper detection on SNB machines 2015-02-19 11:18:14 -08:00
eisa
extcon extcon: Fix missing locking when [un]registering notifiers 2015-03-23 11:06:04 +09:00
firewire
firmware * Fix regression in DMI sysfs code for handling "End of Table" entry 2015-03-02 14:18:57 +01:00
fmc
gpio gpio: tps65912: fix wrong container_of arguments 2015-02-23 15:40:32 +01:00
gpu Merge tag 'drm-intel-fixes-2015-03-19' of git://anongit.freedesktop.org/drm-intel into drm-fixes 2015-03-20 17:32:21 +10:00
hid HID: wacom: check for wacom->shared before following the pointer 2015-03-17 20:59:55 +01:00
hsi
hv Drivers: hv: vmbus: Don't wait after requesting offers 2015-03-26 23:51:14 +01:00
hwmon hwmon: (ads7828) Check return value of devm_regmap_init_i2c 2015-02-22 20:10:30 -08:00
hwspinlock
i2c Revert "i2c: core: Dispose OF IRQ mapping at client removal time" 2015-03-12 10:23:05 +01:00
ide ide_tape: convert jiffies with jiffies_to_msecs 2015-03-18 23:25:57 -04:00
idle intel_idle: Add ->enter_freeze callbacks 2015-02-15 19:40:09 +01:00
iio Second round of IIO fixes for the 4.0 cycle (or round one part two really!) 2015-02-28 07:19:27 -08:00
infiniband IB/mlx4: Saturate RoCE port PMA counters in case of overflow 2015-03-18 15:17:11 -04:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-03-19 16:43:10 -07:00
iommu iommu/io-pgtable-arm: Add built time dependency 2015-03-03 14:04:12 +01:00
ipack
irqchip Merge branch 'irqchip/urgent-gic' into irqchip/urgent 2015-03-15 01:41:26 +00:00
isdn isdn: icn: use strlcpy() when parsing setup options 2015-03-15 22:24:37 -04:00
leds
lguest OK, this has the big virtio 1.0 implementation, as specified by OASIS. 2015-02-18 09:24:01 -08:00
macintosh
mailbox Merge branch 'mailbox-devel' of git://git.linaro.org/landing-teams/working/fujitsu/integration 2015-02-11 12:56:40 -08:00
mcb mcb: Fix error path of mcb_pci_probe 2015-02-03 15:48:51 -08:00
md One fix for md in 4.0-rc4 2015-03-22 16:38:19 -07:00
media mm: gup: use get_user_pages_unlocked 2015-02-11 17:06:05 -08:00
memory memory: jz4780-nemc: driver for the NEMC on JZ4780 SoCs 2015-03-26 23:51:36 +01:00
memstick
message i2o: move to staging 2015-02-03 15:58:39 -08:00
mfd Changes to existing drivers: 2015-02-18 09:05:48 -08:00
misc misc: mic: fixup return type of wait_for_completion_timeout 2015-03-25 11:36:38 +01:00
mmc mmc: pwrseq_simple: fix error path in mmc_pwrseq_simple_alloc 2015-03-19 11:26:35 +01:00
mtd This pull request fixes a bug introduced during the v4.0 merge window where we 2015-03-21 10:36:44 -07:00
net Revert "net: cx82310_eth: use common match macro" 2015-03-18 22:37:38 -04:00
nfc NFC: nci: Move NFCEE discovery logic 2015-02-04 09:15:18 +01:00
ntb
nubus
of Revert "of: Fix premature bootconsole disable with 'stdout-path'" 2015-03-19 08:46:54 -05:00
oprofile
parisc
parport
pci PCI updates for v4.0: 2015-03-12 09:45:46 -07:00
pcmcia Merge 4.0-rc5 into char-misc-next 2015-03-25 10:51:53 +01:00
phy phy: omap-usb2: Fix missing clk_prepare call when using old dt name 2015-03-13 17:14:39 +05:30
pinctrl pinctrl: sun4i: GPIOs configured as irq must be set to input before reading 2015-03-18 10:56:46 +01:00
platform Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-02-21 11:12:07 -08:00
pnp Merge branches 'pnp', 'pm-cpuidle' and 'pm-cpufreq' 2015-02-21 04:29:16 +01:00
power
powercap powercap / RAPL: handle domains with different energy units 2015-03-13 23:18:44 +01:00
pps
ps3
ptp
pwm pwm: tegra: Use NSEC_PER_SEC 2015-02-18 08:40:29 +01:00
rapidio Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2015-02-18 08:49:20 -08:00
ras
regulator Merge remote-tracking branches 'regulator/fix/gpio-enable' and 'regulator/fix/tps65910' into regulator-linus 2015-03-16 11:43:24 +00:00
remoteproc
reset
rpmsg virtio_rpmsg: set DRIVER_OK before using device 2015-03-13 15:55:42 +10:30
rtc rtc: at91rm9200: double locking bug in at91_rtc_interrupt() 2015-03-18 01:58:16 +01:00
s390 s390/dcss: array index 'i' is used before limits check. 2015-02-26 09:24:48 +01:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-03-21 11:24:38 -07:00
sfi
sh drivers: sh: Disable PM runtime for multi-platform r8a7740 with genpd 2015-02-24 07:26:12 +09:00
sn
soc ARM: SoC driver updates 2015-02-17 09:38:59 -08:00
spi Merge remote-tracking branches 'spi/fix/atmel', 'spi/fix/doc', 'spi/fix/dw', 'spi/fix/img-spfi', 'spi/fix/pl022' and 'spi/fix/ti-qspi' into spi-linus 2015-03-06 21:10:56 +00:00
spmi spmi: pmic_arb: add support for hw version 2 2015-03-26 23:51:36 +01:00
ssb treewide: Remove unnecessary SSB_DEVTABLE_END macro 2015-02-11 14:38:29 -08:00
staging vt6655: Fix late setting of byRFType. 2015-03-09 11:33:13 +01:00
target target: do not reject FUA CDBs when write cache is enabled but emulate_write_cache is 0 2015-03-19 23:26:46 -07:00
tc
thermal thermal: Make sysfs attributes of cooling devices default attributes 2015-03-05 01:47:57 -04:00
thunderbolt
tty serial: 8250_dw: Fix deadlock in LCR workaround 2015-03-11 16:39:52 +01:00
uio Revert "uio: constify of_device_id array" 2015-04-03 16:04:21 +02:00
usb USB / PHY driver fixes for 4.0-rc5 2015-03-22 11:33:55 -07:00
uwb USB patches for 3.20-rc1 2015-02-15 10:24:55 -08:00
vfio vfio-pci: Add missing break to enable VFIO_PCI_ERR_IRQ_INDEX 2015-03-12 09:51:38 -06:00
vhost Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-03-21 11:24:38 -07:00
video OMAPDSS: fix regression with display sysfs files 2015-02-26 10:23:15 +02:00
virt
virtio virtio_mmio: fix access width for mmio 2015-03-17 12:12:21 +10:30
vlynq
vme
w1 w1: constify of_device_id array 2015-03-25 12:25:29 +01:00
watchdog watchdog: at91sam9: request the irq with IRQF_NO_SUSPEND 2015-03-06 00:46:31 +01:00
xen Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-03-21 11:24:38 -07:00
zorro
Kconfig i2o: move to staging 2015-02-03 15:58:39 -08:00
Makefile