浏览代码

kernel: reorganize 2.6.37 patches

SVN-Revision: 26692
Felix Fietkau 14 年之前
父节点
当前提交
a1624421ae
共有 100 个文件被更改,包括 362 次插入372 次删除
  1. 0 0
      target/linux/generic/patches-2.6.37/010-gcc4_inline_fix.patch
  2. 1 1
      target/linux/generic/patches-2.6.37/020-ssb_update.patch
  3. 1 1
      target/linux/generic/patches-2.6.37/030-mips_multi_machine_support.patch
  4. 0 0
      target/linux/generic/patches-2.6.37/040-jhash3.patch
  5. 0 0
      target/linux/generic/patches-2.6.37/050-solos_dont_null_deref.patch
  6. 0 0
      target/linux/generic/patches-2.6.37/051-solos_uniform_vpi_vci.patch
  7. 1 4
      target/linux/generic/patches-2.6.37/052-solos-debug_skbuff.patch
  8. 5 12
      target/linux/generic/patches-2.6.37/053-solos-vccs_release.patch
  9. 0 0
      target/linux/generic/patches-2.6.37/060-backport_tos2prio_ecn_fix.patch
  10. 0 0
      target/linux/generic/patches-2.6.37/100-overlayfs.patch
  11. 0 0
      target/linux/generic/patches-2.6.37/101-overlayfs_2.6.37_backport.patch
  12. 0 0
      target/linux/generic/patches-2.6.37/102-overlayfs_fix_readdir_deadlock.patch
  13. 0 0
      target/linux/generic/patches-2.6.37/103-overlayfs_fix_readdir_unlink_deadlock.patch
  14. 0 0
      target/linux/generic/patches-2.6.37/200-fix_localversion.patch
  15. 0 0
      target/linux/generic/patches-2.6.37/201-extra_optimization.patch
  16. 0 0
      target/linux/generic/patches-2.6.37/210-darwin_scripts_include.patch
  17. 0 0
      target/linux/generic/patches-2.6.37/211-stddef_include.patch
  18. 0 0
      target/linux/generic/patches-2.6.37/220-module_exports.patch
  19. 1 1
      target/linux/generic/patches-2.6.37/230-openwrt_lzma_options.patch
  20. 0 0
      target/linux/generic/patches-2.6.37/240-atm_header_changes.patch
  21. 0 0
      target/linux/generic/patches-2.6.37/250-netfilter_depends.patch
  22. 0 0
      target/linux/generic/patches-2.6.37/251-sound_kconfig.patch
  23. 0 0
      target/linux/generic/patches-2.6.37/252-mv_cesa_depends.patch
  24. 0 0
      target/linux/generic/patches-2.6.37/253-ssb_b43_default_on.patch
  25. 1 1
      target/linux/generic/patches-2.6.37/254-textsearch_kconfig_hacks.patch
  26. 0 0
      target/linux/generic/patches-2.6.37/255-lib80211_kconfig_hacks.patch
  27. 0 0
      target/linux/generic/patches-2.6.37/256-crypto_add_kconfig_prompts.patch
  28. 0 0
      target/linux/generic/patches-2.6.37/257-wireless_ext_kconfig_hack.patch
  29. 0 0
      target/linux/generic/patches-2.6.37/258-lzo_decompressor_kconfig_dep.patch
  30. 1 1
      target/linux/generic/patches-2.6.37/301-mips_image_cmdline_hack.patch
  31. 0 0
      target/linux/generic/patches-2.6.37/302-mips_use_generic_thread_info_allocator.patch
  32. 0 0
      target/linux/generic/patches-2.6.37/303-mips_fix_kexec.patch
  33. 0 0
      target/linux/generic/patches-2.6.37/304-mips_disable_fpu.patch
  34. 0 0
      target/linux/generic/patches-2.6.37/305-mips_module_reloc.patch
  35. 1 1
      target/linux/generic/patches-2.6.37/306-mips_mem_functions_performance.patch
  36. 0 0
      target/linux/generic/patches-2.6.37/307-mips_oprofile_fix.patch
  37. 0 0
      target/linux/generic/patches-2.6.37/308-mips_boot.patch
  38. 0 0
      target/linux/generic/patches-2.6.37/310-arm_module_unresolved_weak_sym.patch
  39. 1 1
      target/linux/generic/patches-2.6.37/311-arm_update_mach_types.patch
  40. 0 0
      target/linux/generic/patches-2.6.37/320-ppc4xx_optimization.patch
  41. 0 0
      target/linux/generic/patches-2.6.37/321-powerpc_crtsavres_prereq.patch
  42. 0 0
      target/linux/generic/patches-2.6.37/322-powerpc_asm_segment_h.patch
  43. 1 293
      target/linux/generic/patches-2.6.37/400-rootfs_split.patch
  44. 0 0
      target/linux/generic/patches-2.6.37/401-partial_eraseblock_write.patch
  45. 0 0
      target/linux/generic/patches-2.6.37/410-mtd_info_move_forward_decl.patch
  46. 0 0
      target/linux/generic/patches-2.6.37/420-redboot_space.patch
  47. 0 0
      target/linux/generic/patches-2.6.37/421-redboot_boardconfig.patch
  48. 0 0
      target/linux/generic/patches-2.6.37/430-mtd_myloader_partition_parser.patch
  49. 0 0
      target/linux/generic/patches-2.6.37/440-block2mtd_init.patch
  50. 292 0
      target/linux/generic/patches-2.6.37/441-block2mtd_refresh.patch
  51. 0 0
      target/linux/generic/patches-2.6.37/442-block2mtd_probe.patch
  52. 0 0
      target/linux/generic/patches-2.6.37/450-mtd_plat_nand_chip_fixup.patch
  53. 0 0
      target/linux/generic/patches-2.6.37/451-mtd_fix_nand_correct_data_return_code.patch
  54. 1 1
      target/linux/generic/patches-2.6.37/460-cfi_show_amd_extended_table_version.patch
  55. 0 0
      target/linux/generic/patches-2.6.37/470-mtd_m25p80_add_pm25lv_flash_support.patch
  56. 0 0
      target/linux/generic/patches-2.6.37/471-mtd_m25p80_add_en25f32_chip_support.patch
  57. 0 0
      target/linux/generic/patches-2.6.37/472-mtd_m25p80_add_MX25L1606E_support.patch
  58. 1 1
      target/linux/generic/patches-2.6.37/473-mtd_samsung_flash.patch
  59. 0 0
      target/linux/generic/patches-2.6.37/500-yaffs_support.patch
  60. 38 38
      target/linux/generic/patches-2.6.37/501-yaffs_cvs_2009_04_24.patch
  61. 3 3
      target/linux/generic/patches-2.6.37/502-yaffs_git_2010_10_20.patch
  62. 0 0
      target/linux/generic/patches-2.6.37/503-yaffs_symlink_bug.patch
  63. 0 0
      target/linux/generic/patches-2.6.37/504-yaffs_mutex_fix.patch
  64. 0 0
      target/linux/generic/patches-2.6.37/510-jffs2_make_lzma_available.patch
  65. 3 3
      target/linux/generic/patches-2.6.37/511-debloat_lzma.patch
  66. 0 0
      target/linux/generic/patches-2.6.37/512-jffs2_eofdetect.patch
  67. 0 0
      target/linux/generic/patches-2.6.37/520-squashfs_revert_to_2.6.35.patch
  68. 0 0
      target/linux/generic/patches-2.6.37/521-squashfs_add_lzma.patch
  69. 1 1
      target/linux/generic/patches-2.6.37/522-squashfs_make_lzma_available.patch
  70. 2 2
      target/linux/generic/patches-2.6.37/600-netfilter_layer7_2.22.patch
  71. 0 0
      target/linux/generic/patches-2.6.37/601-netfilter_layer7_pktmatch.patch
  72. 0 0
      target/linux/generic/patches-2.6.37/602-netfilter_layer7_match.patch
  73. 2 2
      target/linux/generic/patches-2.6.37/603-netfilter_layer7_2.6.36_fix.patch
  74. 0 0
      target/linux/generic/patches-2.6.37/604-netfilter_cisco_794x_iphone.patch
  75. 0 0
      target/linux/generic/patches-2.6.37/605-netfilter_rtsp.patch
  76. 0 0
      target/linux/generic/patches-2.6.37/620-sched_esfq.patch
  77. 0 0
      target/linux/generic/patches-2.6.37/621-sched_act_connmark.patch
  78. 0 0
      target/linux/generic/patches-2.6.37/630-packet_socket_type.patch
  79. 0 0
      target/linux/generic/patches-2.6.37/640-bridge_no_eap_forward.patch
  80. 0 0
      target/linux/generic/patches-2.6.37/641-bridge_always_accept_eap.patch
  81. 0 0
      target/linux/generic/patches-2.6.37/642-bridge_port_isolate.patch
  82. 0 0
      target/linux/generic/patches-2.6.37/650-pppoe_header_pad.patch
  83. 0 0
      target/linux/generic/patches-2.6.37/651-wireless_mesh_header.patch
  84. 0 0
      target/linux/generic/patches-2.6.37/700-swconfig.patch
  85. 0 0
      target/linux/generic/patches-2.6.37/701-phy_extension.patch
  86. 0 0
      target/linux/generic/patches-2.6.37/702-phy_add_aneg_done_function.patch
  87. 2 2
      target/linux/generic/patches-2.6.37/720-phy_adm6996.patch
  88. 0 0
      target/linux/generic/patches-2.6.37/721-phy_packets.patch
  89. 0 0
      target/linux/generic/patches-2.6.37/722-phy_mvswitch.patch
  90. 0 0
      target/linux/generic/patches-2.6.37/723-phy_ip175c.patch
  91. 0 0
      target/linux/generic/patches-2.6.37/724-phy_ar8216.patch
  92. 0 0
      target/linux/generic/patches-2.6.37/725-phy_rtl8306.patch
  93. 0 0
      target/linux/generic/patches-2.6.37/726-phy_rtl8366.patch
  94. 1 1
      target/linux/generic/patches-2.6.37/750-hostap_txpower.patch
  95. 0 0
      target/linux/generic/patches-2.6.37/810-pci_disable_common_quirks.patch
  96. 0 0
      target/linux/generic/patches-2.6.37/811-pci_disable_usb_common_quirks.patch
  97. 0 0
      target/linux/generic/patches-2.6.37/820-usb_add_usb_find_device_by_name.patch
  98. 0 0
      target/linux/generic/patches-2.6.37/821-usb_serial_endpoint_size.patch
  99. 1 1
      target/linux/generic/patches-2.6.37/830-ledtrig_morse.patch
  100. 1 1
      target/linux/generic/patches-2.6.37/831-ledtrig_netdev.patch

+ 0 - 0
target/linux/generic/patches-2.6.37/013-gcc4_inline_fix.patch → target/linux/generic/patches-2.6.37/010-gcc4_inline_fix.patch


+ 1 - 1
target/linux/generic/patches-2.6.37/941-ssb_update.patch → target/linux/generic/patches-2.6.37/020-ssb_update.patch

@@ -197,7 +197,7 @@
  	/* TODO - get remaining rev 8 stuff needed */
  	/* TODO - get remaining rev 8 stuff needed */
  }
  }
  
  
-@@ -573,37 +621,34 @@ static int sprom_extract(struct ssb_bus
+@@ -573,37 +621,34 @@ static int sprom_extract(struct ssb_bus 
  	ssb_dprintk(KERN_DEBUG PFX "SPROM revision %d detected.\n", out->revision);
  	ssb_dprintk(KERN_DEBUG PFX "SPROM revision %d detected.\n", out->revision);
  	memset(out->et0mac, 0xFF, 6);		/* preset et0 and et1 mac */
  	memset(out->et0mac, 0xFF, 6);		/* preset et0 and et1 mac */
  	memset(out->et1mac, 0xFF, 6);
  	memset(out->et1mac, 0xFF, 6);

+ 1 - 1
target/linux/generic/patches-2.6.37/020-mips_multi_machine_support.patch → target/linux/generic/patches-2.6.37/030-mips_multi_machine_support.patch

@@ -176,7 +176,7 @@
  
  
  unsigned int vced_count, vcei_count;
  unsigned int vced_count, vcei_count;
  
  
-@@ -31,8 +32,12 @@ static int show_cpuinfo(struct seq_file
+@@ -31,8 +32,12 @@ static int show_cpuinfo(struct seq_file 
  	/*
  	/*
  	 * For the first processor also print the system type
  	 * For the first processor also print the system type
  	 */
  	 */

+ 0 - 0
target/linux/generic/patches-2.6.37/201-jhash3.patch → target/linux/generic/patches-2.6.37/040-jhash3.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/280-solos_dont_null_deref.patch → target/linux/generic/patches-2.6.37/050-solos_dont_null_deref.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/281-solos_uniform_vpi_vci.patch → target/linux/generic/patches-2.6.37/051-solos_uniform_vpi_vci.patch


+ 1 - 4
target/linux/generic/patches-2.6.37/282-solos-debug_skbuff.patch → target/linux/generic/patches-2.6.37/052-solos-debug_skbuff.patch

@@ -19,8 +19,6 @@ Date:   Wed Mar 30 12:59:26 2011 +0000
  drivers/atm/solos-pci.c |    9 ++++++++-
  drivers/atm/solos-pci.c |    9 ++++++++-
  1 files changed, 8 insertions(+), 1 deletions(-)
  1 files changed, 8 insertions(+), 1 deletions(-)
 
 
-diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
-index 2c4146a..968f022 100644
 --- a/drivers/atm/solos-pci.c
 --- a/drivers/atm/solos-pci.c
 +++ b/drivers/atm/solos-pci.c
 +++ b/drivers/atm/solos-pci.c
 @@ -697,7 +697,7 @@ void solos_bh(unsigned long card_arg)
 @@ -697,7 +697,7 @@ void solos_bh(unsigned long card_arg)
@@ -32,7 +30,7 @@ index 2c4146a..968f022 100644
  				dev_info(&card->dev->dev, "size: %d VPI: %d VCI: %d\n",
  				dev_info(&card->dev->dev, "size: %d VPI: %d VCI: %d\n",
  					 size, le16_to_cpu(header->vpi),
  					 size, le16_to_cpu(header->vpi),
  					 le16_to_cpu(header->vci));
  					 le16_to_cpu(header->vci));
-@@ -1018,8 +1018,15 @@ static uint32_t fpga_tx(struct solos_card *card)
+@@ -1018,8 +1018,15 @@ static uint32_t fpga_tx(struct solos_car
  
  
  			/* Clean up and free oldskb now it's gone */
  			/* Clean up and free oldskb now it's gone */
  			if (atmdebug) {
  			if (atmdebug) {
@@ -48,4 +46,3 @@ index 2c4146a..968f022 100644
  				print_buffer(oldskb);
  				print_buffer(oldskb);
  			}
  			}
  
  
-

+ 5 - 12
target/linux/generic/patches-2.6.37/283-solos-vccs_release.patch → target/linux/generic/patches-2.6.37/053-solos-vccs_release.patch

@@ -22,11 +22,9 @@ Date:   Wed Mar 30 13:17:04 2011 +0000
  net/atm/common.c        |    1 +
  net/atm/common.c        |    1 +
  3 files changed, 3 insertions(+), 25 deletions(-)
  3 files changed, 3 insertions(+), 25 deletions(-)
 
 
-diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
-index 968f022..cd0ff66 100644
 --- a/drivers/atm/solos-pci.c
 --- a/drivers/atm/solos-pci.c
 +++ b/drivers/atm/solos-pci.c
 +++ b/drivers/atm/solos-pci.c
-@@ -165,7 +165,6 @@ static uint32_t fpga_tx(struct solos_card *);
+@@ -165,7 +165,6 @@ static uint32_t fpga_tx(struct solos_car
  static irqreturn_t solos_irq(int irq, void *dev_id);
  static irqreturn_t solos_irq(int irq, void *dev_id);
  static struct atm_vcc* find_vcc(struct atm_dev *dev, short vpi, int vci);
  static struct atm_vcc* find_vcc(struct atm_dev *dev, short vpi, int vci);
  static int list_vccs(int vci);
  static int list_vccs(int vci);
@@ -34,7 +32,7 @@ index 968f022..cd0ff66 100644
  static int atm_init(struct solos_card *, struct device *);
  static int atm_init(struct solos_card *, struct device *);
  static void atm_remove(struct solos_card *);
  static void atm_remove(struct solos_card *);
  static int send_command(struct solos_card *card, int dev, const char *buf, size_t size);
  static int send_command(struct solos_card *card, int dev, const char *buf, size_t size);
-@@ -384,7 +383,6 @@ static int process_status(struct solos_card *card, int port, struct sk_buff *skb
+@@ -384,7 +383,6 @@ static int process_status(struct solos_c
  	/* Anything but 'Showtime' is down */
  	/* Anything but 'Showtime' is down */
  	if (strcmp(state_str, "Showtime")) {
  	if (strcmp(state_str, "Showtime")) {
  		atm_dev_signal_change(card->atmdev[port], ATM_PHY_SIG_LOST);
  		atm_dev_signal_change(card->atmdev[port], ATM_PHY_SIG_LOST);
@@ -71,7 +69,7 @@ index 968f022..cd0ff66 100644
  
  
  static int popen(struct atm_vcc *vcc)
  static int popen(struct atm_vcc *vcc)
  {
  {
-@@ -1269,7 +1245,7 @@ static int atm_init(struct solos_card *card, struct device *parent)
+@@ -1269,7 +1245,7 @@ static int atm_init(struct solos_card *c
  		card->atmdev[i]->ci_range.vci_bits = 16;
  		card->atmdev[i]->ci_range.vci_bits = 16;
  		card->atmdev[i]->dev_data = card;
  		card->atmdev[i]->dev_data = card;
  		card->atmdev[i]->phy_data = (void *)(unsigned long)i;
  		card->atmdev[i]->phy_data = (void *)(unsigned long)i;
@@ -80,11 +78,9 @@ index 968f022..cd0ff66 100644
  
  
  		skb = alloc_skb(sizeof(*header), GFP_ATOMIC);
  		skb = alloc_skb(sizeof(*header), GFP_ATOMIC);
  		if (!skb) {
  		if (!skb) {
-diff --git a/include/linux/atmdev.h b/include/linux/atmdev.h
-index 475f8c4..381f4ce 100644
 --- a/include/linux/atmdev.h
 --- a/include/linux/atmdev.h
 +++ b/include/linux/atmdev.h
 +++ b/include/linux/atmdev.h
-@@ -443,6 +443,7 @@ void atm_dev_signal_change(struct atm_dev *dev, char signal);
+@@ -443,6 +443,7 @@ void atm_dev_signal_change(struct atm_de
  
  
  void vcc_insert_socket(struct sock *sk);
  void vcc_insert_socket(struct sock *sk);
  
  
@@ -92,11 +88,9 @@ index 475f8c4..381f4ce 100644
  
  
  /*
  /*
   * This is approximately the algorithm used by alloc_skb.
   * This is approximately the algorithm used by alloc_skb.
-diff --git a/net/atm/common.c b/net/atm/common.c
-index 1b9c52a..22b963d 100644
 --- a/net/atm/common.c
 --- a/net/atm/common.c
 +++ b/net/atm/common.c
 +++ b/net/atm/common.c
-@@ -252,6 +252,7 @@ void atm_dev_release_vccs(struct atm_dev *dev)
+@@ -252,6 +252,7 @@ void atm_dev_release_vccs(struct atm_dev
  	}
  	}
  	write_unlock_irq(&vcc_sklist_lock);
  	write_unlock_irq(&vcc_sklist_lock);
  }
  }
@@ -104,4 +98,3 @@ index 1b9c52a..22b963d 100644
  
  
  static int adjust_tp(struct atm_trafprm *tp, unsigned char aal)
  static int adjust_tp(struct atm_trafprm *tp, unsigned char aal)
  {
  {
-

+ 0 - 0
target/linux/generic/patches-2.6.37/960-backport_tos2prio_ecn_fix.patch → target/linux/generic/patches-2.6.37/060-backport_tos2prio_ecn_fix.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/209-overlayfs.patch → target/linux/generic/patches-2.6.37/100-overlayfs.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/210-overlayfs_2.6.37_backport.patch → target/linux/generic/patches-2.6.37/101-overlayfs_2.6.37_backport.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/211-overlayfs_fix_readdir_deadlock.patch → target/linux/generic/patches-2.6.37/102-overlayfs_fix_readdir_deadlock.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/212-overlayfs_fix_readdir_unlink_deadlock.patch → target/linux/generic/patches-2.6.37/103-overlayfs_fix_readdir_unlink_deadlock.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/001-fix_localversion.patch → target/linux/generic/patches-2.6.37/200-fix_localversion.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/012-extra_optimization.patch → target/linux/generic/patches-2.6.37/201-extra_optimization.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/902-darwin_scripts_include.patch → target/linux/generic/patches-2.6.37/210-darwin_scripts_include.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/903-stddef_include.patch → target/linux/generic/patches-2.6.37/211-stddef_include.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/028-module_exports.patch → target/linux/generic/patches-2.6.37/220-module_exports.patch


+ 1 - 1
target/linux/generic/patches-2.6.37/998-openwrt_lzma_options.patch → target/linux/generic/patches-2.6.37/230-openwrt_lzma_options.patch

@@ -1,6 +1,6 @@
 --- a/scripts/Makefile.lib
 --- a/scripts/Makefile.lib
 +++ b/scripts/Makefile.lib
 +++ b/scripts/Makefile.lib
-@@ -231,7 +231,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^)
+@@ -231,7 +231,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^) 
  
  
  quiet_cmd_lzma = LZMA    $@
  quiet_cmd_lzma = LZMA    $@
  cmd_lzma = (cat $(filter-out FORCE,$^) | \
  cmd_lzma = (cat $(filter-out FORCE,$^) | \

+ 0 - 0
target/linux/generic/patches-2.6.37/251-atm.patch → target/linux/generic/patches-2.6.37/240-atm_header_changes.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/180-netfilter_depends.patch → target/linux/generic/patches-2.6.37/250-netfilter_depends.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/220-sound_kconfig.patch → target/linux/generic/patches-2.6.37/251-sound_kconfig.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/972-mv_cesa_depends.patch → target/linux/generic/patches-2.6.37/252-mv_cesa_depends.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/974-ssb_b43_default_on.patch → target/linux/generic/patches-2.6.37/253-ssb_b43_default_on.patch


+ 1 - 1
target/linux/generic/patches-2.6.37/977-textsearch_kconfig_hacks.patch → target/linux/generic/patches-2.6.37/254-textsearch_kconfig_hacks.patch

@@ -1,6 +1,6 @@
 --- a/lib/Kconfig
 --- a/lib/Kconfig
 +++ b/lib/Kconfig
 +++ b/lib/Kconfig
-@@ -161,16 +161,16 @@ config REED_SOLOMON_DEC16
+@@ -152,16 +152,16 @@ config REED_SOLOMON_DEC16
  # Textsearch support is select'ed if needed
  # Textsearch support is select'ed if needed
  #
  #
  config TEXTSEARCH
  config TEXTSEARCH

+ 0 - 0
target/linux/generic/patches-2.6.37/978-lib80211_kconfig_hacks.patch → target/linux/generic/patches-2.6.37/255-lib80211_kconfig_hacks.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/979-crypto_add_kconfig_prompts.patch → target/linux/generic/patches-2.6.37/256-crypto_add_kconfig_prompts.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/981-wireless_ext_kconfig_hack.patch → target/linux/generic/patches-2.6.37/257-wireless_ext_kconfig_hack.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/997-lzo_decompressor_fix.patch → target/linux/generic/patches-2.6.37/258-lzo_decompressor_kconfig_dep.patch


+ 1 - 1
target/linux/generic/patches-2.6.37/021-mips_image_cmdline_hack.patch → target/linux/generic/patches-2.6.37/301-mips_image_cmdline_hack.patch

@@ -13,7 +13,7 @@
  
  
 --- a/arch/mips/kernel/head.S
 --- a/arch/mips/kernel/head.S
 +++ b/arch/mips/kernel/head.S
 +++ b/arch/mips/kernel/head.S
-@@ -143,6 +143,12 @@ FEXPORT(__kernel_entry)
+@@ -141,6 +141,12 @@ FEXPORT(__kernel_entry)
  	j	kernel_entry
  	j	kernel_entry
  #endif
  #endif
  
  

+ 0 - 0
target/linux/generic/patches-2.6.37/022-mips_use_generic_thread_info_allocator.patch → target/linux/generic/patches-2.6.37/302-mips_use_generic_thread_info_allocator.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/023-mips-fix-kexec.patch → target/linux/generic/patches-2.6.37/303-mips_fix_kexec.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/025-mips_disable_fpu.patch → target/linux/generic/patches-2.6.37/304-mips_disable_fpu.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/027-mips_module_reloc.patch → target/linux/generic/patches-2.6.37/305-mips_module_reloc.patch


+ 1 - 1
target/linux/generic/patches-2.6.37/202-mips_mem_functions_performance.patch → target/linux/generic/patches-2.6.37/306-mips_mem_functions_performance.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/include/asm/string.h
 --- a/arch/mips/include/asm/string.h
 +++ b/arch/mips/include/asm/string.h
 +++ b/arch/mips/include/asm/string.h
-@@ -133,11 +133,44 @@ strncmp(__const__ char *__cs, __const__
+@@ -133,11 +133,44 @@ strncmp(__const__ char *__cs, __const__ 
  
  
  #define __HAVE_ARCH_MEMSET
  #define __HAVE_ARCH_MEMSET
  extern void *memset(void *__s, int __c, size_t __count);
  extern void *memset(void *__s, int __c, size_t __count);

+ 0 - 0
target/linux/generic/patches-2.6.37/208-mips_oprofile_fix.patch → target/linux/generic/patches-2.6.37/307-mips_oprofile_fix.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/011-mips_boot.patch → target/linux/generic/patches-2.6.37/308-mips_boot.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/029-arm_module_unresolved_weak_sym.patch → target/linux/generic/patches-2.6.37/310-arm_module_unresolved_weak_sym.patch


+ 1 - 1
target/linux/generic/patches-2.6.37/040-arm-update-mach-types.patch → target/linux/generic/patches-2.6.37/311-arm_update_mach_types.patch

@@ -63,7 +63,7 @@
  htc_excalibur_s620	MACH_HTC_EXCALIBUR_S620	HTC_EXCALIBUR_S620	2391
  htc_excalibur_s620	MACH_HTC_EXCALIBUR_S620	HTC_EXCALIBUR_S620	2391
  htc_opal		MACH_HTC_OPAL		HTC_OPAL		2392
  htc_opal		MACH_HTC_OPAL		HTC_OPAL		2392
  touchbook		MACH_TOUCHBOOK		TOUCHBOOK		2393
  touchbook		MACH_TOUCHBOOK		TOUCHBOOK		2393
-@@ -2446,7 +2446,7 @@ siogentoo1		MACH_SIOGENTOO1		SIOGENTOO1
+@@ -2446,7 +2446,7 @@ siogentoo1		MACH_SIOGENTOO1		SIOGENTOO1	
  siogentoo2		MACH_SIOGENTOO2		SIOGENTOO2		2459
  siogentoo2		MACH_SIOGENTOO2		SIOGENTOO2		2459
  sm3k			MACH_SM3K		SM3K			2460
  sm3k			MACH_SM3K		SM3K			2460
  acer_tempo_f900		MACH_ACER_TEMPO_F900	ACER_TEMPO_F900		2461
  acer_tempo_f900		MACH_ACER_TEMPO_F900	ACER_TEMPO_F900		2461

+ 0 - 0
target/linux/generic/patches-2.6.37/991-ppc4xx_optimization.patch → target/linux/generic/patches-2.6.37/320-ppc4xx_optimization.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/950-powerpc_crtsavres_prereq.patch → target/linux/generic/patches-2.6.37/321-powerpc_crtsavres_prereq.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/207-powerpc_asm_segment_h.patch → target/linux/generic/patches-2.6.37/322-powerpc_asm_segment_h.patch


+ 1 - 293
target/linux/generic/patches-2.6.37/065-rootfs_split.patch → target/linux/generic/patches-2.6.37/400-rootfs_split.patch

@@ -255,301 +255,9 @@
  static DEFINE_SPINLOCK(part_parser_lock);
  static DEFINE_SPINLOCK(part_parser_lock);
  static LIST_HEAD(part_parsers);
  static LIST_HEAD(part_parsers);
  
  
---- a/drivers/mtd/devices/block2mtd.c
-+++ b/drivers/mtd/devices/block2mtd.c
-@@ -30,6 +30,8 @@ struct block2mtd_dev {
- 	struct block_device *blkdev;
- 	struct mtd_info mtd;
- 	struct mutex write_mutex;
-+	rwlock_t bdev_mutex;
-+	char devname[0];
- };
- 
- 
-@@ -82,6 +84,12 @@ static int block2mtd_erase(struct mtd_in
- 	size_t len = instr->len;
- 	int err;
- 
-+	read_lock(&dev->bdev_mutex);
-+	if (!dev->blkdev) {
-+		err = -EINVAL;
-+		goto done;
-+	}
-+
- 	instr->state = MTD_ERASING;
- 	mutex_lock(&dev->write_mutex);
- 	err = _block2mtd_erase(dev, from, len);
-@@ -93,6 +101,10 @@ static int block2mtd_erase(struct mtd_in
- 		instr->state = MTD_ERASE_DONE;
- 
- 	mtd_erase_callback(instr);
-+
-+done:
-+	read_unlock(&dev->bdev_mutex);
-+
- 	return err;
- }
- 
-@@ -104,10 +116,14 @@ static int block2mtd_read(struct mtd_inf
- 	struct page *page;
- 	int index = from >> PAGE_SHIFT;
- 	int offset = from & (PAGE_SIZE-1);
--	int cpylen;
-+	int cpylen, err = 0;
-+
-+	read_lock(&dev->bdev_mutex);
-+	if (!dev->blkdev || (from > mtd->size)) {
-+		err = -EINVAL;
-+		goto done;
-+	}
- 
--	if (from > mtd->size)
--		return -EINVAL;
- 	if (from + len > mtd->size)
- 		len = mtd->size - from;
- 
-@@ -122,10 +138,14 @@ static int block2mtd_read(struct mtd_inf
- 		len = len - cpylen;
- 
- 		page = page_read(dev->blkdev->bd_inode->i_mapping, index);
--		if (!page)
--			return -ENOMEM;
--		if (IS_ERR(page))
--			return PTR_ERR(page);
-+		if (!page) {
-+			err = -ENOMEM;
-+			goto done;
-+		}
-+		if (IS_ERR(page)) {
-+			err = PTR_ERR(page);
-+			goto done;
-+		}
- 
- 		memcpy(buf, page_address(page) + offset, cpylen);
- 		page_cache_release(page);
-@@ -136,7 +156,10 @@ static int block2mtd_read(struct mtd_inf
- 		offset = 0;
- 		index++;
- 	}
--	return 0;
-+
-+done:
-+	read_unlock(&dev->bdev_mutex);
-+	return err;
- }
- 
- 
-@@ -188,12 +211,22 @@ static int block2mtd_write(struct mtd_in
- 		size_t *retlen, const u_char *buf)
- {
- 	struct block2mtd_dev *dev = mtd->priv;
--	int err;
-+	int err = 0;
-+
-+	read_lock(&dev->bdev_mutex);
-+	if (!dev->blkdev) {
-+		err = -EINVAL;
-+		goto done;
-+	}
- 
- 	if (!len)
--		return 0;
--	if (to >= mtd->size)
--		return -ENOSPC;
-+		goto done;
-+
-+	if (to >= mtd->size) {
-+		err = -ENOSPC;
-+		goto done;
-+	}
-+
- 	if (to + len > mtd->size)
- 		len = mtd->size - to;
- 
-@@ -202,6 +235,9 @@ static int block2mtd_write(struct mtd_in
- 	mutex_unlock(&dev->write_mutex);
- 	if (err > 0)
- 		err = 0;
-+
-+done:
-+	read_unlock(&dev->bdev_mutex);
- 	return err;
- }
- 
-@@ -210,52 +246,29 @@ static int block2mtd_write(struct mtd_in
- static void block2mtd_sync(struct mtd_info *mtd)
- {
- 	struct block2mtd_dev *dev = mtd->priv;
--	sync_blockdev(dev->blkdev);
--	return;
--}
--
--
--static void block2mtd_free_device(struct block2mtd_dev *dev)
--{
--	if (!dev)
--		return;
--
--	kfree(dev->mtd.name);
- 
--	if (dev->blkdev) {
--		invalidate_mapping_pages(dev->blkdev->bd_inode->i_mapping,
--					0, -1);
--		close_bdev_exclusive(dev->blkdev, FMODE_READ|FMODE_WRITE);
--	}
-+	read_lock(&dev->bdev_mutex);
-+	if (dev->blkdev)
-+		sync_blockdev(dev->blkdev);
-+	read_unlock(&dev->bdev_mutex);
- 
--	kfree(dev);
-+	return;
- }
- 
- 
--/* FIXME: ensure that mtd->size % erase_size == 0 */
--static struct block2mtd_dev *add_device(char *devname, int erase_size, const char *mtdname)
-+static int _open_bdev(struct block2mtd_dev *dev)
- {
- 	struct block_device *bdev;
--	struct block2mtd_dev *dev;
--	struct mtd_partition *part;
--	char *name;
--
--	if (!devname)
--		return NULL;
--
--	dev = kzalloc(sizeof(struct block2mtd_dev), GFP_KERNEL);
--	if (!dev)
--		return NULL;
- 
- 	/* Get a handle on the device */
--	bdev = open_bdev_exclusive(devname, FMODE_READ|FMODE_WRITE, NULL);
-+	bdev = open_bdev_exclusive(dev->devname, FMODE_READ|FMODE_WRITE, NULL);
- #ifndef MODULE
- 	if (IS_ERR(bdev)) {
- 
- 		/* We might not have rootfs mounted at this point. Try
- 		   to resolve the device name by other means. */
- 
--		dev_t devt = name_to_dev_t(devname);
-+		dev_t devt = name_to_dev_t(dev->devname);
- 		if (devt) {
- 			bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
- 		}
-@@ -263,17 +276,98 @@ static struct block2mtd_dev *add_device(
- #endif
- 
- 	if (IS_ERR(bdev)) {
--		ERROR("error: cannot open device %s", devname);
--		goto devinit_err;
-+		ERROR("error: cannot open device %s", dev->devname);
-+		return 1;
- 	}
- 	dev->blkdev = bdev;
- 
- 	if (MAJOR(bdev->bd_dev) == MTD_BLOCK_MAJOR) {
- 		ERROR("attempting to use an MTD device as a block device");
--		goto devinit_err;
-+		return 1;
- 	}
- 
-+	return 0;
-+}
-+
-+static void _close_bdev(struct block2mtd_dev *dev)
-+{
-+	struct block_device *bdev;
-+
-+	if (!dev->blkdev)
-+		return;
-+
-+	bdev = dev->blkdev;
-+	invalidate_mapping_pages(dev->blkdev->bd_inode->i_mapping, 0, -1);
-+	close_bdev_exclusive(dev->blkdev, FMODE_READ|FMODE_WRITE);
-+	dev->blkdev = NULL;
-+}
-+
-+static void block2mtd_free_device(struct block2mtd_dev *dev)
-+{
-+	if (!dev)
-+		return;
-+
-+	kfree(dev->mtd.name);
-+	_close_bdev(dev);
-+	kfree(dev);
-+}
-+
-+
-+static int block2mtd_refresh(struct mtd_info *mtd)
-+{
-+	struct block2mtd_dev *dev = mtd->priv;
-+	struct block_device *bdev;
-+	dev_t devt;
-+	int err = 0;
-+
-+	/* no other mtd function can run at this point */
-+	write_lock(&dev->bdev_mutex);
-+
-+	/* get the device number for the whole disk */
-+	devt = MKDEV(MAJOR(dev->blkdev->bd_dev), 0);
-+
-+	/* close the old block device */
-+	_close_bdev(dev);
-+
-+	/* open the whole disk, issue a partition rescan, then */
-+	bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
-+	if (!bdev || !bdev->bd_disk)
-+		err = -EINVAL;
-+#ifndef CONFIG_MTD_BLOCK2MTD_MODULE
-+	else
-+		err = rescan_partitions(bdev->bd_disk, bdev);
-+#endif
-+	if (bdev)
-+		close_bdev_exclusive(bdev, FMODE_READ|FMODE_WRITE);
-+
-+	/* try to open the partition block device again */
-+	_open_bdev(dev);
-+	write_unlock(&dev->bdev_mutex);
-+
-+	return err;
-+}
-+
-+/* FIXME: ensure that mtd->size % erase_size == 0 */
-+static struct block2mtd_dev *add_device(char *devname, int erase_size, char *mtdname)
-+{
-+	struct block2mtd_dev *dev;
-+	struct mtd_partition *part;
-+	char *name;
-+
-+	if (!devname)
-+		return NULL;
-+
-+	dev = kzalloc(sizeof(struct block2mtd_dev) + strlen(devname) + 1, GFP_KERNEL);
-+	if (!dev)
-+		return NULL;
-+
-+	strcpy(dev->devname, devname);
-+
-+	if (_open_bdev(dev))
-+		goto devinit_err;
-+
- 	mutex_init(&dev->write_mutex);
-+	rwlock_init(&dev->bdev_mutex);
- 
- 	/* Setup the MTD structure */
- 	/* make the name contain the block device in */
-@@ -298,6 +392,7 @@ static struct block2mtd_dev *add_device(
- 	dev->mtd.read = block2mtd_read;
- 	dev->mtd.priv = dev;
- 	dev->mtd.owner = THIS_MODULE;
-+	dev->mtd.refresh_device = block2mtd_refresh;
- 
- 	part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL);
- 	part->name = dev->mtd.name;
 --- a/drivers/mtd/mtdchar.c
 --- a/drivers/mtd/mtdchar.c
 +++ b/drivers/mtd/mtdchar.c
 +++ b/drivers/mtd/mtdchar.c
-@@ -841,6 +841,13 @@ static int mtd_ioctl(struct file *file,
+@@ -841,6 +841,13 @@ static int mtd_ioctl(struct file *file, 
  		file->f_pos = 0;
  		file->f_pos = 0;
  		break;
  		break;
  	}
  	}

+ 0 - 0
target/linux/generic/patches-2.6.37/222-partial_eraseblock_write.patch → target/linux/generic/patches-2.6.37/401-partial_eraseblock_write.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/082-mtd_info_move_forward_decl.patch → target/linux/generic/patches-2.6.37/410-mtd_info_move_forward_decl.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/070-redboot_space.patch → target/linux/generic/patches-2.6.37/420-redboot_space.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/071-redboot_boardconfig.patch → target/linux/generic/patches-2.6.37/421-redboot_boardconfig.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/081-mtd_myloader_partition_parser.patch → target/linux/generic/patches-2.6.37/430-mtd_myloader_partition_parser.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/060-block2mtd_init.patch → target/linux/generic/patches-2.6.37/440-block2mtd_init.patch


+ 292 - 0
target/linux/generic/patches-2.6.37/441-block2mtd_refresh.patch

@@ -0,0 +1,292 @@
+--- a/drivers/mtd/devices/block2mtd.c
++++ b/drivers/mtd/devices/block2mtd.c
+@@ -30,6 +30,8 @@ struct block2mtd_dev {
+ 	struct block_device *blkdev;
+ 	struct mtd_info mtd;
+ 	struct mutex write_mutex;
++	rwlock_t bdev_mutex;
++	char devname[0];
+ };
+ 
+ 
+@@ -82,6 +84,12 @@ static int block2mtd_erase(struct mtd_in
+ 	size_t len = instr->len;
+ 	int err;
+ 
++	read_lock(&dev->bdev_mutex);
++	if (!dev->blkdev) {
++		err = -EINVAL;
++		goto done;
++	}
++
+ 	instr->state = MTD_ERASING;
+ 	mutex_lock(&dev->write_mutex);
+ 	err = _block2mtd_erase(dev, from, len);
+@@ -93,6 +101,10 @@ static int block2mtd_erase(struct mtd_in
+ 		instr->state = MTD_ERASE_DONE;
+ 
+ 	mtd_erase_callback(instr);
++
++done:
++	read_unlock(&dev->bdev_mutex);
++
+ 	return err;
+ }
+ 
+@@ -104,10 +116,14 @@ static int block2mtd_read(struct mtd_inf
+ 	struct page *page;
+ 	int index = from >> PAGE_SHIFT;
+ 	int offset = from & (PAGE_SIZE-1);
+-	int cpylen;
++	int cpylen, err = 0;
++
++	read_lock(&dev->bdev_mutex);
++	if (!dev->blkdev || (from > mtd->size)) {
++		err = -EINVAL;
++		goto done;
++	}
+ 
+-	if (from > mtd->size)
+-		return -EINVAL;
+ 	if (from + len > mtd->size)
+ 		len = mtd->size - from;
+ 
+@@ -122,10 +138,14 @@ static int block2mtd_read(struct mtd_inf
+ 		len = len - cpylen;
+ 
+ 		page = page_read(dev->blkdev->bd_inode->i_mapping, index);
+-		if (!page)
+-			return -ENOMEM;
+-		if (IS_ERR(page))
+-			return PTR_ERR(page);
++		if (!page) {
++			err = -ENOMEM;
++			goto done;
++		}
++		if (IS_ERR(page)) {
++			err = PTR_ERR(page);
++			goto done;
++		}
+ 
+ 		memcpy(buf, page_address(page) + offset, cpylen);
+ 		page_cache_release(page);
+@@ -136,7 +156,10 @@ static int block2mtd_read(struct mtd_inf
+ 		offset = 0;
+ 		index++;
+ 	}
+-	return 0;
++
++done:
++	read_unlock(&dev->bdev_mutex);
++	return err;
+ }
+ 
+ 
+@@ -188,12 +211,22 @@ static int block2mtd_write(struct mtd_in
+ 		size_t *retlen, const u_char *buf)
+ {
+ 	struct block2mtd_dev *dev = mtd->priv;
+-	int err;
++	int err = 0;
++
++	read_lock(&dev->bdev_mutex);
++	if (!dev->blkdev) {
++		err = -EINVAL;
++		goto done;
++	}
+ 
+ 	if (!len)
+-		return 0;
+-	if (to >= mtd->size)
+-		return -ENOSPC;
++		goto done;
++
++	if (to >= mtd->size) {
++		err = -ENOSPC;
++		goto done;
++	}
++
+ 	if (to + len > mtd->size)
+ 		len = mtd->size - to;
+ 
+@@ -202,6 +235,9 @@ static int block2mtd_write(struct mtd_in
+ 	mutex_unlock(&dev->write_mutex);
+ 	if (err > 0)
+ 		err = 0;
++
++done:
++	read_unlock(&dev->bdev_mutex);
+ 	return err;
+ }
+ 
+@@ -210,52 +246,29 @@ static int block2mtd_write(struct mtd_in
+ static void block2mtd_sync(struct mtd_info *mtd)
+ {
+ 	struct block2mtd_dev *dev = mtd->priv;
+-	sync_blockdev(dev->blkdev);
+-	return;
+-}
+-
+-
+-static void block2mtd_free_device(struct block2mtd_dev *dev)
+-{
+-	if (!dev)
+-		return;
+-
+-	kfree(dev->mtd.name);
+ 
+-	if (dev->blkdev) {
+-		invalidate_mapping_pages(dev->blkdev->bd_inode->i_mapping,
+-					0, -1);
+-		close_bdev_exclusive(dev->blkdev, FMODE_READ|FMODE_WRITE);
+-	}
++	read_lock(&dev->bdev_mutex);
++	if (dev->blkdev)
++		sync_blockdev(dev->blkdev);
++	read_unlock(&dev->bdev_mutex);
+ 
+-	kfree(dev);
++	return;
+ }
+ 
+ 
+-/* FIXME: ensure that mtd->size % erase_size == 0 */
+-static struct block2mtd_dev *add_device(char *devname, int erase_size, const char *mtdname)
++static int _open_bdev(struct block2mtd_dev *dev)
+ {
+ 	struct block_device *bdev;
+-	struct block2mtd_dev *dev;
+-	struct mtd_partition *part;
+-	char *name;
+-
+-	if (!devname)
+-		return NULL;
+-
+-	dev = kzalloc(sizeof(struct block2mtd_dev), GFP_KERNEL);
+-	if (!dev)
+-		return NULL;
+ 
+ 	/* Get a handle on the device */
+-	bdev = open_bdev_exclusive(devname, FMODE_READ|FMODE_WRITE, NULL);
++	bdev = open_bdev_exclusive(dev->devname, FMODE_READ|FMODE_WRITE, NULL);
+ #ifndef MODULE
+ 	if (IS_ERR(bdev)) {
+ 
+ 		/* We might not have rootfs mounted at this point. Try
+ 		   to resolve the device name by other means. */
+ 
+-		dev_t devt = name_to_dev_t(devname);
++		dev_t devt = name_to_dev_t(dev->devname);
+ 		if (devt) {
+ 			bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
+ 		}
+@@ -263,17 +276,98 @@ static struct block2mtd_dev *add_device(
+ #endif
+ 
+ 	if (IS_ERR(bdev)) {
+-		ERROR("error: cannot open device %s", devname);
+-		goto devinit_err;
++		ERROR("error: cannot open device %s", dev->devname);
++		return 1;
+ 	}
+ 	dev->blkdev = bdev;
+ 
+ 	if (MAJOR(bdev->bd_dev) == MTD_BLOCK_MAJOR) {
+ 		ERROR("attempting to use an MTD device as a block device");
+-		goto devinit_err;
++		return 1;
+ 	}
+ 
++	return 0;
++}
++
++static void _close_bdev(struct block2mtd_dev *dev)
++{
++	struct block_device *bdev;
++
++	if (!dev->blkdev)
++		return;
++
++	bdev = dev->blkdev;
++	invalidate_mapping_pages(dev->blkdev->bd_inode->i_mapping, 0, -1);
++	close_bdev_exclusive(dev->blkdev, FMODE_READ|FMODE_WRITE);
++	dev->blkdev = NULL;
++}
++
++static void block2mtd_free_device(struct block2mtd_dev *dev)
++{
++	if (!dev)
++		return;
++
++	kfree(dev->mtd.name);
++	_close_bdev(dev);
++	kfree(dev);
++}
++
++
++static int block2mtd_refresh(struct mtd_info *mtd)
++{
++	struct block2mtd_dev *dev = mtd->priv;
++	struct block_device *bdev;
++	dev_t devt;
++	int err = 0;
++
++	/* no other mtd function can run at this point */
++	write_lock(&dev->bdev_mutex);
++
++	/* get the device number for the whole disk */
++	devt = MKDEV(MAJOR(dev->blkdev->bd_dev), 0);
++
++	/* close the old block device */
++	_close_bdev(dev);
++
++	/* open the whole disk, issue a partition rescan, then */
++	bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
++	if (!bdev || !bdev->bd_disk)
++		err = -EINVAL;
++#ifndef CONFIG_MTD_BLOCK2MTD_MODULE
++	else
++		err = rescan_partitions(bdev->bd_disk, bdev);
++#endif
++	if (bdev)
++		close_bdev_exclusive(bdev, FMODE_READ|FMODE_WRITE);
++
++	/* try to open the partition block device again */
++	_open_bdev(dev);
++	write_unlock(&dev->bdev_mutex);
++
++	return err;
++}
++
++/* FIXME: ensure that mtd->size % erase_size == 0 */
++static struct block2mtd_dev *add_device(char *devname, int erase_size, char *mtdname)
++{
++	struct block2mtd_dev *dev;
++	struct mtd_partition *part;
++	char *name;
++
++	if (!devname)
++		return NULL;
++
++	dev = kzalloc(sizeof(struct block2mtd_dev) + strlen(devname) + 1, GFP_KERNEL);
++	if (!dev)
++		return NULL;
++
++	strcpy(dev->devname, devname);
++
++	if (_open_bdev(dev))
++		goto devinit_err;
++
+ 	mutex_init(&dev->write_mutex);
++	rwlock_init(&dev->bdev_mutex);
+ 
+ 	/* Setup the MTD structure */
+ 	/* make the name contain the block device in */
+@@ -298,6 +392,7 @@ static struct block2mtd_dev *add_device(
+ 	dev->mtd.read = block2mtd_read;
+ 	dev->mtd.priv = dev;
+ 	dev->mtd.owner = THIS_MODULE;
++	dev->mtd.refresh_device = block2mtd_refresh;
+ 
+ 	part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL);
+ 	part->name = dev->mtd.name;

+ 0 - 0
target/linux/generic/patches-2.6.37/066-block2mtd_probe.patch → target/linux/generic/patches-2.6.37/442-block2mtd_probe.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/080-mtd_plat_nand_chip_fixup.patch → target/linux/generic/patches-2.6.37/450-mtd_plat_nand_chip_fixup.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/083-mtd_fix_nand_correct_data_return_code.patch → target/linux/generic/patches-2.6.37/451-mtd_fix_nand_correct_data_return_code.patch


+ 1 - 1
target/linux/generic/patches-2.6.37/014-cfi_show_amd_extended_table_version.patch → target/linux/generic/patches-2.6.37/460-cfi_show_amd_extended_table_version.patch

@@ -1,6 +1,6 @@
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -446,9 +446,9 @@ struct mtd_info *cfi_cmdset_0002(struct
+@@ -446,9 +446,9 @@ struct mtd_info *cfi_cmdset_0002(struct 
  
  
  			/*
  			/*
  			 * Valid primary extension versions are: 1.0, 1.1, 1.2, 1.3, 1.4
  			 * Valid primary extension versions are: 1.0, 1.1, 1.2, 1.3, 1.4

+ 0 - 0
target/linux/generic/patches-2.6.37/084-mtd_m25p80_add_pm25lv_flash_support.patch → target/linux/generic/patches-2.6.37/470-mtd_m25p80_add_pm25lv_flash_support.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/090-mtd-m25p80-add-en25f32-chip-support.patch → target/linux/generic/patches-2.6.37/471-mtd_m25p80_add_en25f32_chip_support.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/091-mtd-m25p80-add-MX25L1606E-support.patch → target/linux/generic/patches-2.6.37/472-mtd_m25p80_add_MX25L1606E_support.patch


+ 1 - 1
target/linux/generic/patches-2.6.37/089-mtd-samsung-flash.patch → target/linux/generic/patches-2.6.37/473-mtd_samsung_flash.patch

@@ -1,6 +1,6 @@
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -392,9 +392,35 @@ static struct cfi_fixup fixup_table[] =
+@@ -392,9 +392,35 @@ static struct cfi_fixup fixup_table[] = 
  static void cfi_fixup_major_minor(struct cfi_private *cfi,
  static void cfi_fixup_major_minor(struct cfi_private *cfi,
  				  struct cfi_pri_amdstd *extp)
  				  struct cfi_pri_amdstd *extp)
  {
  {

+ 0 - 0
target/linux/generic/patches-2.6.37/510-yaffs_support.patch → target/linux/generic/patches-2.6.37/500-yaffs_support.patch


+ 38 - 38
target/linux/generic/patches-2.6.37/511-yaffs-cvs-2009-04-24.patch → target/linux/generic/patches-2.6.37/501-yaffs_cvs_2009_04_24.patch

@@ -601,7 +601,7 @@
  			dev->checkpointBlockList[i] = -1;
  			dev->checkpointBlockList[i] = -1;
  	}
  	}
  
  
-@@ -191,18 +185,17 @@ int yaffs_GetCheckpointSum(yaffs_Device
+@@ -191,18 +185,17 @@ int yaffs_GetCheckpointSum(yaffs_Device 
  
  
  static int yaffs_CheckpointFlushBuffer(yaffs_Device *dev)
  static int yaffs_CheckpointFlushBuffer(yaffs_Device *dev)
  {
  {
@@ -926,7 +926,7 @@
  {
  {
  	unsigned char cDelta;	/* column parity delta */
  	unsigned char cDelta;	/* column parity delta */
  	unsigned lDelta;	/* line parity delta */
  	unsigned lDelta;	/* line parity delta */
-@@ -294,8 +292,7 @@ int yaffs_ECCCorrectOther(unsigned char
+@@ -294,8 +292,7 @@ int yaffs_ECCCorrectOther(unsigned char 
  		return 0; /* no error */
  		return 0; /* no error */
  
  
  	if (lDelta == ~lDeltaPrime &&
  	if (lDelta == ~lDeltaPrime &&
@@ -936,7 +936,7 @@
  		/* Single bit (recoverable) error in data */
  		/* Single bit (recoverable) error in data */
  
  
  		bit = 0;
  		bit = 0;
-@@ -307,7 +304,7 @@ int yaffs_ECCCorrectOther(unsigned char
+@@ -307,7 +304,7 @@ int yaffs_ECCCorrectOther(unsigned char 
  		if (cDelta & 0x02)
  		if (cDelta & 0x02)
  			bit |= 0x01;
  			bit |= 0x01;
  
  
@@ -945,7 +945,7 @@
  			return -1;
  			return -1;
  
  
  		data[lDelta] ^= (1 << bit);
  		data[lDelta] ^= (1 << bit);
-@@ -316,7 +313,7 @@ int yaffs_ECCCorrectOther(unsigned char
+@@ -316,7 +313,7 @@ int yaffs_ECCCorrectOther(unsigned char 
  	}
  	}
  
  
  	if ((yaffs_CountBits32(lDelta) + yaffs_CountBits32(lDeltaPrime) +
  	if ((yaffs_CountBits32(lDelta) + yaffs_CountBits32(lDeltaPrime) +
@@ -954,7 +954,7 @@
  		/* Reccoverable error in ecc */
  		/* Reccoverable error in ecc */
  
  
  		*read_ecc = *test_ecc;
  		*read_ecc = *test_ecc;
-@@ -326,6 +323,4 @@ int yaffs_ECCCorrectOther(unsigned char
+@@ -326,6 +323,4 @@ int yaffs_ECCCorrectOther(unsigned char 
  	/* Unrecoverable error */
  	/* Unrecoverable error */
  
  
  	return -1;
  	return -1;
@@ -1398,7 +1398,7 @@
  {
  {
  	unsigned char *alias;
  	unsigned char *alias;
  	int ret;
  	int ret;
-@@ -329,7 +395,7 @@ static int yaffs_readlink(struct dentry
+@@ -329,7 +395,7 @@ static int yaffs_readlink(struct dentry 
  	return ret;
  	return ret;
  }
  }
  
  
@@ -1560,7 +1560,7 @@
  static int yaffs_file_flush(struct file *file, fl_owner_t id)
  static int yaffs_file_flush(struct file *file, fl_owner_t id)
  #else
  #else
  static int yaffs_file_flush(struct file *file)
  static int yaffs_file_flush(struct file *file)
-@@ -513,8 +579,8 @@ static int yaffs_file_flush(struct file
+@@ -513,8 +579,8 @@ static int yaffs_file_flush(struct file 
  	yaffs_Device *dev = obj->myDev;
  	yaffs_Device *dev = obj->myDev;
  
  
  	T(YAFFS_TRACE_OS,
  	T(YAFFS_TRACE_OS,
@@ -1571,7 +1571,7 @@
  
  
  	yaffs_GrossLock(dev);
  	yaffs_GrossLock(dev);
  
  
-@@ -535,15 +601,15 @@ static int yaffs_readpage_nolock(struct
+@@ -535,15 +601,15 @@ static int yaffs_readpage_nolock(struct 
  
  
  	yaffs_Device *dev;
  	yaffs_Device *dev;
  
  
@@ -1591,7 +1591,7 @@
  	BUG_ON(!PageLocked(pg));
  	BUG_ON(!PageLocked(pg));
  #else
  #else
  	if (!PageLocked(pg))
  	if (!PageLocked(pg))
-@@ -555,9 +621,9 @@ static int yaffs_readpage_nolock(struct
+@@ -555,9 +621,9 @@ static int yaffs_readpage_nolock(struct 
  
  
  	yaffs_GrossLock(dev);
  	yaffs_GrossLock(dev);
  
  
@@ -1604,7 +1604,7 @@
  
  
  	yaffs_GrossUnlock(dev);
  	yaffs_GrossUnlock(dev);
  
  
-@@ -575,7 +641,7 @@ static int yaffs_readpage_nolock(struct
+@@ -575,7 +641,7 @@ static int yaffs_readpage_nolock(struct 
  	flush_dcache_page(pg);
  	flush_dcache_page(pg);
  	kunmap(pg);
  	kunmap(pg);
  
  
@@ -3193,7 +3193,7 @@
  		if (n < step) {
  		if (n < step) {
  			n++;
  			n++;
  			continue;
  			continue;
-@@ -2119,7 +2356,7 @@ static int yaffs_proc_write(struct file
+@@ -2119,7 +2356,7 @@ static int yaffs_proc_write(struct file 
  	char *end;
  	char *end;
  	char *mask_name;
  	char *mask_name;
  	const char *x;
  	const char *x;
@@ -3202,7 +3202,7 @@
  	int i;
  	int i;
  	int done = 0;
  	int done = 0;
  	int add, len = 0;
  	int add, len = 0;
-@@ -2129,9 +2366,8 @@ static int yaffs_proc_write(struct file
+@@ -2129,9 +2366,8 @@ static int yaffs_proc_write(struct file 
  
  
  	while (!done && (pos < count)) {
  	while (!done && (pos < count)) {
  		done = 1;
  		done = 1;
@@ -3213,7 +3213,7 @@
  
  
  		switch (buf[pos]) {
  		switch (buf[pos]) {
  		case '+':
  		case '+':
-@@ -2148,20 +2384,21 @@ static int yaffs_proc_write(struct file
+@@ -2148,20 +2384,21 @@ static int yaffs_proc_write(struct file 
  		mask_name = NULL;
  		mask_name = NULL;
  
  
  		mask_bitfield = simple_strtoul(buf + pos, &end, 0);
  		mask_bitfield = simple_strtoul(buf + pos, &end, 0);
@@ -3240,7 +3240,7 @@
  					mask_name = mask_flags[i].mask_name;
  					mask_name = mask_flags[i].mask_name;
  					mask_bitfield = mask_flags[i].mask_bitfield;
  					mask_bitfield = mask_flags[i].mask_bitfield;
  					done = 0;
  					done = 0;
-@@ -2172,7 +2409,7 @@ static int yaffs_proc_write(struct file
+@@ -2172,7 +2409,7 @@ static int yaffs_proc_write(struct file 
  
  
  		if (mask_name != NULL) {
  		if (mask_name != NULL) {
  			done = 0;
  			done = 0;
@@ -3249,7 +3249,7 @@
  			case '-':
  			case '-':
  				rg &= ~mask_bitfield;
  				rg &= ~mask_bitfield;
  				break;
  				break;
-@@ -2191,13 +2428,13 @@ static int yaffs_proc_write(struct file
+@@ -2191,13 +2428,13 @@ static int yaffs_proc_write(struct file 
  
  
  	yaffs_traceMask = rg | YAFFS_TRACE_ALWAYS;
  	yaffs_traceMask = rg | YAFFS_TRACE_ALWAYS;
  
  
@@ -5691,7 +5691,7 @@
  {
  {
  	/* Get the real object in case we were fed a hard link as an equivalent object */
  	/* Get the real object in case we were fed a hard link as an equivalent object */
  	equivalentObject = yaffs_GetEquivalentObject(equivalentObject);
  	equivalentObject = yaffs_GetEquivalentObject(equivalentObject);
-@@ -2363,33 +2396,31 @@ yaffs_Object *yaffs_Link(yaffs_Object *
+@@ -2363,33 +2396,31 @@ yaffs_Object *yaffs_Link(yaffs_Object * 
  
  
  }
  }
  
  
@@ -7622,7 +7622,7 @@
  	int nToCopy;
  	int nToCopy;
  	int n = nBytes;
  	int n = nBytes;
  	int nDone = 0;
  	int nDone = 0;
-@@ -4600,27 +4665,26 @@ int yaffs_ReadDataFromFile(yaffs_Object
+@@ -4600,27 +4665,26 @@ int yaffs_ReadDataFromFile(yaffs_Object 
  	dev = in->myDev;
  	dev = in->myDev;
  
  
  	while (n > 0) {
  	while (n > 0) {
@@ -7657,7 +7657,7 @@
  			if (dev->nShortOpCaches > 0) {
  			if (dev->nShortOpCaches > 0) {
  
  
  				/* If we can't find the data in the cache, then load it up. */
  				/* If we can't find the data in the cache, then load it up. */
-@@ -4641,14 +4705,9 @@ int yaffs_ReadDataFromFile(yaffs_Object
+@@ -4641,14 +4705,9 @@ int yaffs_ReadDataFromFile(yaffs_Object 
  
  
  				cache->locked = 1;
  				cache->locked = 1;
  
  
@@ -7673,7 +7673,7 @@
  				cache->locked = 0;
  				cache->locked = 0;
  			} else {
  			} else {
  				/* Read into the local buffer then copy..*/
  				/* Read into the local buffer then copy..*/
-@@ -4657,41 +4716,19 @@ int yaffs_ReadDataFromFile(yaffs_Object
+@@ -4657,41 +4716,19 @@ int yaffs_ReadDataFromFile(yaffs_Object 
  				    yaffs_GetTempBuffer(dev, __LINE__);
  				    yaffs_GetTempBuffer(dev, __LINE__);
  				yaffs_ReadChunkDataFromObject(in, chunk,
  				yaffs_ReadChunkDataFromObject(in, chunk,
  							      localBuffer);
  							      localBuffer);
@@ -7718,7 +7718,7 @@
  		}
  		}
  
  
  		n -= nToCopy;
  		n -= nToCopy;
-@@ -4704,28 +4741,37 @@ int yaffs_ReadDataFromFile(yaffs_Object
+@@ -4704,28 +4741,37 @@ int yaffs_ReadDataFromFile(yaffs_Object 
  	return nDone;
  	return nDone;
  }
  }
  
  
@@ -7923,7 +7923,7 @@
  	int newFullChunks;
  	int newFullChunks;
  
  
  	yaffs_Device *dev = in->myDev;
  	yaffs_Device *dev = in->myDev;
-@@ -4955,13 +4981,11 @@ int yaffs_ResizeFile(yaffs_Object * in,
+@@ -4955,13 +4981,11 @@ int yaffs_ResizeFile(yaffs_Object * in, 
  
  
  	yaffs_CheckGarbageCollection(dev);
  	yaffs_CheckGarbageCollection(dev);
  
  
@@ -7941,7 +7941,7 @@
  
  
  	if (newSize < oldFileSize) {
  	if (newSize < oldFileSize) {
  
  
-@@ -4994,21 +5018,20 @@ int yaffs_ResizeFile(yaffs_Object * in,
+@@ -4994,21 +5018,20 @@ int yaffs_ResizeFile(yaffs_Object * in, 
  	}
  	}
  
  
  
  
@@ -7968,7 +7968,7 @@
  {
  {
  	obj = yaffs_GetEquivalentObject(obj);
  	obj = yaffs_GetEquivalentObject(obj);
  
  
-@@ -5024,7 +5047,7 @@ loff_t yaffs_GetFileSize(yaffs_Object *
+@@ -5024,7 +5047,7 @@ loff_t yaffs_GetFileSize(yaffs_Object * 
  
  
  
  
  
  
@@ -9789,7 +9789,7 @@
  {
  {
  	int init_failed = 0;
  	int init_failed = 0;
  	unsigned x;
  	unsigned x;
-@@ -7040,6 +7126,8 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7040,6 +7126,8 @@ int yaffs_GutsInitialise(yaffs_Device * 
  	dev->chunkOffset = 0;
  	dev->chunkOffset = 0;
  	dev->nFreeChunks = 0;
  	dev->nFreeChunks = 0;
  
  
@@ -9798,7 +9798,7 @@
  	if (dev->startBlock == 0) {
  	if (dev->startBlock == 0) {
  		dev->internalStartBlock = dev->startBlock + 1;
  		dev->internalStartBlock = dev->startBlock + 1;
  		dev->internalEndBlock = dev->endBlock + 1;
  		dev->internalEndBlock = dev->endBlock + 1;
-@@ -7049,18 +7137,18 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7049,18 +7137,18 @@ int yaffs_GutsInitialise(yaffs_Device * 
  
  
  	/* Check geometry parameters. */
  	/* Check geometry parameters. */
  
  
@@ -9823,7 +9823,7 @@
  		return YAFFS_FAIL;
  		return YAFFS_FAIL;
  	}
  	}
  
  
-@@ -7070,6 +7158,12 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7070,6 +7158,12 @@ int yaffs_GutsInitialise(yaffs_Device * 
  		return YAFFS_FAIL;
  		return YAFFS_FAIL;
  	}
  	}
  
  
@@ -9836,7 +9836,7 @@
  	/* Got the right mix of functions? */
  	/* Got the right mix of functions? */
  	if (!yaffs_CheckDevFunctions(dev)) {
  	if (!yaffs_CheckDevFunctions(dev)) {
  		/* Function missing */
  		/* Function missing */
-@@ -7097,31 +7191,18 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7097,31 +7191,18 @@ int yaffs_GutsInitialise(yaffs_Device * 
  
  
  	dev->isMounted = 1;
  	dev->isMounted = 1;
  
  
@@ -9875,7 +9875,7 @@
  
  
  	/*
  	/*
  	 * Calculate chunkGroupBits.
  	 * Calculate chunkGroupBits.
-@@ -7133,16 +7214,15 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7133,16 +7214,15 @@ int yaffs_GutsInitialise(yaffs_Device * 
  	bits = ShiftsGE(x);
  	bits = ShiftsGE(x);
  
  
  	/* Set up tnode width if wide tnodes are enabled. */
  	/* Set up tnode width if wide tnodes are enabled. */
@@ -9896,7 +9896,7 @@
  		dev->tnodeWidth = 16;
  		dev->tnodeWidth = 16;
  
  
  	dev->tnodeMask = (1<<dev->tnodeWidth)-1;
  	dev->tnodeMask = (1<<dev->tnodeWidth)-1;
-@@ -7193,7 +7273,7 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7193,7 +7273,7 @@ int yaffs_GutsInitialise(yaffs_Device * 
  	dev->hasPendingPrioritisedGCs = 1; /* Assume the worst for now, will get fixed on first GC */
  	dev->hasPendingPrioritisedGCs = 1; /* Assume the worst for now, will get fixed on first GC */
  
  
  	/* Initialise temporary buffers and caches. */
  	/* Initialise temporary buffers and caches. */
@@ -9905,7 +9905,7 @@
  		init_failed = 1;
  		init_failed = 1;
  
  
  	dev->srCache = NULL;
  	dev->srCache = NULL;
-@@ -7203,25 +7283,26 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7203,25 +7283,26 @@ int yaffs_GutsInitialise(yaffs_Device * 
  	if (!init_failed &&
  	if (!init_failed &&
  	    dev->nShortOpCaches > 0) {
  	    dev->nShortOpCaches > 0) {
  		int i;
  		int i;
@@ -9940,7 +9940,7 @@
  			init_failed = 1;
  			init_failed = 1;
  
  
  		dev->srLastUse = 0;
  		dev->srLastUse = 0;
-@@ -7229,29 +7310,30 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7229,29 +7310,30 @@ int yaffs_GutsInitialise(yaffs_Device * 
  
  
  	dev->cacheHits = 0;
  	dev->cacheHits = 0;
  
  
@@ -9979,7 +9979,7 @@
  				T(YAFFS_TRACE_ALWAYS,
  				T(YAFFS_TRACE_ALWAYS,
  				  (TSTR("yaffs: restored from checkpoint" TENDSTR)));
  				  (TSTR("yaffs: restored from checkpoint" TENDSTR)));
  			} else {
  			} else {
-@@ -7273,24 +7355,25 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7273,24 +7355,25 @@ int yaffs_GutsInitialise(yaffs_Device * 
  				dev->nBackgroundDeletions = 0;
  				dev->nBackgroundDeletions = 0;
  				dev->oldestDirtySequence = 0;
  				dev->oldestDirtySequence = 0;
  
  
@@ -10011,7 +10011,7 @@
  		/* Clean up the mess */
  		/* Clean up the mess */
  		T(YAFFS_TRACE_TRACING,
  		T(YAFFS_TRACE_TRACING,
  		  (TSTR("yaffs: yaffs_GutsInitialise() aborted.\n" TENDSTR)));
  		  (TSTR("yaffs: yaffs_GutsInitialise() aborted.\n" TENDSTR)));
-@@ -7318,7 +7401,7 @@ int yaffs_GutsInitialise(yaffs_Device *
+@@ -7318,7 +7401,7 @@ int yaffs_GutsInitialise(yaffs_Device * 
  
  
  }
  }
  
  
@@ -10710,7 +10710,7 @@
  {
  {
  	if (etags) {
  	if (etags) {
  		memset(etags, 0, sizeof(*etags));
  		memset(etags, 0, sizeof(*etags));
-@@ -169,9 +169,9 @@ static int rettags(yaffs_ExtendedTags *
+@@ -169,9 +169,9 @@ static int rettags(yaffs_ExtendedTags * 
   * Returns YAFFS_OK or YAFFS_FAIL.
   * Returns YAFFS_OK or YAFFS_FAIL.
   */
   */
  int nandmtd1_ReadChunkWithTagsFromNAND(yaffs_Device *dev,
  int nandmtd1_ReadChunkWithTagsFromNAND(yaffs_Device *dev,
@@ -11038,14 +11038,14 @@
 +			yaffs_UnpackTags2(tags, &pt);
 +			yaffs_UnpackTags2(tags, &pt);
 +		}
 +		}
 +	}
 +	}
-+
+ 
+-	if(tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR)
+-		tags->eccResult = YAFFS_ECC_RESULT_UNFIXED;
 +	if (localData)
 +	if (localData)
 +		yaffs_ReleaseTempBuffer(dev, data, __LINE__);
 +		yaffs_ReleaseTempBuffer(dev, data, __LINE__);
  
  
--	if(tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR)
 +	if (tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR)
 +	if (tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR)
- 		tags->eccResult = YAFFS_ECC_RESULT_UNFIXED;
--
++		tags->eccResult = YAFFS_ECC_RESULT_UNFIXED;
  	if (retval == 0)
  	if (retval == 0)
  		return YAFFS_OK;
  		return YAFFS_OK;
  	else
  	else

+ 3 - 3
target/linux/generic/patches-2.6.37/511-yaffs-git-2010-10-20.patch → target/linux/generic/patches-2.6.37/502-yaffs_git_2010_10_20.patch

@@ -316,7 +316,7 @@
  chunk/page state.  This byte is zeroed when the page is discarded.
  chunk/page state.  This byte is zeroed when the page is discarded.
  Choose this option if you have existing on-NAND data in this format
  Choose this option if you have existing on-NAND data in this format
  that you need to continue to support.  New data written also uses the
  that you need to continue to support.  New data written also uses the
-@@ -57,7 +78,7 @@ adjusted to use the older-style format.
+@@ -57,7 +78,7 @@ adjusted to use the older-style format. 
  MTD versions in yaffs_mtdif1.c.
  MTD versions in yaffs_mtdif1.c.
  */
  */
  /* Default: Not selected */
  /* Default: Not selected */
@@ -1614,7 +1614,7 @@
  			yaffs_ECCOther *read_ecc,
  			yaffs_ECCOther *read_ecc,
  			const yaffs_ECCOther *test_ecc)
  			const yaffs_ECCOther *test_ecc)
  {
  {
-@@ -304,7 +301,7 @@ int yaffs_ECCCorrectOther(unsigned char
+@@ -304,7 +301,7 @@ int yaffs_ECCCorrectOther(unsigned char 
  		if (cDelta & 0x02)
  		if (cDelta & 0x02)
  			bit |= 0x01;
  			bit |= 0x01;
  
  
@@ -1623,7 +1623,7 @@
  			return -1;
  			return -1;
  
  
  		data[lDelta] ^= (1 << bit);
  		data[lDelta] ^= (1 << bit);
-@@ -312,8 +309,8 @@ int yaffs_ECCCorrectOther(unsigned char
+@@ -312,8 +309,8 @@ int yaffs_ECCCorrectOther(unsigned char 
  		return 1; /* corrected */
  		return 1; /* corrected */
  	}
  	}
  
  

+ 0 - 0
target/linux/generic/patches-2.6.37/512-yaffs_symlink_bug.patch → target/linux/generic/patches-2.6.37/503-yaffs_symlink_bug.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/513-yaffs_mutex_fix.patch → target/linux/generic/patches-2.6.37/504-yaffs_mutex_fix.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/008-jffs2_make_lzma_available.patch → target/linux/generic/patches-2.6.37/510-jffs2_make_lzma_available.patch


+ 3 - 3
target/linux/generic/patches-2.6.37/010-debloat_lzma.patch → target/linux/generic/patches-2.6.37/511-debloat_lzma.patch

@@ -124,7 +124,7 @@
  /* LzmaDecode
  /* LzmaDecode
 --- a/lib/lzma/LzmaDec.c
 --- a/lib/lzma/LzmaDec.c
 +++ b/lib/lzma/LzmaDec.c
 +++ b/lib/lzma/LzmaDec.c
-@@ -682,7 +682,7 @@ static void LzmaDec_InitRc(CLzmaDec *p,
+@@ -682,7 +682,7 @@ static void LzmaDec_InitRc(CLzmaDec *p, 
    p->needFlush = 0;
    p->needFlush = 0;
  }
  }
  
  
@@ -194,7 +194,7 @@
  {
  {
    CLzmaProps propNew;
    CLzmaProps propNew;
    RINOK(LzmaProps_Decode(&propNew, props, propsSize));
    RINOK(LzmaProps_Decode(&propNew, props, propsSize));
-@@ -944,7 +944,7 @@ SRes LzmaDec_AllocateProbs(CLzmaDec *p,
+@@ -944,7 +944,7 @@ SRes LzmaDec_AllocateProbs(CLzmaDec *p, 
    return SZ_OK;
    return SZ_OK;
  }
  }
  
  
@@ -375,7 +375,7 @@
  void MatchFinder_Construct(CMatchFinder *p);
  void MatchFinder_Construct(CMatchFinder *p);
  
  
  /* Conditions:
  /* Conditions:
-@@ -70,12 +65,6 @@ int MatchFinder_Create(CMatchFinder *p,
+@@ -70,12 +65,6 @@ int MatchFinder_Create(CMatchFinder *p, 
      UInt32 keepAddBufferBefore, UInt32 matchMaxLen, UInt32 keepAddBufferAfter,
      UInt32 keepAddBufferBefore, UInt32 matchMaxLen, UInt32 keepAddBufferAfter,
      ISzAlloc *alloc);
      ISzAlloc *alloc);
  void MatchFinder_Free(CMatchFinder *p, ISzAlloc *alloc);
  void MatchFinder_Free(CMatchFinder *p, ISzAlloc *alloc);

+ 0 - 0
target/linux/generic/patches-2.6.37/204-jffs2_eofdetect.patch → target/linux/generic/patches-2.6.37/512-jffs2_eofdetect.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/005-squashfs_revert_to_2.6.35.patch → target/linux/generic/patches-2.6.37/520-squashfs_revert_to_2.6.35.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/006-squashfs_add_lzma.patch → target/linux/generic/patches-2.6.37/521-squashfs_add_lzma.patch


+ 1 - 1
target/linux/generic/patches-2.6.37/007-squashfs_make_lzma_available.patch → target/linux/generic/patches-2.6.37/522-squashfs_make_lzma_available.patch

@@ -107,7 +107,7 @@ Signed-off-by: Phillip Lougher <[email protected]>
 +#endif
 +#endif
 --- a/lib/Kconfig
 --- a/lib/Kconfig
 +++ b/lib/Kconfig
 +++ b/lib/Kconfig
-@@ -124,6 +124,9 @@ config DECOMPRESS_LZO
+@@ -130,6 +130,9 @@ config DECOMPRESS_LZO
  	select LZO_DECOMPRESS
  	select LZO_DECOMPRESS
  	tristate
  	tristate
  
  

+ 2 - 2
target/linux/generic/patches-2.6.37/100-netfilter_layer7_2.22.patch → target/linux/generic/patches-2.6.37/600-netfilter_layer7_2.22.patch

@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -948,6 +948,27 @@ config NETFILTER_XT_MATCH_STATE
+@@ -946,6 +946,27 @@ config NETFILTER_XT_MATCH_STATE
  
  
  	  To compile it as a module, choose M here.  If unsure, say N.
  	  To compile it as a module, choose M here.  If unsure, say N.
  
  
@@ -30,7 +30,7 @@
  	depends on NETFILTER_ADVANCED
  	depends on NETFILTER_ADVANCED
 --- a/net/netfilter/Makefile
 --- a/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
 +++ b/net/netfilter/Makefile
-@@ -95,6 +95,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RECENT)
+@@ -95,6 +95,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RECENT) 
  obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_SOCKET) += xt_socket.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_SOCKET) += xt_socket.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o

+ 0 - 0
target/linux/generic/patches-2.6.37/101-netfilter_layer7_pktmatch.patch → target/linux/generic/patches-2.6.37/601-netfilter_layer7_pktmatch.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/102-netfilter_layer7_match.patch → target/linux/generic/patches-2.6.37/602-netfilter_layer7_match.patch


+ 2 - 2
target/linux/generic/patches-2.6.37/103-netfilter_layer7_2.6.36_fix.patch → target/linux/generic/patches-2.6.37/603-netfilter_layer7_2.6.36_fix.patch

@@ -1,6 +1,6 @@
 --- a/net/netfilter/Kconfig
 --- a/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
 +++ b/net/netfilter/Kconfig
-@@ -762,6 +762,27 @@ config NETFILTER_XT_MATCH_IPVS
+@@ -760,6 +760,27 @@ config NETFILTER_XT_MATCH_IPVS
  
  
  	  If unsure, say N.
  	  If unsure, say N.
  
  
@@ -28,7 +28,7 @@
  config NETFILTER_XT_MATCH_LENGTH
  config NETFILTER_XT_MATCH_LENGTH
  	tristate '"length" match support'
  	tristate '"length" match support'
  	depends on NETFILTER_ADVANCED
  	depends on NETFILTER_ADVANCED
-@@ -948,26 +969,11 @@ config NETFILTER_XT_MATCH_STATE
+@@ -946,26 +967,11 @@ config NETFILTER_XT_MATCH_STATE
  
  
  	  To compile it as a module, choose M here.  If unsure, say N.
  	  To compile it as a module, choose M here.  If unsure, say N.
  
  

+ 0 - 0
target/linux/generic/patches-2.6.37/160-netfilter_cisco_794x_iphone.patch → target/linux/generic/patches-2.6.37/604-netfilter_cisco_794x_iphone.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/190-netfilter_rtsp.patch → target/linux/generic/patches-2.6.37/605-netfilter_rtsp.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/200-sched_esfq.patch → target/linux/generic/patches-2.6.37/620-sched_esfq.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/290-sched_act_connmark.patch → target/linux/generic/patches-2.6.37/621-sched_act_connmark.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/240-packet_socket_type.patch → target/linux/generic/patches-2.6.37/630-packet_socket_type.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/270-bridge_no_eap_forward.patch → target/linux/generic/patches-2.6.37/640-bridge_no_eap_forward.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/271-bridge_always_accept_eap.patch → target/linux/generic/patches-2.6.37/641-bridge_always_accept_eap.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/300-bridge_port_isolate.patch → target/linux/generic/patches-2.6.37/642-bridge_port_isolate.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/250-pppoe_header_pad.patch → target/linux/generic/patches-2.6.37/650-pppoe_header_pad.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/940-wireless_mesh_header.patch → target/linux/generic/patches-2.6.37/651-wireless_mesh_header.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/650-swconfig.patch → target/linux/generic/patches-2.6.37/700-swconfig.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/600-phy_extension.patch → target/linux/generic/patches-2.6.37/701-phy_extension.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/601-phy-add-aneg-done-function.patch → target/linux/generic/patches-2.6.37/702-phy_add_aneg_done_function.patch


+ 2 - 2
target/linux/generic/patches-2.6.37/620-phy_adm6996.patch → target/linux/generic/patches-2.6.37/720-phy_adm6996.patch

@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/Kconfig
 --- a/drivers/net/phy/Kconfig
 +++ b/drivers/net/phy/Kconfig
 +++ b/drivers/net/phy/Kconfig
-@@ -92,6 +92,11 @@ config MICREL_PHY
+@@ -98,6 +98,11 @@ config MICREL_PHY
  	---help---
  	---help---
  	  Supports the KSZ9021, VSC8201, KS8001 PHYs.
  	  Supports the KSZ9021, VSC8201, KS8001 PHYs.
  
  
@@ -14,7 +14,7 @@
  	depends on PHYLIB=y
  	depends on PHYLIB=y
 --- a/drivers/net/phy/Makefile
 --- a/drivers/net/phy/Makefile
 +++ b/drivers/net/phy/Makefile
 +++ b/drivers/net/phy/Makefile
-@@ -13,6 +13,7 @@ obj-$(CONFIG_VITESSE_PHY)	+= vitesse.o
+@@ -14,6 +14,7 @@ obj-$(CONFIG_VITESSE_PHY)	+= vitesse.o
  obj-$(CONFIG_BROADCOM_PHY)	+= broadcom.o
  obj-$(CONFIG_BROADCOM_PHY)	+= broadcom.o
  obj-$(CONFIG_BCM63XX_PHY)	+= bcm63xx.o
  obj-$(CONFIG_BCM63XX_PHY)	+= bcm63xx.o
  obj-$(CONFIG_ICPLUS_PHY)	+= icplus.o
  obj-$(CONFIG_ICPLUS_PHY)	+= icplus.o

+ 0 - 0
target/linux/generic/patches-2.6.37/630-phy_packets.patch → target/linux/generic/patches-2.6.37/721-phy_packets.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/660-phy_mvswitch.patch → target/linux/generic/patches-2.6.37/722-phy_mvswitch.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/670-phy_ip175c.patch → target/linux/generic/patches-2.6.37/723-phy_ip175c.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/680-phy_ar8216.patch → target/linux/generic/patches-2.6.37/724-phy_ar8216.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/690-phy_rtl8306.patch → target/linux/generic/patches-2.6.37/725-phy_rtl8306.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/691-phy_rtl8366.patch → target/linux/generic/patches-2.6.37/726-phy_rtl8366.patch


+ 1 - 1
target/linux/generic/patches-2.6.37/903-hostap_txpower.patch → target/linux/generic/patches-2.6.37/750-hostap_txpower.patch

@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/hostap/hostap_ap.c
 --- a/drivers/net/wireless/hostap/hostap_ap.c
 +++ b/drivers/net/wireless/hostap/hostap_ap.c
 +++ b/drivers/net/wireless/hostap/hostap_ap.c
-@@ -2335,13 +2335,13 @@ int prism2_ap_get_sta_qual(local_info_t
+@@ -2335,13 +2335,13 @@ int prism2_ap_get_sta_qual(local_info_t 
  		addr[count].sa_family = ARPHRD_ETHER;
  		addr[count].sa_family = ARPHRD_ETHER;
  		memcpy(addr[count].sa_data, sta->addr, ETH_ALEN);
  		memcpy(addr[count].sa_data, sta->addr, ETH_ALEN);
  		if (sta->last_rx_silence == 0)
  		if (sta->last_rx_silence == 0)

+ 0 - 0
target/linux/generic/patches-2.6.37/030-pci_disable_common_quirks.patch → target/linux/generic/patches-2.6.37/810-pci_disable_common_quirks.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/031-pci_disable_usb_common_quirks.patch → target/linux/generic/patches-2.6.37/811-pci_disable_usb_common_quirks.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/310-usb-add-usb_find_device_by_name.patch → target/linux/generic/patches-2.6.37/820-usb_add_usb_find_device_by_name.patch


+ 0 - 0
target/linux/generic/patches-2.6.37/801-usb_serial_endpoint_size.patch → target/linux/generic/patches-2.6.37/821-usb_serial_endpoint_size.patch


+ 1 - 1
target/linux/generic/patches-2.6.37/400-ledtrig_morse.patch → target/linux/generic/patches-2.6.37/830-ledtrig_morse.patch

@@ -11,7 +11,7 @@
  endif # NEW_LEDS
  endif # NEW_LEDS
 --- a/drivers/leds/Makefile
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
-@@ -52,3 +52,4 @@ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT)	+=
+@@ -52,3 +52,4 @@ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT)	+= 
  obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT)	+= ledtrig-backlight.o
  obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT)	+= ledtrig-backlight.o
  obj-$(CONFIG_LEDS_TRIGGER_GPIO)		+= ledtrig-gpio.o
  obj-$(CONFIG_LEDS_TRIGGER_GPIO)		+= ledtrig-gpio.o
  obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON)	+= ledtrig-default-on.o
  obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON)	+= ledtrig-default-on.o

+ 1 - 1
target/linux/generic/patches-2.6.37/402-ledtrig_netdev.patch → target/linux/generic/patches-2.6.37/831-ledtrig_netdev.patch

@@ -14,7 +14,7 @@
  endif # NEW_LEDS
  endif # NEW_LEDS
 --- a/drivers/leds/Makefile
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
-@@ -53,3 +53,4 @@ obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT)	+=
+@@ -53,3 +53,4 @@ obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT)	+= 
  obj-$(CONFIG_LEDS_TRIGGER_GPIO)		+= ledtrig-gpio.o
  obj-$(CONFIG_LEDS_TRIGGER_GPIO)		+= ledtrig-gpio.o
  obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON)	+= ledtrig-default-on.o
  obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON)	+= ledtrig-default-on.o
  obj-$(CONFIG_LEDS_TRIGGER_MORSE)	+= ledtrig-morse.o
  obj-$(CONFIG_LEDS_TRIGGER_MORSE)	+= ledtrig-morse.o

部分文件因为文件数量过多而无法显示