Update 2.6.39 support for final: * Refresh patches
* Add missing config symbols * Update package/kernel for 2.6.39 * Add SSB build fixes * Reenable exportfs as module * Add md5sum for 2.6.39 Signed-off-by: Jonas Gorski <[email protected]> --- include/kernel-version.mk | 3 + package/kernel/modules/netsupport.mk | 8 +- package/kernel/modules/other.mk | 11 ++- package/kernel/modules/usb.mk | 4 +- package/kernel/modules/virtual.mk | 2 +- target/linux/generic/config-2.6.39 | 35 +++++++++- .../021-ssb_commit_settings_export.patch | 77 ++++++++++++++++++++ .../022-ssb_fix_pcicore_build_breakage.patch | 49 +++++++++++++ .../patches-2.6.39/030-exportfs_tristate.patch | 11 +++ .../patches-2.6.39/230-openwrt_lzma_options.patch | 2 +- .../patches-2.6.39/300-mips_expose_boot_raw.patch | 2 +- .../306-mips_mem_functions_performance.patch | 2 +- .../generic/patches-2.6.39/400-rootfs_split.patch | 8 +- .../460-cfi_show_amd_extended_table_version.patch | 2 +- .../patches-2.6.39/501-yaffs_cvs_2009_04_24.patch | 76 ++++++++++---------- .../patches-2.6.39/502-yaffs_git_2010_10_20.patch | 8 +- .../generic/patches-2.6.39/511-debloat_lzma.patch | 6 +- .../patches-2.6.39/600-netfilter_layer7_2.22.patch | 2 +- .../generic/patches-2.6.39/722-phy_mvswitch.patch | 6 +- .../generic/patches-2.6.39/723-phy_ip175c.patch | 2 +- .../generic/patches-2.6.39/724-phy_ar8216.patch | 2 +- .../generic/patches-2.6.39/725-phy_rtl8306.patch | 2 +- .../generic/patches-2.6.39/726-phy_rtl8366.patch | 2 +- .../patches-2.6.39/750-hostap_txpower.patch | 2 +- .../811-pci_disable_usb_common_quirks.patch | 4 +- .../generic/patches-2.6.39/830-ledtrig_morse.patch | 2 +- .../patches-2.6.39/831-ledtrig_netdev.patch | 2 +- .../generic/patches-2.6.39/834-gpio_ioctl.patch | 2 +- .../linux/generic/patches-2.6.39/863-gpiommc.patch | 6 +- .../generic/patches-2.6.39/941-ocf_20100325.patch | 4 +- .../generic/patches-2.6.39/950-vm_exports.patch | 10 ++-- 31 files changed, 265 insertions(+), 89 deletions(-) create mode 100644 target/linux/generic/patches-2.6.39/021-ssb_commit_settings_export.patch create mode 100644 target/linux/generic/patches-2.6.39/022-ssb_fix_pcicore_build_breakage.patch create mode 100644 target/linux/generic/patches-2.6.39/030-exportfs_tristate.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 9bd721c..9b60d43 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -26,6 +26,9 @@ endif ifeq ($(LINUX_VERSION),2.6.38.6) LINUX_KERNEL_MD5SUM:=e896a3bb3185b8a8af8e2f010f63c02e endif +ifeq ($(LINUX_VERSION),2.6.39) + LINUX_KERNEL_MD5SUM:=1aab7a741abe08d42e8eccf20de61e05 +endif # disable the md5sum check for unknown kernel versions LINUX_KERNEL_MD5SUM?=x diff --git a/package/kernel/modules/netsupport.mk b/package/kernel/modules/netsupport.mk index a151815..7387319 100644 --- a/package/kernel/modules/netsupport.mk +++ b/package/kernel/modules/netsupport.mk @@ -477,7 +477,7 @@ $(eval $(call KernelPackage,pppoa)) define KernelPackage/pptp SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=PPtP support - DEPENDS:=kmod-ppp +kmod-gre @LINUX_2_6_37||LINUX_2_6_38 + DEPENDS:=kmod-ppp +kmod-gre @LINUX_2_6_37||LINUX_2_6_38||LINUX_2_6_39 KCONFIG:=CONFIG_PPTP FILES:=$(LINUX_DIR)/drivers/net/pptp.ko AUTOLOAD:=$(call AutoLoad,41,pptp) @@ -489,9 +489,9 @@ $(eval $(call KernelPackage,pptp)) define KernelPackage/pppol2tp SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=PPPoL2TP support - DEPENDS:=kmod-ppp +kmod-pppoe +LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37||LINUX_2_6_38:kmod-l2tp + DEPENDS:=kmod-ppp +kmod-pppoe +LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37||LINUX_2_6_38||LINUX_2_6_39:kmod-l2tp KCONFIG:=CONFIG_PPPOL2TP - ifneq ($(CONFIG_LINUX_2_6_35)$(CONFIG_LINUX_2_6_36)$(CONFIG_LINUX_2_6_37)$(CONFIG_LINUX_2_6_38),) + ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.35)),1) FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko AUTOLOAD:=$(call AutoLoad,40,l2tp_ppp) else @@ -652,7 +652,7 @@ $(eval $(call KernelPackage,pktgen)) define KernelPackage/l2tp SUBMENU:=$(NETWORK_SUPPORT_MENU) - DEPENDS:=@LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37||LINUX_2_6_38 + DEPENDS:=@LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37||LINUX_2_6_38||LINUX_2_6_39 TITLE:=Layer Two Tunneling Protocol (L2TP) KCONFIG:=CONFIG_L2TP \ CONFIG_L2TP_V3=y \ diff --git a/package/kernel/modules/other.mk b/package/kernel/modules/other.mk index 5ab4336..3e17dc3 100644 --- a/package/kernel/modules/other.mk +++ b/package/kernel/modules/other.mk @@ -38,14 +38,19 @@ define KernelPackage/bluetooth $(call AddDepends/rfkill) FILES:= \ $(LINUX_DIR)/net/bluetooth/bluetooth.ko \ - $(LINUX_DIR)/net/bluetooth/l2cap.ko \ - $(LINUX_DIR)/net/bluetooth/sco.ko \ $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \ $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \ $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \ $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \ $(LINUX_DIR)/drivers/bluetooth/btusb.ko - AUTOLOAD:=$(call AutoLoad,90,bluetooth l2cap sco rfcomm bnep hidp hci_uart btusb) + ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.39)),1) + AUTOLOAD:=$(call AutoLoad,90,bluetooth rfcomm bnep hidp hci_uart btusb) + else + FILES+= \ + $(LINUX_DIR)/net/bluetooth/l2cap.ko \ + $(LINUX_DIR)/net/bluetooth/sco.ko + AUTOLOAD:=$(call AutoLoad,90,bluetooth l2cap sco rfcomm bnep hidp hci_uart btusb) + endif endef define KernelPackage/bluetooth/description diff --git a/package/kernel/modules/usb.mk b/package/kernel/modules/usb.mk index e543cd6..587bb8d 100644 --- a/package/kernel/modules/usb.mk +++ b/package/kernel/modules/usb.mk @@ -546,7 +546,7 @@ $(eval $(call KernelPackage,usb-serial-keyspan)) define KernelPackage/usb-serial-wwan TITLE:=Support for GSM and CDMA modems - DEPENDS:= @LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37||LINUX_2_6_38 + DEPENDS:= @LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37||LINUX_2_6_38||LINUX_2_6_39 KCONFIG:=CONFIG_USB_SERIAL_WWAN FILES:=$(LINUX_DIR)/drivers/usb/serial/usb_wwan.ko AUTOLOAD:=$(call AutoLoad,61,usb_wwan) @@ -562,7 +562,7 @@ $(eval $(call KernelPackage,usb-serial-wwan)) define KernelPackage/usb-serial-option TITLE:=Support for Option HSDPA modems - DEPENDS:=+LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37||LINUX_2_6_38:kmod-usb-serial-wwan + DEPENDS:=+LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37||LINUX_2_6_38||LINUX_2_6_39:kmod-usb-serial-wwan KCONFIG:=CONFIG_USB_SERIAL_OPTION FILES:=$(LINUX_DIR)/drivers/usb/serial/option.ko AUTOLOAD:=$(call AutoLoad,65,option) diff --git a/package/kernel/modules/virtual.mk b/package/kernel/modules/virtual.mk index 8f9261a..3e24358 100644 --- a/package/kernel/modules/virtual.mk +++ b/package/kernel/modules/virtual.mk @@ -166,7 +166,7 @@ $(eval $(call KernelPackage,xen-netdev)) define KernelPackage/xen-pcidev SUBMENU:=$(VIRTUAL_MENU) TITLE:=Xen PCI device frontend - DEPENDS:=@TARGET_x86_xen_domu @LINUX_2_6_37||LINUX_2_6_38 + DEPENDS:=@TARGET_x86_xen_domu @LINUX_2_6_37||LINUX_2_6_38||LINUX_2_6_39 KCONFIG:=CONFIG_XEN_PCIDEV_FRONTEND FILES:=$(LINUX_DIR)/drivers/xen/platform-pci.ko AUTOLOAD:=$(call AutoLoad,10,xen-pcifront) diff --git a/target/linux/generic/config-2.6.39 b/target/linux/generic/config-2.6.39 index 117e437..9a16445 100644 --- a/target/linux/generic/config-2.6.39 +++ b/target/linux/generic/config-2.6.39 @@ -28,6 +28,7 @@ CONFIG_AIO=y # CONFIG_AIRO_CS is not set # CONFIG_ALCHEMY_GPIO_INDIRECT is not set # CONFIG_ALIM7101_WDT is not set +# CONFIG_ALTERA_STAPL is not set # CONFIG_AMD8111_ETH is not set # CONFIG_AMIGA_PARTITION is not set CONFIG_ANON_INODES=y @@ -322,11 +323,11 @@ CONFIG_BT_HCIUART_H4=y # CONFIG_BT_HCIUART_LL is not set # CONFIG_BT_HCIVHCI is not set # CONFIG_BT_HIDP is not set -# CONFIG_BT_L2CAP is not set +CONFIG_BT_L2CAP=y # CONFIG_BT_MRVL is not set # CONFIG_BT_RFCOMM is not set CONFIG_BT_RFCOMM_TTY=y -# CONFIG_BT_SCO is not set +CONFIG_BT_SCO=y CONFIG_BUG=y # CONFIG_C2PORT is not set # CONFIG_CAIF is not set @@ -552,6 +553,7 @@ CONFIG_DEVPORT=y # CONFIG_DMA_ENGINE is not set # CONFIG_DM_LOG_USERSPACE is not set # CONFIG_DM_RAID is not set +# CONFIG_DM_FLAKEY is not set # CONFIG_DNET is not set # CONFIG_DNOTIFY is not set # CONFIG_DRAGONRISE_FF is not set @@ -779,7 +781,9 @@ CONFIG_HAVE_KRETPROBES=y # CONFIG_HID_GREENASIA is not set # CONFIG_HID_GYRATION is not set # CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_KEYTOUCH is not set # CONFIG_HID_KYE is not set +# CONFIG_HID_LCPOWER is not set # CONFIG_HID_LOGITECH is not set # CONFIG_HID_MAGICMOUSE is not set # CONFIG_HID_MICROSOFT is not set @@ -795,8 +799,10 @@ CONFIG_HAVE_KRETPROBES=y # CONFIG_HID_PRODIKEYS is not set # CONFIG_HID_QUANTA is not set # CONFIG_HID_ROCCAT is not set +# CONFIG_HID_ROCCAT_ARVO is not set # CONFIG_HID_ROCCAT_KONE is not set # CONFIG_HID_ROCCAT_KONEPLUS is not set +# CONFIG_HID_ROCCAT_KOVAPLUS is not set # CONFIG_HID_ROCCAT_PYRA is not set # CONFIG_HID_SAMSUNG is not set # CONFIG_HID_SMARTJOYPLUS is not set @@ -867,6 +873,7 @@ CONFIG_HZ_100=y # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DESIGNWARE is not set +# CONFIG_I2C_DIOLAN_U2C is not set # CONFIG_I2C_EG20T is not set # CONFIG_I2C_ELEKTOR is not set # CONFIG_I2C_GPIO is not set @@ -1025,6 +1032,7 @@ CONFIG_INPUT_MISC=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_NOOP=y # CONFIG_IP_FIB_TRIE_STATS is not set +# CONFIG_IP_SET is not set # CONFIG_IP1000 is not set # CONFIG_IP17XX_PHY is not set # CONFIG_IP6_NF_FILTER is not set @@ -1193,6 +1201,7 @@ CONFIG_KERNEL_LZMA=y # CONFIG_KEYBOARD_MCS is not set # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_QT1070 is not set # CONFIG_KEYBOARD_QT2160 is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_KEYBOARD_SUNKBD is not set @@ -1223,6 +1232,7 @@ CONFIG_LEDS_CLASS=y # CONFIG_LEDS_DAC124S085 is not set CONFIG_LEDS_GPIO_PLATFORM=y # CONFIG_LEDS_INTEL_SS4200 is not set +# CONFIG_LEDS_LM3530 is not set # CONFIG_LEDS_LP3944 is not set # CONFIG_LEDS_LP5521 is not set # CONFIG_LEDS_LP5523 is not set @@ -1297,6 +1307,7 @@ CONFIG_LZMA_DECOMPRESS=y # CONFIG_MD is not set # CONFIG_MDIO_BITBANG is not set # CONFIG_MEDIA_ATTACH is not set +# CONFIG_MEDIA_CONTROLLER is not set # CONFIG_MEDIA_SUPPORT is not set # CONFIG_MEDIA_TUNER_CUSTOMISE is not set # CONFIG_MEGARAID_LEGACY is not set @@ -1332,6 +1343,7 @@ CONFIG_MFD_SUPPORT=y # CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_WM8400 is not set # CONFIG_MFD_WM8994 is not set +# CONFIG_MFD_WL1273_CORE is not set # CONFIG_MG_DISK is not set # CONFIG_MICREL_PHY is not set # CONFIG_MIGRATION is not set @@ -1784,6 +1796,7 @@ CONFIG_PAGE_SIZE_4KB=y CONFIG_PARTITION_ADVANCED=y # CONFIG_PATA_ALI is not set # CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARASAN_CF is not set # CONFIG_PATA_ARTOP is not set # CONFIG_PATA_ATIIXP is not set # CONFIG_PATA_ATP867X is not set @@ -1881,6 +1894,7 @@ CONFIG_PCI_SYSCALL=y # CONFIG_PLX_HERMES is not set # CONFIG_PM is not set # CONFIG_PM_RUNTIME is not set +# CONFIG_PMBUS is not set # CONFIG_PMC_MSP is not set # CONFIG_PMC_YOSEMITE is not set # CONFIG_PMIC_ADP5520 is not set @@ -2056,6 +2070,7 @@ CONFIG_RTC_LIB=y # CONFIG_RTL8366S_PHY is not set # CONFIG_RTL8366S_PHY_DEBUG_FS is not set # CONFIG_RTL8366_SMI is not set +# CONFIG_RTS_PSTOR is not set CONFIG_RT_MUTEXES=y # CONFIG_RT_MUTEX_TESTER is not set # CONFIG_RUNTIME_DEBUG is not set @@ -2104,8 +2119,11 @@ CONFIG_SCHED_OMIT_FRAME_POINTER=y # CONFIG_SCSI_ARCMSR is not set # CONFIG_SCSI_BFA_FC is not set # CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_SCSI_BNX2X_FCOE is not set # CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set # CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DEBUG is not set @@ -2179,6 +2197,7 @@ CONFIG_SELECT_MEMORY_MODEL=y # CONFIG_SENSORS_ADM1029 is not set # CONFIG_SENSORS_ADM1031 is not set # CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADS1015 is not set # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_ADS7871 is not set # CONFIG_SENSORS_ADT7411 is not set @@ -2213,6 +2232,7 @@ CONFIG_SELECT_MEMORY_MODEL=y # CONFIG_SENSORS_IT87 is not set # CONFIG_SENSORS_JC42 is not set # CONFIG_SENSORS_K8TEMP is not set +# CONFIG_SENSORS_LINEAGE is not set # CONFIG_SENSORS_LIS3LV02D is not set # CONFIG_SENSORS_LIS3_I2C is not set # CONFIG_SENSORS_LIS3_SPI is not set @@ -2230,15 +2250,18 @@ CONFIG_SELECT_MEMORY_MODEL=y # CONFIG_SENSORS_LM92 is not set # CONFIG_SENSORS_LM93 is not set # CONFIG_SENSORS_LM95241 is not set +# CONFIG_SENSORS_LTC4151 is not set # CONFIG_SENSORS_LTC4215 is not set # CONFIG_SENSORS_LTC4245 is not set # CONFIG_SENSORS_LTC4261 is not set # CONFIG_SENSORS_MAX1111 is not set # CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6639 is not set # CONFIG_SENSORS_MAX6650 is not set # CONFIG_SENSORS_PC87360 is not set # CONFIG_SENSORS_PC87427 is not set # CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_SCH5627 is not set # CONFIG_SENSORS_SHT15 is not set # CONFIG_SENSORS_SHT21 is not set # CONFIG_SENSORS_SIS5595 is not set @@ -2454,6 +2477,7 @@ CONFIG_SND_PCM_OSS_PLUGINS=y # CONFIG_SND_TIMER is not set # CONFIG_SND_TRIDENT is not set CONFIG_SND_USB=y +# CONFIG_SND_USB_6FIRE is not set # CONFIG_SND_USB_AUDIO is not set # CONFIG_SND_USB_CAIAQ is not set # CONFIG_SND_USB_UA101 is not set @@ -2624,6 +2648,7 @@ CONFIG_TMPFS=y # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set # CONFIG_TOUCHSCREEN_W90X900 is not set # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set +# CONFIG_TPS6105X is not set # CONFIG_TPS65010 is not set # CONFIG_TPS6507X is not set # CONFIG_TR is not set @@ -2699,6 +2724,7 @@ CONFIG_USB_EZUSB=y # CONFIG_USB_GSPCA_KONICA is not set # CONFIG_USB_GSPCA_MARS is not set # CONFIG_USB_GSPCA_MR97310A is not set +# CONFIG_USB_GSPCA_NW80X is not set # CONFIG_USB_GSPCA_OV519 is not set # CONFIG_USB_GSPCA_OV534 is not set # CONFIG_USB_GSPCA_OV534_9 is not set @@ -2725,6 +2751,7 @@ CONFIG_USB_EZUSB=y # CONFIG_USB_GSPCA_T613 is not set # CONFIG_USB_GSPCA_TV8532 is not set # CONFIG_USB_GSPCA_VC032X is not set +# CONFIG_USB_GSPCA_VICAM is not set # CONFIG_USB_GSPCA_XIRLINK_CIT is not set # CONFIG_USB_GSPCA_ZC3XX is not set # CONFIG_USB_G_MULTI is not set @@ -2871,11 +2898,13 @@ CONFIG_USB_STORAGE_ALAUDA=y # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set CONFIG_USB_STORAGE_DATAFAB=y # CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set CONFIG_USB_STORAGE_FREECOM=y # CONFIG_USB_STORAGE_ISD200 is not set CONFIG_USB_STORAGE_JUMPSHOT=y CONFIG_USB_STORAGE_KARMA=y # CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_REALTEK is not set CONFIG_USB_STORAGE_SDDR09=y CONFIG_USB_STORAGE_SDDR55=y CONFIG_USB_STORAGE_USBAT=y @@ -2893,6 +2922,7 @@ CONFIG_USB_STORAGE_USBAT=y # CONFIG_USB_VICAM is not set # CONFIG_USB_VIDEO_CLASS is not set CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +# CONFIG_USB_VL600 is not set # CONFIG_USB_WDM is not set # CONFIG_USB_WHCI_HCD is not set # CONFIG_USB_WUSB is not set @@ -2953,6 +2983,7 @@ CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y # CONFIG_VIDEO_MSP3400 is not set # CONFIG_VIDEO_MT9V011 is not set # CONFIG_VIDEO_MXB is not set +# CONFIG_VIDEO_NOON010PC30 is not set # CONFIG_VIDEO_OUTPUT_CONTROL is not set # CONFIG_VIDEO_OV7670 is not set # CONFIG_VIDEO_PMS is not set diff --git a/target/linux/generic/patches-2.6.39/021-ssb_commit_settings_export.patch b/target/linux/generic/patches-2.6.39/021-ssb_commit_settings_export.patch new file mode 100644 index 0000000..657fdd6 --- /dev/null +++ b/target/linux/generic/patches-2.6.39/021-ssb_commit_settings_export.patch @@ -0,0 +1,77 @@ +--- a/drivers/ssb/driver_pcicore.c ++++ b/drivers/ssb/driver_pcicore.c +@@ -476,30 +476,6 @@ static void ssb_pcie_mdio_write(struct s + pcicore_write32(pc, mdio_control, 0); + } + +-static void ssb_broadcast_value(struct ssb_device *dev, +- u32 address, u32 data) +-{ +- /* This is used for both, PCI and ChipCommon core, so be careful. */ +- BUILD_BUG_ON(SSB_PCICORE_BCAST_ADDR != SSB_CHIPCO_BCAST_ADDR); +- BUILD_BUG_ON(SSB_PCICORE_BCAST_DATA != SSB_CHIPCO_BCAST_DATA); +- +- ssb_write32(dev, SSB_PCICORE_BCAST_ADDR, address); +- ssb_read32(dev, SSB_PCICORE_BCAST_ADDR); /* flush */ +- ssb_write32(dev, SSB_PCICORE_BCAST_DATA, data); +- ssb_read32(dev, SSB_PCICORE_BCAST_DATA); /* flush */ +-} +- +-static void ssb_commit_settings(struct ssb_bus *bus) +-{ +- struct ssb_device *dev; +- +- dev = bus->chipco.dev ? bus->chipco.dev : bus->pcicore.dev; +- if (WARN_ON(!dev)) +- return; +- /* This forces an update of the cached registers. */ +- ssb_broadcast_value(dev, 0xFD8, 0); +-} +- + int ssb_pcicore_dev_irqvecs_enable(struct ssb_pcicore *pc, + struct ssb_device *dev) + { +--- a/drivers/ssb/main.c ++++ b/drivers/ssb/main.c +@@ -1330,6 +1330,31 @@ error: + } + EXPORT_SYMBOL(ssb_bus_powerup); + ++static void ssb_broadcast_value(struct ssb_device *dev, ++ u32 address, u32 data) ++{ ++ /* This is used for both, PCI and ChipCommon core, so be careful. */ ++ BUILD_BUG_ON(SSB_PCICORE_BCAST_ADDR != SSB_CHIPCO_BCAST_ADDR); ++ BUILD_BUG_ON(SSB_PCICORE_BCAST_DATA != SSB_CHIPCO_BCAST_DATA); ++ ++ ssb_write32(dev, SSB_PCICORE_BCAST_ADDR, address); ++ ssb_read32(dev, SSB_PCICORE_BCAST_ADDR); /* flush */ ++ ssb_write32(dev, SSB_PCICORE_BCAST_DATA, data); ++ ssb_read32(dev, SSB_PCICORE_BCAST_DATA); /* flush */ ++} ++ ++void ssb_commit_settings(struct ssb_bus *bus) ++{ ++ struct ssb_device *dev; ++ ++ dev = bus->chipco.dev ? bus->chipco.dev : bus->pcicore.dev; ++ if (WARN_ON(!dev)) ++ return; ++ /* This forces an update of the cached registers. */ ++ ssb_broadcast_value(dev, 0xFD8, 0); ++} ++EXPORT_SYMBOL(ssb_commit_settings); ++ + u32 ssb_admatch_base(u32 adm) + { + u32 base = 0; +--- a/include/linux/ssb/ssb.h ++++ b/include/linux/ssb/ssb.h +@@ -518,6 +518,7 @@ extern int ssb_bus_may_powerdown(struct + * Otherwise static always-on powercontrol will be used. */ + extern int ssb_bus_powerup(struct ssb_bus *bus, bool dynamic_pctl); + ++extern void ssb_commit_settings(struct ssb_bus *bus); + + /* Various helper functions */ + extern u32 ssb_admatch_base(u32 adm); diff --git a/target/linux/generic/patches-2.6.39/022-ssb_fix_pcicore_build_breakage.patch b/target/linux/generic/patches-2.6.39/022-ssb_fix_pcicore_build_breakage.patch new file mode 100644 index 0000000..71ecc96 --- /dev/null +++ b/target/linux/generic/patches-2.6.39/022-ssb_fix_pcicore_build_breakage.patch @@ -0,0 +1,49 @@ +From 1159024d4c0aafecaa0c6635c55153b4b39cc1c8 Mon Sep 17 00:00:00 2001 +From: "John W. Linville" <[email protected]> +Date: Fri, 13 May 2011 09:23:47 -0400 +Subject: [PATCH] ssb: fix pcicore build breakage + +drivers/ssb/main.c:1336: error: 'SSB_PCICORE_BCAST_ADDR' undeclared (first use in this function) +drivers/ssb/main.c:1337: error: 'SSB_PCICORE_BCAST_DATA' undeclared (first use in this function) +drivers/ssb/main.c:1349: error: 'struct ssb_pcicore' has no member named 'dev' + +Reported-by: Randy Dunlap <[email protected]> +Signed-off-by: John W. Linville <[email protected]> +--- + drivers/ssb/main.c | 14 ++++++++++---- + 1 files changed, 10 insertions(+), 4 deletions(-) + +--- a/drivers/ssb/main.c ++++ b/drivers/ssb/main.c +@@ -1333,21 +1333,27 @@ EXPORT_SYMBOL(ssb_bus_powerup); + static void ssb_broadcast_value(struct ssb_device *dev, + u32 address, u32 data) + { ++#ifdef CONFIG_SSB_DRIVER_PCICORE + /* This is used for both, PCI and ChipCommon core, so be careful. */ + BUILD_BUG_ON(SSB_PCICORE_BCAST_ADDR != SSB_CHIPCO_BCAST_ADDR); + BUILD_BUG_ON(SSB_PCICORE_BCAST_DATA != SSB_CHIPCO_BCAST_DATA); ++#endif + +- ssb_write32(dev, SSB_PCICORE_BCAST_ADDR, address); +- ssb_read32(dev, SSB_PCICORE_BCAST_ADDR); /* flush */ +- ssb_write32(dev, SSB_PCICORE_BCAST_DATA, data); +- ssb_read32(dev, SSB_PCICORE_BCAST_DATA); /* flush */ ++ ssb_write32(dev, SSB_CHIPCO_BCAST_ADDR, address); ++ ssb_read32(dev, SSB_CHIPCO_BCAST_ADDR); /* flush */ ++ ssb_write32(dev, SSB_CHIPCO_BCAST_DATA, data); ++ ssb_read32(dev, SSB_CHIPCO_BCAST_DATA); /* flush */ + } + + void ssb_commit_settings(struct ssb_bus *bus) + { + struct ssb_device *dev; + ++#ifdef CONFIG_SSB_DRIVER_PCICORE + dev = bus->chipco.dev ? bus->chipco.dev : bus->pcicore.dev; ++#else ++ dev = bus->chipco.dev; ++#endif + if (WARN_ON(!dev)) + return; + /* This forces an update of the cached registers. */ diff --git a/target/linux/generic/patches-2.6.39/030-exportfs_tristate.patch b/target/linux/generic/patches-2.6.39/030-exportfs_tristate.patch new file mode 100644 index 0000000..b34f487 --- /dev/null +++ b/target/linux/generic/patches-2.6.39/030-exportfs_tristate.patch @@ -0,0 +1,11 @@ +--- a/fs/Kconfig ++++ b/fs/Kconfig +@@ -47,7 +47,7 @@ config FS_POSIX_ACL + def_bool n + + config EXPORTFS +- bool ++ tristate + + config FILE_LOCKING + bool "Enable POSIX file locking API" if EXPERT diff --git a/target/linux/generic/patches-2.6.39/230-openwrt_lzma_options.patch b/target/linux/generic/patches-2.6.39/230-openwrt_lzma_options.patch index 67e0cee..8819a63 100644 --- a/target/linux/generic/patches-2.6.39/230-openwrt_lzma_options.patch +++ b/target/linux/generic/patches-2.6.39/230-openwrt_lzma_options.patch @@ -1,6 +1,6 @@ --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib -@@ -254,7 +254,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^) +@@ -254,7 +254,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^) quiet_cmd_lzma = LZMA $@ cmd_lzma = (cat $(filter-out FORCE,$^) | \ diff --git a/target/linux/generic/patches-2.6.39/300-mips_expose_boot_raw.patch b/target/linux/generic/patches-2.6.39/300-mips_expose_boot_raw.patch index 0be7b74..2521118 100644 --- a/target/linux/generic/patches-2.6.39/300-mips_expose_boot_raw.patch +++ b/target/linux/generic/patches-2.6.39/300-mips_expose_boot_raw.patch @@ -18,7 +18,7 @@ Acked-by: Rob Landley <[email protected]> config CEVT_BCM1480 bool -@@ -2252,6 +2249,18 @@ config USE_OF +@@ -2247,6 +2244,18 @@ config USE_OF help Include support for flattened device tree machine descriptions. diff --git a/target/linux/generic/patches-2.6.39/306-mips_mem_functions_performance.patch b/target/linux/generic/patches-2.6.39/306-mips_mem_functions_performance.patch index 6ea9ba5..e432471 100644 --- a/target/linux/generic/patches-2.6.39/306-mips_mem_functions_performance.patch +++ b/target/linux/generic/patches-2.6.39/306-mips_mem_functions_performance.patch @@ -1,6 +1,6 @@ --- a/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 extern void *memset(void *__s, int __c, size_t __count); diff --git a/target/linux/generic/patches-2.6.39/400-rootfs_split.patch b/target/linux/generic/patches-2.6.39/400-rootfs_split.patch index b41c740..b9f345d 100644 --- a/target/linux/generic/patches-2.6.39/400-rootfs_split.patch +++ b/target/linux/generic/patches-2.6.39/400-rootfs_split.patch @@ -193,7 +193,7 @@ /* * This function, given a master MTD object and a partition table, creates * and registers slave MTD objects which are bound to the master according to -@@ -652,6 +801,9 @@ int add_mtd_partitions(struct mtd_info * +@@ -652,6 +803,9 @@ int add_mtd_partitions(struct mtd_info * struct mtd_part *slave; uint64_t cur_offset = 0; int i; @@ -203,7 +203,7 @@ printk(KERN_NOTICE "Creating %d MTD partitions on \"%s\":\n", nbparts, master->name); -@@ -666,6 +818,21 @@ int add_mtd_partitions(struct mtd_info * +@@ -666,6 +820,21 @@ int add_mtd_partitions(struct mtd_info * add_mtd_device(&slave->mtd); @@ -225,7 +225,7 @@ cur_offset = slave->offset + slave->mtd.size; } -@@ -673,6 +840,32 @@ int add_mtd_partitions(struct mtd_info * +@@ -673,6 +842,32 @@ int add_mtd_partitions(struct mtd_info * } EXPORT_SYMBOL(add_mtd_partitions); @@ -260,7 +260,7 @@ --- a/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; break; } diff --git a/target/linux/generic/patches-2.6.39/460-cfi_show_amd_extended_table_version.patch b/target/linux/generic/patches-2.6.39/460-cfi_show_amd_extended_table_version.patch index ecd5c94..346026e 100644 --- a/target/linux/generic/patches-2.6.39/460-cfi_show_amd_extended_table_version.patch +++ b/target/linux/generic/patches-2.6.39/460-cfi_show_amd_extended_table_version.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -463,9 +463,9 @@ struct mtd_info *cfi_cmdset_0002(struct +@@ -463,9 +463,9 @@ struct mtd_info *cfi_cmdset_0002(struct /* * Valid primary extension versions are: 1.0, 1.1, 1.2, 1.3, 1.4 diff --git a/target/linux/generic/patches-2.6.39/501-yaffs_cvs_2009_04_24.patch b/target/linux/generic/patches-2.6.39/501-yaffs_cvs_2009_04_24.patch index 5c70e79..c334b17 100644 --- a/target/linux/generic/patches-2.6.39/501-yaffs_cvs_2009_04_24.patch +++ b/target/linux/generic/patches-2.6.39/501-yaffs_cvs_2009_04_24.patch @@ -601,7 +601,7 @@ 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) { @@ -926,7 +926,7 @@ { unsigned char cDelta; /* column 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 */ if (lDelta == ~lDeltaPrime && @@ -936,7 +936,7 @@ /* Single bit (recoverable) error in data */ bit = 0; -@@ -307,7 +304,7 @@ int yaffs_ECCCorrectOther(unsigned char +@@ -307,7 +304,7 @@ int yaffs_ECCCorrectOther(unsigned char if (cDelta & 0x02) bit |= 0x01; @@ -945,7 +945,7 @@ return -1; 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) + @@ -954,7 +954,7 @@ /* Reccoverable error in 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 */ return -1; @@ -1398,7 +1398,7 @@ { unsigned char *alias; int ret; -@@ -329,7 +395,7 @@ static int yaffs_readlink(struct dentry +@@ -329,7 +395,7 @@ static int yaffs_readlink(struct dentry return ret; } @@ -1560,7 +1560,7 @@ static int yaffs_file_flush(struct file *file, fl_owner_t id) #else 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; T(YAFFS_TRACE_OS, @@ -1571,7 +1571,7 @@ 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; @@ -1591,7 +1591,7 @@ BUG_ON(!PageLocked(pg)); #else 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); @@ -1604,7 +1604,7 @@ 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); kunmap(pg); @@ -3193,7 +3193,7 @@ if (n < step) { n++; 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 *mask_name; const char *x; @@ -3202,7 +3202,7 @@ int i; int done = 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)) { done = 1; @@ -3213,7 +3213,7 @@ switch (buf[pos]) { 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_bitfield = simple_strtoul(buf + pos, &end, 0); @@ -3240,7 +3240,7 @@ mask_name = mask_flags[i].mask_name; mask_bitfield = mask_flags[i].mask_bitfield; 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) { done = 0; @@ -3249,7 +3249,7 @@ case '-': rg &= ~mask_bitfield; 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; @@ -5691,7 +5691,7 @@ { /* Get the real object in case we were fed a hard link as an equivalent object */ 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 n = nBytes; int nDone = 0; -@@ -4600,27 +4665,26 @@ int yaffs_ReadDataFromFile(yaffs_Object +@@ -4600,27 +4665,26 @@ int yaffs_ReadDataFromFile(yaffs_Object dev = in->myDev; while (n > 0) { @@ -7657,7 +7657,7 @@ if (dev->nShortOpCaches > 0) { /* 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; @@ -7673,7 +7673,7 @@ cache->locked = 0; } else { /* 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_ReadChunkDataFromObject(in, chunk, localBuffer); @@ -7718,7 +7718,7 @@ } n -= nToCopy; -@@ -4704,28 +4741,37 @@ int yaffs_ReadDataFromFile(yaffs_Object +@@ -4704,28 +4741,37 @@ int yaffs_ReadDataFromFile(yaffs_Object return nDone; } @@ -7923,7 +7923,7 @@ int newFullChunks; 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); @@ -7941,7 +7941,7 @@ 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); -@@ -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; unsigned x; -@@ -7040,6 +7126,8 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7040,6 +7126,8 @@ int yaffs_GutsInitialise(yaffs_Device * dev->chunkOffset = 0; dev->nFreeChunks = 0; @@ -9798,7 +9798,7 @@ if (dev->startBlock == 0) { dev->internalStartBlock = dev->startBlock + 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. */ @@ -9823,7 +9823,7 @@ return YAFFS_FAIL; } -@@ -7070,6 +7158,12 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7070,6 +7158,12 @@ int yaffs_GutsInitialise(yaffs_Device * return YAFFS_FAIL; } @@ -9836,7 +9836,7 @@ /* Got the right mix of functions? */ if (!yaffs_CheckDevFunctions(dev)) { /* Function missing */ -@@ -7097,31 +7191,18 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7097,31 +7191,18 @@ int yaffs_GutsInitialise(yaffs_Device * dev->isMounted = 1; @@ -9875,7 +9875,7 @@ /* * Calculate chunkGroupBits. -@@ -7133,16 +7214,15 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7133,16 +7214,15 @@ int yaffs_GutsInitialise(yaffs_Device * bits = ShiftsGE(x); /* Set up tnode width if wide tnodes are enabled. */ @@ -9896,7 +9896,7 @@ dev->tnodeWidth = 16; 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 */ /* Initialise temporary buffers and caches. */ @@ -9905,7 +9905,7 @@ init_failed = 1; dev->srCache = NULL; -@@ -7203,25 +7283,26 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7203,25 +7283,26 @@ int yaffs_GutsInitialise(yaffs_Device * if (!init_failed && dev->nShortOpCaches > 0) { int i; @@ -9940,7 +9940,7 @@ init_failed = 1; dev->srLastUse = 0; -@@ -7229,29 +7310,30 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7229,29 +7310,30 @@ int yaffs_GutsInitialise(yaffs_Device * dev->cacheHits = 0; @@ -9979,7 +9979,7 @@ T(YAFFS_TRACE_ALWAYS, (TSTR("yaffs: restored from checkpoint" TENDSTR))); } else { -@@ -7273,24 +7355,25 @@ int yaffs_GutsInitialise(yaffs_Device * +@@ -7273,24 +7355,25 @@ int yaffs_GutsInitialise(yaffs_Device * dev->nBackgroundDeletions = 0; dev->oldestDirtySequence = 0; @@ -10011,7 +10011,7 @@ /* Clean up the mess */ T(YAFFS_TRACE_TRACING, (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) { 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. */ int nandmtd1_ReadChunkWithTagsFromNAND(yaffs_Device *dev, @@ -11038,14 +11038,14 @@ + yaffs_UnpackTags2(tags, &pt); + } + } - -- if(tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR) -- tags->eccResult = YAFFS_ECC_RESULT_UNFIXED; ++ + if (localData) + 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) -+ tags->eccResult = YAFFS_ECC_RESULT_UNFIXED; + tags->eccResult = YAFFS_ECC_RESULT_UNFIXED; +- if (retval == 0) return YAFFS_OK; else diff --git a/target/linux/generic/patches-2.6.39/502-yaffs_git_2010_10_20.patch b/target/linux/generic/patches-2.6.39/502-yaffs_git_2010_10_20.patch index 2f4e6ef..3954cdf 100644 --- a/target/linux/generic/patches-2.6.39/502-yaffs_git_2010_10_20.patch +++ b/target/linux/generic/patches-2.6.39/502-yaffs_git_2010_10_20.patch @@ -8,7 +8,7 @@ endif # BLOCK -@@ -177,6 +176,10 @@ source "fs/hfsplus/Kconfig" +@@ -193,6 +192,10 @@ source "fs/hfsplus/Kconfig" source "fs/befs/Kconfig" source "fs/bfs/Kconfig" source "fs/efs/Kconfig" @@ -316,7 +316,7 @@ 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 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. */ /* Default: Not selected */ @@ -1614,7 +1614,7 @@ yaffs_ECCOther *read_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) bit |= 0x01; @@ -1623,7 +1623,7 @@ return -1; 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 */ } diff --git a/target/linux/generic/patches-2.6.39/511-debloat_lzma.patch b/target/linux/generic/patches-2.6.39/511-debloat_lzma.patch index 18e4a51..1e41661 100644 --- a/target/linux/generic/patches-2.6.39/511-debloat_lzma.patch +++ b/target/linux/generic/patches-2.6.39/511-debloat_lzma.patch @@ -124,7 +124,7 @@ /* LzmaDecode --- a/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; } @@ -194,7 +194,7 @@ { CLzmaProps propNew; 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; } @@ -375,7 +375,7 @@ void MatchFinder_Construct(CMatchFinder *p); /* 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, ISzAlloc *alloc); void MatchFinder_Free(CMatchFinder *p, ISzAlloc *alloc); diff --git a/target/linux/generic/patches-2.6.39/600-netfilter_layer7_2.22.patch b/target/linux/generic/patches-2.6.39/600-netfilter_layer7_2.22.patch index 710afc8..87c2e1f 100644 --- a/target/linux/generic/patches-2.6.39/600-netfilter_layer7_2.22.patch +++ b/target/linux/generic/patches-2.6.39/600-netfilter_layer7_2.22.patch @@ -30,7 +30,7 @@ depends on NETFILTER_ADVANCED --- a/net/netfilter/Makefile +++ b/net/netfilter/Makefile -@@ -102,6 +102,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RECENT) +@@ -102,6 +102,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RECENT) obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o obj-$(CONFIG_NETFILTER_XT_MATCH_SOCKET) += xt_socket.o obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o diff --git a/target/linux/generic/patches-2.6.39/722-phy_mvswitch.patch b/target/linux/generic/patches-2.6.39/722-phy_mvswitch.patch index b5fef76..5a7b96a 100644 --- a/target/linux/generic/patches-2.6.39/722-phy_mvswitch.patch +++ b/target/linux/generic/patches-2.6.39/722-phy_mvswitch.patch @@ -1,8 +1,8 @@ --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -102,6 +102,9 @@ config ADM6996_PHY - ---help--- - Currently supports the ADM6996F switch +@@ -104,6 +104,9 @@ config ADM6996_PHY + Currently supports the ADM6996FC and ADM6996M switches. + Support for FC is very limited. +config MVSWITCH_PHY + tristate "Driver for Marvell 88E6060 switches" diff --git a/target/linux/generic/patches-2.6.39/723-phy_ip175c.patch b/target/linux/generic/patches-2.6.39/723-phy_ip175c.patch index d99ca61..22a56ed 100644 --- a/target/linux/generic/patches-2.6.39/723-phy_ip175c.patch +++ b/target/linux/generic/patches-2.6.39/723-phy_ip175c.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -105,6 +105,10 @@ config ADM6996_PHY +@@ -107,6 +107,10 @@ config ADM6996_PHY config MVSWITCH_PHY tristate "Driver for Marvell 88E6060 switches" diff --git a/target/linux/generic/patches-2.6.39/724-phy_ar8216.patch b/target/linux/generic/patches-2.6.39/724-phy_ar8216.patch index a7afdfd..c375a97 100644 --- a/target/linux/generic/patches-2.6.39/724-phy_ar8216.patch +++ b/target/linux/generic/patches-2.6.39/724-phy_ar8216.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -109,6 +109,10 @@ config IP17XX_PHY +@@ -111,6 +111,10 @@ config IP17XX_PHY tristate "Driver for IC+ IP17xx switches" select SWCONFIG diff --git a/target/linux/generic/patches-2.6.39/725-phy_rtl8306.patch b/target/linux/generic/patches-2.6.39/725-phy_rtl8306.patch index cd5e1a8..e97b84d 100644 --- a/target/linux/generic/patches-2.6.39/725-phy_rtl8306.patch +++ b/target/linux/generic/patches-2.6.39/725-phy_rtl8306.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -113,6 +113,10 @@ config AR8216_PHY +@@ -115,6 +115,10 @@ config AR8216_PHY tristate "Driver for Atheros AR8216 switches" select SWCONFIG diff --git a/target/linux/generic/patches-2.6.39/726-phy_rtl8366.patch b/target/linux/generic/patches-2.6.39/726-phy_rtl8366.patch index c459996..34ac10e 100644 --- a/target/linux/generic/patches-2.6.39/726-phy_rtl8366.patch +++ b/target/linux/generic/patches-2.6.39/726-phy_rtl8366.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -155,4 +155,29 @@ config MDIO_OCTEON +@@ -157,4 +157,29 @@ config MDIO_OCTEON If in doubt, say Y. diff --git a/target/linux/generic/patches-2.6.39/750-hostap_txpower.patch b/target/linux/generic/patches-2.6.39/750-hostap_txpower.patch index e4c1803..374a284 100644 --- a/target/linux/generic/patches-2.6.39/750-hostap_txpower.patch +++ b/target/linux/generic/patches-2.6.39/750-hostap_txpower.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/hostap/hostap_ap.c +++ b/drivers/net/wireless/hostap/hostap_ap.c -@@ -2338,13 +2338,13 @@ int prism2_ap_get_sta_qual(local_info_t +@@ -2338,13 +2338,13 @@ int prism2_ap_get_sta_qual(local_info_t addr[count].sa_family = ARPHRD_ETHER; memcpy(addr[count].sa_data, sta->addr, ETH_ALEN); if (sta->last_rx_silence == 0) diff --git a/target/linux/generic/patches-2.6.39/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/patches-2.6.39/811-pci_disable_usb_common_quirks.patch index 47abdf2..538ac30 100644 --- a/target/linux/generic/patches-2.6.39/811-pci_disable_usb_common_quirks.patch +++ b/target/linux/generic/patches-2.6.39/811-pci_disable_usb_common_quirks.patch @@ -1,7 +1,7 @@ --- a/drivers/usb/host/pci-quirks.c +++ b/drivers/usb/host/pci-quirks.c -@@ -392,6 +392,8 @@ reset_needed: +@@ -423,6 +423,8 @@ reset_needed: } EXPORT_SYMBOL_GPL(uhci_check_and_reset_hc); @@ -10,7 +10,7 @@ static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask) { u16 cmd; -@@ -736,3 +738,5 @@ static void __devinit quirk_usb_early_ha +@@ -767,3 +769,5 @@ static void __devinit quirk_usb_early_ha quirk_usb_handoff_xhci(pdev); } DECLARE_PCI_FIXUP_FINAL(PCI_ANY_ID, PCI_ANY_ID, quirk_usb_early_handoff); diff --git a/target/linux/generic/patches-2.6.39/830-ledtrig_morse.patch b/target/linux/generic/patches-2.6.39/830-ledtrig_morse.patch index 2edc4f3..c51ad78 100644 --- a/target/linux/generic/patches-2.6.39/830-ledtrig_morse.patch +++ b/target/linux/generic/patches-2.6.39/830-ledtrig_morse.patch @@ -11,7 +11,7 @@ endif # NEW_LEDS --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -53,3 +53,4 @@ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += +@@ -53,3 +53,4 @@ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) += ledtrig-backlight.o obj-$(CONFIG_LEDS_TRIGGER_GPIO) += ledtrig-gpio.o obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o diff --git a/target/linux/generic/patches-2.6.39/831-ledtrig_netdev.patch b/target/linux/generic/patches-2.6.39/831-ledtrig_netdev.patch index 4131740..8a54412 100644 --- a/target/linux/generic/patches-2.6.39/831-ledtrig_netdev.patch +++ b/target/linux/generic/patches-2.6.39/831-ledtrig_netdev.patch @@ -14,7 +14,7 @@ endif # NEW_LEDS --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -54,3 +54,4 @@ obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) += +@@ -54,3 +54,4 @@ obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) += obj-$(CONFIG_LEDS_TRIGGER_GPIO) += ledtrig-gpio.o obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o diff --git a/target/linux/generic/patches-2.6.39/834-gpio_ioctl.patch b/target/linux/generic/patches-2.6.39/834-gpio_ioctl.patch index 6609a16..3b70632 100644 --- a/target/linux/generic/patches-2.6.39/834-gpio_ioctl.patch +++ b/target/linux/generic/patches-2.6.39/834-gpio_ioctl.patch @@ -1,6 +1,6 @@ --- a/drivers/char/gpio_dev.c +++ b/drivers/char/gpio_dev.c -@@ -114,7 +114,7 @@ gpio_close(struct inode * inode, struct +@@ -114,7 +114,7 @@ gpio_close(struct inode * inode, struct } struct file_operations gpio_fops = { diff --git a/target/linux/generic/patches-2.6.39/863-gpiommc.patch b/target/linux/generic/patches-2.6.39/863-gpiommc.patch index c10eaee..b4f8fd9 100644 --- a/target/linux/generic/patches-2.6.39/863-gpiommc.patch +++ b/target/linux/generic/patches-2.6.39/863-gpiommc.patch @@ -829,9 +829,9 @@ +be done automatically. --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -2888,6 +2888,11 @@ T: git git://git.kernel.org/pub/scm/linu - S: Maintained - F: drivers/media/video/gspca/ +@@ -2896,6 +2896,11 @@ L: [email protected] + S: Odd Fixes + F: drivers/tty/hvc/ +GPIOMMC DRIVER +P: Michael Buesch diff --git a/target/linux/generic/patches-2.6.39/941-ocf_20100325.patch b/target/linux/generic/patches-2.6.39/941-ocf_20100325.patch index 537f9ed..e640bc1 100644 --- a/target/linux/generic/patches-2.6.39/941-ocf_20100325.patch +++ b/target/linux/generic/patches-2.6.39/941-ocf_20100325.patch @@ -24,7 +24,7 @@ * All of these routines try to estimate how many bits of randomness a * particular randomness source. They do this by keeping track of the * first and second order deltas of the event timings. -@@ -722,6 +732,61 @@ void add_disk_randomness(struct gendisk +@@ -722,6 +732,61 @@ void add_disk_randomness(struct gendisk } #endif @@ -160,7 +160,7 @@ --- a/kernel/pid.c +++ b/kernel/pid.c -@@ -424,6 +424,7 @@ struct task_struct *find_task_by_vpid(pi +@@ -427,6 +427,7 @@ struct task_struct *find_task_by_vpid(pi { return find_task_by_pid_ns(vnr, current->nsproxy->pid_ns); } diff --git a/target/linux/generic/patches-2.6.39/950-vm_exports.patch b/target/linux/generic/patches-2.6.39/950-vm_exports.patch index 9fcaabc..a923cb8 100644 --- a/target/linux/generic/patches-2.6.39/950-vm_exports.patch +++ b/target/linux/generic/patches-2.6.39/950-vm_exports.patch @@ -1,6 +1,6 @@ --- a/mm/shmem.c +++ b/mm/shmem.c -@@ -2711,6 +2711,16 @@ out: +@@ -2942,6 +2942,16 @@ out: /* common code */ @@ -17,7 +17,7 @@ /** * shmem_file_setup - get an unlinked file living in tmpfs * @name: name for dentry (to be seen in /proc/<pid>/maps -@@ -2788,10 +2798,7 @@ int shmem_zero_setup(struct vm_area_stru +@@ -3019,10 +3029,7 @@ int shmem_zero_setup(struct vm_area_stru if (IS_ERR(file)) return PTR_ERR(file); @@ -32,7 +32,7 @@ } --- a/fs/file.c +++ b/fs/file.c -@@ -264,6 +264,7 @@ int expand_files(struct files_struct *fi +@@ -268,6 +268,7 @@ int expand_files(struct files_struct *fi /* All good, so we try */ return expand_fdtable(files, nr); } @@ -78,7 +78,7 @@ /** * zap_vma_ptes - remove ptes mapping the vma -@@ -2756,6 +2757,7 @@ int vmtruncate_range(struct inode *inode +@@ -2763,6 +2764,7 @@ int vmtruncate_range(struct inode *inode return 0; } @@ -106,7 +106,7 @@ void *caller) --- a/include/linux/mm.h +++ b/include/linux/mm.h -@@ -871,6 +871,7 @@ extern void __show_free_areas(unsigned i +@@ -872,6 +872,7 @@ extern void __show_free_areas(unsigned i int shmem_lock(struct file *file, int lock, struct user_struct *user); struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags); -- 1.7.2.5 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
