linux/drivers
Dan Williams 429589d647 mm: Cleanup __put_devmap_managed_page() vs ->page_free()
After the removal of the device-public infrastructure there are only 2
->page_free() call backs in the kernel.  One of those is a
device-private callback in the nouveau driver, the other is a generic
wakeup needed in the DAX case.  In the hopes that all ->page_free()
callbacks can be migrated to common core kernel functionality, move the
device-private specific actions in __put_devmap_managed_page() under the
is_device_private_page() conditional, including the ->page_free()
callback.  For the other page types just open-code the generic wakeup.

Yes, the wakeup is only needed in the MEMORY_DEVICE_FSDAX case, but it
does no harm in the MEMORY_DEVICE_DEVDAX and MEMORY_DEVICE_PCI_P2PDMA
case.

Link: http://lkml.kernel.org/r/20200107224558.2362728-4-jhubbard@nvidia.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: John Hubbard <jhubbard@nvidia.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jérôme Glisse <jglisse@redhat.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Cc: Björn Töpel <bjorn.topel@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Cc: Jason Gunthorpe <jgg@mellanox.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Leon Romanovsky <leonro@mellanox.com>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-01-31 10:30:37 -08:00
..
accessibility
acpi Merge branch 'core-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-01-28 08:20:54 -08:00
amba
android for-5.6/io_uring-vfs-2020-01-29 2020-01-29 18:53:37 -08:00
ata SCSI misc on 20200129 2020-01-29 18:16:16 -08:00
atm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
auxdisplay auxdisplay: charlcd: deduplicate simple_strtoul() 2019-12-04 19:44:12 -08:00
base SCSI misc on 20200129 2020-01-29 18:16:16 -08:00
bcma Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
block SCSI misc on 20200129 2020-01-29 18:16:16 -08:00
bluetooth Bluetooth: btrtl: Use kvmalloc for FW allocations 2020-01-24 19:57:53 +01:00
bus Char/Misc driver changes for 5.6-rc1 2020-01-29 10:35:54 -08:00
cdrom compat_ioctl: move cdrom commands into cdrom.c 2020-01-03 09:42:52 +01:00
char Char/Misc driver changes for 5.6-rc1 2020-01-29 10:35:54 -08:00
clk ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
clocksource The timekeeping and timers departement provides: 2020-01-27 16:47:05 -08:00
connector
counter
cpufreq ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
cpuidle Merge branch 'intel_idle+acpi' 2020-01-23 00:35:50 +01:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
dax libnvdimm for 5.5 2019-12-01 18:43:25 -08:00
dca
devfreq PM / devfreq: Add debugfs support with devfreq_summary file 2020-01-16 19:14:49 +09:00
dio
dma ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
dma-buf - A fix for a memory leak in the dma-buf support 2019-12-09 17:13:19 +10:00
edac ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
eisa
extcon extcon: sm5502: Remove unneeded semicolon 2019-12-16 10:23:19 +09:00
firewire remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
firmware Char/Misc driver changes for 5.6-rc1 2020-01-29 10:35:54 -08:00
fpga fpga: xilinx-pr-decoupler: Remove clk_get error message for probe defer 2020-01-10 12:51:56 -08:00
fsi
gnss
gpio This is the bulk of pin control changes for the v5.6 kernel cycle: 2020-01-29 09:51:36 -08:00
gpu y2038: core, driver and file system changes 2020-01-29 14:55:47 -08:00
greybus
hid Merge branch 'for-5.6/logitech' into for-linus 2020-01-27 15:49:49 +01:00
hsi
hv clocksource/drivers/hyper-v: Untangle stimers and timesync from clocksources 2020-01-16 19:09:02 +01:00
hwmon ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
hwspinlock
hwtracing coresight: etm4x: Fix unused function warning 2020-01-14 15:38:28 +01:00
i2c ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
i3c i3c: master: dw: reattach device on first available location of address table 2020-01-13 10:00:05 +01:00
ide compat_ioctl: move HDIO ioctl handling into drivers/ide 2020-01-03 09:42:52 +01:00
idle Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-01-28 12:46:42 -08:00
iio Merge 5.5-rc7 into staging-next 2020-01-22 09:05:34 +01:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
input ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
interconnect interconnect: qcom: Add MSM8916 interconnect provider driver 2020-01-07 09:30:09 +02:00
iommu ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
ipack remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
irqchip The interrupt departement provides: 2020-01-27 17:22:21 -08:00
isdn isdn: don't mark kcapi_proc_exit as __exit 2019-12-17 08:59:57 +01:00
leds leds: lm3532: add pointer to documentation and fix typo 2020-01-22 21:08:24 +01:00
lightnvm ftrace: Rework event_create_dir() 2019-11-27 07:44:25 +01:00
macintosh powerpc updates for 5.5 2019-11-30 14:35:43 -08:00
mailbox mailbox changes for v5.5 2019-12-01 18:42:02 -08:00
mcb
md - Fix DM core's potential for q->make_request_fn NULL pointer in the 2020-01-29 18:08:49 -08:00
media Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-01-28 09:03:40 -08:00
memory memory: tegra: Fixes for v5.5-rc1 2019-12-06 08:28:51 -08:00
memstick pci-v5.5-changes 2019-12-03 13:58:22 -08:00
message Merge ra.kernel.org:/pub/scm/linux/kernel/git/netdev/net 2020-01-19 22:10:04 +01:00
mfd chrome platform changes for v5.5 2019-12-03 14:37:12 -08:00
misc Char/Misc driver changes for 5.6-rc1 2020-01-29 10:35:54 -08:00
mmc ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
mtd ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
mux
net ocfs2/dlm: move BITS_TO_BYTES() to bitops.h for wider use 2020-01-31 10:30:36 -08:00
nfc Merge ra.kernel.org:/pub/scm/linux/kernel/git/netdev/net 2020-01-19 22:10:04 +01:00
ntb Add Hygon Device ID to the AMD NTB device driver 2019-12-07 18:38:17 -08:00
nubus
nvdimm mm: Cleanup __put_devmap_managed_page() vs ->page_free() 2020-01-31 10:30:37 -08:00
nvme for-5.6/block-2020-01-27 2020-01-27 12:38:25 -08:00
nvmem nvmem: add QTI SDAM driver 2020-01-16 20:56:49 +01:00
of net: mdio: of: Register discovered MII time stampers. 2019-12-25 19:51:33 -08:00
opp ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
oprofile Printk changes for 5.5 2019-11-25 19:40:40 -08:00
parisc remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
parport
pci ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
pcmcia
perf perf/imx_ddr: Fix cpu hotplug state cleanup 2020-01-15 12:48:40 +00:00
phy USB/Thunderbolt/PHY driver updates for 5.6-rc1 2020-01-29 10:09:44 -08:00
pinctrl This is the bulk of pin control changes for the v5.6 kernel cycle: 2020-01-29 09:51:36 -08:00
platform ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
pnp PNP: isapnp: remove defined but not used function 'isapnp_checksum' 2020-01-23 00:26:13 +01:00
power power: avs: qcom-cpr: remove duplicated include from qcom-cpr.c 2020-01-08 23:25:22 +01:00
powercap Merge back power capping changes for v5.6. 2020-01-13 10:32:19 +01:00
pps
ps3
ptp Merge ra.kernel.org:/pub/scm/linux/kernel/git/netdev/net 2020-01-19 22:10:04 +01:00
pwm pwm: Changes for v5.5-rc1 2019-12-05 11:28:14 -08:00
rapidio drivers/rapidio/rio-access.c: fix missing include of <linux/rio_drv.h> 2019-12-04 19:44:13 -08:00
ras
regulator ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
remoteproc
reset reset: Do not register resource data for missing resets 2019-12-10 11:43:37 +01:00
rpmsg rpmsg updates for v5.5 2019-12-01 18:39:24 -08:00
rtc ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
s390 s390/qeth: remove HARDSETUP state 2020-01-26 15:20:32 +01:00
sbus
scsi SCSI misc on 20200129 2020-01-29 18:16:16 -08:00
sfi
sh remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
siox siox: Use the correct style for SPDX License Identifier 2020-01-14 21:46:53 +01:00
slimbus slimbus: qcom: add missed clk_disable_unprepare in remove 2020-01-14 21:46:48 +01:00
soc ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
soundwire soundwire: cadence: fix kernel-doc parameter descriptions 2020-01-16 17:34:38 +05:30
spi ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
spmi
ssb remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
staging Staging/IIO patches for 5.6-rc1 2020-01-29 10:15:11 -08:00
target SCSI misc on 20200129 2020-01-29 18:16:16 -08:00
tc remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
tee Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2020-01-28 15:38:56 -08:00
thermal - Depromote debug print on the db8500 platform (Linus Walleij) 2020-01-28 16:31:08 -08:00
thunderbolt thunderbolt: fix memory leak of object sw 2020-01-14 15:37:41 +01:00
tty TTY/Serial driver updates for 5.6-rc1 2020-01-29 10:13:27 -08:00
uio uio: uio_pdrv_genirq: Do not log an error when deferring probe routine. 2020-01-14 15:27:51 +01:00
usb USB/Thunderbolt/PHY driver updates for 5.6-rc1 2020-01-29 10:09:44 -08:00
vfio remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
vhost Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-08 13:28:11 -08:00
video TTY/Serial driver updates for 5.6-rc1 2020-01-29 10:13:27 -08:00
virt virt: vbox: Explicitly include linux/io.h to pick up various defs 2019-12-10 10:15:48 +01:00
virtio virtio_balloon: divide/multiply instead of shifts 2019-12-11 08:14:07 -05:00
visorbus visorbus: fix uninitialized variable access 2020-01-14 15:30:35 +01:00
vlynq
vme Char/Misc driver changes for 5.6-rc1 2020-01-29 10:35:54 -08:00
w1 Char/Misc driver changes for 5.6-rc1 2020-01-29 10:35:54 -08:00
watchdog ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
xen Linux 5.5-rc3 2019-12-25 10:41:37 +01:00
zorro
Kconfig
Makefile thunderbolt: Update Kconfig entries to USB4 2019-12-18 15:39:18 +01:00