Re: [OpenWrt-Devel] Broadcom ARM Status

2013-11-03 Thread Felix Fietkau
On 2013-11-02 23:47, James Hilliard wrote:
 I'm not actually trying to use a fully compiled .ko file, the file is a
 .o file such as wl_apsta.o(tools indicate it is a relocatable ELF for
 ARM) that gets compiled into a .ko when you build GPL tarballs. Seems to
 be the same as the wl_prebuilt.o files we have for the most part in the
 current driver implementation. 
There's not that much difference between linking all those .o files into
one .ko and just using the prebuilt .ko.

I realize that the driver depends on
 these data structures in the kernel, but we know exactly what these
 structures look like from the hnd kernel patch right? In the patch here
 https://sourceforge.net/projects/routertesting/files/ea6900%20patches/linux-2.6.36.4-f70_000_BSP.patch/download
 it seems that there are changes to the sk_buff and net_device in the
 kernel to match the driver. I see that there are ABI differences but I
 don't see why we can't just change the kernel's ABI to be compatible, we
 have the patch-set for that. The way i'm looking at this is since we
 can't recompile the driver to fit the kernel we recompile the kernel to
 fit the driver.
Good luck... Given how much you're already struggling with understanding
the really simple parts, I'm not sure how you will be able to solve the
more complex problems related to the ABI/API issues.

Either way, the result of such work will most likely not be acceptable
for merging into OpenWrt, since it'll break with every single kernel
upgrade and will create nasty kernel maintenance issues.
I know that, because I've done that sort of thing before...

 One thing odd I noticed is that a mips .ko driver has
 the function names removed when compiled from the .o driver, while it
 appears the ARM one does not, both the ARM .ko and .o are very similar
 with symbol names intact. Both start out as .o files with all the
 function names.
You forgot to mention, what .ko files you looked at and where you got
them from.

 From what I can tell wl_glue in the current driver is
 the ABI compatability layer used currently rather than making the kernel
 directly compatible, is that correct?
ABI compatability layer? That doesn't make much sense.

- Felix
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] ag71xx: fix a race involving netdev registration

2013-11-03 Thread Catalin Patulea
In particular, phy_connect before register_netdev. This is because
register_netdev runs the netdev notifiers, which can race with the rest of
the initialization in ag71xx_probe. In my case this manifested in two ways:

1) If ag71xx is compiled as a module and inserted after netifd has started,
   netifd is notified by register_netdev before the call to
   ag71xx_phy_connect. netifd tries to bring the interface up, which calls
   ag71xx_open, which in turn enters ag71xx_phy_start. This keys off
   ag-phy_dev (which is still NULL) and thinks this is a fixed-link board,
   and enters ag71xx_link_adjust. This looks at ag-speed which is not yet
   initialized and hits the BUG() in the switch (ag-speed) in
   ag71xx_link_adjust.

   This is the wrong code path for ag71xx_phy_start - my board has PHYs that
   need to be brought up with phy_start. Doing ag71xx_phy_connect before
   register_netdev ensures that ag-phy_dev is non-NULL before
   ag71xx_phy_start is ever called.

2) When ag71xx is built into the kernel, and netconsole is enabled, there
   is a gap in the initial burst of replayed printks right after the netdev
   comes up. My assumption is that netconsole is also triggered by a netdev
   notifier, and part of this printk burst happens before the call into
   ag71xx_phy_connect, so part of the burst is lost while the PHY comes up.
   This patch fixes the gap - all the printks before eth0 comes up are bursted
   in full when netconsole initializes.

ag71xx_phy_connect_xxx no longer runs with a registered netdev, so the
logging has been adjusted accordingly to avoid unregistered net_device or
eth%d messages in dmesg.

Signed-off-by: Catalin Patulea c...@vv.carleton.ca
---
 .../net/ethernet/atheros/ag71xx/ag71xx_main.c  |   24 +---
 .../net/ethernet/atheros/ag71xx/ag71xx_phy.c   |   20 
 2 files changed, 21 insertions(+), 23 deletions(-)

diff --git 
a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c 
b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
index fc6be0e..f4d6735 100644
--- 
a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
+++ 
b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
@@ -1178,16 +1178,6 @@ static int ag71xx_probe(struct platform_device *pdev)
 
netif_napi_add(dev, ag-napi, ag71xx_poll, AG71XX_NAPI_WEIGHT);
 
-   err = register_netdev(dev);
-   if (err) {
-   dev_err(pdev-dev, unable to register net device\n);
-   goto err_free_desc;
-   }
-
-   pr_info(%s: Atheros AG71xx at 0x%08lx, irq %d, mode:%s\n,
-   dev-name, dev-base_addr, dev-irq,
-   ag71xx_get_phy_if_mode_name(pdata-phy_if_mode));
-
ag71xx_dump_regs(ag);
 
ag71xx_hw_init(ag);
@@ -1196,7 +1186,7 @@ static int ag71xx_probe(struct platform_device *pdev)
 
err = ag71xx_phy_connect(ag);
if (err)
-   goto err_unregister_netdev;
+   goto err_free_desc;
 
err = ag71xx_debugfs_init(ag);
if (err)
@@ -1204,12 +1194,20 @@ static int ag71xx_probe(struct platform_device *pdev)
 
platform_set_drvdata(pdev, dev);
 
+   err = register_netdev(dev);
+   if (err) {
+   dev_err(pdev-dev, unable to register net device\n);
+   goto err_phy_disconnect;
+   }
+
+   pr_info(%s: Atheros AG71xx at 0x%08lx, irq %d, mode:%s\n,
+   dev-name, dev-base_addr, dev-irq,
+   ag71xx_get_phy_if_mode_name(pdata-phy_if_mode));
+
return 0;
 
 err_phy_disconnect:
ag71xx_phy_disconnect(ag);
-err_unregister_netdev:
-   unregister_netdev(dev);
 err_free_desc:
dma_free_coherent(NULL, sizeof(struct ag71xx_desc), ag-stop_desc,
  ag-stop_desc_dma);
diff --git 
a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c 
b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c
index f3791e2..9de77e9 100644
--- a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c
+++ b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c
@@ -76,7 +76,7 @@ void ag71xx_phy_stop(struct ag71xx *ag)
 
 static int ag71xx_phy_connect_fixed(struct ag71xx *ag)
 {
-   struct net_device *dev = ag-dev;
+   struct device *dev = ag-pdev-dev;
struct ag71xx_platform_data *pdata = ag71xx_get_pdata(ag);
int ret = 0;
 
@@ -87,12 +87,12 @@ static int ag71xx_phy_connect_fixed(struct ag71xx *ag)
case SPEED_1000:
break;
default:
-   netdev_err(dev, invalid speed specified\n);
+   dev_err(dev, invalid speed specified\n);
ret = -EINVAL;
break;
}
 
-   netdev_dbg(dev, using fixed link parameters\n);
+   dev_dbg(dev, using fixed link parameters\n);
 
ag-duplex = pdata-duplex;
ag-speed 

Re: [OpenWrt-Devel] [PATCH 0/18] broadcom-wl: improvements for newer devices

2013-11-03 Thread Jo-Philipp Wich
Hi Nathan,

this series looks very well, ACK from me for merging it with a little
comment on the wds interface naming; for mac80211 we use a dash as vif
number separator, so wlan0 is vif 1 on phy0, wlan0-1 is vif 2 on phy 0 etc.

I suggest using the same for wl, means wl0 is vif 1 on radio 0, wl0-1 is
vif 2 on radio 0 etc.

Regards,
Jow



signature.asc
Description: OpenPGP digital signature
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] disable mips16 for mysql and postgresql

2013-11-03 Thread Matthew M. Dean
mysql does not compile with mips16 enabled, here is the fix.

 diff --git a/libs/mysql/Makefile b/libs/mysql/Makefile
 index 1f756b9..d106b34 100644
 --- a/libs/mysql/Makefile
 +++ b/libs/mysql/Makefile
 @@ -11,6 +11,7 @@ include $(INCLUDE_DIR)/uclibc++.mk
  PKG_NAME:=mysql
  PKG_VERSION:=5.1.68
  PKG_RELEASE:=1
 +PKG_USE_MIPS16:=0

  PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  PKG_SOURCE_URL:=\

diff --git a/libs/postgresql/Makefile b/libs/postgresql/Makefile
index 37ae8f6..4ea573d 100644
--- a/libs/postgresql/Makefile
+++ b/libs/postgresql/Makefile
@@ -10,6 +10,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=postgresql
 PKG_VERSION:=9.0.1
 PKG_RELEASE:=4
+PKG_USE_MIPS16:=0

 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=\

 Signed-off-by: Matthew M. Dean firecu...@gmail.com
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Broadcom ARM Status

2013-11-03 Thread James Hilliard
Something interesting I found, seems broadcom is building the driver in
this strange way precisely because of the GPL:

/* Where to get the declarations for mem, str, printf, bcopy's? Two basic
approaches.
 *
 * First, use the Linux header files and the C standard library
replacmenent versions
 * built-in to the kernel.  Use this approach when compiling non hybrid
code or compling
 * the OS port files.  The second approach is to use our own
defines/prototypes and
 * functions we have provided in the Linux OSL, i.e. linux_osl.c.  Use this
approach when
 * compiling the files that make up the hybrid binary.  We are ensuring we
 * don't directly link to the kernel replacement routines from the hybrid
binary.
 *
 * NOTE: The issue we are trying to avoid is any questioning of whether the
 * hybrid binary is derived from Linux.  The wireless common code (wlc) is
designed
 * to be OS independent through the use of the OSL API and thus the hybrid
binary doesn't
 * derive from the Linux kernel at all.  But since we defined our OSL API
to include
 * a small collection of standard C library routines and these routines are
provided in
 * the kernel we want to avoid even the appearance of deriving at all even
though clearly
 * usage of a C standard library API doesn't represent a derivation from
Linux.  Lastly
 * note at the time of this checkin 4 references to memcpy/memset could not
be eliminated
 * from the binary because they are created internally by GCC as part of
things like
 * structure assignment.  I don't think the compiler should be doing this
but there is
 * no options to disable it on Intel architectures (there is for MIPS so
somebody must
 * agree with me).  I may be able to even remove these references
eventually with
 * a GNU binutil such as objcopy via a symbol rename (i.e. memcpy to
osl_memcpy).
 */


