Advertisement
Guest User

Fix SinoVoip crap

a guest
Dec 8th, 2015
628
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 16.43 KB | None | 0 0
  1. diff --git a/Makefile b/Makefile
  2. index 47d4d82..9f10503 100644
  3. --- a/Makefile
  4. +++ b/Makefile
  5. @@ -5,7 +5,8 @@
  6.  include chosen_board.mk
  7.  
  8.  SUDO=sudo
  9. -CROSS_COMPILE=$(COMPILE_TOOL)/arm-linux-gnueabi-
  10. +#CROSS_COMPILE=/usr/local/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
  11. +CROSS_COMPILE=/usr/local/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-
  12.  OUTPUT_DIR=$(CURDIR)/output
  13.  
  14.  U_CONFIG_H=$(U_O_PATH)/include/config.h
  15. diff --git a/build.sh b/build.sh
  16. index b32f4f1..97b56d8 100755
  17. --- a/build.sh
  18. +++ b/build.sh
  19. @@ -2,6 +2,9 @@
  20.  # (c) 2015, Leo Xu <otakunekop@banana-pi.org.cn>
  21.  # Build script for BPI-M3-BSP 2015.07.29
  22.  
  23. +#export PATH="/usr/local/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/bin/:$PATH"
  24. +export PATH="/usr/local/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabi/bin/:$PATH"
  25. +
  26.  cp_download_files()
  27.  {
  28.         . ./chosen_board.mk
  29. diff --git a/linux-sunxi/arch/arm/configs/sun8iw6p1smp_bpi_defconfig b/linux-sunxi/arch/arm/configs/sun8iw6p1smp_bpi_defconfig
  30. old mode 100755
  31. new mode 100644
  32. index 0ec1ed7..335837f
  33. --- a/linux-sunxi/arch/arm/configs/sun8iw6p1smp_bpi_defconfig
  34. +++ b/linux-sunxi/arch/arm/configs/sun8iw6p1smp_bpi_defconfig
  35. @@ -77,7 +77,8 @@ CONFIG_RCU_FANOUT=32
  36.  # CONFIG_RCU_FAST_NO_HZ is not set
  37.  # CONFIG_TREE_RCU_TRACE is not set
  38.  # CONFIG_RCU_BOOST is not set
  39. -# CONFIG_IKCONFIG is not set
  40. +CONFIG_IKCONFIG=y
  41. +CONFIG_IKCONFIG_PROC=y
  42.  CONFIG_LOG_BUF_SHIFT=17
  43.  CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
  44.  CONFIG_CGROUPS=y
  45. @@ -111,7 +112,7 @@ CONFIG_MM_OWNER=y
  46.  # CONFIG_SYSFS_DEPRECATED is not set
  47.  CONFIG_RELAY=y
  48.  # CONFIG_BLK_DEV_INITRD is not set
  49. -CONFIG_CC_OPTIMIZE_FOR_SIZE=y
  50. +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
  51.  CONFIG_SYSCTL=y
  52.  CONFIG_ANON_INODES=y
  53.  CONFIG_PANIC_TIMEOUT=0
  54. @@ -1963,7 +1964,30 @@ CONFIG_GPIO_SYSFS=y
  55.  #
  56.  # MODULbus GPIO expanders:
  57.  #
  58. -# CONFIG_W1 is not set
  59. +CONFIG_W1=m
  60. +CONFIG_W1_CON=y
  61. +
  62. +#
  63. +# 1-wire Bus Masters
  64. +#
  65. +CONFIG_W1_MASTER_DS2490=m
  66. +CONFIG_W1_MASTER_DS2482=m
  67. +CONFIG_W1_MASTER_DS1WM=m
  68. +CONFIG_W1_MASTER_GPIO=m
  69. +
  70. +#
  71. +# 1-wire Slaves
  72. +#
  73. +CONFIG_W1_SLAVE_THERM=m
  74. +# CONFIG_W1_SLAVE_SMEM is not set
  75. +# CONFIG_W1_SLAVE_DS2408 is not set
  76. +# CONFIG_W1_SLAVE_DS2423 is not set
  77. +# CONFIG_W1_SLAVE_DS2431 is not set
  78. +# CONFIG_W1_SLAVE_DS2433 is not set
  79. +# CONFIG_W1_SLAVE_DS2760 is not set
  80. +# CONFIG_W1_SLAVE_DS2780 is not set
  81. +# CONFIG_W1_SLAVE_DS2781 is not set
  82. +# CONFIG_W1_SLAVE_BQ27000 is not set
  83.  CONFIG_POWER_SUPPLY=y
  84.  CONFIG_AW_AXP=y
  85.  CONFIG_AW_AXP81X=y
  86. @@ -2915,6 +2939,7 @@ CONFIG_USB_DEVICE_CLASS=y
  87.  # CONFIG_USB_DYNAMIC_MINORS is not set
  88.  CONFIG_USB_SUSPEND=y
  89.  # CONFIG_USB_OTG is not set
  90. +# CONFIG_USB_OTG_BLACKLIST_HUB is not set
  91.  # CONFIG_USB_DWC3 is not set
  92.  # CONFIG_USB_SUNXI is not set
  93.  # CONFIG_USB_MON is not set
  94. @@ -3315,6 +3340,44 @@ CONFIG_SUNXI_DMA=y
  95.  # Microsoft Hyper-V guest support
  96.  #
  97.  # CONFIG_STAGING is not set
  98. +# CONFIG_USBIP_CORE is not set
  99. +# CONFIG_W35UND is not set
  100. +# CONFIG_PRISM2_USB is not set
  101. +# CONFIG_ECHO is not set
  102. +# CONFIG_ASUS_OLED is not set
  103. +# CONFIG_PANEL is not set
  104. +# CONFIG_RTLLIB is not set
  105. +# CONFIG_R8712U is not set
  106. +# CONFIG_RTS5139 is not set
  107. +# CONFIG_TRANZPORT is not set
  108. +# CONFIG_LINE6_USB is not set
  109. +# CONFIG_USB_SERIAL_QUATECH2 is not set
  110. +# CONFIG_USB_SERIAL_QUATECH_USB2 is not set
  111. +# CONFIG_VT6656 is not set
  112. +# CONFIG_IIO is not set
  113. +CONFIG_ZRAM=y
  114. +# CONFIG_ZRAM_DEBUG is not set
  115. +CONFIG_ZSMALLOC=y
  116. +# CONFIG_FB_SM7XX is not set
  117. +# CONFIG_USB_ENESTORAGE is not set
  118. +# CONFIG_BCM_WIMAX is not set
  119. +# CONFIG_FT1000 is not set
  120. +
  121. +#
  122. +# Speakup console speech
  123. +#
  124. +# CONFIG_SPEAKUP is not set
  125. +# CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set
  126. +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
  127. +# CONFIG_STAGING_MEDIA is not set
  128. +
  129. +#
  130. +# Android
  131. +#
  132. +# CONFIG_ANDROID is not set
  133. +# CONFIG_PHONE is not set
  134. +# CONFIG_USB_WPAN_HCD is not set
  135. +# CONFIG_SUNXIOOPS is not set
  136.  CONFIG_CLKDEV_LOOKUP=y
  137.  CONFIG_HAVE_CLK_PREPARE=y
  138.  CONFIG_COMMON_CLK=y
  139. @@ -3373,7 +3436,9 @@ CONFIG_FS_MBCACHE=y
  140.  # CONFIG_JFS_FS is not set
  141.  # CONFIG_XFS_FS is not set
  142.  # CONFIG_GFS2_FS is not set
  143. -# CONFIG_BTRFS_FS is not set
  144. +CONFIG_BTRFS_FS=m
  145. +CONFIG_BTRFS_FS_POSIX_ACL=y
  146. +# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
  147.  # CONFIG_NILFS2_FS is not set
  148.  CONFIG_FS_POSIX_ACL=y
  149.  CONFIG_EXPORTFS=y
  150. @@ -3392,6 +3457,7 @@ CONFIG_QUOTACTL=y
  151.  CONFIG_AUTOFS4_FS=y
  152.  CONFIG_FUSE_FS=y
  153.  CONFIG_CUSE=y
  154. +CONFIG_GENERIC_ACL=y
  155.  
  156.  #
  157.  # Caches
  158. @@ -3434,8 +3500,8 @@ CONFIG_PROC_SYSCTL=y
  159.  CONFIG_PROC_PAGE_MONITOR=y
  160.  CONFIG_SYSFS=y
  161.  CONFIG_TMPFS=y
  162. -# CONFIG_TMPFS_POSIX_ACL is not set
  163. -# CONFIG_TMPFS_XATTR is not set
  164. +CONFIG_TMPFS_POSIX_ACL=y
  165. +CONFIG_TMPFS_XATTR=y
  166.  # CONFIG_HUGETLB_PAGE is not set
  167.  # CONFIG_CONFIGFS_FS is not set
  168.  CONFIG_MISC_FILESYSTEMS=y
  169. @@ -3562,8 +3628,8 @@ CONFIG_DETECT_HUNG_TASK=y
  170.  CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
  171.  # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
  172.  CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
  173. -CONFIG_SCHED_DEBUG=y
  174. -CONFIG_SCHEDSTATS=y
  175. +# CONFIG_SCHED_DEBUG is not set
  176. +# CONFIG_SCHEDSTATS is not set
  177.  CONFIG_TIMER_STATS=y
  178.  # CONFIG_DEBUG_OBJECTS is not set
  179.  # CONFIG_SLUB_DEBUG_ON is not set
  180. @@ -3599,7 +3665,7 @@ CONFIG_FRAME_POINTER=y
  181.  # CONFIG_BOOT_PRINTK_DELAY is not set
  182.  # CONFIG_RCU_TORTURE_TEST is not set
  183.  CONFIG_RCU_CPU_STALL_TIMEOUT=60
  184. -CONFIG_RCU_CPU_STALL_VERBOSE=y
  185. +# CONFIG_RCU_CPU_STALL_VERBOSE is not set
  186.  # CONFIG_RCU_CPU_STALL_INFO is not set
  187.  # CONFIG_RCU_TRACE is not set
  188.  # CONFIG_BACKTRACE_SELF_TEST is not set
  189. diff --git a/linux-sunxi/arch/arm/mach-sunxi/pm/standby/standby.code b/linux-sunxi/arch/arm/mach-sunxi/pm/standby/standby.code
  190. index c52d32a..7019d00 100755
  191. Binary files a/linux-sunxi/arch/arm/mach-sunxi/pm/standby/standby.code and b/linux-sunxi/arch/arm/mach-sunxi/pm/standby/standby.code differ
  192. diff --git a/linux-sunxi/arch/arm/mach-sunxi/pm/standby/super/resume/resume1.code b/linux-sunxi/arch/arm/mach-sunxi/pm/standby/super/resume/resume1.code
  193. index a91f33e..d7fe326 100644
  194. Binary files a/linux-sunxi/arch/arm/mach-sunxi/pm/standby/super/resume/resume1.code and b/linux-sunxi/arch/arm/mach-sunxi/pm/standby/super/resume/resume1.code differ
  195. diff --git a/linux-sunxi/arch/arm/mach-sunxi/power/brom/Makefile b/linux-sunxi/arch/arm/mach-sunxi/power/brom/Makefile
  196. index 5bce9ee..b7b36d8 100755
  197. --- a/linux-sunxi/arch/arm/mach-sunxi/power/brom/Makefile
  198. +++ b/linux-sunxi/arch/arm/mach-sunxi/power/brom/Makefile
  199. @@ -5,7 +5,7 @@ targets := resumes.elf
  200.  
  201.  #use "-Os" flags.
  202.  #Don't use "-O2" flags.
  203. -KBUILD_CFLAGS := -g -c -nostdlib -march=armv7-a -marm -fno-unwind-tables -fno-asynchronous-unwind-tables -mlittle-endian -O2 --min_array_alignment=4 --no_unaligned_access
  204. +KBUILD_CFLAGS := -g -c -nostdlib -march=armv7-a -marm -fno-unwind-tables -fno-asynchronous-unwind-tables -mlittle-endian -O2
  205.  
  206.  #Include the cur dir.
  207.  KBUILD_CPPFLAGS += -I.
  208. diff --git a/linux-sunxi/arch/arm/mm/dma-mapping.c b/linux-sunxi/arch/arm/mm/dma-mapping.c
  209. index 5e2530c..ee9a374 100755
  210. --- a/linux-sunxi/arch/arm/mm/dma-mapping.c
  211. +++ b/linux-sunxi/arch/arm/mm/dma-mapping.c
  212. @@ -576,7 +576,7 @@ static void __free_from_contiguous(struct device *dev, struct page *page,
  213.         dma_release_from_contiguous(dev, page, size >> PAGE_SHIFT);
  214.  }
  215.  
  216. -inline pgprot_t __get_dma_pgprot(struct dma_attrs *attrs, pgprot_t prot)
  217. +pgprot_t __get_dma_pgprot(struct dma_attrs *attrs, pgprot_t prot)
  218.  {
  219.         prot = dma_get_attr(DMA_ATTR_WRITE_COMBINE, attrs) ?
  220.                             pgprot_writecombine(prot) :
  221. diff --git a/linux-sunxi/drivers/gpu/ion/ion_cma_heap.c b/linux-sunxi/drivers/gpu/ion/ion_cma_heap.c
  222. index fdce245..a23983e 100755
  223. --- a/linux-sunxi/drivers/gpu/ion/ion_cma_heap.c
  224. +++ b/linux-sunxi/drivers/gpu/ion/ion_cma_heap.c
  225. @@ -48,7 +48,7 @@ struct ion_cma_buffer_info {
  226.  struct page *dma_alloc_from_contiguous(struct device *dev,
  227.                                 int count, unsigned int align);
  228.  void __dma_clear_buffer(struct page *page, size_t size);
  229. -inline pgprot_t __get_dma_pgprot(struct dma_attrs *attrs, pgprot_t prot);
  230. +pgprot_t __get_dma_pgprot(struct dma_attrs *attrs, pgprot_t prot);
  231.  void *__dma_alloc_remap(struct page *page, size_t size, gfp_t gfp,
  232.                                 pgprot_t prot, const void *caller);
  233.  void __dma_remap(struct page *page, size_t size, pgprot_t prot);
  234. diff --git a/linux-sunxi/drivers/staging/zsmalloc/Kconfig b/linux-sunxi/drivers/staging/zsmalloc/Kconfig
  235. index 9084565..0ae13cd 100644
  236. --- a/linux-sunxi/drivers/staging/zsmalloc/Kconfig
  237. +++ b/linux-sunxi/drivers/staging/zsmalloc/Kconfig
  238. @@ -1,5 +1,6 @@
  239.  config ZSMALLOC
  240. -       tristate "Memory allocator for compressed pages"
  241. +       bool "Memory allocator for compressed pages"
  242. +       depends on MMU
  243.         default n
  244.         help
  245.           zsmalloc is a slab-based memory allocator designed to store
  246. diff --git a/linux-sunxi/drivers/staging/zsmalloc/zsmalloc-main.c b/linux-sunxi/drivers/staging/zsmalloc/zsmalloc-main.c
  247. index 223c736..b4282d7 100644
  248. --- a/linux-sunxi/drivers/staging/zsmalloc/zsmalloc-main.c
  249. +++ b/linux-sunxi/drivers/staging/zsmalloc/zsmalloc-main.c
  250. @@ -141,7 +141,7 @@
  251.   *  ZS_MIN_ALLOC_SIZE and ZS_SIZE_CLASS_DELTA must be multiple of ZS_ALIGN
  252.   *  (reason above)
  253.   */
  254. -#define ZS_SIZE_CLASS_DELTA    16
  255. +#define ZS_SIZE_CLASS_DELTA    (PAGE_SIZE >> 8)
  256.  #define ZS_SIZE_CLASSES                ((ZS_MAX_ALLOC_SIZE - ZS_MIN_ALLOC_SIZE) / \
  257.                                         ZS_SIZE_CLASS_DELTA + 1)
  258.  
  259. @@ -226,7 +226,7 @@ struct zs_pool {
  260.   * so that USE_PGTABLE_MAPPING is defined. This causes zsmalloc to use
  261.   * page table mapping rather than copying for object mapping.
  262.  */
  263. -#if defined(CONFIG_ARM)
  264. +#if defined(CONFIG_ARM) && !defined(MODULE)
  265.  #define USE_PGTABLE_MAPPING
  266.  #endif
  267.  
  268. @@ -240,7 +240,6 @@ struct mapping_area {
  269.         enum zs_mapmode vm_mm; /* mapping mode */
  270.  };
  271.  
  272. -
  273.  /* per-cpu VM mapping areas for zspage accesses that cross page boundaries */
  274.  static DEFINE_PER_CPU(struct mapping_area, zs_map_area);
  275.  
  276. @@ -254,6 +253,87 @@ static int is_last_page(struct page *page)
  277.         return PagePrivate2(page);
  278.  }
  279.  
  280. +/*
  281. + * A single 'zspage' is composed of many system pages which are
  282. + * linked together using fields in struct page. This function finds
  283. + * the first/head page, given any component page of a zspage.
  284. + */
  285. +static struct page *get_first_page(struct page *page)
  286. +{
  287. +       if (is_first_page(page))
  288. +               return page;
  289. +       else
  290. +               return page->first_page;
  291. +}
  292. +
  293. +static struct page *get_next_page(struct page *page)
  294. +{
  295. +       struct page *next;
  296. +
  297. +       if (is_last_page(page))
  298. +               next = NULL;
  299. +       else if (is_first_page(page))
  300. +               next = (struct page *)page->private;
  301. +       else
  302. +               next = list_entry(page->lru.next, struct page, lru);
  303. +
  304. +       return next;
  305. +}
  306. +
  307. +static void zs_copy_map_object(char *buf, struct page *firstpage,
  308. +                               int off, int size)
  309. +{
  310. +       struct page *pages[2];
  311. +       int sizes[2];
  312. +       void *addr;
  313. +
  314. +       pages[0] = firstpage;
  315. +       pages[1] = get_next_page(firstpage);
  316. +       BUG_ON(!pages[1]);
  317. +
  318. +       sizes[0] = PAGE_SIZE - off;
  319. +       sizes[1] = size - sizes[0];
  320. +
  321. +       /* disable page faults to match kmap_atomic() return conditions */
  322. +       pagefault_disable();
  323. +
  324. +       /* copy object to per-cpu buffer */
  325. +       addr = kmap_atomic(pages[0]);
  326. +       memcpy(buf, addr + off, sizes[0]);
  327. +       kunmap_atomic(addr);
  328. +       addr = kmap_atomic(pages[1]);
  329. +       memcpy(buf + sizes[0], addr, sizes[1]);
  330. +       kunmap_atomic(addr);
  331. +}
  332. +
  333. +static void zs_copy_unmap_object(char *buf, struct page *firstpage,
  334. +                               int off, int size)
  335. +{
  336. +       struct page *pages[2];
  337. +       int sizes[2];
  338. +       void *addr;
  339. +
  340. +       pages[0] = firstpage;
  341. +       pages[1] = get_next_page(firstpage);
  342. +       BUG_ON(!pages[1]);
  343. +
  344. +       sizes[0] = PAGE_SIZE - off;
  345. +       sizes[1] = size - sizes[0];
  346. +
  347. +       /* copy per-cpu buffer to object */
  348. +       addr = kmap_atomic(pages[0]);
  349. +       memcpy(addr + off, buf, sizes[0]);
  350. +       kunmap_atomic(addr);
  351. +       addr = kmap_atomic(pages[1]);
  352. +       memcpy(addr, buf + sizes[0], sizes[1]);
  353. +       kunmap_atomic(addr);
  354. +
  355. +       /* enable page faults to match kunmap_atomic() return conditions */
  356. +       pagefault_enable();
  357. +}
  358. +
  359. +
  360. +
  361.  static void get_zspage_mapping(struct page *page, unsigned int *class_idx,
  362.                                 enum fullness_group *fullness)
  363.  {
  364. @@ -404,34 +484,14 @@ static int get_pages_per_zspage(int class_size)
  365.         return max_usedpc_order;
  366.  }
  367.  
  368. -/*
  369. - * A single 'zspage' is composed of many system pages which are
  370. - * linked together using fields in struct page. This function finds
  371. - * the first/head page, given any component page of a zspage.
  372. - */
  373. -static struct page *get_first_page(struct page *page)
  374. -{
  375. -       if (is_first_page(page))
  376. -               return page;
  377. -       else
  378. -               return page->first_page;
  379. -}
  380. -
  381. -static struct page *get_next_page(struct page *page)
  382. -{
  383. -       struct page *next;
  384. -
  385. -       if (is_last_page(page))
  386. -               next = NULL;
  387. -       else if (is_first_page(page))
  388. -               next = (struct page *)page->private;
  389. -       else
  390. -               next = list_entry(page->lru.next, struct page, lru);
  391.  
  392. -       return next;
  393. -}
  394.  
  395. -/* Encode <page, obj_idx> as a single handle value */
  396. +/*
  397. + * Encode <page, obj_idx> as a single handle value.
  398. + * On hardware platforms with physical memory starting at 0x0 the pfn
  399. + * could be 0 so we ensure that the handle will never be 0 by adjusting the
  400. + * encoded obj_idx value before encoding.
  401. + */
  402.  static void *obj_location_to_handle(struct page *page, unsigned long obj_idx)
  403.  {
  404.         unsigned long handle;
  405. @@ -442,17 +502,21 @@ static void *obj_location_to_handle(struct page *page, unsigned long obj_idx)
  406.         }
  407.  
  408.         handle = page_to_pfn(page) << OBJ_INDEX_BITS;
  409. -       handle |= (obj_idx & OBJ_INDEX_MASK);
  410. +       handle |= ((obj_idx + 1) & OBJ_INDEX_MASK);
  411.  
  412.         return (void *)handle;
  413.  }
  414.  
  415. -/* Decode <page, obj_idx> pair from the given object handle */
  416. +/*
  417. + * Decode <page, obj_idx> pair from the given object handle. We adjust the
  418. + * decoded obj_idx back to its original value since it was adjusted in
  419. + * obj_location_to_handle().
  420. + */
  421.  static void obj_handle_to_location(unsigned long handle, struct page **page,
  422.                                 unsigned long *obj_idx)
  423.  {
  424.         *page = pfn_to_page(handle >> OBJ_INDEX_BITS);
  425. -       *obj_idx = handle & OBJ_INDEX_MASK;
  426. +       *obj_idx = (handle & OBJ_INDEX_MASK) - 1;
  427.  }
  428.  
  429.  static unsigned long obj_idx_to_offset(struct page *page,
  430. @@ -657,11 +721,8 @@ static inline void __zs_unmap_object(struct mapping_area *area,
  431.                                 struct page *pages[2], int off, int size)
  432.  {
  433.         unsigned long addr = (unsigned long)area->vm_addr;
  434. -       unsigned long end = addr + (PAGE_SIZE * 2);
  435.  
  436. -       flush_cache_vunmap(addr, end);
  437. -       unmap_kernel_range_noflush(addr, PAGE_SIZE * 2);
  438. -       flush_tlb_kernel_range(addr, end);
  439. +       unmap_kernel_range(addr, PAGE_SIZE * 2);
  440.  }
  441.  
  442.  #else /* USE_PGTABLE_MAPPING */
  443. @@ -1060,3 +1121,4 @@ module_exit(zs_exit);
  444.  
  445.  MODULE_LICENSE("Dual BSD/GPL");
  446.  MODULE_AUTHOR("Nitin Gupta <ngupta@vflare.org>");
  447. +
  448. diff --git a/linux-sunxi/drivers/staging/zsmalloc/zsmalloc_int.h b/linux-sunxi/drivers/staging/zsmalloc/zsmalloc_int.h
  449. index 92eefc6..37806da 100644
  450. --- a/linux-sunxi/drivers/staging/zsmalloc/zsmalloc_int.h
  451. +++ b/linux-sunxi/drivers/staging/zsmalloc/zsmalloc_int.h
  452. @@ -110,9 +110,8 @@ enum fullness_group {
  453.  static const int fullness_threshold_frac = 4;
  454.  
  455.  struct mapping_area {
  456. -       struct vm_struct *vm;
  457. -       pte_t *vm_ptes[2];
  458. -       char *vm_addr;
  459. +       char *vm_buf; /* copy buffer for objects that span pages */
  460. +       char *vm_addr; /* address of kmap_atomic()'ed pages */
  461.  };
  462.  
  463.  struct size_class {
  464. @@ -153,3 +152,4 @@ struct zs_pool {
  465.  };
  466.  
  467.  #endif
  468. +
  469. diff --git a/u-boot-sunxi/arch/arm/cpu/armv7/config.mk b/u-boot-sunxi/arch/arm/cpu/armv7/config.mk
  470. index 45c6acb..699132c 100755
  471. --- a/u-boot-sunxi/arch/arm/cpu/armv7/config.mk
  472. +++ b/u-boot-sunxi/arch/arm/cpu/armv7/config.mk
  473. @@ -32,9 +32,9 @@ else
  474.  PLATFORM_CPPFLAGS += -mcpu=cortex-a7
  475.  endif
  476.  
  477. -ifndef CONFIG_SPL
  478. -PLATFORM_CPPFLAGS += -Werror
  479. -endif
  480. +#ifndef CONFIG_SPL
  481. +#PLATFORM_CPPFLAGS += -Werror
  482. +#endif
  483.  # =========================================================================
  484.  #
  485.  # Supply options according to compiler version
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement