904-debloat_dma_buf.patch 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. From e3692cb2fcd5ba1244512a0f43b8118f65f1c375 Mon Sep 17 00:00:00 2001
  2. From: Felix Fietkau <[email protected]>
  3. Date: Sat, 8 Jul 2017 08:20:43 +0200
  4. Subject: debloat: dmabuf
  5. Signed-off-by: Felix Fietkau <[email protected]>
  6. ---
  7. drivers/base/Kconfig | 2 +-
  8. drivers/dma-buf/Makefile | 10 +++++++---
  9. drivers/dma-buf/dma-buf.c | 4 +++-
  10. kernel/sched/core.c | 1 +
  11. net/Kconfig | 2 +-
  12. 5 files changed, 13 insertions(+), 6 deletions(-)
  13. --- a/drivers/base/Kconfig
  14. +++ b/drivers/base/Kconfig
  15. @@ -198,7 +198,7 @@ config SOC_BUS
  16. source "drivers/base/regmap/Kconfig"
  17. config DMA_SHARED_BUFFER
  18. - bool
  19. + tristate
  20. default n
  21. select IRQ_WORK
  22. help
  23. --- a/drivers/dma-buf/heaps/Makefile
  24. +++ b/drivers/dma-buf/heaps/Makefile
  25. @@ -1,3 +1,3 @@
  26. # SPDX-License-Identifier: GPL-2.0
  27. -obj-$(CONFIG_DMABUF_HEAPS_SYSTEM) += system_heap.o
  28. -obj-$(CONFIG_DMABUF_HEAPS_CMA) += cma_heap.o
  29. +dma-buf-objs-$(CONFIG_DMABUF_HEAPS_SYSTEM) += system_heap.o
  30. +dma-buf-objs-$(CONFIG_DMABUF_HEAPS_CMA) += cma_heap.o
  31. --- a/drivers/dma-buf/Makefile
  32. +++ b/drivers/dma-buf/Makefile
  33. @@ -1,12 +1,14 @@
  34. # SPDX-License-Identifier: GPL-2.0-only
  35. -obj-y := dma-buf.o dma-fence.o dma-fence-array.o dma-fence-chain.o \
  36. +obj-$(CONFIG_DMA_SHARED_BUFFER) := dma-shared-buffer.o
  37. +
  38. +dma-buf-objs-y := dma-buf.o dma-fence.o dma-fence-array.o dma-fence-chain.o \
  39. dma-fence-unwrap.o dma-resv.o
  40. -obj-$(CONFIG_DMABUF_HEAPS) += dma-heap.o
  41. -obj-$(CONFIG_DMABUF_HEAPS) += heaps/
  42. -obj-$(CONFIG_SYNC_FILE) += sync_file.o
  43. -obj-$(CONFIG_SW_SYNC) += sw_sync.o sync_debug.o
  44. -obj-$(CONFIG_UDMABUF) += udmabuf.o
  45. -obj-$(CONFIG_DMABUF_SYSFS_STATS) += dma-buf-sysfs-stats.o
  46. +dma-buf-objs-$(CONFIG_DMABUF_HEAPS) += dma-heap.o
  47. +obj-$(CONFIG_DMABUF_HEAPS) += heaps/
  48. +dma-buf-objs-$(CONFIG_SYNC_FILE) += sync_file.o
  49. +dma-buf-objs-$(CONFIG_SW_SYNC) += sw_sync.o sync_debug.o
  50. +dma-buf-objs-$(CONFIG_UDMABUF) += udmabuf.o
  51. +dma-buf-objs-$(CONFIG_DMABUF_SYSFS_STATS) += dma-buf-sysfs-stats.o
  52. dmabuf_selftests-y := \
  53. selftest.o \
  54. @@ -15,4 +17,6 @@ dmabuf_selftests-y := \
  55. st-dma-fence-unwrap.o \
  56. st-dma-resv.o
  57. -obj-$(CONFIG_DMABUF_SELFTESTS) += dmabuf_selftests.o
  58. +dma-buf-objs-$(CONFIG_DMABUF_SELFTESTS) += dmabuf_selftests.o
  59. +
  60. +dma-shared-buffer-objs := $(dma-buf-objs-y)
  61. --- a/drivers/dma-buf/dma-buf.c
  62. +++ b/drivers/dma-buf/dma-buf.c
  63. @@ -1743,4 +1743,5 @@ static void __exit dma_buf_deinit(void)
  64. kern_unmount(dma_buf_mnt);
  65. dma_buf_uninit_sysfs_statistics();
  66. }
  67. -__exitcall(dma_buf_deinit);
  68. +module_exit(dma_buf_deinit);
  69. +MODULE_LICENSE("GPL");
  70. --- a/kernel/sched/core.c
  71. +++ b/kernel/sched/core.c
  72. @@ -4433,6 +4433,7 @@ int wake_up_state(struct task_struct *p,
  73. {
  74. return try_to_wake_up(p, state, 0);
  75. }
  76. +EXPORT_SYMBOL_GPL(wake_up_state);
  77. /*
  78. * Perform scheduler related setup for a newly forked process p.
  79. --- a/fs/d_path.c
  80. +++ b/fs/d_path.c
  81. @@ -314,6 +314,7 @@ char *dynamic_dname(char *buffer, int bu
  82. buffer += buflen - sz;
  83. return memcpy(buffer, temp, sz);
  84. }
  85. +EXPORT_SYMBOL_GPL(dynamic_dname);
  86. char *simple_dname(struct dentry *dentry, char *buffer, int buflen)
  87. {
  88. --- a/net/Kconfig
  89. +++ b/net/Kconfig
  90. @@ -74,7 +74,7 @@ config SKB_EXTENSIONS
  91. config NET_DEVMEM
  92. def_bool y
  93. - depends on DMA_SHARED_BUFFER
  94. + depends on DMA_SHARED_BUFFER=y
  95. depends on GENERIC_ALLOCATOR
  96. depends on PAGE_POOL