On Sun, Nov 3, 2013 at 2:25 AM, James Hilliard james.hillia...@gmail.comwrote:

 That patch included a bit more than just the modifications needed to
 support the wl driver, that patch should be for the new broadcom ARM
 architecture. I think most of the dependencies for the wl driver and the
 ARM wl driver should be in here
 http://sourceforge.net/projects/routertesting/files/ea6900%20patches/src.tar.bz2/downloadwhich
  is a bit cleaner than the patch.
 The .ko files are sometimes precompiled along with the .o files in GPL
 tarballs and sometimes there are only .o files, usually there are just the
 .o files though. It varies slightly between manufacturers. The ones in that
 tarball are pulled from the ea6900 source. Maybe ABI compatibility layer
 wasn't exactly the best way the phrase that. What method would you use to
 go about getting the driver working? I don't see a reason the ABI can't be
 fixed, all that information is in the broadcom components that are open
 source, at least as far as I can tell. I'm trying to figure out where start
 on all of this. Most of this seems to be just merging existing code and
 configuration changes. How would you go about getting a working broadcom
 driver on new devices?


 On Sun, Nov 3, 2013 at 1:55 AM, Felix Fietkau n...@openwrt.org wrote:

 On 2013-11-02 23:47, James Hilliard wrote:
  I'm not actually trying to use a fully compiled .ko file, the file is a
  .o file such as wl_apsta.o(tools indicate it is a relocatable ELF for
  ARM) that gets compiled into a .ko when you build GPL tarballs. Seems to
  be the same as the wl_prebuilt.o files we have for the most part in the
  current driver implementation.
 There's not that much difference between linking all those .o files into
 one .ko and just using the prebuilt .ko.

 I realize that the driver depends on
  these data structures in the kernel, but we know exactly what these
  structures look like from the hnd kernel patch right? In the patch here
 
 https://sourceforge.net/projects/routertesting/files/ea6900%20patches/linux-2.6.36.4-f70_000_BSP.patch/download
  it seems that there are changes to the sk_buff and net_device in the
  kernel to match the driver. I see that there are ABI differences but I
  don't see why we can't just change the kernel's ABI to be compatible, we
  have the patch-set for that. The way i'm looking at this is since we
  can't recompile the driver to fit the kernel we recompile the kernel to
  fit the driver.
 Good luck... Given how much you're already struggling with understanding
 the really simple parts, I'm not sure how you will be able to solve the
 more complex problems related to the ABI/API issues.

 Either way, the result of such work will most likely not be acceptable
 for merging into OpenWrt, since it'll break with every single kernel
 upgrade and will create nasty kernel maintenance issues.
 I know that, because I've done that sort of thing before...

  One thing odd I noticed is that a mips .ko driver has
  the function names removed when compiled from the .o driver, while it
  appears the ARM one does not, both the ARM .ko and .o are very similar
  with symbol names 

[OpenWrt-Devel] [PATCH] [packages] erlang - allow compiling NIFs, allow rebar for libraries for Erlang + version bump

2013-11-03 Thread Králik Barnabás
This fixes the Erlang package so that libraries for Erlang can easily be
packaged for OpenWRT. 

This means:

- static libraries and include files for compiling NIFs are copied in the
build environment to usr/{lib,include}

- crypto is enabled in host Erlang build so that rebar can be used without
further patching

Version is bumped and 101-emulator_includes.patch is modified so that R16B02
compiles correctly.

 

Note that erlang-crypto is still broken as per
https://dev.openwrt.org/ticket/12959; use patch in comments to this ticket.

 

Signed-off-by: Barnabás Králik krali...@msn.com

 

 

Index: feeds/packages/lang/erlang/patches/101-emulator_includes.patch

===

--- feeds/packages/lang/erlang/patches/101-emulator_includes.patch
(revision 38392)

+++ feeds/packages/lang/erlang/patches/101-emulator_includes.patch
(working copy)

@@ -4,8 +4,8 @@

  

  

  $(OBJDIR)/%.o: beam/%.c

