diff options
52 files changed, 1237 insertions, 330 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index 498a7780f4..65f6a10095 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -54,7 +54,8 @@ Website: http://fl0rian.wordpress.com, http://www.kernelconcepts.de/~fuchs/ Machines: nokia770, netvista, htcuniversal, netbook-pro, htctornado, bd-neon Distros: Interests: GPEPhone, OpenSync, GPE, Matchbox, *dbus*, X, sqlite, Palm TX, -interests: phone devices +interests: phone devices, evaluation hardware and PDAs +Recipes: atd Recipes: gpe-*, libgpe*, libeventdb, libtododb, libcontactsdb, xserver-common Recipes: gomunicator, mbmerlin, prismstumbler, gkdial, fbreader, networkmanager Recipes: minimix, minilite, miniclipboard, gpephone* diff --git a/conf/checksums.ini b/conf/checksums.ini index df007df044..648da96cb6 100644 --- a/conf/checksums.ini +++ b/conf/checksums.ini @@ -9502,7 +9502,7 @@ sha256=2ac2154e3f66b5b32ca25d47e3977db115ac6dc52ddb7442ce16e65a4ac1afee md5=c703192481d94dfa3f4e24eed22c8182 sha256=daa670b686f959ab15e457425e57c50f0b973ee4d24d6a4171c33f467961ad1d -[http://www.7-zip.org/dl/lzma417.tar.bz2] +[http://downloads.sourceforge.net/sevenzip/lzma417.tar.bz2] md5=b1ab85e4dc1eb1323d77fef47a2cb71c sha256=84124d4501798ecb284fceb28931db023850535e1b1146c884add7b3b0331cbc diff --git a/conf/distro/include/preferred-om-2008-versions.inc b/conf/distro/include/preferred-om-2008-versions.inc index 211cad8956..ed9127d760 100644 --- a/conf/distro/include/preferred-om-2008-versions.inc +++ b/conf/distro/include/preferred-om-2008-versions.inc @@ -222,8 +222,8 @@ PREFERRED_VERSION_dbh ?= "1.0-18" PREFERRED_VERSION_db-native ?= "4.3.29" PREFERRED_VERSION_dbus ?= "1.2.1" PREFERRED_VERSION_dbus-native ?= "1.2.1" -PREFERRED_VERSION_dbus-glib ?= "0.74" -PREFERRED_VERSION_dbus-glib-native ?= "0.74" +PREFERRED_VERSION_dbus-glib ?= "0.76" +PREFERRED_VERSION_dbus-glib-native ?= "0.76" PREFERRED_VERSION_dbus-native ?= "1.0.3" PREFERRED_VERSION_dbus-python ?= "0.71" PREFERRED_VERSION_dcetest ?= "1.2" @@ -1933,6 +1933,8 @@ PREFERRED_VERSION_util-macros ?= "1.1.5" PREFERRED_VERSION_util-macros-native ?= "1.1.5" PREFERRED_VERSION_uucp ?= "1.07" PREFERRED_VERSION_v4l2apps ?= "20020317" +PREFERRED_VERSION_vala ?= "0.1.5" +PREFERRED_VERSION_vala-native ?= "0.1.5" PREFERRED_VERSION_vde ?= "2.0.2" PREFERRED_VERSION_vectoroids ?= "1.1.0" PREFERRED_VERSION_videoplayer ?= "0.1" diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc index 3b86c2a539..eed6e42df5 100644 --- a/conf/distro/include/sane-srcrevs.inc +++ b/conf/distro/include/sane-srcrevs.inc @@ -49,7 +49,7 @@ SRCREV_pn-gypsy ?= "134" SRCREV_pn-hildon-1 ?= "14429" SRCREV_pn-illume ?= "170" SRCREV_pn-illume-theme-asu ?= "170" -SRCREV_pn-illume-theme-freesmartphone ?= "5cdedae0e45911ef10f6966587e7f3e842b5d2bd" +SRCREV_pn-illume-theme-freesmartphone ?= "0f27c0b52b8dad255349e6c72d590fa787be8c3b" SRCREV_pn-kismet ?= "2285" SRCREV_pn-kismet-newcore ?= "2285" SRCREV_pn-libcalenabler2 ?= "1410" @@ -71,7 +71,7 @@ SRCREV_pn-lightmediascanner ?= "68" SRCREV_pn-linux-bfin ?= "3758" SRCREV_pn-linux-hackndev-2.6 ?= "1308" SRCREV_pn-linux-ixp4xx ?= "1066" -SRCREV_pn-linux-openmoko ?= "241f69c55ee8f5dd067ebd2d51aa9fdedb212759" +SRCREV_pn-linux-openmoko ?= "88bf43840b9df0eb0a077a1394eb564be80a412e" SRCREV_pn-linux-openmoko-devel ?= "7a1370a816b9348dd8f36a667905dd3533cefc9b" SRCREV_pn-llvm-gcc4 ?= "374" SRCREV_pn-llvm-gcc4-cross ?= "374" @@ -146,13 +146,10 @@ SRCREV_pn-opkg-utils ?= "4534" SRCREV_pn-opkg-utils-native ?= "4534" SRCREV_pn-oprofileui ?= "173" SRCREV_pn-packagekit ?= "813fa8cfb139246cf180d52895b52b28616ae2f5" +SRCREV_pn-portaudio-v19 ?= "1387" SRCREV_pn-psplash ?= "249" SRCREV_pn-pty-forward-native ?= "4214" SRCREV_pn-python-etk ?= "8b51535150cbc88467e3d8b578e54df27eac643" -SRCREV_pn-python-odeviced ?= "fcf6f975b18d478ce618284c0dcc2f28f5c43cc1" -SRCREV_pn-python-oeventd ?= "9053e5be847d694681c3664664ed669543a0a777" -SRCREV_pn-python-ophoned ?= "82c318b8592588bc7ce8bccdfc090e59cfc9b98c" -SRCREV_pn-python-ousaged ?= "836c091405eea3e29efdba3e1351befd1c96267b" SRCREV_pn-pygsm ?= "976477f6b403f422b4ea730f71ebf409f6671141" SRCREV_pn-pylgrim ?= "20" SRCREV_pn-pyneod ?= "41de4d538b50b27ab2a2f5aae1a180b880a05b6a" diff --git a/conf/machine/om-gta01.conf b/conf/machine/om-gta01.conf index 46bd42f2a2..57d81c2ade 100644 --- a/conf/machine/om-gta01.conf +++ b/conf/machine/om-gta01.conf @@ -1,7 +1,7 @@ #----------------------------------------------------------------------------- #@TYPE: Machine -#@NAME: FIC GTA01 (Neo1973) -#@DESCRIPTION: Machine configuration for the FIC Neo1973/1 GSM phone +#@NAME: FIC GTA01 (Neo 1973) +#@DESCRIPTION: Machine configuration for the FIC Neo 1973 GSM phone #----------------------------------------------------------------------------- TARGET_ARCH = "arm" diff --git a/conf/machine/om-gta02.conf b/conf/machine/om-gta02.conf index 45dc0518a4..88aa3881c7 100644 --- a/conf/machine/om-gta02.conf +++ b/conf/machine/om-gta02.conf @@ -1,7 +1,7 @@ #----------------------------------------------------------------------------- #@TYPE: Machine -#@NAME: FIC GTA02 (Neo1973) -#@DESCRIPTION: Machine configuration for the FIC Neo1973/2 GSM phone +#@NAME: Openmoko GTA02 (NeoFreerunner) +#@DESCRIPTION: Machine configuration for the Openmoko NeoFreerunner GSM phone #----------------------------------------------------------------------------- TARGET_ARCH = "arm" @@ -29,6 +29,7 @@ MACHINE_EXTRA_RRECOMMENDS = "\ kernel-module-snd-soc-neo1973-gta02-wm8753 \ " +# no need to bypass this as in om-gta01, since this model is not using a multiplexed ttySAC0 SERIAL_CONSOLE = "115200 ttySAC2" # used by some images diff --git a/packages/atd/atd_0.80.bb b/packages/atd/atd_0.80.bb new file mode 100644 index 0000000000..f3adbd7cb3 --- /dev/null +++ b/packages/atd/atd_0.80.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Lightweight At Daemon" +SECTION = "base" +LICENSE = "GPLV2" +RCONFLICTS = "at" +RREPLACES = "at" + +PR = "r0" + +SRC_URI = "http://projects.linuxtogo.org/frs/download.php/222/${P}.tar.gz" + +inherit autotools update-rc.d + +INITSCRIPT_NAME = "atd" +INITSCRIPT_PARAMS = "defaults 97" diff --git a/packages/busybox/busybox.inc b/packages/busybox/busybox.inc index 04decf61b2..cc196ad767 100644 --- a/packages/busybox/busybox.inc +++ b/packages/busybox/busybox.inc @@ -35,7 +35,7 @@ PACKAGES =+ "${PN}-httpd ${PN}-udhcpd" # We need this RRECOMMENDS because libc dlopens libgcc # and shlib mechanism can not detect it because its not # listed in the NEEDED field. -RDEPENDS += "libgcc" +RRECOMMENDS += "libgcc" FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www" FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd" diff --git a/packages/busybox/busybox_1.9.2.bb b/packages/busybox/busybox_1.9.2.bb index c9440e7b4f..37cd2a86be 100644 --- a/packages/busybox/busybox_1.9.2.bb +++ b/packages/busybox/busybox_1.9.2.bb @@ -1,5 +1,5 @@ require busybox.inc -PR = "r1" +PR = "r2" SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \ file://udhcpscript.patch;patch=1 \ diff --git a/packages/classpath/classpath.inc b/packages/classpath/classpath.inc index cfb9f1c089..cee09857e4 100644 --- a/packages/classpath/classpath.inc +++ b/packages/classpath/classpath.inc @@ -30,6 +30,14 @@ EXTRA_OECONF = "\ inherit autotools +# hack to get config.rpath in, it comes from gettext +do_configure_prepend () { + + ${@['','cp ${STAGING_DATADIR_NATIVE}/automake-1.10/config.rpath ${S}'][bb.data.getVar('PREFERRED_VERSION_automake-native',d,1) == '1.10']} + +} + + do_stage() { install -d ${STAGING_INCDIR}/classpath install -m 0644 include/jni* ${STAGING_INCDIR}/classpath diff --git a/packages/dhcp/dhcp_3.0.1.bb b/packages/dhcp/dhcp_3.0.1.bb index 650de1391d..7d55dc3a03 100644 --- a/packages/dhcp/dhcp_3.0.1.bb +++ b/packages/dhcp/dhcp_3.0.1.bb @@ -2,7 +2,7 @@ SECTION = "console/network" DESCRIPTION = "Internet Software Consortium DHCP package" HOMEPAGE = "http://www.isc.org/" LICENSE = "BSD" -PR = "r2" +PR = "r3" SRC_URI = "ftp://ftp.isc.org/isc/dhcp/dhcp-3.0-history/dhcp-${PV}.tar.gz \ file://noattrmode.patch;patch=1 \ file://fixincludes.patch;patch=1 \ @@ -33,12 +33,13 @@ do_install() { install -m 0644 ${WORKDIR}/default-server ${D}${sysconfdir}/default/dhcp-server install -m 0644 ${WORKDIR}/dhclient.conf ${D}${sysconfdir}/dhcp/dhclient.conf install -m 0644 ${WORKDIR}/dhcpd.conf ${D}${sysconfdir}/dhcp/dhcpd.conf + install -d ${D}/var/lib/dhcp } PACKAGES = "${PN}-dbg dhcp-server dhcp-client dhcp-relay dhcp-omshell dhcp-dev dhcp-doc" FILES_dhcp-server = "${sbindir}/dhcpd /etc/init.d/dhcp-server /etc/default/dhcp-server /etc/dhcp/dhcpd.conf" FILES_dhcp-relay = "${sbindir}/dhcrelay /etc/init.d/dhcp-relay /etc/default/dhcp-relay" -FILES_dhcp-client = "/sbin/ /etc/dhcp/dhclient.conf" +FILES_dhcp-client = "/sbin/ /etc/dhcp/dhclient.conf /var/lib/dhcp" FILES_dhcp-omshell = "${bindir}/omshell" CONFFILES_dhcp-server_nylon = "/etc/dhcp/dhcpd.conf" diff --git a/packages/dhcp/dhcp_3.0.2.bb b/packages/dhcp/dhcp_3.0.2.bb index 851ae5ca95..6b0f9de1bf 100644 --- a/packages/dhcp/dhcp_3.0.2.bb +++ b/packages/dhcp/dhcp_3.0.2.bb @@ -2,7 +2,7 @@ SECTION = "console/network" DESCRIPTION = "Internet Software Consortium DHCP package" HOMEPAGE = "http://www.isc.org/" LICENSE = "BSD" -PR = "r5" +PR = "r6" SRC_URI = "ftp://ftp.isc.org/isc/dhcp/dhcp-3.0-history/dhcp-${PV}.tar.gz \ file://noattrmode.patch;patch=1 \ file://fixincludes.patch;patch=1 \ @@ -34,6 +34,7 @@ do_install() { install -m 0644 ${WORKDIR}/default-server ${D}${sysconfdir}/default/dhcp-server install -m 0644 ${WORKDIR}/dhclient.conf ${D}${sysconfdir}/dhcp/dhclient.conf install -m 0644 ${WORKDIR}/dhcpd.conf ${D}${sysconfdir}/dhcp/dhcpd.conf + install -d ${D}/var/lib/dhcp } PACKAGES += "dhcp-server dhcp-client dhcp-relay dhcp-omshell" @@ -41,7 +42,7 @@ FILES_${PN} = "" FILES_dhcp-server = "${sbindir}/dhcpd ${sysconfdir}/init.d/dhcp-server ${sysconfdir}/default/dhcp-server ${sysconfdir}/dhcp/dhcpd.conf" FILES_dhcp-relay = "${sbindir}/dhcrelay ${sysconfdir}/init.d/dhcp-relay ${sysconfdir}/default/dhcp-relay" -FILES_dhcp-client = "${base_sbindir}/dhclient ${base_sbindir}/dhclient-script ${sysconfdir}/dhcp/dhclient.conf" +FILES_dhcp-client = "${base_sbindir}/dhclient ${base_sbindir}/dhclient-script ${sysconfdir}/dhcp/dhclient.conf /var/lib/dhcp" RDEPENDS_dhcp-client = "bash" FILES_dhcp-omshell = "${bindir}/omshell" diff --git a/packages/gpsbabel/gpsbabel_1.3.3.bb b/packages/gpsbabel/gpsbabel_1.3.5.bb index b5ff6a8510..c46b9df81d 100644 --- a/packages/gpsbabel/gpsbabel_1.3.3.bb +++ b/packages/gpsbabel/gpsbabel_1.3.5.bb @@ -6,7 +6,7 @@ LICENSE = "GPL" PR = "r1" -SRC_URI = "${SOURCEFORGE_MIRROR}/gpsbabel/gpsbabel-${PV}.tar.gz" +SRC_URI = "http://www.gpsbabel.org/plan9.php?dl=gpsbabel-${PV}.tar.gz" inherit autotools pkgconfig diff --git a/packages/gtk-webcore/midori_0.0.19.bb b/packages/gtk-webcore/midori_0.0.19.bb new file mode 100644 index 0000000000..ec81d7fd23 --- /dev/null +++ b/packages/gtk-webcore/midori_0.0.19.bb @@ -0,0 +1,5 @@ +require midori.inc + +SRC_URI = "http://software.twotoasts.de/media/midori/midori-${PV}.tar.bz2" + + diff --git a/packages/guile/files/configure-lossage.patch b/packages/guile/files/configure-lossage.patch deleted file mode 100644 index da1d0de6e7..0000000000 --- a/packages/guile/files/configure-lossage.patch +++ /dev/null @@ -1,28 +0,0 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- guile-1.6.4/configure.in~configure-lossage -+++ guile-1.6.4/configure.in -@@ -462,7 +462,9 @@ - # explicitly to LIBOBJS to make sure that it is translated to - # `alloca.lo' for libtool later on. This can and should be done more cleanly. - AC_FUNC_ALLOCA --if test "$ALLOCA" = "alloca.o"; then AC_LIBOBJ([alloca]); fi -+if test "$ALLOCA" = "alloca.o"; then -+ AC_LIBOBJ([alloca]) -+fi - - AC_CHECK_MEMBERS([struct stat.st_rdev]) - AC_CHECK_MEMBERS([struct stat.st_blksize]) ---- guile-1.6.4/guile-readline/configure.in~configure-lossage -+++ guile-1.6.4/guile-readline/configure.in -@@ -2,6 +2,7 @@ - - AC_INIT - AC_CONFIG_SRCDIR([readline.c]) -+AC_CONFIG_AUX_DIR([..]) - . $srcdir/../GUILE-VERSION - PACKAGE=guile-readline - AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define) diff --git a/packages/guile/files/gcc4.patch b/packages/guile/files/gcc4.patch deleted file mode 100644 index 2168683ad5..0000000000 --- a/packages/guile/files/gcc4.patch +++ /dev/null @@ -1,16 +0,0 @@ - -# -# Signed off by Michael 'Mickey' Lauer <mickey@Vanille.de> -# - ---- guile-1.6.4/libguile/guile.c~gcc4 -+++ guile-1.6.4/libguile/guile.c -@@ -88,7 +88,7 @@ - { - #ifdef DYNAMIC_LINKING - /* libtool automagically inserts this variable into your executable... */ -- extern const scm_lt_dlsymlist lt_preloaded_symbols[]; -+ extern const scm_lt_dlsymlist *lt_preloaded_symbols; - scm_lt_dlpreload_default (lt_preloaded_symbols); - #endif - scm_boot_guile (argc, argv, inner_main, 0); diff --git a/packages/guile/guile_1.6.4.bb b/packages/guile/guile_1.6.4.bb deleted file mode 100644 index 092a44c27d..0000000000 --- a/packages/guile/guile_1.6.4.bb +++ /dev/null @@ -1,132 +0,0 @@ -DESCRIPTION = "Guile is an interpreter for the Scheme programming language, \ -packaged as a library which can be incorporated into your programs." -HOMEPAGE = "http://www.gnu.org/software/guile/guile.html" -SECTION = "devel/scheme" -DEPENDS = "guile-native" -LICENSE = "GPL" -PR = "r1" - -SRC_URI = "http://ftp.gnu.org/pub/gnu/guile/guile-${PV}.tar.gz \ - file://configure-lossage.patch;patch=1 \ - file://gcc4.patch;patch=1" - -inherit autotools - -acpaths = "-I ${S}/guile-config" - -do_compile() { - (cd libguile; oe_runmake CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS}" LDFLAGS="${BUILD_LDFLAGS}" guile_filter_doc_snarfage) - oe_runmake preinstguile="`which guile`" -} - -LIBGUILE_HEADERS = "\ -__scm.h \ -alist.h \ -arbiters.h \ -async.h \ -backtrace.h \ -boolean.h \ -chars.h \ -continuations.h \ -coop-defs.h \ -debug-malloc.h \ -debug.h \ -deprecation.h \ -dynl.h \ -dynwind.h \ -environments.h \ -eq.h \ -error.h \ -eval.h \ -evalext.h \ -extensions.h \ -feature.h \ -filesys.h \ -fluids.h \ -fports.h \ -gc.h \ -gdb_interface.h \ -gdbint.h \ -goops.h \ -gsubr.h \ -guardians.h \ -hash.h \ -hashtab.h \ -hooks.h \ -init.h \ -ioext.h \ -iselect.h \ -keywords.h \ -lang.h \ -list.h \ -load.h \ -macros.h \ -mallocs.h \ -modules.h \ -net_db.h \ -numbers.h \ -objects.h \ -objprop.h \ -options.h \ -pairs.h \ -ports.h \ -posix.h \ -print.h \ -procprop.h \ -procs.h \ -properties.h \ -ramap.h \ -random.h \ -rdelim.h \ -read.h \ -regex-posix.h \ -root.h \ -rw.h \ -scmconfig.h \ -scmsigs.h \ -script.h \ -simpos.h \ -smob.h \ -snarf.h \ -socket.h \ -sort.h \ -srcprop.h \ -stackchk.h \ -stacks.h \ -stime.h \ -strings.h \ -strop.h \ -strorder.h \ -strports.h \ -struct.h \ -symbols.h \ -tags.h \ -threads.h \ -throw.h \ -unif.h \ -validate.h \ -values.h \ -variable.h \ -vectors.h \ -version.h \ -vports.h \ -weaks.h \ -" - -do_stage() { - install -d ${STAGING_INCDIR}/libguile - for i in ${LIBGUILE_HEADERS}; do - install -m 0644 libguile/$i ${STAGING_INCDIR}/libguile/$i - done - install -m 0644 libguile.h ${STAGING_INCDIR}/libguile.h - install -d ${STAGING_INCDIR}/guile - install -m 0644 libguile/gh.h ${STAGING_INCDIR}/guile/ - install -d ${STAGING_INCDIR}/guile/srfi - install -d ${STAGING_INCDIR}/guile-readline - install -m 0644 guile-readline/readline.h ${STAGING_INCDIR}/guile-readline/ - install -d ${STAGING_DATADIR}/aclocal - install -m 0644 guile-config/guile.m4 ${STAGING_DATADIR}/aclocal - oe_libinstall -C libguile -so -a libguile ${STAGING_LIBDIR} - oe_libinstall -C guile-readline -so -a libguilereadline-v-12 ${STAGING_LIBDIR} - oe_libinstall -C libguile-ltdl -so -a libguile-ltdl ${STAGING_LIBDIR} -} diff --git a/packages/linux/linux-omap2-git/beagleboard/musb-dmafix.patch b/packages/linux/linux-omap2-git/beagleboard/musb-dmafix.patch new file mode 100644 index 0000000000..968cc6cf73 --- /dev/null +++ b/packages/linux/linux-omap2-git/beagleboard/musb-dmafix.patch @@ -0,0 +1,275 @@ +From: Gadiyar, Anand <gadiyar@ti.com> +Date: Wed, 13 Aug 2008 07:05:29 +0000 (+0530) +Subject: MUSB: Workaround for simultaneous TX and RX usage +X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=2e6aa4efb0e14c51ff0427927b1b38136911fa93 + +MUSB: Workaround for simultaneous TX and RX usage + +MUSB: Workaround for simultaneous TX and RX usage + +MUSB RTL V1.4 has a hardware issue which results in a DMA controller +hang when TX and RX DMA channels are simultaneously enabled. This +affects at least OMAP2430 and OMAP34XX. + +Since RX transfers are in Mode 0 and anyway result in one DMA interrupt +per packet, we can use System DMA to unload the RX fifos. MUSB DMA can +be used for all TX channels as before. + +Tested with full-duplex TX and RX transfers using g_ether. Runs for 24 +hours without a hang. Without this patch, the hang occurs within minutes. + +This issue was first reported by Jon Hunter on [1] + +[1] http://marc.info/?l=linux-omap&m=119634480534453&w=2 + +Signed-off-by: Anand Gadiyar <gadiyar@ti.com> +--- + +diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig +index a485a86..8583e54 100644 +--- a/drivers/usb/musb/Kconfig ++++ b/drivers/usb/musb/Kconfig +@@ -150,6 +150,14 @@ config USB_INVENTRA_DMA + help + Enable DMA transfers using Mentor's engine. + ++config MUSB_USE_SYSTEM_DMA_RX ++ bool 'Use System DMA for RX endpoints' ++ depends on USB_MUSB_HDRC && USB_INVENTRA_DMA ++ help ++ MUSB RTL version 1.4 has a hardware issue when TX and RX DMA ++ channels are simultaneously enabled. To work around this issue, ++ you can choose to use System DMA for RX channels. ++ + config USB_TI_CPPI_DMA + bool + depends on USB_MUSB_HDRC && !MUSB_PIO_ONLY +diff --git a/drivers/usb/musb/musbhsdma.c b/drivers/usb/musb/musbhsdma.c +index 32bb1e2..d1c1ea0 100644 +--- a/drivers/usb/musb/musbhsdma.c ++++ b/drivers/usb/musb/musbhsdma.c +@@ -34,6 +34,7 @@ + #include <linux/interrupt.h> + #include <linux/platform_device.h> + #include "musb_core.h" ++#include <asm/arch/dma.h> + + #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3430) + #include "omap2430.h" +@@ -64,6 +65,9 @@ + + #define MUSB_HSDMA_CHANNELS 8 + ++#define MUSB_FIFO_ADDRESS(epnum) \ ++ ((unsigned long) (OMAP_HSOTG_BASE + MUSB_FIFO_OFFSET(epnum))) ++ + struct musb_dma_controller; + + struct musb_dma_channel { +@@ -75,6 +79,8 @@ struct musb_dma_channel { + u8 bIndex; + u8 epnum; + u8 transmit; ++ ++ int sysdma_channel; + }; + + struct musb_dma_controller { +@@ -93,6 +99,42 @@ static int dma_controller_start(struct dma_controller *c) + return 0; + } + ++#ifdef CONFIG_MUSB_USE_SYSTEM_DMA_RX ++static void musb_sysdma_completion(int lch, u16 ch_status, void *data) ++{ ++ u32 dwAddress; ++ unsigned long flags; ++ ++ struct dma_channel *pChannel; ++ ++ struct musb_dma_channel *pImplChannel = ++ (struct musb_dma_channel *) data; ++ struct musb_dma_controller *controller = pImplChannel->controller; ++ struct musb *musb = controller->pDmaPrivate; ++ pChannel = &pImplChannel->Channel; ++ ++ DBG(2, "lch = 0x%d, ch_status = 0x%x\n", lch, ch_status); ++ spin_lock_irqsave(&musb->lock, flags); ++ ++ dwAddress = (u32) omap_get_dma_dst_pos(pImplChannel->sysdma_channel); ++ pChannel->actual_len = dwAddress - pImplChannel->dwStartAddress; ++ ++ DBG(2, "ch %p, 0x%x -> 0x%x (%d / %d) %s\n", ++ pChannel, pImplChannel->dwStartAddress, dwAddress, ++ pChannel->actual_len, pImplChannel->len, ++ (pChannel->actual_len < pImplChannel->len) ? ++ "=> reconfig 0": "=> complete"); ++ ++ pChannel->status = MUSB_DMA_STATUS_FREE; ++ musb_dma_completion(musb, pImplChannel->epnum, pImplChannel->transmit); ++ ++ spin_unlock_irqrestore(&musb->lock, flags); ++ return; ++} ++#else ++#define musb_sysdma_completion NULL ++#endif ++ + static void dma_channel_release(struct dma_channel *pChannel); + + static int dma_controller_stop(struct dma_controller *c) +@@ -144,6 +186,29 @@ static struct dma_channel *dma_channel_allocate(struct dma_controller *c, + /* Tx => mode 1; Rx => mode 0 */ + pChannel->desired_mode = transmit; + pChannel->actual_len = 0; ++ pImplChannel->sysdma_channel = -1; ++ ++#ifdef CONFIG_MUSB_USE_SYSTEM_DMA_RX |
