Am Dienstag, 24. Mai 2011, 20:53:43 schrieb edgar.sol...@web.de: > On 24.05.2011 20:03, Rafał Miłecki wrote: > > P.S. > > Please, don't top post :) > > why shouldn't he? it's not like you couldn't understand his message, is it? > > ..ede > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel
i think its more about - he asks me in a polite way not to toppost :) and if someone asks in a nice way - you can see what you can get ;) i found it here :) http://www.spinics.net/lists/linux-wireless/msg69726.html but i used the generated one (its the file 022- ssb_pcicore_build_breakage.patch) from git.kernel.org, thanks updated generic patch attached - tested an image with patch applied and linux still comes up ;) Signed-off-by: Peter Wagner <tripo...@gmx.at>
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/target/linux/generic/config-2.6.39 b/target/linux/generic/config-2.6.39 index 117e437..82fe830 100644 --- a/target/linux/generic/config-2.6.39 +++ b/target/linux/generic/config-2.6.39 @@ -1120,6 +1120,8 @@ CONFIG_IP_ROUTE_VERBOSE=y # CONFIG_IR_SONY_DECODER is not set # CONFIG_IR_STREAMZAP is not set # CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set # CONFIG_ISCSI_TCP is not set CONFIG_ISDN=y # CONFIG_ISDN_AUDIO is not set @@ -1458,6 +1460,7 @@ CONFIG_MTD_PARTITIONS=y # CONFIG_MTD_PHYSMAP is not set # CONFIG_MTD_PHYSMAP_COMPAT is not set # CONFIG_MTD_PLATRAM is not set +# CONFIG_MTD_LATCH_ADDR is not set # CONFIG_MTD_PMC551 is not set # CONFIG_MTD_RAM is not set CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 @@ -1938,6 +1941,7 @@ CONFIG_PROC_SYSCTL=y # CONFIG_R8169 is not set # CONFIG_R8187SE is not set # CONFIG_R8712U is not set +# CONFIG_RTS_PSTOR is not set # CONFIG_RADIO_ADAPTERS is not set # CONFIG_RADIO_AZTECH is not set # CONFIG_RADIO_CADET is not set @@ -2104,6 +2108,7 @@ 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_DC390T is not set @@ -2869,8 +2874,10 @@ CONFIG_USB_SERIAL_SAFE_PADDED=y # CONFIG_USB_STORAGE is not set CONFIG_USB_STORAGE_ALAUDA=y # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set CONFIG_USB_STORAGE_DATAFAB=y # CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set CONFIG_USB_STORAGE_FREECOM=y # CONFIG_USB_STORAGE_ISD200 is not set CONFIG_USB_STORAGE_JUMPSHOT=y diff --git a/target/linux/generic/patches-2.6.39/000-exportfs_tristate.patch b/target/linux/generic/patches-2.6.39/000-exportfs_tristate.patch new file mode 100644 index 0000000..9a98a2a --- /dev/null +++ b/target/linux/generic/patches-2.6.39/000-exportfs_tristate.patch @@ -0,0 +1,13 @@ +diff --git a/fs/Kconfig b/fs/Kconfig +index 09ef748..964da50 100644 +--- 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/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..a0086ec --- /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_pcicore_build_breakage.patch b/target/linux/generic/patches-2.6.39/022-ssb_pcicore_build_breakage.patch new file mode 100644 index 0000000..8445132 --- /dev/null +++ b/target/linux/generic/patches-2.6.39/022-ssb_pcicore_build_breakage.patch @@ -0,0 +1,54 @@ +From 1159024d4c0aafecaa0c6635c55153b4b39cc1c8 Mon Sep 17 00:00:00 2001 +From: "John W. Linville" <linvi...@tuxdriver.com> +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 <randy.dun...@oracle.com> +Signed-off-by: John W. Linville <linvi...@tuxdriver.com> +--- + drivers/ssb/main.c | 14 ++++++++++---- + 1 files changed, 10 insertions(+), 4 deletions(-) + +diff --git a/drivers/ssb/main.c b/drivers/ssb/main.c +index ee2937c..f8a13f8 100644 +--- a/drivers/ssb/main.c ++++ b/drivers/ssb/main.c +@@ -1332,21 +1332,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. */ +-- +1.7.5.2 +
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel