Merge branch 'openelec-settings'

This commit is contained in:
Stefan Saraev 2013-04-01 16:59:25 +03:00
commit a6325c4a94
131 changed files with 26858 additions and 9488 deletions

View File

@ -1,34 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/pixmaps
cp $BUILD/xbmc-*/tools/EventClients/icons/bluetooth.png $ADDON_BUILD/$PKG_ADDON_ID/pixmaps
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/pylib
cp -R $BUILD/PyBluez-*/.install/usr/lib/python*/site-packages/* $ADDON_BUILD/$PKG_ADDON_ID/pylib
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/pylib/xbmc
cp $BUILD/xbmc-*/tools/EventClients/Clients/PS3\ Sixaxis\ Controller/ps3d.py $ADDON_BUILD/$PKG_ADDON_ID/pylib/xbmc
cp $BUILD/xbmc-*/tools/EventClients/Clients/PS3\ BD\ Remote/ps3_remote.py $ADDON_BUILD/$PKG_ADDON_ID/pylib/xbmc
cp -R $BUILD/xbmc-*/tools/EventClients/lib/python/* $ADDON_BUILD/$PKG_ADDON_ID/pylib/xbmc

View File

@ -1,23 +0,0 @@
3.0.1
- bump addon version
2.1.1
- update to addon version 2.1
2.0.3
- fix so python dont steal xbmc's webserver port
2.0.2
- rebuild with latest changes
2.0.1
- fix so python dont steal xbmc's webserver port
2.0.0
- prepare for OpenELEC-2.0 release
1.90.1
- depends on xbmc.python API 2.0
1.90.0
- initial version xbmc-ps3d

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@ -1,38 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="xbmc-ps3d"
PKG_VERSION="3.0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"
PKG_SITE="http://www.xbmc.org"
PKG_URL=""
PKG_DEPENDS="PyBluez"
PKG_BUILD_DEPENDS="toolchain xbmc PyBluez"
PKG_PRIORITY="optional"
PKG_SECTION="driver/remote"
PKG_SHORTDESC="xbmc-ps3d: a quick port of brandonj's PS3 remote script to use the event server for sending input events."
PKG_LONGDESC="xbmc-ps3d is a quick port of brandonj's PS3 remote script to use the event server for sending input events. This addon also supports the PS3 sixaxis controller."
PKG_IS_ADDON="yes"
PKG_ADDON_TYPE="xbmc.service"
PKG_AUTORECONF="no"

View File

@ -1,43 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. /etc/profile
# Addon settings
ADDON_DIR="$HOME/.xbmc/addons/driver.remote.xbmc-ps3d"
ADDON_HOME="$HOME/.xbmc/userdata/addon_data/driver.remote.xbmc-ps3d"
PIXMAPS_DIR="$ADDON_DIR/pixmaps"
export PYTHONPATH="$PYTHONPATH:$ADDON_DIR/pylib"
################################################################################
# setup ps3d
################################################################################
if [ ! -f $ADDON_DIR/pylib/xbmc/defs.py ]; then
echo "ICON_PATH=\"$PIXMAPS_DIR\"" > $ADDON_DIR/pylib/xbmc/defs.py
fi
################################################################################
# start ps3d
################################################################################
python $ADDON_DIR/pylib/xbmc/ps3d.py &

View File

@ -1,29 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
cp $BUILD/xbmc-*/tools/EventClients/Clients/WiiRemote/WiiUse_WiiRemote $ADDON_BUILD/$PKG_ADDON_ID/bin/wiimote
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib
cp -P $BUILD/wiiuse_v[0-9]*/src/release*/*.so $ADDON_BUILD/$PKG_ADDON_ID/lib

View File

@ -1,14 +0,0 @@
3.0.1
- bump addon version
2.1.1
- update to addon version 2.1
2.0.0
- prepare for OpenELEC-2.0 release
1.90.1
- depends on xbmc.python API 2.0
1.90.0
- initial version xbmc-wiimote

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@ -1,38 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="xbmc-wiimote"
PKG_VERSION="3.0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"
PKG_SITE="http://www.xbmc.org"
PKG_URL=""
PKG_DEPENDS=""
PKG_BUILD_DEPENDS="toolchain wiiuse"
PKG_PRIORITY="optional"
PKG_SECTION="driver/remote"
PKG_SHORTDESC="xbmc-wiimote: a driver to support WiiMote Controllers."
PKG_LONGDESC="xbmc-wiimote is a driver to support WiiMote Controllers."
PKG_IS_ADDON="yes"
PKG_ADDON_TYPE="xbmc.service"
PKG_AUTORECONF="no"

View File

@ -1,32 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. /etc/profile
# Addon settings
ADDON_DIR="$HOME/.xbmc/addons/driver.remote.xbmc-wiimote"
ADDON_HOME="$HOME/.xbmc/userdata/addon_data/driver.remote.xbmc-wiimote"
################################################################################
# start ps3d
################################################################################
LD_LIBRARY_PATH="$ADDON_DIR/lib:$LD_LIBRARY_PATH" wiimote &

View File

@ -1,32 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
import os
import sys
import xbmcaddon
__scriptname__ = "WiiMote driver"
__author__ = "OpenELEC"
__url__ = "http://www.openelec.tv"
__settings__ = xbmcaddon.Addon(id='driver.remote.xbmc-wiimote')
__cwd__ = __settings__.getAddonInfo('path')
__path__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "wiimote.service") )
os.system(__path__)

View File

@ -23,4 +23,4 @@
. config/options $1
cd $PKG_BUILD
LDFLAGS="" make V=1 ARCH=$TARGET_ARCH KSRC=$(kernel_path) CROSS_COMPILE=$TARGET_PREFIX
LDFLAGS="" make V=1 ARCH=$TARGET_ARCH KSRC=$(kernel_path) CROSS_COMPILE=$TARGET_PREFIX CONFIG_POWER_SAVING=n

View File

@ -1,6 +1,6 @@
diff -ur _/core/rtw_mp.c rt8192cu-master/core/rtw_mp.c
--- _/core/rtw_mp.c 2012-07-09 10:32:18.000000000 +0200
+++ rt8192cu-master/core/rtw_mp.c 2012-12-21 03:13:45.358137142 +0100
diff -ruN a/core/rtw_mp.c b/core/rtw_mp.c
--- a/core/rtw_mp.c 2012-07-30 12:51:05.000000000 +0000
+++ b/core/rtw_mp.c 2013-03-17 19:00:28.393782000 +0000
@@ -1140,8 +1140,7 @@
_rtw_memset(ptr, payload, pkt_end - ptr);
@ -11,9 +11,9 @@ diff -ur _/core/rtw_mp.c rt8192cu-master/core/rtw_mp.c
DBG_871X("Create PktTx Thread Fail !!!!!\n");
}
diff -ur _/include/osdep_service.h rt8192cu-master/include/osdep_service.h
--- _/include/osdep_service.h 2012-07-09 10:32:18.000000000 +0200
+++ rt8192cu-master/include/osdep_service.h 2012-12-21 03:09:05.314123589 +0100
diff -ruN a/include/osdep_service.h b/include/osdep_service.h
--- a/include/osdep_service.h 2012-07-30 12:51:05.000000000 +0000
+++ b/include/osdep_service.h 2013-03-17 17:37:39.105483734 +0000
@@ -100,6 +100,9 @@
#include <linux/pci.h>
#endif
@ -38,6 +38,15 @@ diff -ur _/include/osdep_service.h rt8192cu-master/include/osdep_service.h
typedef int thread_return;
typedef void* thread_context;
@@ -572,7 +579,7 @@
#ifdef PLATFORM_LINUX
//struct net_device *pnetdev = (struct net_device *)context;
//daemonize("%s", pnetdev->name);
- daemonize("%s", "RTKTHREAD");
+ //daemonize("%s", "RTKTHREAD");
allow_signal(SIGTERM);
#endif
}
@@ -827,4 +834,8 @@
#endif
@ -47,9 +56,24 @@ diff -ur _/include/osdep_service.h rt8192cu-master/include/osdep_service.h
+ void *data, const char *name);
+#endif
diff -ur _/os_dep/linux/os_intfs.c rt8192cu-master/os_dep/linux/os_intfs.c
--- _/os_dep/linux/os_intfs.c 2012-12-21 03:17:25.618147802 +0100
+++ rt8192cu-master/os_dep/linux/os_intfs.c 2012-12-21 03:14:14.554138555 +0100
diff -ruN a/include/rtw_recv.h b/include/rtw_recv.h
--- a/include/rtw_recv.h 2012-07-30 12:51:05.000000000 +0000
+++ b/include/rtw_recv.h 2013-03-17 17:35:36.136873966 +0000
@@ -623,8 +623,9 @@
//from any given member of recv_frame.
// rxmem indicates the any member/address in recv_frame
- return (union recv_frame*)(((uint)rxmem>>RXFRAME_ALIGN) <<RXFRAME_ALIGN) ;
-
+ //return (union recv_frame*)(((uint)rxmem>>RXFRAME_ALIGN) <<RXFRAME_ALIGN) ;
+ //return (union recv_frame*)(((SIZE_PTR)rxmem >> RXFRAME_ALIGN) << RXFRAME_ALIGN);
+ return (union recv_frame*)(((ulong)rxmem>>RXFRAME_ALIGN) <<RXFRAME_ALIGN) ;
}
__inline static union recv_frame *pkt_to_recvframe(_pkt *pkt)
diff -ruN a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c
--- a/os_dep/linux/os_intfs.c 2012-11-05 07:42:45.000000000 +0000
+++ b/os_dep/linux/os_intfs.c 2013-03-17 19:00:28.393782000 +0000
@@ -797,27 +797,22 @@
RT_TRACE(_module_os_intfs_c_,_drv_info_,("+rtw_start_drv_threads\n"));
@ -82,9 +106,9 @@ diff -ur _/os_dep/linux/os_intfs.c rt8192cu-master/os_dep/linux/os_intfs.c
_status = _FAIL;
#endif
diff -ur _/os_dep/osdep_service.c rt8192cu-master/os_dep/osdep_service.c
--- _/os_dep/osdep_service.c 2012-12-21 03:17:25.618147802 +0100
+++ rt8192cu-master/os_dep/osdep_service.c 2012-12-21 03:08:30.330121896 +0100
diff -ruN a/os_dep/osdep_service.c b/os_dep/osdep_service.c
--- a/os_dep/osdep_service.c 2012-07-30 12:51:05.000000000 +0000
+++ b/os_dep/osdep_service.c 2013-03-17 19:00:28.393782000 +0000
@@ -1553,3 +1553,19 @@
#endif
}

View File

@ -0,0 +1,158 @@
From 00da4982e9175921cfb26d1377bf49ece3bb41cb Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Tue, 26 Mar 2013 23:10:17 +0200
Subject: [PATCH] linux 3.8 support
---
x86-32/src/include/bcmutils.h | 5 +++++
x86-32/src/wl/sys/wl_cfg80211.c | 25 ++++++++++++++++++++++++-
x86-64/src/include/bcmutils.h | 4 ++++
x86-64/src/wl/sys/wl_cfg80211.c | 25 ++++++++++++++++++++++++-
4 files changed, 57 insertions(+), 2 deletions(-)
diff --git a/x86-32/src/include/bcmutils.h b/x86-32/src/include/bcmutils.h
index fa6df04..9a8cab4 100644
--- a/x86-32/src/include/bcmutils.h
+++ b/x86-32/src/include/bcmutils.h
@@ -555,7 +555,12 @@ extern void printbig(char *buf);
extern void prhex(const char *msg, uchar *buf, uint len);
extern bcm_tlv_t *BCMROMFN(bcm_next_tlv)(bcm_tlv_t *elt, int *buflen);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(void *buf, int buflen, uint key);
+#else
+extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(const void *buf, int buflen, uint key);
+#endif
+
extern bcm_tlv_t *BCMROMFN(bcm_parse_ordered_tlvs)(void *buf, int buflen, uint key);
extern const char *bcmerrorstr(int bcmerror);
diff --git a/x86-32/src/wl/sys/wl_cfg80211.c b/x86-32/src/wl/sys/wl_cfg80211.c
index 09d04ed..698b004 100644
--- a/x86-32/src/wl/sys/wl_cfg80211.c
+++ b/x86-32/src/wl/sys/wl_cfg80211.c
@@ -744,7 +744,11 @@ wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev,
else
memset(&join_params.params.bssid, 0, ETHER_ADDR_LEN);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
wl_ch_to_chanspec(params->channel, &join_params, &join_params_size);
+#else
+ wl_ch_to_chanspec(params->chandef.chan, &join_params, &join_params_size);
+#endif
err = wl_dev_ioctl(dev, WLC_SET_SSID, &join_params, join_params_size);
if (err) {
@@ -2047,9 +2051,14 @@ static s32 wl_update_bss_info(struct wl_priv *wl)
struct bcm_tlv *tim;
u16 beacon_interval;
s32 dtim_period;
+ s32 err = 0;
size_t ie_len;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
u8 *ie;
- s32 err = 0;
+#else
+ const u8 *ie;
+ const struct cfg80211_bss_ies *ies;
+#endif
ssid = &wl->profile->ssid;
bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid,
@@ -2079,8 +2088,22 @@ static s32 wl_update_bss_info(struct wl_priv *wl)
beacon_interval = cpu_to_le16(bi->beacon_period);
} else {
WL_DBG(("Found the AP in the list - BSSID %pM\n", bss->bssid));
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
ie = bss->information_elements;
ie_len = bss->len_information_elements;
+#else
+ rcu_read_lock();
+ ies = (const struct cfg80211_bss_ies*)rcu_dereference(bss->ies);
+ if (!ies) {
+ /* This should never happen */
+ rcu_read_unlock();
+ err = -EIO;
+ goto update_bss_info_out;
+ }
+ ie = ies->data;
+ ie_len = (size_t)(ies->len);
+ rcu_read_unlock();
+#endif
beacon_interval = bss->beacon_interval;
cfg80211_put_bss(bss);
}
diff --git a/x86-64/src/include/bcmutils.h b/x86-64/src/include/bcmutils.h
index fa6df04..1200bf0 100644
--- a/x86-64/src/include/bcmutils.h
+++ b/x86-64/src/include/bcmutils.h
@@ -555,7 +555,11 @@ extern void printbig(char *buf);
extern void prhex(const char *msg, uchar *buf, uint len);
extern bcm_tlv_t *BCMROMFN(bcm_next_tlv)(bcm_tlv_t *elt, int *buflen);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(void *buf, int buflen, uint key);
+#else
+extern bcm_tlv_t *BCMROMFN(bcm_parse_tlvs)(const void *buf, int buflen, uint key);
+#endif
extern bcm_tlv_t *BCMROMFN(bcm_parse_ordered_tlvs)(void *buf, int buflen, uint key);
extern const char *bcmerrorstr(int bcmerror);
diff --git a/x86-64/src/wl/sys/wl_cfg80211.c b/x86-64/src/wl/sys/wl_cfg80211.c
index 94aac25..244243f 100644
--- a/x86-64/src/wl/sys/wl_cfg80211.c
+++ b/x86-64/src/wl/sys/wl_cfg80211.c
@@ -744,7 +744,11 @@ wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev,
else
memset(&join_params.params.bssid, 0, ETHER_ADDR_LEN);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
wl_ch_to_chanspec(params->channel, &join_params, &join_params_size);
+#else
+ wl_ch_to_chanspec(params->chandef.chan, &join_params, &join_params_size);
+#endif
err = wl_dev_ioctl(dev, WLC_SET_SSID, &join_params, join_params_size);
if (err) {
@@ -2047,9 +2051,14 @@ static s32 wl_update_bss_info(struct wl_priv *wl)
struct bcm_tlv *tim;
u16 beacon_interval;
s32 dtim_period;
+ s32 err = 0;
size_t ie_len;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
u8 *ie;
- s32 err = 0;
+#else
+ const u8 *ie;
+ const struct cfg80211_bss_ies *ies;
+#endif
ssid = &wl->profile->ssid;
bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid,
@@ -2079,8 +2088,22 @@ static s32 wl_update_bss_info(struct wl_priv *wl)
beacon_interval = cpu_to_le16(bi->beacon_period);
} else {
WL_DBG(("Found the AP in the list - BSSID %pM\n", bss->bssid));
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
ie = bss->information_elements;
ie_len = bss->len_information_elements;
+#else
+ rcu_read_lock();
+ ies = (const struct cfg80211_bss_ies*)rcu_dereference(bss->ies);
+ if (!ies) {
+ /* This should never happen */
+ rcu_read_unlock();
+ err = -EIO;
+ goto update_bss_info_out;
+ }
+ ie = ies->data;
+ ie_len = (size_t)(ies->len);
+ rcu_read_unlock();
+#endif
beacon_interval = bss->beacon_interval;
cfg80211_put_bss(bss);
}
--
1.7.2.5

View File

@ -0,0 +1,22 @@
diff --git a/kernel/dvb_hdhomerun_init.c b/kernel/dvb_hdhomerun_init.c
index d02a322..bd97d5e 100644
--- a/kernel/dvb_hdhomerun_init.c
+++ b/kernel/dvb_hdhomerun_init.c
@@ -143,7 +143,7 @@ static int dvb_hdhomerun_stop_feed(struct dvb_demux_feed *feed)
return ret;
}
-static int __devinit dvb_hdhomerun_register(struct dvb_hdhomerun *hdhomerun)
+static int dvb_hdhomerun_register(struct dvb_hdhomerun *hdhomerun)
{
struct dvb_adapter *dvb_adapter;
struct dvb_demux *dvbdemux;
@@ -284,7 +284,7 @@ static void dvb_hdhomerun_unregister(struct dvb_hdhomerun *hdhomerun)
}
-static int __devinit dvb_hdhomerun_probe(struct platform_device *plat_dev)
+static int dvb_hdhomerun_probe(struct platform_device *plat_dev)
{
int ret;
struct dvb_hdhomerun *hdhomerun;

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="linux"
PKG_VERSION="3.7.10"
PKG_VERSION="3.8.5"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,74 +0,0 @@
diff -Naur linux-3.7.2/drivers/media/rc/ene_ir.c linux-3.7.2.patch/drivers/media/rc/ene_ir.c
--- linux-3.7.2/drivers/media/rc/ene_ir.c 2013-01-11 18:19:28.000000000 +0100
+++ linux-3.7.2.patch/drivers/media/rc/ene_ir.c 2013-01-16 11:32:07.124857030 +0100
@@ -1003,7 +1003,7 @@
dev = kzalloc(sizeof(struct ene_device), GFP_KERNEL);
rdev = rc_allocate_device();
if (!dev || !rdev)
- goto error1;
+ goto failure;
/* validate resources */
error = -ENODEV;
@@ -1014,10 +1014,10 @@
if (!pnp_port_valid(pnp_dev, 0) ||
pnp_port_len(pnp_dev, 0) < ENE_IO_SIZE)
- goto error;
+ goto failure;
if (!pnp_irq_valid(pnp_dev, 0))
- goto error;
+ goto failure;
spin_lock_init(&dev->hw_lock);
@@ -1033,7 +1033,7 @@
/* detect hardware version and features */
error = ene_hw_detect(dev);
if (error)
- goto error;
+ goto failure;
if (!dev->hw_learning_and_tx_capable && txsim) {
dev->hw_learning_and_tx_capable = true;
@@ -1078,30 +1078,27 @@
/* claim the resources */
error = -EBUSY;
if (!request_region(dev->hw_io, ENE_IO_SIZE, ENE_DRIVER_NAME)) {
- dev->hw_io = -1;
- dev->irq = -1;
- goto error;
+ goto failure;
}
dev->irq = pnp_irq(pnp_dev, 0);
if (request_irq(dev->irq, ene_isr,
IRQF_SHARED, ENE_DRIVER_NAME, (void *)dev)) {
- dev->irq = -1;
- goto error;
+ goto failure2;
}
error = rc_register_device(rdev);
if (error < 0)
- goto error;
+ goto failure3;
pr_notice("driver has been successfully loaded\n");
return 0;
-error:
- if (dev && dev->irq >= 0)
- free_irq(dev->irq, dev);
- if (dev && dev->hw_io >= 0)
- release_region(dev->hw_io, ENE_IO_SIZE);
-error1:
+
+failure3:
+ free_irq(dev->irq, dev);
+failure2:
+ release_region(dev->hw_io, ENE_IO_SIZE);
+failure:
rc_free_device(rdev);
kfree(dev);
return error;

File diff suppressed because it is too large Load Diff

View File

@ -1,44 +0,0 @@
From e9de051666a42dc7866267f85869170bcc6b957a Mon Sep 17 00:00:00 2001
From: Juergen Lock <nox@jelal.kn-bremen.de>
Date: Tue, 13 Nov 2012 14:09:28 -0300
Subject: [PATCH] [media] rtl28xxu: add NOXON DAB/DAB+ USB dongle rev 2
This just adds the usbid to the rtl28xxu driver, that's all that's
needed to make the stick work for DVB.
Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
drivers/media/dvb-core/dvb-usb-ids.h | 1 +
drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 2 ++
2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/media/dvb-core/dvb-usb-ids.h b/drivers/media/dvb-core/dvb-usb-ids.h
index 58e0220..388c2eb 100644
--- a/drivers/media/dvb-core/dvb-usb-ids.h
+++ b/drivers/media/dvb-core/dvb-usb-ids.h
@@ -250,6 +250,7 @@
#define USB_PID_TERRATEC_T3 0x10a0
#define USB_PID_TERRATEC_T5 0x10a1
#define USB_PID_NOXON_DAB_STICK 0x00b3
+#define USB_PID_NOXON_DAB_STICK_REV2 0x00e0
#define USB_PID_PINNACLE_EXPRESSCARD_320CX 0x022e
#define USB_PID_PINNACLE_PCTV2000E 0x022c
#define USB_PID_PINNACLE_PCTV_DVB_T_FLASH 0x0228
diff --git a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
index 223f0e7..a4c302d 100644
--- a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
+++ b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
@@ -1338,6 +1338,8 @@ static const struct usb_device_id rtl28xxu_id_table[] = {
&rtl2832u_props, "G-Tek Electronics Group Lifeview LV5TDLX DVB-T", NULL) },
{ DVB_USB_DEVICE(USB_VID_TERRATEC, USB_PID_NOXON_DAB_STICK,
&rtl2832u_props, "NOXON DAB/DAB+ USB dongle", NULL) },
+ { DVB_USB_DEVICE(USB_VID_TERRATEC, USB_PID_NOXON_DAB_STICK_REV2,
+ &rtl2832u_props, "NOXON DAB/DAB+ USB dongle (rev 2)", NULL) },
{ DVB_USB_DEVICE(USB_VID_GTEK, USB_PID_TREKSTOR_TERRES_2_0,
&rtl2832u_props, "Trekstor DVB-T Stick Terres 2.0", NULL) },
{ DVB_USB_DEVICE(USB_VID_DEXATEK, 0x1101,
--
1.7.7.6

View File

@ -1,266 +0,0 @@
From dcda5806165c155d90b9aa466a1602cf4726012b Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Fri, 12 Oct 2012 17:24:51 +0200
Subject: [PATCH] ALSA: hda - Add workaround for conflicting IEC958 controls
When both an SPDIF and an HDMI device are created on the same card
instance, multiple IEC958 controls are created with indices=0, 1, ...
But the alsa-lib configuration can't know which index corresponds
actually to which PCM device, and both the SPDIF and the HDMI
configurations point to the first IEC958 control wrongly.
This patch introduces a (hackish and ugly) workaround: the IEC958
controls for the SPDIF device are re-labeled with device=1 when HDMI
coexists. The device=1 corresponds to the actual PCM device for
SPDIF, so it's anyway a better representation. In future, HDMI
controls should be moved with the corresponding PCM device number,
too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/pci/hda/hda_codec.c | 60 ++++++++++++++++++++++++++++------------
sound/pci/hda/hda_codec.h | 1 +
sound/pci/hda/hda_local.h | 8 +++--
sound/pci/hda/patch_cirrus.c | 5 ++-
sound/pci/hda/patch_hdmi.c | 7 ++--
sound/pci/hda/patch_realtek.c | 7 ++--
sound/pci/hda/patch_sigmatel.c | 7 ++--
7 files changed, 63 insertions(+), 32 deletions(-)
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index ee958a7..2da7875 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -2166,12 +2166,12 @@ EXPORT_SYMBOL_HDA(snd_hda_set_vmaster_tlv);
/* find a mixer control element with the given name */
static struct snd_kcontrol *
-_snd_hda_find_mixer_ctl(struct hda_codec *codec,
- const char *name, int idx)
+find_mixer_ctl(struct hda_codec *codec, const char *name, int dev, int idx)
{
struct snd_ctl_elem_id id;
memset(&id, 0, sizeof(id));
id.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
+ id.device = dev;
id.index = idx;
if (snd_BUG_ON(strlen(name) >= sizeof(id.name)))
return NULL;
@@ -2189,15 +2189,16 @@ _snd_hda_find_mixer_ctl(struct hda_codec *codec,
struct snd_kcontrol *snd_hda_find_mixer_ctl(struct hda_codec *codec,
const char *name)
{
- return _snd_hda_find_mixer_ctl(codec, name, 0);
+ return find_mixer_ctl(codec, name, 0, 0);
}
EXPORT_SYMBOL_HDA(snd_hda_find_mixer_ctl);
-static int find_empty_mixer_ctl_idx(struct hda_codec *codec, const char *name)
+static int find_empty_mixer_ctl_idx(struct hda_codec *codec, const char *name,
+ int dev)
{
int idx;
for (idx = 0; idx < 16; idx++) { /* 16 ctlrs should be large enough */
- if (!_snd_hda_find_mixer_ctl(codec, name, idx))
+ if (!find_mixer_ctl(codec, name, dev, idx))
return idx;
}
return -EBUSY;
@@ -3148,26 +3149,48 @@ static struct snd_kcontrol_new dig_mixes[] = {
};
/**
- * snd_hda_create_spdif_out_ctls - create Output SPDIF-related controls
+ * snd_hda_create_dig_out_ctls - create Output SPDIF-related controls
* @codec: the HDA codec
- * @nid: audio out widget NID
- *
- * Creates controls related with the SPDIF output.
- * Called from each patch supporting the SPDIF out.
+ * @associated_nid: NID that new ctls associated with
+ * @cvt_nid: converter NID
+ * @type: HDA_PCM_TYPE_*
+ * Creates controls related with the digital output.
+ * Called from each patch supporting the digital out.
*
* Returns 0 if successful, or a negative error code.
*/
-int snd_hda_create_spdif_out_ctls(struct hda_codec *codec,
- hda_nid_t associated_nid,
- hda_nid_t cvt_nid)
+int snd_hda_create_dig_out_ctls(struct hda_codec *codec,
+ hda_nid_t associated_nid,
+ hda_nid_t cvt_nid,
+ int type)
{
int err;
struct snd_kcontrol *kctl;
struct snd_kcontrol_new *dig_mix;
- int idx;
+ int idx, dev = 0;
+ const int spdif_pcm_dev = 1;
struct hda_spdif_out *spdif;
- idx = find_empty_mixer_ctl_idx(codec, "IEC958 Playback Switch");
+ if (codec->primary_dig_out_type == HDA_PCM_TYPE_HDMI &&
+ type == HDA_PCM_TYPE_SPDIF) {
+ dev = spdif_pcm_dev;
+ } else if (codec->primary_dig_out_type == HDA_PCM_TYPE_SPDIF &&
+ type == HDA_PCM_TYPE_HDMI) {
+ for (idx = 0; idx < codec->spdif_out.used; idx++) {
+ spdif = snd_array_elem(&codec->spdif_out, idx);
+ for (dig_mix = dig_mixes; dig_mix->name; dig_mix++) {
+ kctl = find_mixer_ctl(codec, dig_mix->name, 0, idx);
+ if (!kctl)
+ break;
+ kctl->id.device = spdif_pcm_dev;
+ }
+ }
+ codec->primary_dig_out_type = HDA_PCM_TYPE_HDMI;
+ }
+ if (!codec->primary_dig_out_type)
+ codec->primary_dig_out_type = type;
+
+ idx = find_empty_mixer_ctl_idx(codec, "IEC958 Playback Switch", dev);
if (idx < 0) {
printk(KERN_ERR "hda_codec: too many IEC958 outputs\n");
return -EBUSY;
@@ -3177,6 +3200,7 @@ int snd_hda_create_spdif_out_ctls(struct hda_codec *codec,
kctl = snd_ctl_new1(dig_mix, codec);
if (!kctl)
return -ENOMEM;
+ kctl->id.device = dev;
kctl->id.index = idx;
kctl->private_value = codec->spdif_out.used - 1;
err = snd_hda_ctl_add(codec, associated_nid, kctl);
@@ -3189,7 +3213,7 @@ int snd_hda_create_spdif_out_ctls(struct hda_codec *codec,
spdif->status = convert_to_spdif_status(spdif->ctls);
return 0;
}
-EXPORT_SYMBOL_HDA(snd_hda_create_spdif_out_ctls);
+EXPORT_SYMBOL_HDA(snd_hda_create_dig_out_ctls);
/* get the hda_spdif_out entry from the given NID
* call within spdif_mutex lock
@@ -3364,7 +3388,7 @@ int snd_hda_create_spdif_in_ctls(struct hda_codec *codec, hda_nid_t nid)
struct snd_kcontrol_new *dig_mix;
int idx;
- idx = find_empty_mixer_ctl_idx(codec, "IEC958 Capture Switch");
+ idx = find_empty_mixer_ctl_idx(codec, "IEC958 Capture Switch", 0);
if (idx < 0) {
printk(KERN_ERR "hda_codec: too many IEC958 inputs\n");
return -EBUSY;
@@ -4472,7 +4496,7 @@ int snd_hda_add_new_ctls(struct hda_codec *codec,
addr = codec->addr;
else if (!idx && !knew->index) {
idx = find_empty_mixer_ctl_idx(codec,
- knew->name);
+ knew->name, 0);
if (idx <= 0)
return err;
} else
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h
index 10a03b0..62d4229 100644
--- a/sound/pci/hda/hda_codec.h
+++ b/sound/pci/hda/hda_codec.h
@@ -836,6 +836,7 @@ struct hda_codec {
struct mutex hash_mutex;
struct snd_array spdif_out;
unsigned int spdif_in_enable; /* SPDIF input enable? */
+ int primary_dig_out_type; /* primary digital out PCM type */
const hda_nid_t *slave_dig_outs; /* optional digital out slave widgets */
struct snd_array init_pins; /* initial (BIOS) pin configurations */
struct snd_array driver_pins; /* pin configs set by codec parser */
diff --git a/sound/pci/hda/hda_local.h b/sound/pci/hda/hda_local.h
index 09dbdc3..8c43198 100644
--- a/sound/pci/hda/hda_local.h
+++ b/sound/pci/hda/hda_local.h
@@ -240,9 +240,11 @@ int snd_hda_mixer_bind_tlv(struct snd_kcontrol *kcontrol, int op_flag,
/*
* SPDIF I/O
*/
-int snd_hda_create_spdif_out_ctls(struct hda_codec *codec,
- hda_nid_t associated_nid,
- hda_nid_t cvt_nid);
+int snd_hda_create_dig_out_ctls(struct hda_codec *codec,
+ hda_nid_t associated_nid,
+ hda_nid_t cvt_nid, int type);
+#define snd_hda_create_spdif_out_ctls(codec, anid, cnid) \
+ snd_hda_create_dig_out_ctls(codec, anid, cnid, HDA_PCM_TYPE_SPDIF)
int snd_hda_create_spdif_in_ctls(struct hda_codec *codec, hda_nid_t nid);
/*
diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c
index 61a7113..a7f8790 100644
--- a/sound/pci/hda/patch_cirrus.c
+++ b/sound/pci/hda/patch_cirrus.c
@@ -873,8 +873,9 @@ static int build_digital_output(struct hda_codec *codec)
if (!spec->multiout.dig_out_nid)
return 0;
- err = snd_hda_create_spdif_out_ctls(codec, spec->multiout.dig_out_nid,
- spec->multiout.dig_out_nid);
+ err = snd_hda_create_dig_out_ctls(codec, spec->multiout.dig_out_nid,
+ spec->multiout.dig_out_nid,
+ spec->pcm_rec[1].pcm_type);
if (err < 0)
return err;
err = snd_hda_create_spdif_share_sw(codec, &spec->multiout);
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index 71555cc..39ca100 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -1589,9 +1589,10 @@ static int generic_hdmi_build_controls(struct hda_codec *codec)
if (err < 0)
return err;
- err = snd_hda_create_spdif_out_ctls(codec,
- per_pin->pin_nid,
- per_pin->mux_nids[0]);
+ err = snd_hda_create_dig_out_ctls(codec,
+ per_pin->pin_nid,
+ per_pin->mux_nids[0],
+ HDA_PCM_TYPE_HDMI);
if (err < 0)
return err;
snd_hda_spdif_ctls_unassign(codec, pin_idx);
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 8253b4e..2d2bb66 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -1836,9 +1836,10 @@ static int __alc_build_controls(struct hda_codec *codec)
return err;
}
if (spec->multiout.dig_out_nid) {
- err = snd_hda_create_spdif_out_ctls(codec,
- spec->multiout.dig_out_nid,
- spec->multiout.dig_out_nid);
+ err = snd_hda_create_dig_out_ctls(codec,
+ spec->multiout.dig_out_nid,
+ spec->multiout.dig_out_nid,
+ spec->pcm_rec[1].pcm_type);
if (err < 0)
return err;
if (!spec->no_analog) {
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 770013f..6214165 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -1136,9 +1136,10 @@ static int stac92xx_build_controls(struct hda_codec *codec)
}
if (spec->multiout.dig_out_nid) {
- err = snd_hda_create_spdif_out_ctls(codec,
- spec->multiout.dig_out_nid,
- spec->multiout.dig_out_nid);
+ err = snd_hda_create_dig_out_ctls(codec,
+ spec->multiout.dig_out_nid,
+ spec->multiout.dig_out_nid,
+ spec->autocfg.dig_out_type[0]);
if (err < 0)
return err;
err = snd_hda_create_spdif_share_sw(codec,
--
1.7.7.6

View File

@ -1,11 +0,0 @@
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git;a=blobdiff_plain;f=drivers%2Fmedia%2Fdvb-frontends%2Fds3000.c;h=c84cd98a91504dcf2995a75a1e8d6e5013cf4f2d;hp=5b639087ce45623f7a2f1be7e1b6216c1bc686a8;hb=feadd7d3eca4da531b35b2af3623dd992f2d988d;hpb=6c17c24d384ce69893e191c94b500c97bd263c27
diff --git a/drivers/media/dvb-frontends/ds3000.c b/drivers/media/dvb-frontends/ds3000.c
index 5b63908..c84cd98 100644
--- a/drivers/media/dvb-frontends/ds3000.c
+++ b/drivers/media/dvb-frontends/ds3000.c
@@ -1316,3 +1316,4 @@ MODULE_DESCRIPTION("DVB Frontend module for Montage Technology "
"DS3000/TS2020 hardware");
MODULE_AUTHOR("Konstantin Dimitrov");
MODULE_LICENSE("GPL");
+MODULE_FIRMWARE(DS3000_DEFAULT_FIRMWARE);

View File

@ -1,87 +0,0 @@
From b41a536cf9806c3478b2fa68d59edafd0787e8aa Mon Sep 17 00:00:00 2001
From: =?utf8?q?R=C3=A9mi=20Cardona?= <remi.cardona@smartjog.com>
Date: Fri, 28 Sep 2012 08:59:27 -0300
Subject: [PATCH] [media] ds3000: remove useless 'locking'
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
Since b9bf2eafaad9c1ef02fb3db38c74568be601a43a, the function
ds3000_firmware_ondemand() is called only once during init. This
locking scheme may have been useful when the firmware was loaded at
each tune.
Furthermore, it looks like this 'lock' was put in to prevent concurrent
access (and not recursion as the comments suggest). However, this open-
coded mechanism is anything but race-free and should have used a proper
mutex.
Signed-off-by: Rémi Cardona <remi.cardona@smartjog.com>
Reviewed-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
drivers/media/dvb-frontends/ds3000.c | 14 --------------
1 files changed, 0 insertions(+), 14 deletions(-)
diff --git a/drivers/media/dvb-frontends/ds3000.c b/drivers/media/dvb-frontends/ds3000.c
index c84cd98..60a529e 100644
--- a/drivers/media/dvb-frontends/ds3000.c
+++ b/drivers/media/dvb-frontends/ds3000.c
@@ -30,7 +30,6 @@
#include "ds3000.h"
static int debug;
-static int force_fw_upload;
#define dprintk(args...) \
do { \
@@ -234,7 +233,6 @@ struct ds3000_state {
struct i2c_adapter *i2c;
const struct ds3000_config *config;
struct dvb_frontend frontend;
- u8 skip_fw_load;
/* previous uncorrected block counter for DVB-S2 */
u16 prevUCBS2;
};
@@ -397,9 +395,6 @@ static int ds3000_firmware_ondemand(struct dvb_frontend *fe)
if (ret < 0)
return ret;
- if (state->skip_fw_load || !force_fw_upload)
- return 0; /* Firmware already uploaded, skipping */
-
/* Load firmware */
/* request the firmware, this will block until someone uploads it */
printk(KERN_INFO "%s: Waiting for firmware upload (%s)...\n", __func__,
@@ -413,9 +408,6 @@ static int ds3000_firmware_ondemand(struct dvb_frontend *fe)
return ret;
}
- /* Make sure we don't recurse back through here during loading */
- state->skip_fw_load = 1;
-
ret = ds3000_load_firmware(fe, fw);
if (ret)
printk("%s: Writing firmware to device failed\n", __func__);
@@ -425,9 +417,6 @@ static int ds3000_firmware_ondemand(struct dvb_frontend *fe)
dprintk("%s: Firmware upload %s\n", __func__,
ret == 0 ? "complete" : "failed");
- /* Ensure firmware is always loaded if required */
- state->skip_fw_load = 0;
-
return ret;
}
@@ -1309,9 +1298,6 @@ static struct dvb_frontend_ops ds3000_ops = {
module_param(debug, int, 0644);
MODULE_PARM_DESC(debug, "Activates frontend debugging (default:0)");
-module_param(force_fw_upload, int, 0644);
-MODULE_PARM_DESC(force_fw_upload, "Force firmware upload (default:0)");
-
MODULE_DESCRIPTION("DVB Frontend module for Montage Technology "
"DS3000/TS2020 hardware");
MODULE_AUTHOR("Konstantin Dimitrov");
--
1.7.6.5

View File

@ -1,139 +0,0 @@
From ea9b43addc4d90ca5b029f47f85ca152320a1e8d Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 12 Feb 2013 17:02:41 +0100
Subject: [PATCH] ALSA: hda - Fix broken workaround for HDMI/SPDIF conflicts
The commit [dcda58061: ALSA: hda - Add workaround for conflicting
IEC958 controls] introduced a workaround for cards that have both
SPDIF and HDMI devices for giving device=1 to SPDIF control elements.
It turned out, however, that this workaround doesn't work well -
- The workaround checks only conflicts in a single codec, but SPDIF
and HDMI are provided by multiple codecs in many cases, and
- ALSA mixer abstraction doesn't care about the device number in ctl
elements, thus you'll get errors from amixer such as
% amixer scontrols -c 0
ALSA lib simple_none.c:1551:(simple_add1) helem (MIXER,'IEC958
Playback Switch',0,1,0) appears twice or more
amixer: Mixer hw:0 load error: Invalid argument
This patch fixes the previous broken workaround. Instead of changing
the device number of SPDIF ctl elements, shift the element indices of
such controls up to 16. Also, the conflict check is performed over
all codecs found on the bus.
HDMI devices will be put to dev=0,index=0 as before. Only the
conflicting SPDIF device is moved to a different place. The new place
of SPDIF device is supposed by the updated alsa-lib HDA-Intel.conf,
respectively.
Reported-by: Stephan Raue <stephan@openelec.tv>
Reported-by: Anssi Hannula <anssi.hannula@iki.fi>
Cc: <stable@vger.kernel.org> [v3.8]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/pci/hda/hda_codec.c | 43 +++++++++++++++++++++----------------------
sound/pci/hda/hda_codec.h | 3 ++-
2 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index e80f835..04b5738 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -2332,11 +2332,12 @@ struct snd_kcontrol *snd_hda_find_mixer_ctl(struct hda_codec *codec,
EXPORT_SYMBOL_HDA(snd_hda_find_mixer_ctl);
static int find_empty_mixer_ctl_idx(struct hda_codec *codec, const char *name,
- int dev)
+ int start_idx)
{
- int idx;
- for (idx = 0; idx < 16; idx++) { /* 16 ctlrs should be large enough */
- if (!find_mixer_ctl(codec, name, dev, idx))
+ int i, idx;
+ /* 16 ctlrs should be large enough */
+ for (i = 0, idx = start_idx; i < 16; i++, idx++) {
+ if (!find_mixer_ctl(codec, name, 0, idx))
return idx;
}
return -EBUSY;
@@ -3305,30 +3306,29 @@ int snd_hda_create_dig_out_ctls(struct hda_codec *codec,
int err;
struct snd_kcontrol *kctl;
struct snd_kcontrol_new *dig_mix;
- int idx, dev = 0;
- const int spdif_pcm_dev = 1;
+ int idx = 0;
+ const int spdif_index = 16;
struct hda_spdif_out *spdif;
+ struct hda_bus *bus = codec->bus;
- if (codec->primary_dig_out_type == HDA_PCM_TYPE_HDMI &&
+ if (bus->primary_dig_out_type == HDA_PCM_TYPE_HDMI &&
type == HDA_PCM_TYPE_SPDIF) {
- dev = spdif_pcm_dev;
- } else if (codec->primary_dig_out_type == HDA_PCM_TYPE_SPDIF &&
+ idx = spdif_index;
+ } else if (bus->primary_dig_out_type == HDA_PCM_TYPE_SPDIF &&
type == HDA_PCM_TYPE_HDMI) {
- for (idx = 0; idx < codec->spdif_out.used; idx++) {
- spdif = snd_array_elem(&codec->spdif_out, idx);
- for (dig_mix = dig_mixes; dig_mix->name; dig_mix++) {
- kctl = find_mixer_ctl(codec, dig_mix->name, 0, idx);
- if (!kctl)
- break;
- kctl->id.device = spdif_pcm_dev;
- }
+ /* suppose a single SPDIF device */
+ for (dig_mix = dig_mixes; dig_mix->name; dig_mix++) {
+ kctl = find_mixer_ctl(codec, dig_mix->name, 0, 0);
+ if (!kctl)
+ break;
+ kctl->id.index = spdif_index;
}
- codec->primary_dig_out_type = HDA_PCM_TYPE_HDMI;
+ bus->primary_dig_out_type = HDA_PCM_TYPE_HDMI;
}
- if (!codec->primary_dig_out_type)
- codec->primary_dig_out_type = type;
+ if (!bus->primary_dig_out_type)
+ bus->primary_dig_out_type = type;
- idx = find_empty_mixer_ctl_idx(codec, "IEC958 Playback Switch", dev);
+ idx = find_empty_mixer_ctl_idx(codec, "IEC958 Playback Switch", idx);
if (idx < 0) {
printk(KERN_ERR "hda_codec: too many IEC958 outputs\n");
return -EBUSY;
@@ -3338,7 +3338,6 @@ int snd_hda_create_dig_out_ctls(struct hda_codec *codec,
kctl = snd_ctl_new1(dig_mix, codec);
if (!kctl)
return -ENOMEM;
- kctl->id.device = dev;
kctl->id.index = idx;
kctl->private_value = codec->spdif_out.used - 1;
err = snd_hda_ctl_add(codec, associated_nid, kctl);
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h
index e8c9442..23ca172 100644
--- a/sound/pci/hda/hda_codec.h
+++ b/sound/pci/hda/hda_codec.h
@@ -679,6 +679,8 @@ struct hda_bus {
unsigned int response_reset:1; /* controller was reset */
unsigned int in_reset:1; /* during reset operation */
unsigned int power_keep_link_on:1; /* don't power off HDA link */
+
+ int primary_dig_out_type; /* primary digital out PCM type */
};
/*
@@ -846,7 +848,6 @@ struct hda_codec {
struct mutex hash_mutex;
struct snd_array spdif_out;
unsigned int spdif_in_enable; /* SPDIF input enable? */
- int primary_dig_out_type; /* primary digital out PCM type */
const hda_nid_t *slave_dig_outs; /* optional digital out slave widgets */
struct snd_array init_pins; /* initial (BIOS) pin configurations */
struct snd_array driver_pins; /* pin configs set by codec parser */
--
1.7.10

View File

@ -0,0 +1,161 @@
diff -Naur linux-3.8.4/drivers/hid/hid-core.c linux-3.8.4.patch/drivers/hid/hid-core.c
--- linux-3.8.4/drivers/hid/hid-core.c 2013-03-20 21:11:19.000000000 +0100
+++ linux-3.8.4.patch/drivers/hid/hid-core.c 2013-03-26 20:16:01.134847253 +0100
@@ -1676,6 +1676,9 @@
{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_PKB1700) },
{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) },
{ HID_USB_DEVICE(USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS, USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_1) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS, USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_2) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS, USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_3) },
{ HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) },
#if IS_ENABLED(CONFIG_HID_ROCCAT)
{ HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KONE) },
diff -Naur linux-3.8.4/drivers/hid/hid-ids.h linux-3.8.4.patch/drivers/hid/hid-ids.h
--- linux-3.8.4/drivers/hid/hid-ids.h 2013-03-20 21:11:19.000000000 +0100
+++ linux-3.8.4.patch/drivers/hid/hid-ids.h 2013-03-26 20:11:51.442654398 +0100
@@ -655,6 +655,9 @@
#define USB_VENDOR_ID_PHILIPS 0x0471
#define USB_DEVICE_ID_PHILIPS_IEEE802154_DONGLE 0x0617
+#define USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_1 0x206c
+#define USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_2 0x20cc
+#define USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_3 0x0613
#define USB_VENDOR_ID_PI_ENGINEERING 0x05f3
#define USB_DEVICE_ID_PI_ENGINEERING_VEC_USB_FOOTPEDAL 0xff
diff -Naur linux-3.8.4/drivers/hid/hid-spinelplus.c linux-3.8.4.patch/drivers/hid/hid-spinelplus.c
--- linux-3.8.4/drivers/hid/hid-spinelplus.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-3.8.4.patch/drivers/hid/hid-spinelplus.c 2013-03-26 20:11:51.442654398 +0100
@@ -0,0 +1,104 @@
+/*
+ * HID driver for "PHILIPS MCE USB IR Receiver- Spinel plus" remotes
+ *
+ * Copyright (c) 2010 Panagiotis Skintzos
+ *
+ * Renamed to Spinel, cleanup and modified to also support
+ * Spinel Plus 0471:20CC by Stephan Raue 2012.
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ */
+
+#include <linux/device.h>
+#include <linux/input.h>
+#include <linux/hid.h>
+#include <linux/module.h>
+
+#include "hid-ids.h"
+
+#define spinelplus_map_key(c) set_bit(EV_REP, hi->input->evbit); \
+ hid_map_usage_clear(hi, usage, bit, max, EV_KEY, (c))
+
+static int spinelplus_input_mapping(struct hid_device *hdev,
+ struct hid_input *hi, struct hid_field *field, struct hid_usage *usage,
+ unsigned long **bit, int *max)
+{
+ switch (usage->hid) {
+ case 0xffbc000d: spinelplus_map_key(KEY_MEDIA); break;
+ case 0xffbc0024: spinelplus_map_key(KEY_MEDIA); break;
+ case 0xffbc0027: spinelplus_map_key(KEY_ZOOM); break;
+ case 0xffbc0033: spinelplus_map_key(KEY_HOME); break;
+ case 0xffbc0035: spinelplus_map_key(KEY_CAMERA); break;
+ case 0xffbc0036: spinelplus_map_key(KEY_EPG); break;
+ case 0xffbc0037: spinelplus_map_key(KEY_DVD); break;
+ case 0xffbc0038: spinelplus_map_key(KEY_HOME); break;
+ case 0xffbc0039: spinelplus_map_key(KEY_MP3); break;
+ case 0xffbc003a: spinelplus_map_key(KEY_VIDEO); break;
+ case 0xffbc005a: spinelplus_map_key(KEY_TEXT); break;
+ case 0xffbc005b: spinelplus_map_key(KEY_RED); break;
+ case 0xffbc005c: spinelplus_map_key(KEY_GREEN); break;
+ case 0xffbc005d: spinelplus_map_key(KEY_YELLOW); break;
+ case 0xffbc005e: spinelplus_map_key(KEY_BLUE); break;
+ default:
+ return 0;
+ }
+ return 1;
+}
+
+static int spinelplus_probe(struct hid_device *hdev,
+ const struct hid_device_id *id)
+{
+ int ret;
+ /* Connect only to hid input (not hiddev & hidraw)*/
+ unsigned int cmask = HID_CONNECT_HIDINPUT;
+
+ ret = hid_parse(hdev);
+ if (ret) {
+ dev_err(&hdev->dev, "parse failed\n");
+ goto err_free;
+ }
+
+ ret = hid_hw_start(hdev, cmask);
+ if (ret) {
+ dev_err(&hdev->dev, "hw start failed\n");
+ goto err_free;
+ }
+
+ return 0;
+err_free:
+ return ret;
+}
+
+static const struct hid_device_id spinelplus_devices[] = {
+ { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS,USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_1) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS,USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_2) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS,USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_3) },
+ { }
+};
+MODULE_DEVICE_TABLE(hid, spinelplus_devices);
+
+static struct hid_driver spinelplus_driver = {
+ .name = "SpinelPlus",
+ .id_table = spinelplus_devices,
+ .input_mapping = spinelplus_input_mapping,
+ .probe = spinelplus_probe,
+};
+
+static int __init spinelplus_init(void)
+{
+ return hid_register_driver(&spinelplus_driver);
+}
+
+static void __exit spinelplus_exit(void)
+{
+ hid_unregister_driver(&spinelplus_driver);
+}
+
+module_init(spinelplus_init);
+module_exit(spinelplus_exit);
+MODULE_LICENSE("GPL");
diff -Naur linux-3.8.4/drivers/hid/Kconfig linux-3.8.4.patch/drivers/hid/Kconfig
--- linux-3.8.4/drivers/hid/Kconfig 2013-03-20 21:11:19.000000000 +0100
+++ linux-3.8.4.patch/drivers/hid/Kconfig 2013-03-26 20:11:51.443654394 +0100
@@ -596,6 +596,12 @@
---help---
Support for Speedlink Vicious and Divine Cezanne mouse.
+config HID_SPINELPLUS
+ tristate "Spinel Plus remote control"
+ depends on USB_HID
+ ---help---
+ Say Y here if you have a Spinel Plus (0471:206c/20cc/0613) remote
+
config HID_SUNPLUS
tristate "Sunplus wireless desktop"
depends on USB_HID
diff -Naur linux-3.8.4/drivers/hid/Makefile linux-3.8.4.patch/drivers/hid/Makefile
--- linux-3.8.4/drivers/hid/Makefile 2013-03-20 21:11:19.000000000 +0100
+++ linux-3.8.4.patch/drivers/hid/Makefile 2013-03-26 20:11:51.443654394 +0100
@@ -101,6 +101,7 @@
obj-$(CONFIG_HID_SMARTJOYPLUS) += hid-sjoy.o
obj-$(CONFIG_HID_SONY) += hid-sony.o
obj-$(CONFIG_HID_SPEEDLINK) += hid-speedlink.o
+obj-$(CONFIG_HID_SPINELPLUS) += hid-spinelplus.o
obj-$(CONFIG_HID_SUNPLUS) += hid-sunplus.o
obj-$(CONFIG_HID_GREENASIA) += hid-gaff.o
obj-$(CONFIG_HID_THRUSTMASTER) += hid-tmff.o

View File

@ -0,0 +1,11 @@
diff -Naur linux-3.8.4/drivers/input/joystick/xpad.c linux-3.8.4.patch/drivers/input/joystick/xpad.c
--- linux-3.8.4/drivers/input/joystick/xpad.c 2013-03-20 21:11:19.000000000 +0100
+++ linux-3.8.4.patch/drivers/input/joystick/xpad.c 2013-03-26 20:24:29.273978355 +0100
@@ -174,7 +174,6 @@
{ 0x1bad, 0xf901, "Gamestop Xbox 360 Controller", 0, XTYPE_XBOX360 },
{ 0x1bad, 0xf903, "Tron Xbox 360 controller", 0, XTYPE_XBOX360 },
{ 0x24c6, 0x5300, "PowerA MINI PROEX Controller", 0, XTYPE_XBOX360 },
- { 0xffff, 0xffff, "Chinese-made Xbox Controller", 0, XTYPE_XBOX },
{ 0x0000, 0x0000, "Generic X-Box pad", 0, XTYPE_UNKNOWN }
};

File diff suppressed because it is too large Load Diff

View File

@ -204,7 +204,7 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_adap.c linux-3.7.2.p
+ return 0;
+}
+
+int __devinit saa716x_dvb_init(struct saa716x_dev *saa716x)
+int saa716x_dvb_init(struct saa716x_dev *saa716x)
+{
+ struct saa716x_adapter *saa716x_adap = saa716x->saa716x_adap;
+ struct saa716x_config *config = saa716x->config;
@ -361,7 +361,7 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_adap.c linux-3.7.2.p
+}
+EXPORT_SYMBOL(saa716x_dvb_init);
+
+void __devexit saa716x_dvb_exit(struct saa716x_dev *saa716x)
+void saa716x_dvb_exit(struct saa716x_dev *saa716x)
+{
+ struct saa716x_adapter *saa716x_adap = saa716x->saa716x_adap;
+ int i;
@ -907,7 +907,7 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_budget.c linux-3.7.2
+
+#define DRIVER_NAME "SAA716x Budget"
+
+static int __devinit saa716x_budget_pci_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
+static int saa716x_budget_pci_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
+{
+ struct saa716x_dev *saa716x;
+ int err = 0;
@ -998,7 +998,7 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_budget.c linux-3.7.2
+ return err;
+}
+
+static void __devexit saa716x_budget_pci_remove(struct pci_dev *pdev)
+static void saa716x_budget_pci_remove(struct pci_dev *pdev)
+{
+ struct saa716x_dev *saa716x = pci_get_drvdata(pdev);
+
@ -1557,12 +1557,12 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_budget.c linux-3.7.2
+ .remove = saa716x_budget_pci_remove,
+};
+
+static int __devinit saa716x_budget_init(void)
+static int saa716x_budget_init(void)
+{
+ return pci_register_driver(&saa716x_budget_pci_driver);
+}
+
+static void __devexit saa716x_budget_exit(void)
+static void saa716x_budget_exit(void)
+{
+ return pci_unregister_driver(&saa716x_budget_pci_driver);
+}
@ -4575,7 +4575,7 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_ff_main.c linux-3.7.
+ return 0;
+}
+
+static int __devinit saa716x_ff_pci_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
+static int saa716x_ff_pci_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
+{
+ struct saa716x_dev *saa716x;
+ struct sti7109_dev *sti7109;
@ -4814,7 +4814,7 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_ff_main.c linux-3.7.
+ return err;
+}
+
+static void __devexit saa716x_ff_pci_remove(struct pci_dev *pdev)
+static void saa716x_ff_pci_remove(struct pci_dev *pdev)
+{
+ struct saa716x_dev *saa716x = pci_get_drvdata(pdev);
+ struct sti7109_dev *sti7109 = saa716x->priv;
@ -5390,12 +5390,12 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_ff_main.c linux-3.7.
+ .remove = saa716x_ff_pci_remove,
+};
+
+static int __devinit saa716x_ff_init(void)
+static int saa716x_ff_init(void)
+{
+ return pci_register_driver(&saa716x_ff_pci_driver);
+}
+
+static void __devexit saa716x_ff_exit(void)
+static void saa716x_ff_exit(void)
+{
+ return pci_unregister_driver(&saa716x_ff_pci_driver);
+}
@ -6426,7 +6426,7 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_hybrid.c linux-3.7.2
+
+#define DRIVER_NAME "SAA716x Hybrid"
+
+static int __devinit saa716x_hybrid_pci_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
+static int saa716x_hybrid_pci_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
+{
+ struct saa716x_dev *saa716x;
+ int err = 0;
@ -6531,7 +6531,7 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_hybrid.c linux-3.7.2
+ return err;
+}
+
+static void __devexit saa716x_hybrid_pci_remove(struct pci_dev *pdev)
+static void saa716x_hybrid_pci_remove(struct pci_dev *pdev)
+{
+ struct saa716x_dev *saa716x = pci_get_drvdata(pdev);
+
@ -7086,12 +7086,12 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_hybrid.c linux-3.7.2
+ .remove = saa716x_hybrid_pci_remove,
+};
+
+static int __devinit saa716x_hybrid_init(void)
+static int saa716x_hybrid_init(void)
+{
+ return pci_register_driver(&saa716x_hybrid_pci_driver);
+}
+
+static void __devexit saa716x_hybrid_exit(void)
+static void saa716x_hybrid_exit(void)
+{
+ return pci_unregister_driver(&saa716x_hybrid_pci_driver);
+}
@ -7758,7 +7758,7 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_i2c.c linux-3.7.2.pa
+ }
+};
+
+int __devinit saa716x_i2c_init(struct saa716x_dev *saa716x)
+int saa716x_i2c_init(struct saa716x_dev *saa716x)
+{
+ struct pci_dev *pdev = saa716x->pdev;
+ struct saa716x_i2c *i2c = saa716x->i2c;
@ -7829,7 +7829,7 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_i2c.c linux-3.7.2.pa
+}
+EXPORT_SYMBOL_GPL(saa716x_i2c_init);
+
+int __devexit saa716x_i2c_exit(struct saa716x_dev *saa716x)
+int saa716x_i2c_exit(struct saa716x_dev *saa716x)
+{
+ struct saa716x_i2c *i2c = saa716x->i2c;
+ struct i2c_adapter *adapter = NULL;
@ -8985,7 +8985,7 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_pci.c linux-3.7.2.pa
+ }
+}
+
+int __devinit saa716x_pci_init(struct saa716x_dev *saa716x)
+int saa716x_pci_init(struct saa716x_dev *saa716x)
+{
+ struct pci_dev *pdev = saa716x->pdev;
+ int err = 0, ret = -ENODEV, i, use_dac, pm_cap;
@ -9096,7 +9096,7 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_pci.c linux-3.7.2.pa
+}
+EXPORT_SYMBOL_GPL(saa716x_pci_init);
+
+void __devexit saa716x_pci_exit(struct saa716x_dev *saa716x)
+void saa716x_pci_exit(struct saa716x_dev *saa716x)
+{
+ struct pci_dev *pdev = saa716x->pdev;
+
@ -12505,7 +12505,7 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_spi.c linux-3.7.2.pa
+ return 0;
+}
+
+int __devinit saa716x_spi_init(struct saa716x_dev *saa716x)
+int saa716x_spi_init(struct saa716x_dev *saa716x)
+{
+ struct pci_dev *pdev = saa716x->pdev;
+ struct spi_master *master;
@ -12543,7 +12543,7 @@ diff -Naur linux-3.7.2/drivers/media/common/saa716x/saa716x_spi.c linux-3.7.2.pa
+}
+EXPORT_SYMBOL(saa716x_spi_init);
+
+void __devexit saa716x_spi_exit(struct saa716x_dev *saa716x)
+void saa716x_spi_exit(struct saa716x_dev *saa716x)
+{
+ struct saa716x_spi_state *saa716x_spi = saa716x->saa716x_spi;
+

View File

@ -23,11 +23,8 @@
. config/options $1
cd $PKG_BUILD
python -Wi -t -B $ROOT/$TOOLCHAIN/lib/python2.7/compileall.py ./resources/lib/ -f
rm -rf `find ./resources/lib/ -name "*.py"`
make wiiuse
mkdir -p $SYSROOT_PREFIX/usr/lib
cp src/release*/*.so $SYSROOT_PREFIX/usr/lib
mkdir -p $SYSROOT_PREFIX/usr/include
cp src/wiiuse.h $SYSROOT_PREFIX/usr/include
python -Wi -t -B $ROOT/$TOOLCHAIN/lib/python2.7/compileall.py ./oe.py -f
rm -rf ./oe.py

View File

@ -17,20 +17,55 @@
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
#
# start cron daemon
# reset openelec
#
# runlevels: openelec, textmode
(
if [ -f /var/config/settings.conf ]; then
. /var/config/settings.conf
fi
get_target() {
for arg in $(cat /proc/cmdline); do
case $arg in
disk=*)
disk="${arg#*=}"
case $disk in
LABEL=*)
label="${disk#*=}"
target=`blkid -L $label`
;;
UUID=*)
uuid="${disk#*=}"
target=`blkid -U $uuid`
;;
/*)
target=$disk
;;
esac
;;
esac
done
}
if [ "$CROND_START" == "true" ]; then
progress "Starting cron daemon"
mkdir -p /storage/.cache/cron/crontabs
crond -b
# hard reset
if [ -f /storage/.cache/reset_oe ] ; then
get_target
if [ ! -z $target ] ; then
echo "hard resetting..."
umount /storage
mke2fs -t ext4 -m 0 $target 2>&1 >/dev/null
if [ ! -z $label ] ; then
tune2fs -U random -L $label $target
fi
if [ ! -z $uuid ] ; then
tune2fs -U $uuid $target
fi
reboot
fi
)&
fi
# soft reset
if [ -f /storage/.cache/reset_xbmc ] ; then
get_target
if [ ! -z $target ] ; then
echo "soft resetting..."
rm -rf /storage/.??* 2>&1 >/dev/null
fi
fi

View File

@ -22,5 +22,5 @@
. config/options $1
mkdir -p $INSTALL/usr/lib
cp -PR $PKG_BUILD/src/release*/*.so $INSTALL/usr/lib
mkdir -p $INSTALL/usr/share/xbmc/addons/service.openelec.settings
cp -R $PKG_BUILD/* $INSTALL/usr/share/xbmc/addons/service.openelec.settings

View File

@ -18,19 +18,19 @@
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="xbmc-addon-settings"
PKG_VERSION="1"
PKG_NAME="service.openelec.settings"
PKG_VERSION="0.1.7"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_LICENSE="prop."
PKG_SITE="http://www.openelec.tv"
PKG_URL=""
PKG_DEPENDS=""
PKG_BUILD_DEPENDS="toolchain"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.zip"
PKG_DEPENDS="connman hd-idle"
PKG_BUILD_DEPENDS="toolchain python"
PKG_PRIORITY="optional"
PKG_SECTION="mediacenter"
PKG_SHORTDESC="xbmc-addon-settings: Settings dialog for OpenELEC"
PKG_LONGDESC="xbmc-addon-settings: is a settings dialog for OpenELEC"
PKG_SHORTDESC="service.openelec.settings: Settings dialog for OpenELEC"
PKG_LONGDESC="service.openelec.settings: is a settings dialog for OpenELEC"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"

View File

@ -22,7 +22,8 @@
. config/options $1
$SCRIPTS/unpack xbmc
ZIP_PKG="`echo $PKG_URL | sed 's%.*/\(.*\)$%\1%'`"
[ -d $PKG_BUILD ] && rm -rf $PKG_BUILD
cd $BUILD/xbmc-*/tools/EventClients/Clients/WiiRemote
$CXX $CFLAGS -lwiiuse WiiUse_WiiRemote.cpp -o WiiUse_WiiRemote
mkdir -p $BUILD/${PKG_NAME}-${PKG_VERSION}
unzip $SOURCES/$1/$ZIP_PKG -d $BUILD/${PKG_NAME}-${PKG_VERSION} >/dev/null 2>&1

View File

@ -1,42 +0,0 @@
<settings>
<setting id="LCD_DRIVER" value="none" />
<setting id="HDD_STANDBY" value="false" />
<setting id="HDD_STANDBY_TIME" value="15" />
<setting id="WAIT_NETWORK" value="false" />
<setting id="WAIT_NETWORK_TIME" value="10" />
<setting id="NET_DNS1" value="" />
<setting id="NET_DNS2" value="" />
<setting id="NET_DNS3" value="" />
<setting id="NET_GATEWAY" value="" />
<setting id="NET_HIDDEN" value="false" />
<setting id="NET_HOSTNAME" value="openelec" />
<setting id="NET_IFACE" value="eth0" />
<setting id="NET_IPADDRESS" value="" />
<setting id="NET_NETWORK" value="LAN" />
<setting id="NET_PASSPHRASE" value="" />
<setting id="NET_PREFIXLEN" value="24" />
<setting id="NET_SECURITY" value="NONE" />
<setting id="NET_SSID" value="" />
<setting id="NET2_DNS1" value="" />
<setting id="NET2_DNS2" value="" />
<setting id="NET2_DNS3" value="" />
<setting id="NET2_GATEWAY" value="" />
<setting id="NET2_HIDDEN" value="false" />
<setting id="NET2_IFACE" value="eth1" />
<setting id="NET2_IPADDRESS" value="" />
<setting id="NET2_NETWORK" value="NONE" />
<setting id="NET2_PASSPHRASE" value="" />
<setting id="NET2_PREFIXLEN" value="24" />
<setting id="NET2_SECURITY" value="NONE" />
<setting id="NET2_SSID" value="" />
<setting id="SAMBA_START" value="true" />
<setting id="SAMBA_SECURITY" value="false" />
<setting id="SAMBA_USERNAME" value="openelec" />
<setting id="SAMBA_PASSWORD" value="openelec" />
<setting id="SYSLOG_REMOTE" value="false" />
<setting id="SYSLOG_SERVER" value="" />
<setting id="CROND_START" value="false" />
<setting id="UPDATE_AUTO" value="manual" />
<setting id="X11_KEYMAP" value="us" />
<setting id="X11_KEYMAP2" value="-none-" />
</settings>

View File

@ -1,34 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
#
# copy userconfig and samples
#
# runlevels: openelec, textmode
progress "copy system config"
if [ -f /usr/share/xbmc/addons/os.openelec.settings/default_settings.xml ]; then
if [ ! -f $HOME/.xbmc/userdata/addon_data/os.openelec.settings/settings.xml ]; then
mkdir -p $HOME/.xbmc/userdata/addon_data/os.openelec.settings
cp /usr/share/xbmc/addons/os.openelec.settings/default_settings.xml \
$HOME/.xbmc/userdata/addon_data/os.openelec.settings/settings.xml
fi
fi

View File

@ -1,28 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
mkdir -p $INSTALL/usr/share/xbmc/addons/os.openelec.settings
cp -R $PKG_DIR/source/* $INSTALL/usr/share/xbmc/addons/os.openelec.settings
cp -R $PKG_DIR/config/* $INSTALL/usr/share/xbmc/addons/os.openelec.settings
$SED "s|@OS_VERSION@|$OS_VERSION|g" -i $INSTALL/usr/share/xbmc/addons/os.openelec.settings/addon.xml

View File

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="os.openelec.settings"
name="OpenELEC OS Settings"
version="0.0.13"
provider-name="openelec.tv">
<requires>
<import addon="os.openelec.tv" version="@OS_VERSION@"/>
<import addon="xbmc.python" version="1.0"/>
</requires>
<extension point="xbmc.python.script"
library="default.py" />
<extension point="xbmc.addon.metadata">
<summary lang="en">OpenELEC OS Settings Dialog</summary>
<summary lang="da">OpenELEC OS indstillinger</summary>
<summary lang="tr">OpenELEC OS Ayarları İletişim Kutusu</summary>
<summary lang="pl">OpenELEC OS Panel ustawień</summary>
<description lang="en">OpenElec OS Settings Dialog</description>
<description lang="da">OpenElec OS indstillinger</description>
<description lang="tr">OpenElec OS Ayarları İletişim Kutusu</description>
<description lang="pl">OpenELEC OS Panel ustawień</description>
<platform>all</platform>
</extension>
</addon>

View File

@ -1,38 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
import os
import sys
import xbmcaddon
__scriptname__ = "OpenELEC OS Settings Dialog"
__author__ = "OpenELEC"
__url__ = "http://www.openelec.tv"
__svn_url__ = ""
__credits__ = ""
__version__ = "0.0.13"
__XBMC_Revision__ = "22240"
__settings__ = xbmcaddon.Addon(id='os.openelec.settings')
__language__ = __settings__.getLocalizedString
__cwd__ = __settings__.getAddonInfo('path')
if __name__ == "__main__":
__settings__.openSettings()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<!-- System -->
<string id="2000">System</string>
<string id="2010">Tastatur</string>
<string id="2011">Tastatur layout</string>
<string id="2012">Alternativ tastatur layout (valgfrit)</string>
<string id="2020">System opdatering</string>
<string id="2021">System opdatering</string>
<string id="2050">LCD/VFD</string>
<string id="2051">Valg af LCD driver</string>
<!-- Network -->
<string id="2100">Netværk</string>
<string id="2101">Netværk 2</string>
<string id="2110">Generelle indstillinger</string>
<string id="2111">Hostnavn</string>
<string id="2120">Netværks adapter</string>
<string id="2121">Netværks forbindelse</string>
<string id="2122">Netværks interface</string>
<string id="2130">IP indstillinger</string>
<string id="2131">Statisk IP adresse</string>
<string id="2132">Netmaske præfixlængde</string>
<string id="2133">Netværks gateway</string>
<string id="2134">DNS server 1</string>
<string id="2135">DNS server 2</string>
<string id="2136">DNS server 3</string>
<string id="2150">WLAN indstillinger</string>
<string id="2151">WLAN SSID</string>
<string id="2152">Skjult netværk</string>
<string id="2153">WLAN sikkerhed</string>
<string id="2154">WLAN kodeord</string>
<!-- SERVICES -->
<string id="5000">Services</string>
<string id="5010">Samba</string>
<string id="5011">Start Samba ved opstart af systemet</string>
</strings>

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<!-- System -->
<string id="2000">Systeem</string>
<string id="2010">Toetsenbord</string>
<string id="2011">Toetsenbord layout</string>
<string id="2012">Toetsenbord layout #2</string>
<string id="2020">Systeem update</string>
<string id="2021">Systeem update</string>
<string id="2050">LCD/VFD Driver</string>
<string id="2051">Te gebruiken LCD Driver</string>
<!-- Netwerk -->
<string id="2100">Netwerk</string>
<string id="2101">Netwerk 2</string>
<string id="2110">Standaard instellingen</string>
<string id="2111">Netwerknaam</string>
<string id="2120">Netwerk apparaat</string>
<string id="2121">Netwerk soort</string>
<string id="2122">Netwerk apparaat of MAC adres</string>
<string id="2130">IP instellingen</string>
<string id="2131">Statisch IP adres</string>
<string id="2132">Netwerkprefix lengte</string>
<string id="2133">Netwerk gateway</string>
<string id="2134">DNS server 1</string>
<string id="2135">DNS server 2</string>
<string id="2136">DNS server 3</string>
<string id="2150">WLAN Instellingen</string>
<string id="2151">WLAN SSID (router naam)</string>
<string id="2152">Verborgen netwerk</string>
<string id="2153">WLAN beveiliging</string>
<string id="2154">WLAN wachtwoord</string>
<!-- SERVICES -->
<string id="5000">Services</string>
<string id="5010">Samba</string>
<string id="5011">Start Samba bij het opstarten</string>
</strings>

View File

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<!-- System -->
<string id="2000">System</string>
<string id="2010">Keyboard</string>
<string id="2011">Keyboard layout</string>
<string id="2012">Alternate keyboard layout (optional)</string>
<string id="2020">System Update</string>
<string id="2021">System Update</string>
<string id="2050">LCD/VFD</string>
<string id="2051">LCD Driver to use</string>
<string id="2060">HDD standby</string>
<string id="2061">Enable HDD standby</string>
<string id="2062">HDD standby timeout (minutes)</string>
<string id="2070">Other</string>
<string id="2071">Wait for network before starting xbmc</string>
<string id="2072">Wait time (seconds)</string>
<!-- Network -->
<string id="2100">Network</string>
<string id="2101">Network 2</string>
<string id="2110">General</string>
<string id="2111">Hostname</string>
<string id="2120">Network Adapter</string>
<string id="2121">Network Technology</string>
<string id="2122">Network Interface</string>
<string id="2130">IP settings</string>
<string id="2131">Static IP address</string>
<string id="2132">Netmask Prefixlength</string>
<string id="2133">Network gateway</string>
<string id="2134">DNS server 1</string>
<string id="2135">DNS server 2</string>
<string id="2136">DNS server 3</string>
<string id="2150">WLAN settings</string>
<string id="2151">WLAN SSID</string>
<string id="2152">Hidden Network</string>
<string id="2153">WLAN Security</string>
<string id="2154">WLAN Passphrase</string>
<!-- SERVICES -->
<string id="5000">Services</string>
<string id="5010">Samba</string>
<string id="5011">Start Samba at boot</string>
<string id="5012">Use Samba Passwords</string>
<string id="5013">Samba Username</string>
<string id="5014">Samba Password</string>
<string id="5020">SSH</string>
<string id="5021">Start ssh server at boot</string>
<string id="5022">Disable password authentication</string>
<string id="5030">crond</string>
<string id="5031">Start cron daemon at boot</string>
<string id="5040">syslog</string>
<string id="5041">Use remote syslog server</string>
<string id="5042">Remote syslog IP address</string>
</strings>

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<!-- System -->
<string id="2000">Järjestelmä</string>
<string id="2010">Näppäimistö</string>
<string id="2011">Näppäimistön asettelu</string>
<string id="2012">Vaihtoehtoinen näppäimistön asettelu (valinnainen)</string>
<string id="2020">Järjestelmän päivitys</string>
<string id="2021">Järjestelmän päivitys</string>
<string id="2050">LCD/VFD</string>
<string id="2051">Käytettävä LCD-ajuri</string>
<!-- Network -->
<string id="2100">Verkko</string>
<string id="2101">Verkko 2</string>
<string id="2110">Yleinen</string>
<string id="2111">Tietokoneen nimi</string>
<string id="2120">Verkkosovitin</string>
<string id="2121">Verkon tyyppi</string>
<string id="2122">Verkkoliityntä</string>
<string id="2130">IP-asetukset</string>
<string id="2131">Staattinen IP-asetus</string>
<string id="2132">Verkkopeitteen pituus bitteinä</string>
<string id="2133">Verkon yhdyskäytävä</string>
<string id="2134">DNS-palvelin 1</string>
<string id="2135">DNS-palvelin 2</string>
<string id="2136">DNS-palvelin 3</string>
<string id="2150">WLAN-asetukset</string>
<string id="2151">WLAN SSID</string>
<string id="2152">Piilotettu verkko</string>
<string id="2153">WLAN salaustapa</string>
<string id="2154">WLAN salasana</string>
<!-- SERVICES -->
<string id="5000">Services</string>
<string id="5010">Samba</string>
<string id="5011">Käynnistä Samba käynnistyksen yhteydessä</string>
</strings>

View File

@ -1,43 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<!-- General -->
<string id="2000">Système</string>
<string id="2010">Clavier</string>
<string id="2011">Clavier</string>
<string id="2012">Clavier alternatif (facultatif)</string>
<string id="2020">Mise à jour du système</string>
<string id="2021">Mise à jour du système</string>
<string id="2050">LCD/VFD</string>
<string id="2051">Pilote LCD</string>
<!-- Network -->
<string id="2100">Réseau</string>
<string id="2101">Réseau 2</string>
<string id="2110">Général</string>
<string id="2111">Nom d'hôte</string>
<string id="2120">Réseau</string>
<string id="2121">Type de réseau</string>
<string id="2122">Interface réseau</string>
<string id="2130">Paramètres IP</string>
<string id="2131">Adresse IP statique</string>
<string id="2132">Longueur du masque sous-réseau</string>
<string id="2133">Passerelle Réseau</string>
<string id="2134">Serveur DNS 1</string>
<string id="2135">Serveur DNS 2</string>
<string id="2136">Serveur DNS 3</string>
<string id="2150">Paramètres WIFI</string>
<string id="2151">SSID</string>
<string id="2152">Réseau masqué</string>
<string id="2153">Sécurité WIFI</string>
<string id="2154">Passphrase</string>
<!-- SERVICES -->
<string id="5000">Services</string>
<string id="5010">Samba</string>
<string id="5011">Lancer Samba au démarrage</string>
<string id="5012">Utiliser un mot de passe Samba</string>
<string id="5013">Utilisateur Samba</string>
<string id="5014">Mot de passe Samba</string>
</strings>

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<!-- System -->
<string id="2000">System</string>
<string id="2010">Tastatur</string>
<string id="2011">Tastaturlayout</string>
<string id="2012">Tastaturlayout #2</string>
<string id="2020">System Aktualisierung</string>
<string id="2021">System Aktualisierung</string>
<string id="2050">LCD/VFD</string>
<string id="2051">LCD Treiber</string>
<!-- Network -->
<string id="2100">Netzwerk</string>
<string id="2101">Netzwerk 2</string>
<string id="2110">Allgemein</string>
<string id="2111">Gerätename</string>
<string id="2120">Netzwerk Adapter</string>
<string id="2121">Netzwerk Technologie</string>
<string id="2122">Netzwerk Gerät</string>
<string id="2130">IP Einstellungen</string>
<string id="2131">Statische IP Adresse</string>
<string id="2132">Netzmaske Präfixlänge</string>
<string id="2133">Netzwerk Gateway</string>
<string id="2134">DNS Server 1</string>
<string id="2135">DNS Server 2</string>
<string id="2136">DNS Server 3</string>
<string id="2150">WLAN Einstellungen</string>
<string id="2151">WLAN SSID</string>
<string id="2152">Verstecktes Netzwerk</string>
<string id="2153">WLAN Sicherheit</string>
<string id="2154">WLAN Passwort</string>
<!-- SERVICES -->
<string id="5000">Services</string>
<string id="5010">Samba</string>
<string id="5011">Starte Samba beim Booten</string>
</strings>

View File

@ -1,39 +0,0 @@
<?xml version="1.0" standalone="yes"?>
<!--Based on English (30.12.2011)-->
<strings>
<!-- System -->
<string id="2000">Rendszer</string>
<string id="2010">Billentyűzet</string>
<string id="2011">Billentyű kiosztás</string>
<string id="2012">Alternatív billentyű kiosztás (opcionális)</string>
<string id="2020">Rendszer frissítés</string>
<string id="2021">Rendszer frissítés</string>
<string id="2050">LCD/VFD</string>
<string id="2051">LCD meghajtóprogram használata</string>
<!-- Network -->
<string id="2100">Hálózat</string>
<string id="2101">Hálózat 2</string>
<string id="2110">Általános</string>
<string id="2111">Hostnév</string>
<string id="2120">Hálózati adapter</string>
<string id="2121">Hálózati technológia</string>
<string id="2122">Hálózati eszköz</string>
<string id="2130">IP beállítások</string>
<string id="2131">Statikus IP cím</string>
<string id="2132">Hálózati maszk</string>
<string id="2133">Hálózati átjáró</string>
<string id="2134">DNS server 1</string>
<string id="2135">DNS server 2</string>
<string id="2136">DNS server 3</string>
<string id="2150">WLAN beállítások</string>
<string id="2151">WLAN azonosító</string>
<string id="2152">Rejtett hálózat</string>
<string id="2153">WLAN biztonság</string>
<string id="2154">WLAN jelszó</string>
<!-- SERVICES -->
<string id="5000">Services</string>
<string id="5010">Samba</string>
<string id="5011">Samba megosztás indítása bootoláskor</string>
</strings>

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<!-- System -->
<string id="2000">System</string>
<string id="2010">Tastatur</string>
<string id="2011">Språklayout</string>
<string id="2012">Språklayout #2</string>
<string id="2020">Systemoppdateringer</string>
<string id="2021">Systemoppdateringer</string>
<string id="2050">LCD/VFD</string>
<string id="2051">LCD Driver</string>
<!-- Nettverk -->
<string id="2100">Nettverk</string>
<string id="2101">Nettverk 2</string>
<string id="2110">Generelt</string>
<string id="2111">Vertsnavn</string>
<string id="2120">Nettverkskort</string>
<string id="2121">Overføringsteknologi</string>
<string id="2122">Nettverksgrensesnitt</string>
<string id="2130">IP instillinger</string>
<string id="2131">Statisk IP adresse</string>
<string id="2132">Nettverksprefix lengde</string>
<string id="2133">Standard gateway</string>
<string id="2134">Foretrukket DNS-server</string>
<string id="2135">Alternativ DNS-server</string>
<string id="2136">Alternativ DNS-server</string>
<string id="2150">WLAN instillinger</string>
<string id="2151">WLAN SSID</string>
<string id="2152">Skjult Nettverk</string>
<string id="2153">WLAN Sikkerhet</string>
<string id="2154">WLAN Passord</string>
<!-- SERVICES -->
<string id="5000">Services</string>
<string id="5010">Samba</string>
<string id="5011">Start Samba under oppstart</string>
</strings>

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<strings>
<!-- System -->
<string id="2000">System</string>
<string id="2010">Klawiatura</string>
<string id="2011">Układ klawiatury</string>
<string id="2012">Alternatywny układ klawiatury (opcjonalny)</string>
<string id="2020">Aktualizacja systemu</string>
<string id="2021">Aktualizacja systemu</string>
<string id="2050">LCD/VFD</string>
<string id="2051">Sterownik LC</string>
<!-- Network -->
<string id="2100">Sieć</string>
<string id="2101">Sieć 2</string>
<string id="2110">Ogólne</string>
<string id="2111">Nazwa hosta</string>
<string id="2120">Karta sieciowa</string>
<string id="2121">Typ sieci</string>
<string id="2122">Interfejs sieciowy</string>
<string id="2130">Ustawienia IP</string>
<string id="2131">Statyczny adres IP</string>
<string id="2132">Długość prefiksu maski sieci</string>
<string id="2133">Brama sieci</string>
<string id="2134">Serwer DNS 1</string>
<string id="2135">Serwer DNS 2</string>
<string id="2136">Serwer DNS 3</string>
<string id="2150">Ustawienia WLAN</string>
<string id="2151">WLAN SSID</string>
<string id="2152">Śieć ukryta</string>
<string id="2153">Zabezpieczenia sieci WLAN</string>
<string id="2154">Hasło sieci WLAN</string>
<!-- SERVICES -->
<string id="5000">Services</string>
<string id="5010">Samba</string>
<string id="5011">Uruchom Sambę przy starcie systemu</string>
</strings>

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<!-- General -->
<string id="2000">Sistema</string>
<string id="2010">Teclado</string>
<string id="2011">Disposición de teclas</string>
<string id="2012">Disposición alternativa (opcional)</string>
<string id="2020">Actualización del sistema</string>
<string id="2021">Actualización del sistema</string>
<string id="2050">LCD/VFD</string>
<string id="2051">Controlador del LCD</string>
<!-- Network -->
<string id="2100">Red</string>
<string id="2101">Red 2</string>
<string id="2110">General</string>
<string id="2111">Nombre de equipo</string>
<string id="2120">Adaptador de red</string>
<string id="2121">Tecnología de red</string>
<string id="2122">Interfaz de red</string>
<string id="2130">Parámetros IP</string>
<string id="2131">Dirección IP fija</string>
<string id="2132">Longitud de máscara de red</string>
<string id="2133">Ruta por defecto</string>
<string id="2134">Servidor DNS 1</string>
<string id="2135">Servidor DNS 2</string>
<string id="2136">Servidor DNS 3</string>
<string id="2150">Parámetros WLAN (Wi-Fi)</string>
<string id="2151">SSID WLAN</string>
<string id="2152">Red oculta</string>
<string id="2153">Seguridad WLAN</string>
<string id="2154">Clave WLAN</string>
<!-- SERVICES -->
<string id="5000">Services</string>
<string id="5010">Samba</string>
<string id="5011">Activar Samba al arranque</string>
</strings>

View File

@ -1,43 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<!-- System -->
<string id="2000">Sistem</string>
<string id="2010">Klavye</string>
<string id="2011">Klavye düzeni</string>
<string id="2012">Alternatif klavye düzeni (isteğe bağlı)</string>
<string id="2020">Sistem Güncelleme</string>
<string id="2021">Sistem Güncelleme</string>
<string id="2050">LCD/VFD</string>
<string id="2051">Kullanılacak LCD sürücüsü</string>
<!-- Network -->
<string id="2100"></string>
<string id="2101">Ağ 2</string>
<string id="2110">Genel</string>
<string id="2111">Ana Bilgisayar Adı</string>
<string id="2120">Ağ Bağdaştırıcısı</string>
<string id="2121">Ağ Teknolojisi</string>
<string id="2122">Ağ Arabirimi</string>
<string id="2130">IP ayarları</string>
<string id="2131">Statik IP adresi</string>
<string id="2132">Ağ Maskesi Önek Uzunluğu</string>
<string id="2133">Ağ geçidi</string>
<string id="2134">DNS sunucu 1</string>
<string id="2135">DNS sunucu 2</string>
<string id="2136">DNS sunucu 3</string>
<string id="2150">WLAN ayarları</string>
<string id="2151">WLAN SSID</string>
<string id="2152">Gizli Ağ</string>
<string id="2153">WLAN Güvenliği</string>
<string id="2154">WLAN Parolası</string>
<!-- SERVICES -->
<string id="5000">Services</string>
<string id="5010">Samba</string>
<string id="5011">Samba'yı önyüklemede başlat</string>
<string id="5012">Samba İçin Parola Kullan</string>
<string id="5013">Samba Kullanıcı adı</string>
<string id="5014">Samba Parolası</string>
</strings>

View File

@ -1,93 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
<!-- SYSTEM -->
<category label="2000">
<setting label="2010" type="lsep"/>
<setting type="sep" />
<setting id="X11_KEYMAP" type="labelenum" label="2011" values="ad|af|al|am|ara|at|az|ba|bd|be|bg|br|bt|bw|by|ca|cd|ch|cn|cz|de|dk|ee|epo|es|et|fi|fo|fr|gb|gr|hr|hu|ie|il|in|iq|ir|is|it|jp|ke|kg|kh|kr|kz|la|latam|latin|lk|lt|lv|ma|mao|me|mk|ml|mm|mn|mt|mv|ng|nl|no|np|pc|pk|pl|pt|ro|rs|ru|se|si|sk|sn|sy|th|tj|tm|tr|tz|ua|us|uz|vn|za" sort="yes" default="us"/>
<setting id="X11_KEYMAP2" type="labelenum" label="2012" values="-none-|ad|af|al|am|ara|at|az|ba|bd|be|bg|br|bt|bw|by|ca|cd|ch|cn|cz|de|dk|ee|epo|es|et|fi|fo|fr|gb|gr|hr|hu|ie|il|in|iq|ir|is|it|jp|ke|kg|kh|kr|kz|la|latam|latin|lk|lt|lv|ma|mao|me|mk|ml|mm|mn|mt|mv|ng|nl|no|np|pc|pk|pl|pt|ro|rs|ru|se|si|sk|sn|sy|th|tj|tm|tr|tz|ua|us|uz|vn|za" sort="yes" default="-none-"/>
<setting label="2020" type="lsep"/>
<setting type="sep" />
<setting id="UPDATE_AUTO" type="labelenum" label="2021" values="no|manual|auto" sort="yes" default="manual" />
<setting label="2050" type="lsep"/>
<setting type="sep" />
<setting id="LCD_DRIVER" type="labelenum" label="2051" values="none|irtrans|imon|imonlcd|mdm166a|MtxOrb|dm140|lis|hd44780|CFontz|SureElec" sort="yes" default="none" />
<setting label="2060" type="lsep"/>
<setting type="sep" />
<setting id="HDD_STANDBY" type="bool" label="2061" default="false" />
<setting id="HDD_STANDBY_TIME" type="number" label="2062" default="15" visible="eq(-1,true)" />
<setting label="2070" type="lsep"/>
<setting type="sep" />
<setting id="WAIT_NETWORK" type="bool" label="2071" default="false" />
<setting id="WAIT_NETWORK_TIME" type="number" label="2072" default="10" visible="eq(-1,true)" />
</category>
<!-- Network -->
<category label="2100">
<setting label="2110" type="lsep"/>
<setting type="sep" />
<setting id="NET_HOSTNAME" type="text" label="2111" default="openelec"/>
<setting label="2120" type="lsep"/>
<setting type="sep" />
<setting id="NET_NETWORK" type="labelenum" label="2121" values="LAN|WLAN" sort="yes" default="LAN" />
<setting id="NET_IFACE" type="labelenum" label="2122" values="eth0|eth1|wlan0|wlan1" sort="yes" default="eth0"/>
<setting label="2130" type="lsep"/>
<setting type="sep" />
<setting id="NET_IPADDRESS" type="ipaddress" label="2131" default=""/>
<setting id="NET_PREFIXLEN" type="labelenum" label="2132" values="0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32" sort="yes" default="24" visible="!eq(-1,)"/>
<setting id="NET_GATEWAY" type="ipaddress" label="2133" default="" visible="!eq(-2,)"/>
<setting id="NET_DNS1" type="ipaddress" label="2134" default="" visible="!eq(-3,)"/>
<setting id="NET_DNS2" type="ipaddress" label="2135" default="" visible="!eq(-1,)"/>
<setting id="NET_DNS3" type="ipaddress" label="2136" default="" visible="!eq(-1,)"/>
<setting label="2150" type="lsep" visible="eq(-10,1)"/>
<setting type="sep" visible="eq(-11,1)"/>
<setting id="NET_SSID" type="text" label="2151" default="" visible="eq(-12,1)"/>
<!-- <setting id="NET_HIDDEN" type="bool" label="2152" default="false" /> -->
<setting id="NET_SECURITY" type="labelenum" label="2153" values="NONE|WPA/WPA2|WEP" sort="yes" default="NONE" visible="!eq(-1,) + eq(-13,1)"/>
<setting id="NET_PASSPHRASE" type="text" option="hidden" label="2154" default="" visible="!eq(-1,0) + !eq(-2,) + eq(-14,1)"/>
</category>
<!-- Network 2 -->
<category label="2101">
<setting label="2120" type="lsep"/>
<setting type="sep" />
<setting id="NET2_NETWORK" type="labelenum" label="2121" values="NONE|LAN|WLAN" sort="yes" default="NONE" />
<setting id="NET2_IFACE" type="labelenum" label="2122" values="eth0|eth1|wlan0|wlan1" sort="yes" default="eth1" visible="!eq(-1,1)"/>
<setting label="2130" type="lsep" visible="!eq(-2,1)"/>
<setting type="sep" visible="!eq(-3,1)"/>
<setting id="NET2_IPADDRESS" type="ipaddress" label="2131" default="" visible="!eq(-4,1)"/>
<setting id="NET2_PREFIXLEN" type="labelenum" label="2132" values="0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32" sort="yes" default="24" visible="!eq(-1,)"/>
<setting id="NET2_GATEWAY" type="ipaddress" label="2133" default="" visible="!eq(-2,)"/>
<setting id="NET2_DNS1" type="ipaddress" label="2134" default="" visible="!eq(-3,)"/>
<setting id="NET2_DNS2" type="ipaddress" label="2135" default="" visible="!eq(-1,)"/>
<setting id="NET2_DNS3" type="ipaddress" label="2136" default="" visible="!eq(-1,)"/>
<setting label="2150" type="lsep" visible="eq(-10,2)"/>
<setting type="sep" visible="eq(-11,2)"/>
<setting id="NET2_SSID" type="text" label="2151" default="" visible="eq(-12,2)"/>
<!-- <setting id="NET2_HIDDEN" type="bool" label="2152" default="false" /> -->
<setting id="NET2_SECURITY" type="labelenum" label="2153" values="NONE|WPA/WPA2|WEP" sort="yes" default="NONE" visible="!eq(-1,) + eq(-13,2)"/>
<setting id="NET2_PASSPHRASE" type="text" option="hidden" label="2154" default="" visible="!eq(-1,0) + !eq(-2,) + eq(-14,2)"/>
</category>
<!-- SERVICES -->
<category label="5000">
<setting label="5010" type="lsep"/>
<setting type="sep" />
<setting id="SAMBA_START" type="bool" label="5011" default="true" />
<setting id="SAMBA_SECURITY" type="bool" label="5012" default="false" visible="eq(-1,true)"/>
<setting id="SAMBA_USERNAME" type="text" label="5013" default="openelec" visible="eq(-1,true) + eq(-2,true)"/>
<setting id="SAMBA_PASSWORD" type="text" option="hidden" label="5014" default="openelec" visible="eq(-2,true)+ eq(-3,true)"/>
<setting label="5020" type="lsep"/>
<setting type="sep" />
<setting id="SSHD_START" type="bool" label="5021" default="false" />
<setting id="SSHD_DISABLE_PW_AUTH" type="bool" label="5022" default="false" visible="eq(-1,true)"/>
<setting label="5030" type="lsep"/>
<setting type="sep" />
<setting id="CROND_START" type="bool" label="5031" default="false" />
<setting label="5040" type="lsep"/>
<setting type="sep" />
<setting id="SYSLOG_REMOTE" type="bool" label="5041" default="false" />
<setting id="SYSLOG_SERVER" type="ipaddress" label="5042" default="" visible="eq(-1,true)" />
</category>
</settings>

View File

@ -7,7 +7,7 @@
+ <control type="button" id="90120">
+ <include>ButtonHomeSubCommonValues</include>
+ <label>[COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR]</label>
+ <onclick>RunAddon(os.openelec.settings)</onclick>
+ <onclick>RunAddon(service.openelec.settings)</onclick>
+ </control>
<control type="button" id="90123">
<include>ButtonHomeSubCommonValues</include>

View File

@ -25,7 +25,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.xbmc.org"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS="boost Python zlib bzip2 systemd pcre ffmpeg libass curl libssh rtmpdump fontconfig tinyxml freetype libmad libogg libmodplug faad2 flac libmpeg2 taglib yajl sqlite xbmc-addon-settings"
PKG_DEPENDS="boost Python zlib bzip2 systemd pcre ffmpeg libass curl libssh rtmpdump fontconfig tinyxml freetype libmad libogg libmodplug faad2 flac libmpeg2 taglib yajl sqlite service.openelec.settings"
PKG_BUILD_DEPENDS="toolchain boost Python zlib bzip2 systemd lzo pcre swig ffmpeg libass enca curl libssh rtmpdump fontconfig fribidi tinyxml libjpeg-turbo libpng tiff freetype jasper libmad libsamplerate libogg libcdio libmodplug faad2 flac libmpeg2 taglib yajl sqlite"
PKG_PRIORITY="optional"
PKG_SECTION="mediacenter"

View File

@ -0,0 +1,32 @@
commit d1fcd3007827ddd2ab20864677a5baf64e4782a4
Author: Stefan Saraev <stefan@saraev.ca>
Date: Mon Jan 21 17:11:21 2013 +0200
add builtin to set GUI Language
diff --git a/xbmc/interfaces/Builtins.cpp b/xbmc/interfaces/Builtins.cpp
index fae2524..3f5ceab 100644
--- a/xbmc/interfaces/Builtins.cpp
+++ b/xbmc/interfaces/Builtins.cpp
@@ -120,6 +120,7 @@ const BUILT_IN commands[] = {
{ "Minimize", false, "Minimize XBMC" },
{ "Reset", false, "Reset the system (same as reboot)" },
{ "Mastermode", false, "Control master mode" },
+ { "SetGUILanguage", true, "Set GUI Language" },
{ "ActivateWindow", true, "Activate the specified window" },
{ "ActivateWindowAndFocus", true, "Activate the specified window and sets focus to the specified id" },
{ "ReplaceWindow", true, "Replaces the current window with the new one" },
@@ -321,6 +322,13 @@ int CBuiltins::Execute(const CStdString& execString)
CGUIMessage msg(GUI_MSG_NOTIFY_ALL, 0, 0, GUI_MSG_UPDATE);
g_windowManager.SendMessage(msg);
}
+ else if (execute.Equals("setguilanguage"))
+ {
+ if (params.size())
+ {
+ CApplicationMessenger::Get().SetGUILanguage(params[0]);
+ }
+ }
else if (execute.Equals("takescreenshot"))
{
CScreenShot::TakeScreenshot();

View File

@ -0,0 +1,87 @@
diff -Naur crystalhd-3cb6786/driver/linux/crystalhd_cmds.c crystalhd-3cb6786.patch/driver/linux/crystalhd_cmds.c
--- crystalhd-3cb6786/driver/linux/crystalhd_cmds.c 2012-12-08 03:31:38.000000000 +0100
+++ crystalhd-3cb6786.patch/driver/linux/crystalhd_cmds.c 2013-03-27 01:52:06.093400949 +0100
@@ -1093,7 +1093,7 @@
*
* Called at the time of driver load.
*/
-BC_STATUS __devinit crystalhd_setup_cmd_context(struct crystalhd_cmd *ctx,
+BC_STATUS crystalhd_setup_cmd_context(struct crystalhd_cmd *ctx,
struct crystalhd_adp *adp)
{
struct device *dev = &adp->pdev->dev;
@@ -1136,7 +1136,7 @@
*
* Called at the time of driver un-load.
*/
-BC_STATUS __devexit crystalhd_delete_cmd_context(struct crystalhd_cmd *ctx)
+BC_STATUS crystalhd_delete_cmd_context(struct crystalhd_cmd *ctx)
{
dev_dbg(chddev(), "Deleting Command context..\n");
diff -Naur crystalhd-3cb6786/driver/linux/crystalhd_lnx.c crystalhd-3cb6786.patch/driver/linux/crystalhd_lnx.c
--- crystalhd-3cb6786/driver/linux/crystalhd_lnx.c 2012-12-08 03:31:38.000000000 +0100
+++ crystalhd-3cb6786.patch/driver/linux/crystalhd_lnx.c 2013-03-27 01:51:47.768460170 +0100
@@ -431,7 +431,7 @@
.llseek = noop_llseek,
};
-static int __devinit chd_dec_init_chdev(struct crystalhd_adp *adp)
+static int chd_dec_init_chdev(struct crystalhd_adp *adp)
{
struct device *xdev = &adp->pdev->dev;
struct device *dev;
@@ -498,7 +498,7 @@
return rc;
}
-static void __devexit chd_dec_release_chdev(struct crystalhd_adp *adp)
+static void chd_dec_release_chdev(struct crystalhd_adp *adp)
{
crystalhd_ioctl_data *temp = NULL;
if (!adp)
@@ -523,7 +523,7 @@
/*crystalhd_delete_elem_pool(adp); */
}
-static int __devinit chd_pci_reserve_mem(struct crystalhd_adp *pinfo)
+static int chd_pci_reserve_mem(struct crystalhd_adp *pinfo)
{
struct device *dev = &pinfo->pdev->dev;
int rc;
@@ -582,7 +582,7 @@
return 0;
}
-static void __devexit chd_pci_release_mem(struct crystalhd_adp *pinfo)
+static void chd_pci_release_mem(struct crystalhd_adp *pinfo)
{
if (!pinfo)
return;
@@ -597,7 +597,7 @@
}
-static void __devexit chd_dec_pci_remove(struct pci_dev *pdev)
+static void chd_dec_pci_remove(struct pci_dev *pdev)
{
struct crystalhd_adp *pinfo;
BC_STATUS sts = BC_STS_SUCCESS;
@@ -625,7 +625,7 @@
g_adp_info = NULL;
}
-static int __devinit chd_dec_pci_probe(struct pci_dev *pdev,
+static int chd_dec_pci_probe(struct pci_dev *pdev,
const struct pci_device_id *entry)
{
struct device *dev = &pdev->dev;
@@ -815,7 +815,7 @@
static struct pci_driver bc_chd_driver = {
.name = "crystalhd",
.probe = chd_dec_pci_probe,
- .remove = __devexit_p(chd_dec_pci_remove),
+ .remove = chd_dec_pci_remove,
.id_table = chd_dec_pci_id_table,
.suspend = chd_dec_pci_suspend,
.resume = chd_dec_pci_resume

View File

@ -1,33 +0,0 @@
################################################################################
# Copyright (C) 2009-2010 OpenELEC.tv
# http://www.openelec.tv
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
# start Avahi Daemon
#
# runlevels: openelec, textmode
(
# sleep 10 sec to be ensure network is started
usleep 10000000
progress "Starting Avahi Daemon"
mkdir -p /var/run/avahi-daemon
avahi-daemon -D
)&

View File

@ -22,21 +22,16 @@
. config/options
if [ "$ALSA_SUPPORT" = "yes" ]; then
BLUEZ_ALSA="--enable-audio --enable-alsa"
else
BLUEZ_ALSA="--disable-audio --disable-alsa"
fi
if [ "$DEBUG" = "yes" ]; then
DEBUG_CONFIG="--enable-debug"
else
DEBUG_CONFIG="--disable-debug"
fi
if [ "$DEVTOOLS" = "yes" ]; then
DEVTOOLS_CONFIG="--enable-bccmd --enable-tools"
DEVTOOLS_CONFIG="--enable-monitor --enable-test --enable-tools"
else
DEVTOOLS_CONFIG="--disable-bccmd --disable-tools"
DEVTOOLS_CONFIG="--disable-monitor --disable-test --enable-tools"
fi
cd $PKG_BUILD
@ -50,39 +45,18 @@ cd $PKG_BUILD
--disable-silent-rules \
--enable-shared \
--disable-static \
--enable-optimization \
--enable-fortify \
--disable-pie \
--enable-network \
--disable-sap \
--disable-proximity \
--disable-serial \
--enable-input \
--enable-service \
--enable-health \
--disable-pnat \
--disable-gstreamer \
$BLUEZ_ALSA \
--enable-library \
--enable-usb \
--enable-datafiles \
--enable-pcmcia \
--enable-hid2hci \
--enable-dfutool \
--disable-hidd \
--disable-pand \
--disable-dund \
--enable-udev \
--disable-cups \
--enable-wiimote \
--disable-maemo6 \
--disable-dbusoob \
--enable-thermometer \
--disable-hal \
--disable-capng \
--disable-obex \
--enable-client \
--disable-systemd \
--enable-datafiles \
--disable-experimental \
--with-gnu-ld \
$DEBUG_CONFIG \
$DEVTOOLS_CONFIG \
--disable-test
make
$MAKEINSTALL

View File

@ -1,66 +0,0 @@
[General]
# List of plugins that should not be loaded on bluetoothd startup
DisablePlugins = input
# Default adaper name
# %h - substituted for hostname
# %d - substituted for adapter id
Name = %h-%d
# Default device class. Only the major and minor device class bits are
# considered.
Class = 0x000100
# How long to stay in discoverable mode before going back to non-discoverable
# The value is in seconds. Default is 180, i.e. 3 minutes.
# 0 = disable timer, i.e. stay discoverable forever
DiscoverableTimeout = 0
# How long to stay in pairable mode before going back to non-discoverable
# The value is in seconds. Default is 0.
# 0 = disable timer, i.e. stay pairable forever
PairableTimeout = 0
# Use some other page timeout than the controller default one
# which is 16384 (10 seconds).
PageTimeout = 8192
# Discover scheduler interval used in Adapter.DiscoverDevices
# The value is in seconds. Defaults is 30.
DiscoverSchedulerInterval = 30
# What value should be assumed for the adapter Powered property when
# SetProperty(Powered, ...) hasn't been called yet. Defaults to true
InitiallyPowered = true
# Remember the previously stored Powered state when initializing adapters
RememberPowered = true
# Use vendor, product and version information for DID profile support.
# The values are separated by ":" and VID, PID and version.
#DeviceID = 1234:5678:abcd
# Do reverse service discovery for previously unknown devices that connect to
# us. This option is really only needed for qualification since the BITE tester
# doesn't like us doing reverse SDP for some test cases (though there could in
# theory be other useful purposes for this too). Defaults to true.
ReverseServiceDiscovery = true
# Enable name resolving after inquiry. Set it to 'false' if you don't need
# remote devices name and want shorter discovery cycle. Defaults to 'true'.
NameResolving = true
# Enable runtime persistency of debug link keys. Default is false which
# makes debug link keys valid only for the duration of the connection
# that they were created for.
DebugKeys = false
# Enable Low Energy support if the dongle supports. Default is false.
# Enable/Disable interleave discovery and attribute server over LE.
EnableLE = false
# Enable the GATT Attribute Server. Default is false, because it is only
# useful for testing. Attribute server is not enabled over LE if EnableLE
# is false.
AttributeServer = false

View File

@ -22,59 +22,48 @@
. config/options
PKG_DIR=`find $PACKAGES -type d -name $1`
mkdir -p $INSTALL/etc/bluetooth
# cp $PKG_BUILD/src/main.conf $INSTALL/etc/bluetooth
cp $PKG_DIR/config/main.conf $INSTALL/etc/bluetooth
cp $PKG_BUILD/tools/rfcomm.conf $INSTALL/etc/bluetooth
cp $PKG_BUILD/input/input.conf $INSTALL/etc/bluetooth
if [ "$ALSA_SUPPORT" = yes ]; then
cp $PKG_BUILD/audio/audio.conf $INSTALL/etc/bluetooth
fi
mkdir -p $INSTALL/etc/dbus-1/system.d
cp $PKG_BUILD/src/bluetooth.conf $INSTALL/etc/dbus-1/system.d
mkdir -p $INSTALL/lib/udev
# not needed: cp $PKG_BUILD/scripts/bluetooth_serial $INSTALL/lib/udev
# not needed: chmod +x $INSTALL/lib/udev/bluetooth_serial
cp $PKG_BUILD/tools/hid2hci $INSTALL/lib/udev
mkdir -p $INSTALL/lib/udev/rules.d
cp $PKG_BUILD/scripts/97-bluetooth.rules $INSTALL/lib/udev/rules.d
# todo: cp $PKG_BUILD/scripts/97-bluetooth-hid2hci.rules $INSTALL/lib/udev/rules.d
# not needed: cp $PKG_BUILD/scripts/97-bluetooth-serial.rules $INSTALL/lib/udev/rules.d
mkdir -p $INSTALL/usr/lib/bluetooth
cp $PKG_BUILD/src/bluetoothd $INSTALL/usr/lib/bluetooth
cp $PKG_BUILD/obexd/src/obexd $INSTALL/usr/lib/bluetooth
mkdir -p $INSTALL/usr/lib
cp -P $PKG_BUILD/lib/.libs/libbluetooth.so* $INSTALL/usr/lib
if [ "$ALSA_SUPPORT" = yes ]; then
mkdir -p $INSTALL/usr/lib/alsa
cp $PKG_BUILD/audio/.libs/*.so $INSTALL/usr/lib/alsa
fi
# client
mkdir -p $INSTALL/usr/bin
cp $PKG_BUILD/client/bluetoothctl $INSTALL/usr/bin
mkdir -p $INSTALL/usr/lib/bluetooth/plugins
# tools
mkdir -p $INSTALL/lib/udev
cp $PKG_BUILD/tools/hid2hci $INSTALL/lib/udev
mkdir -p $INSTALL/usr/sbin
cp $PKG_BUILD/src/bluetoothd $INSTALL/usr/sbin
mkdir -p $INSTALL/usr/share/alsa
cp $PKG_BUILD/audio/bluetooth.conf $INSTALL/usr/share/alsa
mkdir -p $INSTALL/lib/udev/rules.d
cp $PKG_BUILD/tools/97-hid2hci.rules $INSTALL/lib/udev/rules.d
if [ "$DEVTOOLS" = "yes" ]; then
# tools
mkdir -p $INSTALL/usr/bin
cp $PKG_BUILD/tools/bccmd $INSTALL/usr/bin
cp $PKG_BUILD/tools/ciptool $INSTALL/usr/bin
cp $PKG_BUILD/tools/dfutool $INSTALL/usr/bin
cp $PKG_BUILD/tools/hciattach $INSTALL/usr/bin
cp $PKG_BUILD/tools/hciconfig $INSTALL/usr/bin
cp $PKG_BUILD/tools/hcidump $INSTALL/usr/bin
cp $PKG_BUILD/tools/hcitool $INSTALL/usr/bin
cp $PKG_BUILD/tools/l2ping $INSTALL/usr/bin
cp $PKG_BUILD/tools/l2test $INSTALL/usr/bin
cp $PKG_BUILD/tools/rctest $INSTALL/usr/bin
cp $PKG_BUILD/tools/rfcomm $INSTALL/usr/bin
cp $PKG_BUILD/tools/sdptool $INSTALL/usr/bin
mkdir -p $INSTALL/usr/sbin
cp $PKG_BUILD/tools/bccmd $INSTALL/usr/sbin # TODO
cp $PKG_BUILD/tools/hciattach $INSTALL/usr/sbin
cp $PKG_BUILD/tools/hciconfig $INSTALL/usr/sbin
fi
# monitor
mkdir -p $INSTALL/usr/bin
cp $PKG_BUILD/monitor/btmon $INSTALL/usr/bin
# test
mkdir -p $INSTALL/usr/lib/bluez/test
cp -P $PKG_BUILD/test/* $INSTALL/usr/lib/bluez/test
chmod +x $INSTALL/usr/lib/bluez/test/*
fi

View File

@ -19,14 +19,14 @@
################################################################################
PKG_NAME="bluez"
PKG_VERSION="4.99"
PKG_VERSION="5.3"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.bluez.org/"
PKG_URL="http://www.kernel.org/pub/linux/bluetooth/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS="libusb-compat dbus glib systemd"
PKG_BUILD_DEPENDS="toolchain libusb-compat dbus glib systemd"
PKG_BUILD_DEPENDS="toolchain libusb-compat dbus glib systemd readline"
PKG_PRIORITY="optional"
PKG_SECTION="network"
PKG_SHORTDESC="bluez: Bluetooth Tools and System Daemons for Linux."

View File

@ -1,12 +0,0 @@
diff -Naur bluez-4.101-old/configure.ac bluez-4.101-new/configure.ac
--- bluez-4.101-old/configure.ac 2012-06-22 09:36:49.000000000 -0700
+++ bluez-4.101-new/configure.ac 2012-12-29 08:49:05.000000000 -0800
@@ -2,7 +2,7 @@
AC_INIT(bluez, 4.101)
AM_INIT_AUTOMAKE([foreign subdir-objects color-tests])
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS(config.h)
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])

View File

@ -1,15 +0,0 @@
X-Git-Url: http://git.kernel.org/?p=bluetooth%2Fbluez.git;a=blobdiff_plain;f=tools%2Fhid2hci.c;h=e3a5b2ef785a782bd3da4ae9c44704a32dc2f665;hp=45a3a3db8b29411ee193e480f5ce8a82a40103d1;hb=35beaaa5b39d50eabd54563804182bb01a5d7ff4;hpb=cc47dc79aac98f7b25bd2afccf1c10560e779d16
diff --git a/tools/hid2hci.c b/tools/hid2hci.c
index 45a3a3d..e3a5b2e 100644
--- a/tools/hid2hci.c
+++ b/tools/hid2hci.c
@@ -291,7 +291,7 @@ int main(int argc, char *argv[])
if (udev == NULL)
goto exit;
- snprintf(syspath, sizeof(syspath), "%s/%s", udev_get_sys_path(udev), devpath);
+ snprintf(syspath, sizeof(syspath), "/sys/%s", devpath);
udev_dev = udev_device_new_from_syspath(udev, syspath);
if (udev_dev == NULL) {
fprintf(stderr, "error: could not find '%s'\n", devpath);

View File

@ -0,0 +1,122 @@
diff -Naur bluez-5.1/test/simple-agent bluez-5.1.patch/test/simple-agent
--- bluez-5.1/test/simple-agent 2012-12-24 18:46:55.000000000 +0100
+++ bluez-5.1.patch/test/simple-agent 2013-02-02 05:24:47.752050167 +0100
@@ -2,7 +2,7 @@
from __future__ import absolute_import, print_function, unicode_literals
-from gi.repository import GObject
+import gobject
import sys
import dbus
@@ -151,7 +151,7 @@
path = "/test/agent"
agent = Agent(bus, path)
- mainloop = GObject.MainLoop()
+ mainloop = gobject.MainLoop()
obj = bus.get_object(BUS_NAME, "/org/bluez");
manager = dbus.Interface(obj, "org.bluez.AgentManager1")
diff -Naur bluez-5.1/test/test-device bluez-5.1.patch/test/test-device
--- bluez-5.1/test/test-device 2012-12-24 18:46:55.000000000 +0100
+++ bluez-5.1.patch/test/test-device 2013-02-02 05:24:47.755050146 +0100
@@ -2,7 +2,7 @@
from __future__ import absolute_import, print_function, unicode_literals
-from gi.repository import GObject
+import gobject
import sys
import dbus
@@ -13,7 +13,7 @@
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
bus = dbus.SystemBus()
-mainloop = GObject.MainLoop()
+mainloop = gobject.MainLoop()
option_list = [
make_option("-i", "--device", action="store",
diff -Naur bluez-5.1/test/test-discovery bluez-5.1.patch/test/test-discovery
--- bluez-5.1/test/test-discovery 2012-12-24 18:46:55.000000000 +0100
+++ bluez-5.1.patch/test/test-discovery 2013-02-02 05:24:47.755050146 +0100
@@ -2,7 +2,7 @@
from __future__ import absolute_import, print_function, unicode_literals
-from gi.repository import GObject
+import gobject
import dbus
import dbus.mainloop.glib
@@ -152,5 +152,5 @@
adapter.StartDiscovery()
- mainloop = GObject.MainLoop()
+ mainloop = gobject.MainLoop()
mainloop.run()
diff -Naur bluez-5.1/test/test-hfp bluez-5.1.patch/test/test-hfp
--- bluez-5.1/test/test-hfp 2012-12-24 18:46:55.000000000 +0100
+++ bluez-5.1.patch/test/test-hfp 2013-02-02 05:24:47.756050139 +0100
@@ -2,7 +2,7 @@
from __future__ import absolute_import, print_function, unicode_literals
-from gi.repository import GObject
+import gobject
import os
import sys
@@ -217,7 +217,7 @@
(options, args) = parser.parse_args()
- mainloop = GObject.MainLoop()
+ mainloop = gobject.MainLoop()
opts = {
"Version" : dbus.UInt16(0x0106),
diff -Naur bluez-5.1/test/test-manager bluez-5.1.patch/test/test-manager
--- bluez-5.1/test/test-manager 2012-12-24 18:46:55.000000000 +0100
+++ bluez-5.1.patch/test/test-manager 2013-02-02 05:24:47.757050132 +0100
@@ -2,7 +2,7 @@
from __future__ import absolute_import, print_function, unicode_literals
-from gi.repository import GObject
+import gobject
import dbus
import dbus.mainloop.glib
@@ -35,5 +35,5 @@
except:
print("No adapter found")
- mainloop = GObject.MainLoop()
+ mainloop = gobject.MainLoop()
mainloop.run()
diff -Naur bluez-5.1/test/test-profile bluez-5.1.patch/test/test-profile
--- bluez-5.1/test/test-profile 2012-12-24 18:46:55.000000000 +0100
+++ bluez-5.1.patch/test/test-profile 2013-02-02 05:24:47.757050132 +0100
@@ -2,7 +2,7 @@
from __future__ import absolute_import, print_function, unicode_literals
-from gi.repository import GObject
+import gobject
import os
import sys
@@ -93,7 +93,7 @@
profile = Profile(bus, options.path)
- mainloop = GObject.MainLoop()
+ mainloop = gobject.MainLoop()
opts = {
"AutoConnect" : options.auto_connect,

View File

@ -1,6 +0,0 @@
ACTION!="add|change", GOTO="end"
KERNEL=="hci[0-9]*", SUBSYSTEM=="bluetooth", RUN+="/usr/sbin/hciconfig %k up"
KERNEL=="hci[0-9]*", SUBSYSTEM=="bluetooth", RUN+="/usr/sbin/hciconfig %k lm master"
LABEL="end"

View File

@ -75,4 +75,4 @@ cd $PKG_BUILD
--enable-datafiles \
--disable-silent-rules \
make
make storagedir=/storage/.cache/connman vpn_storagedir=/storage/.config/vpn-config statedir=/run/connman

View File

@ -1,7 +0,0 @@
[General]
# Enable background scanning. Default is true.
# Background scanning will start every 5 minutes unless
# the scan list is empty. In that case, a simple backoff
# mechanism starting from 10s up to 5 minutes will run.
BackgroundScanning = true

View File

@ -0,0 +1,18 @@
[global]
OfflineMode=false
Timeservers=0.pool.ntp.org;1.pool.ntp.org;2.pool.ntp.org;3.pool.ntp.org
[Wired]
Enable=true
[WiFi]
Enable=true
[Bluetooth]
Enable=false
[3G]
Enable=false
[WiMAX]
Enable=false

View File

@ -22,254 +22,24 @@
#
# runlevels: openelec, textmode
connman_state() {
local dbus_reply="$(mktemp)"
if [ -z "$1" ]; then
dbus-send --system --type=method_call --print-reply --dest=net.connman / net.connman.Manager.GetProperties >$dbus_reply 2>/dev/null
else
dbus-send --system --type=method_call --print-reply --dest=net.connman /net/connman/service/$1 net.connman.Service.GetProperties >$dbus_reply 2>/dev/null
fi
mkdir -p /storage/.cache/connman
mkdir -p /storage/.config/vpn-config
mkdir -p /run/connman
ret=$(awk '
/string *"State"/ {
getline line
if (line ~ /string "/){
sub(/.*string "/, "", line)
sub(/"/, "", line)
print line
break
}
}
' $dbus_reply)
rm -f $dbus_reply
echo $ret
}
set_basic() {
# run it from here too - debugging
if [ -f /etc/init.d/06_systemconfig ]; then
. /etc/init.d/06_systemconfig
fi
if [ -f /var/config/settings.conf ]; then
. /var/config/settings.conf
fi
[ -z "$NET_HOSTNAME" ] && NET_HOSTNAME="openelec"
# setup hostname
progress "Setup hostname"
echo "$NET_HOSTNAME" > /proc/sys/kernel/hostname
# create /etc/hosts file, useful for gethostbyname(localhost)
progress "creating /etc/hosts"
echo -e "127.0.0.1\tlocalhost $NET_HOSTNAME" > /etc/hosts
# starting loopback device
# starting loopback device
progress "starting loopback device"
ifconfig lo up
# add user defined hosts.conf entry's
[ -f $HOME/.config/hosts.conf ] && cat $HOME/.config/hosts.conf >> /etc/hosts
CONNMAN_SETTINGS="/var/lib/connman/settings"
rm -rf /var/lib/connman
mkdir -p /var/lib/connman
mkdir -p /var/run/connman
cat > $CONNMAN_SETTINGS <<EOF
[global]
OfflineMode=false
Timeservers=0.pool.ntp.org;1.pool.ntp.org;2.pool.ntp.org;3.pool.ntp.org
[WiFi]
Enable=true
[Wired]
Enable=true
[Bluetooth]
Enable=false
[3G]
Enable=false
[WiMAX]
Enable=false
EOF
}
set_hwclock() {
# set hwclock
if [ -f /proc/driver/rtc ]; then
(
# sleep 30 seconds before hw clock is synced
usleep 30000000
progress "syncing hardware clock with system clock"
/sbin/hwclock --systohc --utc
)&
# creating initial settings file
progress "creating initial connman settings file"
if [ ! -f /storage/.cache/connman/settings ]; then
cp /usr/share/connman/settings /storage/.cache/connman
fi
}
set_ip_address() {
if [ -z "$NET_IPADDRESS" -o "$NET_IPADDRESS" = "0.0.0.0" ]; then
echo "IPv4.method=dhcp" >> $CONNMAN_PROFILE
else
echo "IPv4.method=manual" >> $CONNMAN_PROFILE
echo "IPv4.local_address=$NET_IPADDRESS" >> $CONNMAN_PROFILE
[ -n "$NET_PREFIXLEN" ] && echo "IPv4.netmask_prefixlen=$NET_PREFIXLEN" >> $CONNMAN_PROFILE
[ -n "$NET_GATEWAY" ] && echo "IPv4.gateway=$NET_GATEWAY" >> $CONNMAN_PROFILE
fi
[ -n "$NET_DNS1" ] && NET_NAMESERVER="$NET_DNS1;"
[ -n "$NET_DNS2" ] && NET_NAMESERVER="${NET_NAMESERVER}$NET_DNS2;"
[ -n "$NET_DNS3" ] && NET_NAMESERVER="${NET_NAMESERVER}$NET_DNS3;"
[ -n "$NET_NAMESERVER" ] && echo "Nameservers=$NET_NAMESERVER" >> $CONNMAN_PROFILE
(
local log_file="/var/log/${PROFILE_NAME}.log"
for i in $(seq 1 60); do
echo "--- $i $PROFILE_NAME ------------" >>$log_file 2>&1
dbus-send --system --dest=net.connman --print-reply /net/connman/service/${PROFILE_NAME} net.connman.Service.Connect >>$log_file 2>&1
usleep 500000
state=$(connman_state $PROFILE_NAME)
echo "state: <$state>" >>$log_file 2>&1
if [ "$state" = "online" -o "$state" = "ready" ]; then
echo "Done." >>$log_file 2>&1
break
else
usleep 1000000
fi
done
)&
}
set_wired_interface() {
local NET_MAC=""
for i in $(seq 1 30); do
if [ ! -f /sys/class/net/$NET_IFACE/address ]; then
logger -t Connman "### [$i] cannot find /sys/class/net/$NET_IFACE/address ###"
usleep 500000
else
logger -t Connman "### [$i] found /sys/class/net/$NET_IFACE/address, continue ###"
NET_MAC=`cat /sys/class/net/$NET_IFACE/address | sed 's/://g'`
break
fi
done
# don't continue if interface is not found
[ -z "$NET_MAC" ] && return
PROFILE_NAME="ethernet_${NET_MAC}_cable"
CONNMAN_PROFILE=/var/lib/connman/${PROFILE_NAME}/settings
mkdir -p /var/lib/connman/${PROFILE_NAME}
echo "[${PROFILE_NAME}]" > $CONNMAN_PROFILE
echo "AutoConnect=true" >> $CONNMAN_PROFILE
if [ "$1" = "1" ]; then
echo "Favorite=true" >> $CONNMAN_PROFILE
else
echo "Favorite=false" >> $CONNMAN_PROFILE
fi
set_ip_address
}
set_wireless_interface() {
# we need ssid
[ -z "$NET_SSID" ] && return
local NET_SSID_HEX=`echo -n "$NET_SSID" | od -tx1 | cut -c8-| tr -d ' \n'`
local NET_MAC=""
for i in $(seq 1 120); do
if [ ! -f /sys/class/net/$NET_IFACE/address ]; then
logger -t Connman "### [$i] cannot find /sys/class/net/$NET_IFACE/address ###"
usleep 500000
else
logger -t Connman "### [$i] found /sys/class/net/$NET_IFACE/address, continue ###"
NET_MAC=`cat /sys/class/net/$NET_IFACE/address | sed 's/://g'`
break
fi
done
# don't continue if interface is not found
[ -z "$NET_MAC" ] && return
# NET_SECURITY: ( NONE / WEP / WPA/WPA2 )
if [ "$NET_SECURITY" = "WEP" -a -n "$NET_PASSPHRASE" ]; then
MODE="managed_wep"
elif [ "$NET_SECURITY" = "WPA/WPA2" -a -n "$NET_PASSPHRASE" ]; then
MODE="managed_psk"
else
MODE="managed_none"
fi
if [ "$NET_HIDDEN" = "true" ]; then
PROFILE_NAME="wifi_${NET_MAC}_hidden_${MODE}"
else
PROFILE_NAME="wifi_${NET_MAC}_${NET_SSID_HEX}_${MODE}"
fi
CONNMAN_PROFILE=/var/lib/connman/${PROFILE_NAME}/settings
mkdir -p /var/lib/connman/${PROFILE_NAME}
echo "[${PROFILE_NAME}]" > $CONNMAN_PROFILE
echo "Name=$NET_SSID" >> $CONNMAN_PROFILE
echo "SSID=$NET_SSID_HEX" >> $CONNMAN_PROFILE
[ -n "$NET_PASSPHRASE" ] && echo "Passphrase=$NET_PASSPHRASE" >> $CONNMAN_PROFILE
echo "AutoConnect=true" >> $CONNMAN_PROFILE
if [ "$1" = "1" ]; then
echo "Favorite=true" >> $CONNMAN_PROFILE
else
echo "Favorite=false" >> $CONNMAN_PROFILE
fi
set_ip_address
}
set_interface() {
for i in 1 2; do
if [ "$i" = "2" ]; then
if [ -n "$NET2_NETWORK" -a "$NET2_NETWORK" != "NONE" -a "$NET2_IFACE" != "$NET_IFACE" ]; then
# set second interface
NET_DNS1="$NET2_DNS1"
NET_DNS2="$NET2_DNS2"
NET_DNS3="$NET2_DNS3"
NET_GATEWAY="$NET2_GATEWAY"
NET_HIDDEN="$NET2_HIDDEN"
NET_IFACE="$NET2_IFACE"
NET_IPADDRESS="$NET2_IPADDRESS"
NET_NETWORK="$NET2_NETWORK"
NET_PASSPHRASE="$NET2_PASSPHRASE"
NET_PREFIXLEN="$NET2_PREFIXLEN"
NET_SECURITY="$NET2_SECURITY"
NET_SSID="$NET2_SSID"
else
break
fi
fi
if [ "$NET_NETWORK" = "WLAN" ]; then
progress "Setup networking $i WLAN"
set_wireless_interface $i
elif [ "$NET_NETWORK" = "LAN" ]; then
progress "Setup networking $i LAN"
set_wired_interface $i
fi
done
}
(
# starting Connection manager
# starting Connection manager
progress "starting Connection manager"
while true; do
set_basic
set_interface
set_hwclock
if [ -f $HOME/.config/debug.connman ]; then
/usr/sbin/connmand -nrd > /dev/null 2>&1
else

View File

@ -29,7 +29,10 @@ mkdir -p $INSTALL/etc
ln -sf /var/cache/resolv.conf $INSTALL/etc/resolv.conf
mkdir -p $INSTALL/etc/connman
cp $PKG_DIR/config/main.conf $INSTALL/etc/connman
cp $PKG_BUILD/src/main.conf $INSTALL/etc/connman
sed -i $INSTALL/etc/connman/main.conf \
-e "s|^# BackgroundScanning.*|BackgroundScanning = true|g" \
-e "s|^# PreferredTechnologies.*|PreferredTechnologies = ethernet,wifi,cellular|g"
mkdir -p $INSTALL/etc/dbus-1/system.d
cp $PKG_BUILD/src/connman.conf $INSTALL/etc/dbus-1/system.d
@ -52,6 +55,9 @@ mkdir -p $INSTALL/usr/sbin
mkdir -p $INSTALL/usr/config
cp $PKG_DIR/config/hosts.conf $INSTALL/usr/config
mkdir -p $INSTALL/usr/share/connman/
cp $PKG_DIR/config/settings $INSTALL/usr/share/connman/
if [ "$PPTP_SUPPORT" = yes -o "$OPENVPN_SUPPORT" = yes ]; then
mkdir -p $INSTALL/etc/dbus-1/system.d
cp $PKG_BUILD/vpn/connman-vpn-dbus.conf $INSTALL/etc/dbus-1/system.d

View File

@ -19,12 +19,13 @@
################################################################################
PKG_NAME="connman"
PKG_VERSION="1.12"
PKG_VERSION="baa5515"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.connman.net"
PKG_URL="http://www.kernel.org/pub/linux/network/connman/$PKG_NAME-$PKG_VERSION.tar.xz"
#PKG_URL="http://www.kernel.org/pub/linux/network/connman/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS="glib readline dbus systemd iptables wpa_supplicant ntp Python pygobject dbus-python"
PKG_BUILD_DEPENDS="toolchain glib readline dbus systemd iptables"
PKG_PRIORITY="optional"

View File

@ -1,35 +0,0 @@
From 9944240ba52d19f04fb4bf468a8524f570e5fa6d Mon Sep 17 00:00:00 2001
From: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Date: Fri, 22 Mar 2013 14:15:19 +0000
Subject: dnsproxy: Make sure we are not accessing null hash
If dnsproxy is not in use, like when connman has been started
with -r option, then the listener_table will be NULL which can
cause crash in hash table lookup call.
---
diff --git a/src/dnsproxy.c b/src/dnsproxy.c
index f698cfd..7a9ca91 100644
--- a/src/dnsproxy.c
+++ b/src/dnsproxy.c
@@ -2916,6 +2916,9 @@ int __connman_dnsproxy_add_listener(int index)
if (index < 0)
return -EINVAL;
+ if (listener_table == NULL)
+ return 0;
+
if (g_hash_table_lookup(listener_table, GINT_TO_POINTER(index)) != NULL)
return 0;
@@ -2947,6 +2950,9 @@ void __connman_dnsproxy_remove_listener(int index)
DBG("index %d", index);
+ if (listener_table == NULL)
+ return;
+
ifdata = g_hash_table_lookup(listener_table, GINT_TO_POINTER(index));
if (ifdata == NULL)
return;
--
cgit v0.9.1

View File

@ -19,18 +19,18 @@
################################################################################
wait_for_inet_addr () {
if [ -f /var/config/settings.conf ]; then
. /var/config/settings.conf
fi
if [ -f /storage/.cache/openelec/network_wait ]; then
. /storage/.cache/openelec/network_wait
if [ "$WAIT_NETWORK" = "true" ] ; then
progress "Wait for network"
[ -z "$WAIT_NETWORK_TIME" ] && WAIT_NETWORK_TIME=10
LOOP_COUNT=$[$WAIT_NETWORK_TIME * 5]
for i in $(seq 1 $LOOP_COUNT) ; do
cnt=$(ifconfig | sed -e '/inet addr:/!d' -e '/127.0.0.1/d' |wc -l)
[ $cnt -gt 0 ] && break
usleep 200000
done
if [ "$WAIT_NETWORK" = "true" ] ; then
progress "Wait for network"
[ -z "$WAIT_NETWORK_TIME" ] && WAIT_NETWORK_TIME=10
LOOP_COUNT=$[$WAIT_NETWORK_TIME * 5]
for i in $(seq 1 $LOOP_COUNT) ; do
cnt=$(ifconfig | sed -e '/inet addr:/!d' -e '/127.0.0.1/d' |wc -l)
[ $cnt -gt 0 ] && break
usleep 200000
done
fi
fi
}

View File

@ -22,8 +22,17 @@
#
# runlevels: openelec, textmode
if [ -f /var/config/settings.conf ]; then
. /var/config/settings.conf
if [ -f /etc/sshd.conf ]; then
. /etc/sshd.conf
elif [ -f /storage/.config/sshd.conf ]; then
. /storage/.config/sshd.conf
fi
# Check if password authentication is disabled
OPTIONS=""
if [ "$SSHD_DISABLE_PW_AUTH" == "true" ] ; then
OPTIONS="-o 'PasswordAuthentication no'"
fi
RSA1_KEY="/storage/.cache/ssh/ssh_host_key"
@ -36,11 +45,7 @@
HOME="/storage"
(
if [ -f /etc/ssh.conf ]; then
. /etc/ssh.conf
fi
if [ "$SSH" = yes -o -f /storage/.config/ssh_enable -o "$SSHD_START" == "true" ]; then
if [ "$SSH" = "yes" -o "$SSHD_START" = "true" ]; then
# Check for the SSH1 RSA key
if [ ! -s $RSA1_KEY ] ; then
@ -81,12 +86,6 @@
cp /etc/ssh/known_hosts $HOME/.ssh
fi
# Check if password authentication is disabled
OPTIONS=""
if [ "$SSHD_DISABLE_PW_AUTH" == "true" ] ; then
OPTIONS="-o 'PasswordAuthentication no'"
fi
progress "Starting SSH Server"
mkdir -p /var/empty

View File

@ -43,7 +43,4 @@ if [ "$SAMBA_SERVER" = "yes" ]; then
mkdir -p $INSTALL/usr/config
cp $PKG_DIR/config/smb.conf $INSTALL/usr/config/samba.conf.sample
fi
mkdir -p $INSTALL/etc/init.d
cp $PKG_DIR/scripts/* $INSTALL/etc/init.d
fi

View File

@ -1,86 +0,0 @@
################################################################################
# Copyright (C) 2009-2010 OpenELEC.tv
# http://www.openelec.tv
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
# start Samba Server
#
# runlevels: openelec, textmode
(
if [ -f /var/config/settings.conf ]; then
. /var/config/settings.conf
if [ "$SAMBA_START" = "true" ]; then
# sleep 10 sec to be ensure network is started
usleep 10000000
progress "Starting Samba server"
SMB_USERCONF="/storage/.config/samba.conf"
SMB_DEFCONF="/etc/samba/smb.conf"
SMB_CONF="/var/run/smb.conf"
mkdir -p /var/run
if [ -f $SMB_USERCONF ]; then
cp $SMB_USERCONF $SMB_CONF
else
cp $SMB_DEFCONF $SMB_CONF
fi
# only letters & numbers permitted for username & password
SAMBA_USERNAME=`echo $SAMBA_USERNAME | sed "s/[^a-zA-Z0-9]//g;"`
SAMBA_PASSWORD=`echo $SAMBA_PASSWORD | sed "s/[^a-zA-Z0-9]//g;"`
if [ "$SAMBA_SECURITY" == "true" -a ! "$SAMBA_USERNAME" == "" -a ! "$SAMBA_PASSWORD" == "" ] ; then
# username map: first line makes sure plain root does not work all the time
# processing continues, so if user chooses root as username, second line overrides the first
# this is done always in case user uses passwords in userconf.
# many thanks to viljoviitanen for this
echo -e "$SAMBA_PASSWORD\n$SAMBA_PASSWORD" | smbpasswd -s -a root >/dev/null 2>&1
echo -e "nobody = root\nroot = $SAMBA_USERNAME" > /var/run/samba.map
# set public = no
sed -e 's|^.[ \t]*.public.=.*| public = no |' $SMB_CONF > $SMB_CONF.tmp && \
mv $SMB_CONF.tmp $SMB_CONF
# remove username map (if any in userconfig)
sed -e 's|^.[ \t]*.username map.=.*||' $SMB_CONF > $SMB_CONF.tmp && \
mv $SMB_CONF.tmp $SMB_CONF
# set security = share, add username map
sed -e 's|^.[ \t]*.security.=.*| security = user\n username map = /var/run/samba.map|' $SMB_CONF > $SMB_CONF.tmp && \
mv $SMB_CONF.tmp $SMB_CONF
else
# set public = yes
sed -e 's|^.[ \t]*.public.=.*| public = yes |' $SMB_CONF > $SMB_CONF.tmp && \
mv $SMB_CONF.tmp $SMB_CONF
# remove username map (if any in userconfig)
sed -e 's|^.[ \t]*.username map.=.*||' $SMB_CONF > $SMB_CONF.tmp && \
mv $SMB_CONF.tmp $SMB_CONF
# set security = share
sed -e 's|^.[ \t]*.security.=.*| security = share|' $SMB_CONF > $SMB_CONF.tmp && \
mv $SMB_CONF.tmp $SMB_CONF
fi
SMB_ARG="--configfile=$SMB_CONF"
mkdir -p /var/log/samba
nmbd --daemon $SMB_ARG > /dev/null 2>&1
smbd --daemon $SMB_ARG > /dev/null 2>&1
fi
fi
)&

View File

@ -36,7 +36,6 @@ cd $PKG_BUILD
--disable-introspection \
make
$MAKEINSTALL
python -Wi -t -B $PYTHON_HOST_LIBDIR/compileall.py ./pygtk.py -f

View File

@ -1,38 +0,0 @@
diff -Naur PyBluez-0.18/bluetooth/__init__.py PyBluez-0.18.patch/bluetooth/__init__.py
--- PyBluez-0.18/bluetooth/__init__.py 2009-11-24 09:39:49.000000000 +0100
+++ PyBluez-0.18.patch/bluetooth/__init__.py 2011-11-30 11:41:31.652163261 +0100
@@ -30,10 +30,12 @@
_dbg("Widcomm not ready. falling back to MS stack")
from msbt import *
-elif sys.platform == "linux2":
+elif sys.platform.startswith("linux"):
from bluez import *
elif sys.platform == "darwin":
from osx import *
+else:
+ raise Exception("This platform (%s) is currently not supported by pybluez." % sys.platform)
discover_devices.__doc__ = \
"""
diff -Naur PyBluez-0.18/setup.py PyBluez-0.18.patch/setup.py
--- PyBluez-0.18/setup.py 2009-11-25 23:39:55.000000000 +0100
+++ PyBluez-0.18.patch/setup.py 2011-11-30 11:42:45.018457088 +0100
@@ -46,7 +46,7 @@
)
mods.append (mod2)
-elif sys.platform == 'linux2':
+elif sys.platform.startswith('linux'):
mod1 = Extension('bluetooth._bluetooth',
libraries = ['bluetooth'],
sources = ['bluez/btmodule.c', 'bluez/btsdp.c'])
@@ -59,6 +59,8 @@
sources = ['osx/_osxbt.c']
)
mods = [ mod1 ]
+else:
+ raise Exception("This platform (%s) is currently not supported by pybluez." % sys.platform)
setup ( name = 'PyBluez',

View File

@ -1,14 +0,0 @@
diff -Naur PyBluez-0.18/setup.py PyBluez-0.18.patch/setup.py
--- PyBluez-0.18/setup.py 2009-11-25 23:39:55.000000000 +0100
+++ PyBluez-0.18.patch/setup.py 2010-10-18 23:47:16.585821819 +0200
@@ -1,7 +1,9 @@
#!/usr/bin/env python
-from distutils.core import setup, Extension
+from setuptools import setup
+from setuptools.extension import Extension
from distutils.debug import DEBUG
+
import sys
import os

View File

@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Busybox version: 1.21.0
# Fri Feb 8 17:06:15 2013
# Wed Mar 27 04:33:31 2013
#
CONFIG_HAVE_DOT_CONFIG=y
@ -472,9 +472,9 @@ CONFIG_LOGIN_SCRIPTS=y
# CONFIG_FEATURE_SECURETTY is not set
# CONFIG_PASSWD is not set
# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
# CONFIG_CRYPTPW is not set
CONFIG_CRYPTPW=y
# CONFIG_CHPASSWD is not set
CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des"
CONFIG_SU=y
CONFIG_FEATURE_SU_SYSLOG=y
CONFIG_FEATURE_SU_CHECKS_SHELLS=y
@ -559,7 +559,7 @@ CONFIG_FLOCK=y
# CONFIG_MKFS_MINIX is not set
# CONFIG_FEATURE_MINIX2 is not set
# CONFIG_MKFS_REISER is not set
# CONFIG_MKFS_VFAT is not set
CONFIG_MKFS_VFAT=y
CONFIG_GETOPT=y
CONFIG_FEATURE_GETOPT_LONG=y
# CONFIG_HEXDUMP is not set

View File

@ -1,35 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
#
# copy system config
#
# runlevels: openelec, textmode
OPENELEC_SETTINGS="$HOME/.xbmc/userdata/addon_data/os.openelec.settings/settings.xml"
if [ -f "$OPENELEC_SETTINGS" ]; then
progress "creating system settings"
mkdir -p /var/config
cat "$OPENELEC_SETTINGS" \
| awk -F'["'\'']' '{gsub(/\&quot\;/, "\\\"", $4); gsub(/\&apos\;/, "\047", $4); gsub(/\&amp\;/, "\\&", $4); gsub(/\&lt\;/, "<", $4); gsub(/\&gt\;/, ">", $4); gsub(/\$/, "\\\$", $4); gsub(/`/, "\\`", $4); print $2"=\""$4"\"";}' \
| sed '/^=/d' > /var/config/settings.conf
fi

View File

@ -26,7 +26,9 @@
(
progress "Starting Syslog daemon"
source /var/config/settings.conf
if [ -e /storage/.cache/syslog/remote ] ; then
source /storage/.cache/syslog/remote
fi
SYSLOGD_OPTIONS="-L -D"

View File

@ -73,9 +73,3 @@ USER_PWD="`$ROOT/$TOOLCHAIN/bin/cryptpw -m sha512 $USER_PASSWORD`"
mkdir -p $INSTALL/usr/www/error
echo "404" > $INSTALL/usr/www/error/404.html
# cron support
if [ "$CRON_SUPPORT" = "yes" ] ; then
mkdir -p $INSTALL/etc/init.d
cp $PKG_DIR/scripts/09_crond $INSTALL/etc/init.d/
fi

View File

@ -1,6 +1,8 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -14,10 +16,12 @@
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
import xbmc, time, os, subprocess
. config/options $1
subprocess.Popen("ps3d.service", shell=True, close_fds=True)
cd $PKG_BUILD
make

View File

@ -0,0 +1,27 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2011-2011 Gregor Fuis (gujs@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty ofMLTV_LOCATION
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
mkdir -p $INSTALL/usr/bin
cp -P $PKG_BUILD/hd-idle $INSTALL/usr/bin

Some files were not shown because too many files have changed in this diff Show More