odhcp6c: add route-workaround for broken IPv6-ISPs

Some ISP seem to only do stateful DHCPv6 and not sending RAs.
This is technically broken because plain DHCPv6 doesn't carry routes.

We work around here by faking a default route to the DHCPv6 server
if we do not receive a useful RA from the ISP.

This workaround can be turned off with: option fakeroutes 0

Signed-off-by: Steven Barth <steven@midlink.org>

git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@42842 3c298f89-4303-0410-b956-a3cf2f4a3e73
odhcp6c: ensure signal-safety of signal handlers

git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@42843 3c298f89-4303-0410-b956-a3cf2f4a3e73
cns3xxx: fix register for enabling MMC/SD pins

also fixes a GPIO related regression from the upgrade to 3.10

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

Backport of r42829

git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@42845 3c298f89-4303-0410-b956-a3cf2f4a3e73
cns3xxx: fix shared PCI interrupt mapping

This patch originally failed to combine INTA/B/C/D onto a single ARM CPU
interrupt. Instead, it mapped INTA/B/C and excluded D. This patch
corrects the issue by mapping all four interrupts to the single ARM CPU
interrupt. The original intent of the patch still holds as the newer PCB
take advantage of isolated interrupts. This fix only applies to older
PCB's that do not route INTA/B/C/D to unique external ARM CPU
interrupts.

Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com>

Backport of r42830

git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@42846 3c298f89-4303-0410-b956-a3cf2f4a3e73
cns3xxx: Adopt irq_domain support for cns3xxx gpio driver

Have gpio driver adopt irqdomain support so that there are
non-overlapping allocations of irq numbers mapped to gpio's.

Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com>

Backport of r42844

git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@42847 3c298f89-4303-0410-b956-a3cf2f4a3e73
odhcp6c: don't assign addresses or prefixes prematurely

git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@42851 3c298f89-4303-0410-b956-a3cf2f4a3e73
odhcp6c: fix typo in last commit

git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@42853 3c298f89-4303-0410-b956-a3cf2f4a3e73