Guest User

Untitled

a guest
May 21st, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.46 KB | None | 0 0
  1. diff --git a/.config b/.config
  2. index 84a3e85..b5f288f 100644
  3. --- a/.config
  4. +++ b/.config
  5. @@ -1,7 +1,7 @@
  6. #
  7. # Automatically generated make config: don't edit
  8. # Linux kernel version: 2.6.29.6
  9. -# Thu Oct 13 15:32:12 2011
  10. +# Wed Jan 11 21:39:18 2012
  11. #
  12. CONFIG_ARM=y
  13. CONFIG_SYS_SUPPORTS_APM_EMULATION=y
  14. @@ -138,14 +138,16 @@ CONFIG_IOSCHED_AS=m
  15. CONFIG_IOSCHED_DEADLINE=m
  16. CONFIG_IOSCHED_CFQ=m
  17. CONFIG_IOSCHED_BFQ=m
  18. +CONFIG_IOSCHED_SIO=y
  19. CONFIG_IOSCHED_VR=y
  20. # CONFIG_DEFAULT_AS is not set
  21. # CONFIG_DEFAULT_DEADLINE is not set
  22. # CONFIG_DEFAULT_CFQ is not set
  23. # CONFIG_DEFAULT_BFQ is not set
  24. # CONFIG_DEFAULT_NOOP is not set
  25. -CONFIG_DEFAULT_VR=y
  26. -CONFIG_DEFAULT_IOSCHED="vr"
  27. +# CONFIG_DEFAULT_VR is not set
  28. +CONFIG_DEFAULT_SIO=y
  29. +CONFIG_DEFAULT_IOSCHED="sio"
  30. CONFIG_FREEZER=y
  31.  
  32. #
  33. @@ -374,8 +376,8 @@ CONFIG_CMDLINE=""
  34. # CONFIG_XIP_KERNEL is not set
  35. # CONFIG_HZ_100 is not set
  36. # CONFIG_HZ_250 is not set
  37. -# CONFIG_HZ_300 is not set
  38. -CONFIG_HZ_1000=y
  39. +CONFIG_HZ_300=y
  40. +# CONFIG_HZ_1000 is not set
  41. CONFIG_SCHED_HRTICK=y
  42. # CONFIG_KEXEC is not set
  43.  
  44. @@ -386,7 +388,7 @@ CONFIG_CPU_FREQ=y
  45. CONFIG_CPU_FREQ_TABLE=y
  46. # CONFIG_CPU_FREQ_DEBUG is not set
  47. CONFIG_CPU_FREQ_STAT=y
  48. -CONFIG_CPU_FREQ_STAT_DETAILS=y
  49. +# CONFIG_CPU_FREQ_STAT_DETAILS is not set
  50. # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
  51. # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
  52. # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
  53. @@ -396,11 +398,12 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
  54. # CONFIG_CPU_FREQ_DEFAULT_GOV_SMARTASS is not set
  55. # CONFIG_CPU_FREQ_DEFAULT_GOV_SCARY is not set
  56. # CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set
  57. +# CONFIG_CPU_FREQ_DEFAULT_GOV_BRAZILIANWAX is not set
  58. CONFIG_CPU_FREQ_DEFAULT_GOV_SMARTASS2=y
  59. CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVEX=y
  60. CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
  61. -# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
  62. -# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
  63. +CONFIG_CPU_FREQ_GOV_POWERSAVE=y
  64. +CONFIG_CPU_FREQ_GOV_USERSPACE=y
  65. CONFIG_CPU_FREQ_GOV_ONDEMAND=y
  66. CONFIG_CPU_FREQ_GOV_ONDEMAND_INPUT=y
  67. CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
  68. @@ -410,6 +413,7 @@ CONFIG_CPU_FREQ_GOV_SMARTASS=y
  69. CONFIG_CPU_FREQ_GOV_SCARY=y
  70. CONFIG_CPU_FREQ_GOV_SMARTASS2=y
  71. CONFIG_CPU_FREQ_GOV_INTERACTIVEX=y
  72. +CONFIG_CPU_FREQ_GOV_BRAZILIANWAX=y
  73. CONFIG_CPU_FREQ_MIN_TICKS=10
  74. CONFIG_CPU_FREQ_SAMPLING_LATENCY_MULTIPLIER=1000
  75. CONFIG_CPU_FREQ_VDD_LEVELS=y
  76. @@ -669,6 +673,7 @@ CONFIG_NET_SCH_CBQ=y
  77. # CONFIG_NET_SCH_PRIO is not set
  78. # CONFIG_NET_SCH_MULTIQ is not set
  79. # CONFIG_NET_SCH_RED is not set
  80. +# CONFIG_NET_SCH_SFB is not set
  81. # CONFIG_NET_SCH_SFQ is not set
  82. # CONFIG_NET_SCH_TEQL is not set
  83. # CONFIG_NET_SCH_TBF is not set
  84. @@ -761,6 +766,8 @@ CONFIG_EXTRA_FIRMWARE=""
  85. # CONFIG_DEBUG_DRIVER is not set
  86. # CONFIG_DEBUG_DEVRES is not set
  87. # CONFIG_SYS_HYPERVISOR is not set
  88. +CONFIG_GENLOCK=y
  89. +CONFIG_GENLOCK_MISCDEVICE=y
  90. # CONFIG_CONNECTOR is not set
  91. CONFIG_MTD=y
  92. # CONFIG_MTD_DEBUG is not set
  93. diff --git a/arch/arm/mach-msm/board-qsd8x50.c b/arch/arm/mach-msm/board-qsd8x50.c
  94. index 193b7f7..69eec8e 100644
  95. --- a/arch/arm/mach-msm/board-qsd8x50.c
  96. +++ b/arch/arm/mach-msm/board-qsd8x50.c
  97. @@ -126,16 +126,10 @@
  98. #define MSM_FB_SIZE 0x177000
  99. #define MSM_GPU_PHYS_SIZE SZ_2M
  100.  
  101. -#ifdef CONFIG_MSM_SOC_REV_A
  102. -#define MSM_SMI_BASE 0xE0000000
  103. -#else
  104. -#define MSM_SMI_BASE 0x00000000
  105. -#endif
  106. -
  107. -#define MSM_SHARED_RAM_PHYS (MSM_SMI_BASE + 0x00100000)
  108. +#define MSM_SHARED_RAM_PHYS 0x00100000
  109.  
  110. #define MODEM_SIZE 0x02300000
  111. -#define MSM_PMEM_SMI_BASE (MSM_SMI_BASE + MODEM_SIZE)
  112. +#define MSM_PMEM_SMI_BASE 0x02300000
  113. #define MSM_PMEM_SMI_SIZE 0x01D00000
  114.  
  115. #define MSM_GPU_PHYS_BASE MSM_PMEM_SMI_BASE
  116. diff --git a/arch/arm/mach-msm/include/mach/memory.h b/arch/arm/mach-msm/include/mach/memory.h
  117. index 691104f..745f2f9 100644
  118. --- a/arch/arm/mach-msm/include/mach/memory.h
  119. +++ b/arch/arm/mach-msm/include/mach/memory.h
  120. @@ -26,6 +26,7 @@
  121.  
  122. #ifndef __ASSEMBLY__
  123. void *alloc_bootmem_aligned(unsigned long size, unsigned long alignment);
  124. +unsigned long allocate_contiguous_ebi_nomap(unsigned long, unsigned long);
  125. void clean_and_invalidate_caches(unsigned long, unsigned long, unsigned long);
  126. void clean_caches(unsigned long, unsigned long, unsigned long);
  127. void invalidate_caches(unsigned long, unsigned long, unsigned long);
  128. diff --git a/arch/arm/mach-msm/memory.c b/arch/arm/mach-msm/memory.c
  129. index 1d55157..14e7b0a 100644
  130. --- a/arch/arm/mach-msm/memory.c
  131. +++ b/arch/arm/mach-msm/memory.c
  132. @@ -17,12 +17,14 @@
  133. #include <linux/mm.h>
  134. #include <linux/mm_types.h>
  135. #include <linux/bootmem.h>
  136. +#include <linux/memory_alloc.h>
  137. #include <linux/module.h>
  138. #include <asm/pgtable.h>
  139. #include <asm/io.h>
  140. #include <asm/mach/map.h>
  141. #include <asm/cacheflush.h>
  142. #include <linux/hardirq.h>
  143. +#include <mach/msm_memtypes.h>
  144. #if defined(CONFIG_MSM_NPA_REMOTE)
  145. #include "npa_remote.h"
  146. #include <linux/completion.h>
  147. @@ -224,3 +226,11 @@ int platform_physical_low_power_pages(unsigned long start_pfn,
  148. return change_memory_power_state(start_pfn, nr_pages,
  149. MEMORY_SELF_REFRESH);
  150. }
  151. +
  152. +unsigned long allocate_contiguous_ebi_nomap(unsigned long size,
  153. + unsigned long align)
  154. +{
  155. + return _allocate_contiguous_memory_nomap(size, MEMTYPE_EBI0,
  156. + align, __builtin_return_address(0));
  157. +}
  158. +EXPORT_SYMBOL(allocate_contiguous_ebi_nomap);
  159. diff --git a/block/Kconfig.iosched b/block/Kconfig.iosched
  160. index 4dd8542..6dca914 100644
  161. --- a/block/Kconfig.iosched
  162. +++ b/block/Kconfig.iosched
  163. @@ -69,7 +69,7 @@ config IOSCHED_SIO
  164. based on noop and deadline, that relies on deadlines to
  165. ensure fairness. The algorithm does not do any sorting but
  166. basic merging, trying to keep a minimum overhead. It is aimed
  167. - mainly for aleatory access devices (eg: flash devices).
  168. + mainly for aleatory access devices (eg: flash devices).
  169.  
  170.  
  171. config IOSCHED_VR
  172. diff --git a/fs/anon_inodes.c b/fs/anon_inodes.c
  173. index 3bbdb9d..aa4e00a 100644
  174. --- a/fs/anon_inodes.c
  175. +++ b/fs/anon_inodes.c
  176. @@ -64,6 +64,84 @@ static struct dentry_operations anon_inodefs_dentry_operations = {
  177. *
  178. * Creates a new file by hooking it on a single inode. This is useful for files
  179. * that do not need to have a full-fledged inode in order to operate correctly.
  180. + * All the files created with anon_inode_getfile() will share a single inode,
  181. + * hence saving memory and avoiding code duplication for the file/inode/dentry
  182. + * setup. Returns the newly created file* or an error pointer.
  183. + */
  184. +struct file *anon_inode_getfile(const char *name,
  185. + const struct file_operations *fops,
  186. + void *priv, int flags)
  187. +{
  188. + struct qstr this;
  189. + struct dentry *dentry;
  190. + struct file *file;
  191. + int error;
  192. +
  193. + if (IS_ERR(anon_inode_inode))
  194. + return ERR_PTR(-ENODEV);
  195. +
  196. + if (fops->owner && !try_module_get(fops->owner))
  197. + return ERR_PTR(-ENOENT);
  198. +
  199. + /*
  200. + * Link the inode to a directory entry by creating a unique name
  201. + * using the inode sequence number.
  202. + */
  203. + error = -ENOMEM;
  204. + this.name = name;
  205. + this.len = strlen(name);
  206. + this.hash = 0;
  207. + dentry = d_alloc(anon_inode_mnt->mnt_sb->s_root, &this);
  208. + if (!dentry)
  209. + goto err_module;
  210. +
  211. + /*
  212. + * We know the anon_inode inode count is always greater than zero,
  213. + * so we can avoid doing an igrab() and we can use an open-coded
  214. + * atomic_inc().
  215. + */
  216. + atomic_inc(&anon_inode_inode->i_count);
  217. +
  218. + dentry->d_op = &anon_inodefs_dentry_operations;
  219. + /* Do not publish this dentry inside the global dentry hash table */
  220. + dentry->d_flags &= ~DCACHE_UNHASHED;
  221. + d_instantiate(dentry, anon_inode_inode);
  222. +
  223. + error = -ENFILE;
  224. + file = alloc_file(anon_inode_mnt, dentry,
  225. + FMODE_READ | FMODE_WRITE, fops);
  226. + if (!file)
  227. + goto err_dput;
  228. + file->f_mapping = anon_inode_inode->i_mapping;
  229. +
  230. + file->f_pos = 0;
  231. + file->f_flags = O_RDWR | (flags & O_NONBLOCK);
  232. + file->f_version = 0;
  233. + file->private_data = priv;
  234. +
  235. + return file;
  236. +
  237. +err_dput:
  238. + dput(dentry);
  239. +err_module:
  240. + module_put(fops->owner);
  241. + return ERR_PTR(error);
  242. +}
  243. +EXPORT_SYMBOL_GPL(anon_inode_getfile);
  244. +
  245. +
  246. +/**
  247. + * anon_inode_getfd - creates a new file instance by hooking it up to an
  248. + * anonymous inode, and a dentry that describe the "class"
  249. + * of the file
  250. + *
  251. + * @name: [in] name of the "class" of the new file
  252. + * @fops: [in] file operations for the new file
  253. + * @priv: [in] private data for the new file (will be file's private_data)
  254. + * @flags: [in] flags
  255. + *
  256. + * Creates a new file by hooking it on a single inode. This is useful for files
  257. + * that do not need to have a full-fledged inode in order to operate correctly.
  258. * All the files created with anon_inode_getfd() will share a single inode,
  259. * hence saving memory and avoiding code duplication for the file/inode/dentry
  260. * setup. Returns new descriptor or -error.
Add Comment
Please, Sign In to add comment