--$(CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c
$ -o $@

-+   $(CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c
$ -o $@

+-   $(V_CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c
$ -o $@

++  $(V_CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c
$ -o $@

  

  else

  

Index: feeds/packages/lang/erlang/Makefile

===

--- feeds/packages/lang/erlang/Makefile   (revision 38392)

+++ feeds/packages/lang/erlang/Makefile(working copy)

@@ -8,13 +8,13 @@

include $(TOPDIR)/rules.mk

 PKG_NAME:=erlang

-PKG_VERSION:=R15B01

-PKG_RELEASE:=4

+PKG_VERSION:=R16B02

+PKG_RELEASE:=1

 PKG_SOURCE:=otp_src_$(PKG_VERSION).tar.gz

PKG_SOURCE_URL:= http://www.erlang.org/download/ \

   http://erlang.mirror.su.se/

-PKG_MD5SUM:=f12d00f6e62b36ad027d6c0c08905fad

+PKG_MD5SUM:= ca63bcde0e5ae0f2df9457f97b3115a4

 PKG_BUILD_DEPENDS:=erlang/host openssl

@@ -38,11 +38,10 @@

  and fault tolerance.

endef

-

define Package/erlang

$(call Package/erlang/Default)

   DEPENDS+= +libncurses +librt +zlib

-  PROVIDES:= erlang-erts=5.9 erlang-kernel=2.15 erlang-sasl=2.2
erlang-stdlib=1.18

+  PROVIDES:= erlang-erts=5.10.3 erlang-kernel=2.16.3 erlang-sasl=2.3.3
erlang-stdlib=1.19.3

endef

 define Package/erlang/description

@@ -56,7 +55,7 @@

define Package/erlang-asn1

$(call Package/erlang/Default)

   TITLE:=Abstract Syntax Notation One (ASN.1) support

-  VERSION:=1.6.19

+  VERSION:=2.0.3

   DEPENDS+= +erlang +erlang-syntax-tools

endef

@@ -71,7 +70,7 @@

define Package/erlang-compiler

$(call Package/erlang/Default)

   TITLE:=Byte code compiler

-  VERSION:=4.8

+  VERSION:=4.9.3

   DEPENDS+= +erlang +erlang-hipe

endef

@@ -86,7 +85,7 @@

define Package/erlang-crypto

$(call Package/erlang/Default)

   TITLE:=Cryptography support

-  VERSION:=2.1

+  VERSION:=3.1

   DEPENDS+= +erlang +libopenssl

endef

@@ -101,7 +100,7 @@

define Package/erlang-hipe

$(call Package/erlang/Default)

   TITLE:=High Performance Erlang

-  VERSION:=3.9

+  VERSION:=3.10.2.1

   DEPENDS+= +erlang

endef

@@ -116,7 +115,7 @@

define Package/erlang-inets

$(call Package/erlang/Default)

   TITLE:=Internet clients and servers

-  VERSION:=5.8

+  VERSION:=5.9.6

   DEPENDS+= +erlang

endef

@@ -132,7 +131,7 @@

define Package/erlang-mnesia

$(call Package/erlang/Default)

   TITLE:=Distributed database

-  VERSION:=4.6

+  VERSION:=4.10

   DEPENDS+= +erlang

endef

@@ -149,7 +148,7 @@

define Package/erlang-runtime-tools

$(call Package/erlang/Default)

   TITLE:=Low-profile debugging/tracing tools

-  VERSION:=1.8.7

+  VERSION:=1.8.12

   DEPENDS+= +erlang

endef

@@ -164,7 +163,7 @@

define Package/erlang-snmp

$(call Package/erlang/Default)

   TITLE:=Simple Network Management Protocol (SNMP) support

-  VERSION:=4.21.4

+  VERSION:=4.24.2

   DEPENDS+= +erlang +erlang-asn1

endef

@@ -180,7 +179,7 @@

define Package/erlang-ssh

$(call Package/erlang/Default)

   TITLE:=Secure Shell (SSH) support

-  VERSION:=2.0.9

+  VERSION:=2.1.8

   DEPENDS+= +erlang +erlang-crypto

endef

@@ -195,7 +194,7 @@

define Package/erlang-ssl

$(call Package/erlang/Default)

   TITLE:=Secure Sockets Layer (SSL) support

-  VERSION:=5.0

+  VERSION:=5.3.1

   DEPENDS+= +erlang +erlang-crypto

endef

@@ -210,7 +209,7 @@

define Package/erlang-syntax-tools

$(call Package/erlang/Default)

   TITLE:=Abstract Erlang syntax trees handling support

-  VERSION:=1.6.7.2

+  VERSION:=1.6.11

   DEPENDS+= +erlang

endef

@@ -227,8 +226,7 @@

HOST_CONFIGURE_ARGS += \

   --disable-hipe \

   --disable-smp-support \

-  --without-javac \

-  --without-ssl

+ --without-javac 

 

 define Host/Compile

   $(MAKE) -C $(HOST_BUILD_DIR) all

@@ -296,6 +294,12 @@

   done

endef

+define Build/InstallDev

+ $(INSTALL_DIR) $(1)/usr/lib

+ $(CP) 

Re: [OpenWrt-Devel] [PATCH] ag71xx: fix a race involving netdev registration

2013-11-03 Thread Catalin Patulea
On Sun, Nov 3, 2013 at 3:16 AM, Catalin Patulea c...@vv.carleton.ca wrote:
 In particular, phy_connect before register_netdev. This is because
 register_netdev runs the netdev notifiers, which can race with the rest of
 the initialization in ag71xx_probe.
Here's someone who demonstrated that this race condition exists by
modifying e1000:
http://stackoverflow.com/questions/17899396/concurrency-in-the-linux-network-drivers-probe-vs-ndo-open-ndo-start-xmit
(question part #1 and the EDIT)

The same thing applies to ag71xx - we must prevent ag71xx_open from
being called before ag71xx_probe completes.
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] [packages] erlang - allow compiling NIFs, allow rebar for libraries for Erlang + version bump

2013-11-03 Thread Peter Wagner
Hi,

your patch is malformed. Please resend it and add the patch as attachment.

Regards,
Peter

On Sun, 3 Nov 2013 19:41:01 +0100
Králik Barnabás krali...@msn.com wrote:

 This fixes the Erlang package so that libraries for Erlang can easily be
 packaged for OpenWRT. 
 
 This means:
 
 - static libraries and include files for compiling NIFs are copied in the
 build environment to usr/{lib,include}
 
 - crypto is enabled in host Erlang build so that rebar can be used without
 further patching
 
 Version is bumped and 101-emulator_includes.patch is modified so that R16B02
 compiles correctly.
 
  
 
 Note that erlang-crypto is still broken as per
 https://dev.openwrt.org/ticket/12959; use patch in comments to this ticket.
 
  
 
 Signed-off-by: Barnabás Králik krali...@msn.com
 
  
 
  
 
 Index: feeds/packages/lang/erlang/patches/101-emulator_includes.patch
 
 ===
 
 --- feeds/packages/lang/erlang/patches/101-emulator_includes.patch
 (revision 38392)
 
 +++ feeds/packages/lang/erlang/patches/101-emulator_includes.patch
 (working copy)
 
 @@ -4,8 +4,8 @@
 
   
 
   
 
   $(OBJDIR)/%.o: beam/%.c
 
 --$(CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c
 $ -o $@
 
 -+   $(CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c
 $ -o $@
 
 +-   $(V_CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c
 $ -o $@
 
 ++  $(V_CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c
 $ -o $@
 
   
 
   else
 
   
 
 Index: feeds/packages/lang/erlang/Makefile
 
 ===
 
 --- feeds/packages/lang/erlang/Makefile   (revision 38392)
 
 +++ feeds/packages/lang/erlang/Makefile(working copy)
 
 @@ -8,13 +8,13 @@
 
 include $(TOPDIR)/rules.mk
 
  PKG_NAME:=erlang
 
 -PKG_VERSION:=R15B01
 
 -PKG_RELEASE:=4
 
 +PKG_VERSION:=R16B02
 
 +PKG_RELEASE:=1
 
  PKG_SOURCE:=otp_src_$(PKG_VERSION).tar.gz
 
 PKG_SOURCE_URL:= http://www.erlang.org/download/ \
 
http://erlang.mirror.su.se/
 
 -PKG_MD5SUM:=f12d00f6e62b36ad027d6c0c08905fad
 
 +PKG_MD5SUM:= ca63bcde0e5ae0f2df9457f97b3115a4
 
  PKG_BUILD_DEPENDS:=erlang/host openssl
 
 @@ -38,11 +38,10 @@
 
   and fault tolerance.
 
 endef
 
 -
 
 define Package/erlang
 
 $(call Package/erlang/Default)
 
DEPENDS+= +libncurses +librt +zlib
 
 -  PROVIDES:= erlang-erts=5.9 erlang-kernel=2.15 erlang-sasl=2.2
 erlang-stdlib=1.18
 
 +  PROVIDES:= erlang-erts=5.10.3 erlang-kernel=2.16.3 erlang-sasl=2.3.3
 erlang-stdlib=1.19.3
 
 endef
 
  define Package/erlang/description
 
 @@ -56,7 +55,7 @@
 
 define Package/erlang-asn1
 
 $(call Package/erlang/Default)
 
TITLE:=Abstract Syntax Notation One (ASN.1) support
 
 -  VERSION:=1.6.19
 
 +  VERSION:=2.0.3
 
DEPENDS+= +erlang +erlang-syntax-tools
 
 endef
 
 @@ -71,7 +70,7 @@
 
 define Package/erlang-compiler
 
 $(call Package/erlang/Default)
 
TITLE:=Byte code compiler
 
 -  VERSION:=4.8
 
 +  VERSION:=4.9.3
 
DEPENDS+= +erlang +erlang-hipe
 
 endef
 
 @@ -86,7 +85,7 @@
 
 define Package/erlang-crypto
 
 $(call Package/erlang/Default)
 
TITLE:=Cryptography support
 
 -  VERSION:=2.1
 
 +  VERSION:=3.1
 
DEPENDS+= +erlang +libopenssl
 
 endef
 
 @@ -101,7 +100,7 @@
 
 define Package/erlang-hipe
 
 $(call Package/erlang/Default)
 
TITLE:=High Performance Erlang
 
 -  VERSION:=3.9
 
 +  VERSION:=3.10.2.1
 
DEPENDS+= +erlang
 
 endef
 
 @@ -116,7 +115,7 @@
 
 define Package/erlang-inets
 
 $(call Package/erlang/Default)
 
TITLE:=Internet clients and servers
 
 -  VERSION:=5.8
 
 +  VERSION:=5.9.6
 
DEPENDS+= +erlang
 
 endef
 
 @@ -132,7 +131,7 @@
 
 define Package/erlang-mnesia
 
 $(call Package/erlang/Default)
 
TITLE:=Distributed database
 
 -  VERSION:=4.6
 
 +  VERSION:=4.10
 
DEPENDS+= +erlang
 
 endef
 
 @@ -149,7 +148,7 @@
 
 define Package/erlang-runtime-tools
 
 $(call Package/erlang/Default)
 
TITLE:=Low-profile debugging/tracing tools
 
 -  VERSION:=1.8.7
 
 +  VERSION:=1.8.12
 
DEPENDS+= +erlang
 
 endef
 
 @@ -164,7 +163,7 @@
 
 define Package/erlang-snmp
 
 $(call Package/erlang/Default)
 
TITLE:=Simple Network Management Protocol (SNMP) support
 
 -  VERSION:=4.21.4
 
 +  VERSION:=4.24.2
 
DEPENDS+= +erlang +erlang-asn1
 
 endef
 
 @@ -180,7 +179,7 @@
 
 define Package/erlang-ssh
 
 $(call Package/erlang/Default)
 
TITLE:=Secure Shell (SSH) support
 
 -  VERSION:=2.0.9
 
 +  VERSION:=2.1.8
 
DEPENDS+= +erlang +erlang-crypto
 
 endef
 
 @@ -195,7 +194,7 @@
 
 define Package/erlang-ssl
 
 $(call Package/erlang/Default)
 
TITLE:=Secure Sockets Layer (SSL) support
 
 -  VERSION:=5.0
 
 +  VERSION:=5.3.1
 
DEPENDS+= +erlang +erlang-crypto
 
 endef
 
 @@ -210,7 +209,7 @@
 
 define Package/erlang-syntax-tools
 
 $(call Package/erlang/Default)
 
TITLE:=Abstract Erlang syntax trees handling support
 
 -  VERSION:=1.6.7.2
 
 +  VERSION:=1.6.11
 

[OpenWrt-Devel] [PATCH] mxs: duckbill: adjust leds to final hardware

2013-11-03 Thread Michael Heimpold
Signed-off-by: Michael Heimpold m...@heimpold.de
---
 target/linux/mxs/files/arch/arm/boot/dts/imx28-duckbill.dts |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/target/linux/mxs/files/arch/arm/boot/dts/imx28-duckbill.dts 
b/target/linux/mxs/files/arch/arm/boot/dts/imx28-duckbill.dts
index b102d62..bd231e7 100644
--- a/target/linux/mxs/files/arch/arm/boot/dts/imx28-duckbill.dts
+++ b/target/linux/mxs/files/arch/arm/boot/dts/imx28-duckbill.dts
@@ -49,8 +49,8 @@
led_pins_a: led_gpio@0 {
reg = 0;
fsl,pinmux-ids = 
-   0x3003 /* 
MX28_PAD_AUART0_RX__GPIO_3_0 */
-   0x3013 /* 
MX28_PAD_AUART0_TX__GPIO_3_1 */
+   0x3043 /* 
MX28_PAD_AUART1_RX__GPIO_3_4 */
+   0x3053 /* 
MX28_PAD_AUART1_TX__GPIO_3_5 */
;
fsl,drive-strength = 0;
fsl,voltage = 1;
@@ -107,12 +107,12 @@
 
status {
label = duckbill:green:status;
-   gpios = gpio3 0 0;
+   gpios = gpio3 5 0;
};
 
failure {
label = duckbill:red:status;
-   gpios = gpio3 1 0;
+   gpios = gpio3 4 0;
};
};
 };
-- 
1.7.10.4
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] ar71xx: Add kernel support for the TP-Link WA750RE / WA850RE range extender

2013-11-03 Thread Martijn Zilverschoon
Patch to add kernel support for the TP-LINK WA750RE and the WA850RE
range extender

Signed-off-by: Martijn Zilverschoon thefriedzom...@gmail.com

diff --git a/target/linux/ar71xx/config-3.10 b/target/linux/ar71xx/config-3.10
index 2a0ba82..55cbc10 100644
--- a/target/linux/ar71xx/config-3.10
+++ b/target/linux/ar71xx/config-3.10
@@ -72,6 +72,7 @@ CONFIG_ATH79_MACH_TL_MR11U=y
 CONFIG_ATH79_MACH_TL_MR13U=y
 CONFIG_ATH79_MACH_TL_MR3020=y
 CONFIG_ATH79_MACH_TL_MR3X20=y
+CONFIG_ATH79_MACH_TL_WAX50RE=y
 CONFIG_ATH79_MACH_TL_WA901ND=y
 CONFIG_ATH79_MACH_TL_WA901ND_V2=y
 CONFIG_ATH79_MACH_TL_WDR3500=y
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wax50re.c
b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wax50re.c
new file mode 100644
index 000..2f82f48
--- /dev/null
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wax50re.c
@@ -0,0 +1,183 @@
+/*
+ *  TP-LINK TL-WA750RE V1 / TP-LINK TL-WA850RE V1 board support
+ *
+ *  Copyright (C) 2013 Martijn Zilverschoon thefriedzom...@gmail.com
+ *
+ *  This program is free software; you can redistribute it and/or modify it
+ *  under the terms of the GNU General Public License version 2 as published
+ *  by the Free Software Foundation.
+ */
+
+#include linux/gpio.h
+#include linux/platform_device.h
+
+#include asm/mach-ath79/ath79.h
+#include asm/mach-ath79/ar71xx_regs.h
+
+#include common.h
+#include dev-eth.h
+#include dev-gpio-buttons.h
+#include dev-leds-gpio.h
+#include dev-m25p80.h
+#include dev-wmac.h
+#include machtypes.h
+
+#define TL_WAX50RE_GPIO_LED_LAN20
+#define TL_WAX50RE_GPIO_LED_WLAN13
+#define TL_WAX50RE_GPIO_LED_RE15
+#define TL_WAX50RE_GPIO_LED_SIGNAL10
+#define TL_WAX50RE_GPIO_LED_SIGNAL21
+#define TL_WAX50RE_GPIO_LED_SIGNAL32
+#define TL_WAX50RE_GPIO_LED_SIGNAL43
+#define TL_WAX50RE_GPIO_LED_SIGNAL54
+
+#define TL_WAX50RE_GPIO_BTN_RESET17
+#define TL_WAX50RE_GPIO_BTN_WPS16
+
+#define TL_WAX50RE_KEYS_POLL_INTERVAL20/* msecs */
+#define TL_WAX50RE_KEYS_DEBOUNCE_INTERVAL (3 * TL_WAX50RE_KEYS_POLL_INTERVAL)
+
+static const char *tl_wax50re_part_probes[] = {
+tp-link,
+NULL,
+};
+
+static struct flash_platform_data tl_wax50re_flash_data = {
+.part_probes= tl_wax50re_part_probes,
+};
+
+static struct gpio_led tl_wa750re_leds_gpio[] __initdata = {
+{
+.name= tp-link:orange:lan,
+.gpio= TL_WAX50RE_GPIO_LED_LAN,
+.active_low= 1,
+}, {
+.name= tp-link:orange:wlan,
+.gpio= TL_WAX50RE_GPIO_LED_WLAN,
+.active_low= 1,
+}, {
+.name= tp-link:orange:re,
+.gpio= TL_WAX50RE_GPIO_LED_RE,
+.active_low= 1,
+}, {
+.name= tp-link:orange:signal1,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL1,
+.active_low= 1,
+}, {
+.name= tp-link:orange:signal2,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL2,
+.active_low= 1,
+}, {
+.name= tp-link:orange:signal3,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL3,
+.active_low= 1,
+}, {
+.name= tp-link:orange:signal4,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL4,
+.active_low= 1,
+}, {
+.name= tp-link:orange:signal5,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL5,
+.active_low= 1,
+},
+};
+
+static struct gpio_led tl_wa850re_leds_gpio[] __initdata = {
+{
+.name= tp-link:blue:lan,
+.gpio= TL_WAX50RE_GPIO_LED_LAN,
+.active_low= 1,
+}, {
+.name= tp-link:blue:wlan,
+.gpio= TL_WAX50RE_GPIO_LED_WLAN,
+.active_low= 1,
+}, {
+.name= tp-link:blue:re,
+.gpio= TL_WAX50RE_GPIO_LED_RE,
+.active_low= 1,
+}, {
+.name= tp-link:blue:signal1,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL1,
+.active_low= 1,
+}, {
+.name= tp-link:blue:signal2,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL2,
+.active_low= 1,
+}, {
+.name= tp-link:blue:signal3,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL3,
+.active_low= 1,
+}, {
+.name= tp-link:blue:signal4,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL4,
+.active_low= 1,
+}, {
+.name= tp-link:blue:signal5,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL5,
+.active_low= 1,
+},
+};
+
+
+static struct gpio_keys_button tl_wax50re_gpio_keys[] __initdata = {
+{
+.desc   = Reset button,
+.type   = EV_KEY,
+.code   = KEY_RESTART,
+.debounce_interval = TL_WAX50RE_KEYS_DEBOUNCE_INTERVAL,
+.gpio   = TL_WAX50RE_GPIO_BTN_RESET,
+.active_low   = 1,
+}, {
+.desc   = WPS,
+

[OpenWrt-Devel] [PATCH] ar71xx: Add kernel support for the TP-Link WA750RE / WA850RE range extender

2013-11-03 Thread Martijn Zilverschoon
Patch to add kernel support for the TP-LINK WA750RE and the WA850RE
range extender


Signed-off-by: Martijn Zilverschoon thefriedzom...@gmail.com

NEXT PART

diff --git a/target/linux/ar71xx/config-3.10 b/target/linux/ar71xx/config-3.10
index 2a0ba82..55cbc10 100644
--- a/target/linux/ar71xx/config-3.10
+++ b/target/linux/ar71xx/config-3.10
@@ -72,6 +72,7 @@ CONFIG_ATH79_MACH_TL_MR11U=y
 CONFIG_ATH79_MACH_TL_MR13U=y
 CONFIG_ATH79_MACH_TL_MR3020=y
 CONFIG_ATH79_MACH_TL_MR3X20=y
+CONFIG_ATH79_MACH_TL_WAX50RE=y
 CONFIG_ATH79_MACH_TL_WA901ND=y
 CONFIG_ATH79_MACH_TL_WA901ND_V2=y
 CONFIG_ATH79_MACH_TL_WDR3500=y
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wax50re.c
b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wax50re.c
new file mode 100644
index 000..2f82f48
--- /dev/null
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wax50re.c
@@ -0,0 +1,183 @@
+/*
+ *  TP-LINK TL-WA750RE V1 / TP-LINK TL-WA850RE V1 board support
+ *
+ *  Copyright (C) 2013 Martijn Zilverschoon thefriedzom...@gmail.com
+ *
+ *  This program is free software; you can redistribute it and/or modify it
+ *  under the terms of the GNU General Public License version 2 as published
+ *  by the Free Software Foundation.
+ */
+
+#include linux/gpio.h
+#include linux/platform_device.h
+
+#include asm/mach-ath79/ath79.h
+#include asm/mach-ath79/ar71xx_regs.h
+
+#include common.h
+#include dev-eth.h
+#include dev-gpio-buttons.h
+#include dev-leds-gpio.h
+#include dev-m25p80.h
+#include dev-wmac.h
+#include machtypes.h
+
+#define TL_WAX50RE_GPIO_LED_LAN20
+#define TL_WAX50RE_GPIO_LED_WLAN13
+#define TL_WAX50RE_GPIO_LED_RE15
+#define TL_WAX50RE_GPIO_LED_SIGNAL10
+#define TL_WAX50RE_GPIO_LED_SIGNAL21
+#define TL_WAX50RE_GPIO_LED_SIGNAL32
+#define TL_WAX50RE_GPIO_LED_SIGNAL43
+#define TL_WAX50RE_GPIO_LED_SIGNAL54
+
+#define TL_WAX50RE_GPIO_BTN_RESET17
+#define TL_WAX50RE_GPIO_BTN_WPS16
+
+#define TL_WAX50RE_KEYS_POLL_INTERVAL20/* msecs */
+#define TL_WAX50RE_KEYS_DEBOUNCE_INTERVAL (3 * TL_WAX50RE_KEYS_POLL_INTERVAL)
+
+static const char *tl_wax50re_part_probes[] = {
+tp-link,
+NULL,
+};
+
+static struct flash_platform_data tl_wax50re_flash_data = {
+.part_probes= tl_wax50re_part_probes,
+};
+
+static struct gpio_led tl_wa750re_leds_gpio[] __initdata = {
+{
+.name= tp-link:orange:lan,
+.gpio= TL_WAX50RE_GPIO_LED_LAN,
+.active_low= 1,
+}, {
+.name= tp-link:orange:wlan,
+.gpio= TL_WAX50RE_GPIO_LED_WLAN,
+.active_low= 1,
+}, {
+.name= tp-link:orange:re,
+.gpio= TL_WAX50RE_GPIO_LED_RE,
+.active_low= 1,
+}, {
+.name= tp-link:orange:signal1,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL1,
+.active_low= 1,
+}, {
+.name= tp-link:orange:signal2,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL2,
+.active_low= 1,
+}, {
+.name= tp-link:orange:signal3,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL3,
+.active_low= 1,
+}, {
+.name= tp-link:orange:signal4,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL4,
+.active_low= 1,
+}, {
+.name= tp-link:orange:signal5,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL5,
+.active_low= 1,
+},
+};
+
+static struct gpio_led tl_wa850re_leds_gpio[] __initdata = {
+{
+.name= tp-link:blue:lan,
+.gpio= TL_WAX50RE_GPIO_LED_LAN,
+.active_low= 1,
+}, {
+.name= tp-link:blue:wlan,
+.gpio= TL_WAX50RE_GPIO_LED_WLAN,
+.active_low= 1,
+}, {
+.name= tp-link:blue:re,
+.gpio= TL_WAX50RE_GPIO_LED_RE,
+.active_low= 1,
+}, {
+.name= tp-link:blue:signal1,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL1,
+.active_low= 1,
+}, {
+.name= tp-link:blue:signal2,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL2,
+.active_low= 1,
+}, {
+.name= tp-link:blue:signal3,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL3,
+.active_low= 1,
+}, {
+.name= tp-link:blue:signal4,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL4,
+.active_low= 1,
+}, {
+.name= tp-link:blue:signal5,
+.gpio= TL_WAX50RE_GPIO_LED_SIGNAL5,
+.active_low= 1,
+},
+};
+
+
+static struct gpio_keys_button tl_wax50re_gpio_keys[] __initdata = {
+{
+.desc   = Reset button,
+.type   = EV_KEY,
+.code   = KEY_RESTART,
+.debounce_interval = TL_WAX50RE_KEYS_DEBOUNCE_INTERVAL,
+.gpio   = TL_WAX50RE_GPIO_BTN_RESET,
+