diff options
author | Leon Woestenberg <leon.woestenberg@gmail.com> | 2008-05-20 20:23:12 +0000 |
---|---|---|
committer | Leon Woestenberg <leon.woestenberg@gmail.com> | 2008-05-20 20:23:12 +0000 |
commit | d8e3cbb7e1ae86507b7cfd8142be8a1e7323270f (patch) | |
tree | 604773c65fdddff8365cc45027defcf9a4b21cca | |
parent | e93dabbb3ecc45cfd55f5ef103479e2b3d4ccd1e (diff) | |
parent | 1bfb615d5157cf619a9d40189ed992f8958ce4c6 (diff) |
merge of '635b19191517f99ee151ae6157a22f5d56406238'
and 'c179e5e451e08eb1f3266b4da027de66abad7a9b'
176 files changed, 5768 insertions, 1357 deletions
diff --git a/classes/gtk-icon-cache.bbclass b/classes/gtk-icon-cache.bbclass index b86562890a..b256365175 100644 --- a/classes/gtk-icon-cache.bbclass +++ b/classes/gtk-icon-cache.bbclass @@ -3,14 +3,18 @@ RDEPENDS += "hicolor-icon-theme" # This could run on the host as icon cache files are architecture independent, # but there is no gtk-update-icon-cache built natively. -gtk-icon-cache_postinst() { +gtk_icon_cache_postinst() { if [ "x$D" != "x" ]; then exit 1 fi + +# Update the pixbuf loaders in case they haven't been registered yet +gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders + gtk-update-icon-cache -q /usr/share/icons/hicolor } -gtk-icon-cache_postrm() { +gtk_icon_cache_postrm() { gtk-update-icon-cache -q /usr/share/icons/hicolor } @@ -29,13 +33,13 @@ python populate_packages_append () { postinst = bb.data.getVar('pkg_postinst_%s' % pkg, d, 1) or bb.data.getVar('pkg_postinst', d, 1) if not postinst: postinst = '#!/bin/sh\n' - postinst += bb.data.getVar('gtk-icon-cache_postinst', d, 1) + postinst += bb.data.getVar('gtk_icon_cache_postinst', d, 1) bb.data.setVar('pkg_postinst_%s' % pkg, postinst, d) postrm = bb.data.getVar('pkg_postrm_%s' % pkg, d, 1) or bb.data.getVar('pkg_postrm', d, 1) if not postrm: postrm = '#!/bin/sh\n' - postrm += bb.data.getVar('gtk-icon-cache_postrm', d, 1) + postrm += bb.data.getVar('gtk_icon_cache_postrm', d, 1) bb.data.setVar('pkg_postrm_%s' % pkg, postrm, d) } diff --git a/classes/image.bbclass b/classes/image.bbclass index f8d896d813..35080c19eb 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -32,6 +32,8 @@ python () { for dep in (bb.data.getVar('EXTRA_IMAGEDEPENDS', d, True) or "").split(): deps += " %s:do_populate_staging" % dep bb.data.setVarFlag('do_rootfs', 'depends', deps, d) + + runtime_mapping_rename("PACKAGE_INSTALL", d) } # @@ -66,6 +68,7 @@ LINGUAS_INSTALL = "${@" ".join(map(lambda s: "locale-base-%s" % s, bb.data.getVa do_rootfs[nostamp] = "1" do_rootfs[dirs] = "${TOPDIR}" +do_rootfs[lockfiles] = "${IMAGE_ROOTFS}.lock" do_build[nostamp] = "1" # Must call real_do_rootfs() from inside here, rather than as a separate diff --git a/classes/oestats-client.bbclass b/classes/oestats-client.bbclass index b98177d40a..c05ede481f 100644 --- a/classes/oestats-client.bbclass +++ b/classes/oestats-client.bbclass @@ -5,8 +5,8 @@ # To make use of this class, add to your local.conf: # # INHERIT += "oestats-client" -# OESTATS_SERVER = "some.server.org:8000" -# OESTATS_BUILDER = "some title" +# OESTATS_SERVER = "some.server.org" +# OESTATS_BUILDER = "some_nickname" def oestats_setid(d, val): import bb @@ -18,65 +18,131 @@ def oestats_getid(d): f = file(bb.data.getVar('TMPDIR', d, True) + '/oestats.id', 'r') return f.read() -def oestats_send(server, action, vars = {}): - import httplib, urllib - - params = urllib.urlencode(vars) - headers = {"Content-type": "application/x-www-form-urlencoded", - "Accept": "text/plain"} +def oestats_send(server, action, vars = {}, files = {}): + import httplib + + # build body + output = [] + bound = '----------ThIs_Is_tHe_bouNdaRY_$' + for key in vars: + assert vars[key] + output.append('--' + bound) + output.append('Content-Disposition: form-data; name="%s"' % key) + output.append('') + output.append(vars[key]) + for key in files: + assert files[key] + output.append('--' + bound) + output.append('Content-Disposition: form-data; name="%s"; filename="%s"' % (key, files[key]['filename'])) + output.append('Content-Type: %s' % files[key]['content-type']) + + output.append('') + output.append(files[key]['content']) + output.append('--' + bound + '--') + output.append('') + body = "\r\n".join(output) + + # build headers + headers = { + "User-agent": "oestats-client/0.3", + "Content-type": "multipart/form-data; boundary=%s" % bound, + "Content-length": str(len(body))} + + # send request conn = httplib.HTTPConnection(server) - conn.request("POST", action, params, headers) + conn.request("POST", action, body, headers) response = conn.getresponse() + data = response.read() conn.close() - return response + return data def oestats_start(server, builder, d): import bb import os.path + import re # send report - response = oestats_send(server, "/builds/start/", { - 'builder': builder, - 'revision': bb.data.getVar('METADATA_REVISION', d, True), - 'machine': bb.data.getVar('MACHINE', d, True), - 'distro': bb.data.getVar('DISTRO', d, True), - }) - id = response.read() + id = "" + try: + data = oestats_send(server, "/builds/", { + 'builder': builder, + 'revision': bb.data.getVar('METADATA_REVISION', d, True), + 'machine': bb.data.getVar('MACHINE', d, True), + 'distro': bb.data.getVar('DISTRO', d, True), + }) + if re.match("^\d+$", data): id=data + except: + pass # save the build id + if id: + bb.note("oestats: build %s" % id) + else: + bb.note("oestats: error starting build, disabling stats") oestats_setid(d, id) -def oestats_stop(server, d, status): +def oestats_stop(server, d, failures): import bb # retrieve build id id = oestats_getid(d) + if not id: return # send report - response = oestats_send(server, "/builds/stop/%s/" % id, { - 'status': status, - }) + if failures > 0: + status = "Failed" + else: + status = "Succeeded" + + try: + response = oestats_send(server, "/builds/%s/" % id, { + 'status': status, + }) + except: + bb.note("oestats: error stopping build") def oestats_task(server, d, task, status): import bb + import glob import time # retrieve build id id = oestats_getid(d) + if not id: return + + # calculate build time try: elapsed = time.time() - float(bb.data.getVar('OESTATS_STAMP', d, True)) except: elapsed = 0 - + + # send the log for failures + files = {} + if status == 'Failed': + logs = glob.glob("%s/log.%s.*" % (bb.data.getVar('T', d, True), task)) + if len(logs) > 0: + log = logs[0] + bb.note("oestats: sending log file : %s" % log) + files['log'] = { + 'filename': 'log.txt', + 'content': file(log).read(), + 'content-type': 'text/plain'} + # send report - response = oestats_send(server, "/builds/task/%s/" % id, { - 'package': bb.data.getVar('PN', d, True), - 'version': bb.data.getVar('PV', d, True), - 'revision': bb.data.getVar('PR', d, True), - 'task': task, - 'status': status, - 'time': elapsed, - }) + try: + response = oestats_send(server, "/tasks/", { + 'build': id, + 'package': bb.data.getVar('PN', d, True), + 'version': bb.data.getVar('PV', d, True), + 'revision': bb.data.getVar('PR', d, True), + 'depends': bb.data.getVar('DEPENDS', d, True), + 'task': task, + 'status': status, + 'time': str(elapsed), + }, files) + except: + bb.note("oestats: error sending task, disabling stats") + oestats_setid(d, "") addhandler oestats_eventhandler python oestats_eventhandler () { @@ -95,7 +161,7 @@ python oestats_eventhandler () { if getName(e) == 'BuildStarted': oestats_start(server, builder, e.data) elif getName(e) == 'BuildCompleted': - oestats_stop(server, e.data, 'Completed') + oestats_stop(server, e.data, e.getFailures()) elif getName(e) == 'TaskStarted': bb.data.setVar('OESTATS_STAMP', repr(time.time()), e.data) elif getName(e) == 'TaskSucceeded': diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf index ef41dec781..17029ec21e 100644 --- a/conf/distro/angstrom-2008.1.conf +++ b/conf/distro/angstrom-2008.1.conf @@ -85,42 +85,30 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive" PREFERRED_PROVIDER_xserver ?= "xserver-kdrive" #powerpc needs additional patches to gcc -PREFERRED_VERSION_gcc_ppc405 ?= "4.1.1" -PREFERRED_VERSION_gcc-cross_ppc405 ?= "4.1.1" -PREFERRED_VERSION_gcc-cross-sdk_ppc405 ?= "4.1.1" -PREFERRED_VERSION_gcc-cross-initial_ppc405 ?= "4.1.1" - -PREFERRED_VERSION_gcc_xilinx-ml403 ?= "4.1.1" -PREFERRED_VERSION_gcc-cross_xilinx-ml403 ?= "4.1.1" -PREFERRED_VERSION_gcc-cross-sdk_xilinx-ml403 ?= "4.1.1" -PREFERRED_VERSION_gcc-cross-initial_xilinx-ml403 ?= "4.1.1" - -PREFERRED_VERSION_gcc_mpc8323e-rdb ?= "4.1.1" -PREFERRED_VERSION_gcc-cross_mpc8323e-rdb ?= "4.1.1" -PREFERRED_VERSION_gcc-cross-sdk_mpc8323e-rdb ?= "4.1.1" -PREFERRED_VERSION_gcc-cross-initial_mpc8323e-rdb ?= "4.1.1" - -# GCC 4.3.0 is the first release with armv7-* support -PREFERRED_VERSION_gcc_armv7a = "4.2.3+csl-arm-2008q1-126" -PREFERRED_VERSION_gcc-cross_armv7a = "4.2.3+csl-arm-2008q1-126" -PREFERRED_VERSION_gcc-cross-sdk_armv7a = "4.2.3+csl-arm-2008q1-126" -PREFERRED_VERSION_gcc-cross-initial_armv7a = "4.2.3+csl-arm-2008q1-126" - -PREFERRED_VERSION_gcc ?= "4.2.2" -PREFERRED_VERSION_gcc-cross ?= "4.2.2" -PREFERRED_VERSION_gcc-cross-sdk ?= "4.2.2" -PREFERRED_VERSION_gcc-cross-initial ?= "4.2.2" +ANGSTROM_GCC_VERSION_ppc405 ?= "4.1.1" +ANGSTROM_GCC_VERSION_xilinx-ml403 ?= "4.1.1" +ANGSTROM_GCC_VERSION_xilinx-ml403 ?= "4.1.1" + +#for proper NEON support we need a CSL toolchain +ANGSTROM_GCC_VERSION_armv7a = "4.2.1+csl-arm-2007q3-53" + +#avr32 only has support for gcc 4.2.2 +ANGSTROM_GCC_VERSION_avr32 ?= "4.2.2" + +#Everybody else can just use this: +ANGSTROM_GCC_VERSION ?= "4.2.2" + +PREFERRED_VERSION_gcc ?= "${ANGSTROM_GCC_VERSION}" +PREFERRED_VERSION_gcc-cross ?= "${ANGSTROM_GCC_VERSION}" +PREFERRED_VERSION_gcc-cross-sdk ?= "${ANGSTROM_GCC_VERSION}" +PREFERRED_VERSION_gcc-cross-initial ?= "${ANGSTROM_GCC_VERSION}" #Loads preferred versions from files, these have weak assigments (?=), so put them at the bottom require conf/distro/include/preferred-gpe-versions-2.8.inc require conf/distro/include/preferred-e-versions.inc require conf/distro/include/preferred-xorg-versions-X11R7.3.inc -#avr32 only has patches for binutils 2.17 and gcc 4.2.2 in OE -PREFERRED_VERSION_gcc_avr32 = "4.2.2" -PREFERRED_VERSION_gcc-cross_avr32 = "4.2.2" -PREFERRED_VERSION_gcc-cross-sdk_avr32 = "4.2.2" -PREFERRED_VERSION_gcc-cross-initial_avr32 = "4.2.2" +#avr32 only has patches for binutils 2.17 in OE PREFERRED_VERSION_binutils_avr32 = "2.17" PREFERRED_VERSION_binutils-cross_avr32 = "2.17" PREFERRED_VERSION_binutils-cross-sdk_avr32 = "2.17" diff --git a/conf/distro/include/angstrom-glibc.inc b/conf/distro/include/angstrom-glibc.inc index a9e9f3f7eb..8c76de6f1a 100644 --- a/conf/distro/include/angstrom-glibc.inc +++ b/conf/distro/include/angstrom-glibc.inc @@ -24,17 +24,11 @@ TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm' FULL_OPTIMIZATION = "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -Os" -FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -mfpu=neon -ftree-vectorize -mfloat-abi=softfp -frename-registers -fomit-frame-pointer -O2" -TARGET_CC_ARCH_pn-glibc_armv7a = " -O3 -fno-tree-vectorize -march=armv7a -frename-registers -fomit-frame-pointer -mfloat-abi=softfp -mfpu=vfp " - FULL_OPTIMIZATION_pn-perl = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O1" FULL_OPTIMIZATION_pn-glibc-intermediate = "-O2" FULL_OPTIMIZATION_pn-glibc = "-fexpensive-optimizations -fomit-frame-pointer -O2" FULL_OPTIMIZATION_sparc = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2" -FULL_OPTIMIZATION_pn-glibc_armv7a = " -O3 -fno-tree-vectorize -march=armv7a -frename-registers -fomit-frame-pointer -mfloat-abi=softfp -mfpu=vfp " -CFLAGS_pn-glibc_armv7a = " -fexpensive-optimizations -O3 -fno-tree-vectorize -march=armv7a -frename-registers -fomit-frame-pointer -mfloat-abi=softfp -mfpu=vfp" - BUILD_OPTIMIZATION = "-Os" BUILD_OPTIMIZATION_pn-perl = "-O1" BUILD_OPTIMIZATION_pn-glibc-intermediate = "-O2" diff --git a/conf/distro/include/fso-autorev.inc b/conf/distro/include/fso-autorev.inc index 07340dcb5f..df53515a9a 100644 --- a/conf/distro/include/fso-autorev.inc +++ b/conf/distro/include/fso-autorev.inc @@ -5,5 +5,6 @@ SRCREV_pn-pyneod = "${AUTOREV}" SRCREV_pn-pynoeg = "${AUTOREV}" SRCREV_pn-python-odeviced = "${AUTOREV}" SRCREV_pn-python-ophoned = "${AUTOREV}" +SRCREV_pn-python-ousaged = "${AUTOREV}" SRCREV_pn-python-pytrc = "${AUTOREV}" SRCREV_pn-zhone = "${AUTOREV}" diff --git a/conf/distro/include/moko-autorev.inc b/conf/distro/include/moko-autorev.inc index 0edb4ef0ae..c411149cd9 100644 --- a/conf/distro/include/moko-autorev.inc +++ b/conf/distro/include/moko-autorev.inc @@ -1,4 +1,3 @@ -EFL_SRCDATE = "${@time.strftime('%Y%m%d', time.gmtime())}" SRCREV_pn-assassin ?= "${AUTOREV}" SRCREV_pn-dfu-util ?= "${AUTOREV}" SRCREV_pn-dfu-util-native ?= "${AUTOREV}" diff --git a/conf/distro/include/sane-srcdates.inc b/conf/distro/include/sane-srcdates.inc index 7721d97ce6..835bfadabe 100644 --- a/conf/distro/include/sane-srcdates.inc +++ b/conf/distro/include/sane-srcdates.inc @@ -52,7 +52,7 @@ SRCDATE_gtkhtml2 ?= "20060323" # Enlightenment Foundation Libraries # Caution: This is not alphabetically, but (roughly) dependency-sorted. # Please leave it like that. -EFL_SRCDATE ?= "20080428" +EFL_SRCDATE ?= "20080518" SRCDATE_edb-native ?= "${EFL_SRCDATE}" SRCDATE_edb ?= "${EFL_SRCDATE}" SRCDATE_eet-native ?= "${EFL_SRCDATE}" @@ -80,6 +80,7 @@ SRCDATE_enhance ?= "${EFL_SRCDATE}" SRCDATE_engrave ?= "${EFL_SRCDATE}" SRCDATE_evolve-native ?= "${EFL_SRCDATE}" SRCDATE_evolve ?= "${EFL_SRCDATE}" +SRCDATE_exquisite ?= "${EFL_SRCDATE}" SRCDATE_gevas2 ?= "${EFL_SRCDATE}" SRCDATE_imlib2 ?= "${EFL_SRCDATE}" diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc index 0e217982e3..293340c478 100644 --- a/conf/distro/include/sane-srcrevs.inc +++ b/conf/distro/include/sane-srcrevs.inc @@ -159,8 +159,9 @@ SRCREV_pn-oprofileui ?= "160" SRCREV_pn-packagekit ?= "74a3b7e3f3bc8627c23349e0b0d8429fd5f53fc6" SRCREV_pn-psplash ?= "249" SRCREV_pn-pty-forward-native ?= "4214" -SRCREV_pn-python-odeviced ?= "e2ae2c252ef43be23781c2d09567a8d21ca1e965" -SRCREV_pn-python-ophoned ?= "e657c81a6729aeef21ba4c6b75590658cbbef391" +SRCREV_pn-python-odeviced ?= "2f02576532b52732251b3c530a09e4c08685a911" +SRCREV_pn-python-ophoned ?= "8bb89a912163c8a846be7a14b2a6e2f832f91bd6" +SRCREV_pn-python-ousaged ?= "c7f83c3f696b6e72f3cab244af4e88dc4851018e" SRCREV_pn-pygsm ?= "976477f6b403f422b4ea730f71ebf409f6671141" SRCREV_pn-pylgrim ?= "20" SRCREV_pn-pyneod ?= "41de4d538b50b27ab2a2f5aae1a180b880a05b6a" @@ -184,4 +185,4 @@ SRCREV_pn-webkit-qtopia ?= "28656" SRCREV_pn-wesnoth ?= "22021" SRCREV_pn-xoo ?= "1971" SRCREV_pn-xserver-kdrive-glamo ?= "a51364e2f23d4b6331c5ed613ce3f7e15f8e540f" -SRCREV_pn-zhone ?= "a9496c35328f66ed8e4f840709721c5bacae2bb4" +SRCREV_pn-zhone ?= "c1b73d7b4bc3a1abacc871a30cd8c0fb44a5d38b" diff --git a/conf/machine/include/gumstix.inc b/conf/machine/include/gumstix.inc index 8b7d5be188..5aa789e5aa 100644 --- a/conf/machine/include/gumstix.inc +++ b/conf/machine/include/gumstix.inc @@ -7,15 +7,19 @@ TARGET_ARCH = "arm" PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te " +#Compile with armv5te optimizations, incompatible with armv4(t) cpus +require conf/machine/include/tune-xscale.inc + + PREFERRED_PROVIDER_virtual/kernel = "gumstix-kernel" KERNEL_IMAGETYPE = "uImage" RDEPENDS_kernel-base = "" + KERNEL_IMAGE_MAXSIZE = "1048577" UBOOT_ENTRYPOINT = "a0008000" MACHINE_FEATURES += "kernel26 " -COMBINED_FEATURES ?= "" IMAGE_FSTYPES = "jffs2 tar.gz" EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --squash-uids" @@ -27,28 +31,3 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS = " \ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= " \ " -# -# The following *should* be in a distro.conf file -# We include them here to avoid creating a new distro - -PREFERRED_PROVIDER_classpath = "classpath" -PREFERRED_PROVIDER_bluez-utils-dbus = "bluez-utils" - -PREFERRED_VERSION_gumstix-kernel = "2.6.21" -PREFERRED_VERSION_udev = "118" -PREFERRED_VERSION_gnuplot = "4.0.0" -PREFERRED_VERSION_dropbear = "0.47" -PREFERRED_VERSION_wpa-supplicant = "0.5.8" -PREFERRED_VERSION_bluez-utils = "3.24" -PREFERRED_VERSION_bluez-utils-alsa = "3.24" -PREFERRED_VERSION_bluez-libs = "3.24" -PREFERRED_VERSION_bluez-gstreamer-plugin = "3.24" -PREFERRED_VERSION_bluez-hcidump = "1.40" -PREFERRED_VERSION_microwindows = "0.91" -PREFERRED_VERSION_midori = "0.0.15" -PREFERRED_VERSION_jamvm = "1.5.0" -PREFERRED_VERSION_classpath = "0.96" -PREFERRED_VERSION_qtopia-core = "4.3.3" -PREFERRED_VERSION_uicmoc4-native = "4.3.3" - -SRCREV_pn-webkit-gtk = "28656" diff --git a/conf/machine/include/tune-cortexa8.inc b/conf/machine/include/tune-cortexa8.inc index 6c3bdb6ee0..f886366f10 100644 --- a/conf/machine/include/tune-cortexa8.inc +++ b/conf/machine/include/tune-cortexa8.inc @@ -3,6 +3,6 @@ # [2] http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html # [3] https://support.codesourcery.com/GNUToolchain/kbentry29 -TARGET_CC_ARCH = "-march=armv7-a -mtune=cortex-a8 -mfpu=vfp -mfloat-abi=softfp" +TARGET_CC_ARCH = "-march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp" FEED_ARCH = "armv7a" PACKAGE_ARCH = "armv7a" diff --git a/conf/machine/include/tune-mips2.inc b/conf/machine/include/tune-mips2.inc new file mode 100644 index 0000000000..b10d65f23d --- /dev/null +++ b/conf/machine/include/tune-mips2.inc @@ -0,0 +1 @@ +TARGET_CC_ARCH = "-mips2" diff --git a/conf/machine/rb500.conf b/conf/machine/rb500.conf index e17ca31bcb..30676b2fc4 100644 --- a/conf/machine/rb500.conf +++ b/conf/machine/rb500.conf @@ -3,5 +3,6 @@ #@DESCRIPTION: Machine configuration for the MIPS based Routerboard TARGET_ARCH = "mipsel" -TARGET_CC_ARCH = "-Os -mips2" PREFERRED_PROVIDER_virtual/kernel = "linux-rb500" + +include conf/machine/include/tune-mips2.inc diff --git a/conf/machine/wl500g.conf b/conf/machine/wl500g.conf index f2e4006a8f..5ed227dfa3 100644 --- a/conf/machine/wl500g.conf +++ b/conf/machine/wl500g.conf @@ -5,4 +5,4 @@ TARGET_ARCH = "mipsel" MACHINE_FEATURES = "kernel26 usbhost wifi ext2" -TARGET_CC_ARCH = "-Os -mips2" +include conf/machine/include/mips2.inc diff --git a/conf/machine/wrt54.conf b/conf/machine/wrt54.conf index f61570a950..1b07df2666 100644 --- a/conf/machine/wrt54.conf +++ b/conf/machine/wrt54.conf @@ -3,7 +3,6 @@ #@DESCRIPTION: Machine configuration for the MIPS based WRT54G(S) devices TARGET_ARCH = "mipsel" -TARGET_CC_ARCH = "-Os" SERIAL_CONSOLE = "tts/0" @@ -31,4 +30,4 @@ INHERIT += "wrt-image" # strip even more: # would be nice but breaks automatic shared library dependencies #DEPENDS_prepend = "${@["elfkickers-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}" -#export STRIP = "sstrip"
\ No newline at end of file +#export STRIP = "sstrip" diff --git a/contrib/distro-packages/debian/openembedded-essential-1.4/debian/control b/contrib/distro-packages/debian/openembedded-essential-1.4/debian/control index 583a13e292..01f9f4b906 100644 --- a/contrib/distro-packages/debian/openembedded-essential-1.4/debian/control +++ b/contrib/distro-packages/debian/openembedded-essential-1.4/debian/control @@ -3,7 +3,7 @@ Section: devel Priority: optional Maintainer: Marcin Juszkiewicz <hrw@openembedded.org> Build-Depends: debhelper (>= 5) -Standards-Version: 3.7.2 +Standards-Version: 3.7.3 Package: openembedded-essential Architecture: all diff --git a/contrib/distro-packages/debian/openembedded-essential-1.4/debian/rules b/contrib/distro-packages/debian/openembedded-essential-1.4/debian/rules index 586b2ff42f..22ac384645 100755 --- a/contrib/distro-packages/debian/openembedded-essential-1.4/debian/rules +++ b/contrib/distro-packages/debian/openembedded-essential-1.4/debian/rules @@ -4,6 +4,7 @@ build: binary-arch: clean: + dh_clean binary-indep: dh_testdir diff --git a/packages/efl1/epsilon/.mtn2git_empty b/contrib/marketing/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/efl1/epsilon/.mtn2git_empty +++ b/contrib/marketing/.mtn2git_empty diff --git a/contrib/marketing/oe-flyer.pdf b/contrib/marketing/oe-flyer.pdf Binary files differnew file mode 100644 index 0000000000..d08454f379 --- /dev/null +++ b/contrib/marketing/oe-flyer.pdf diff --git a/contrib/marketing/oe-poster.pdf b/contrib/marketing/oe-poster.pdf Binary files differnew file mode 100644 index 0000000000..158a4811e4 --- /dev/null +++ b/contrib/marketing/oe-poster.pdf diff --git a/packages/acpid/acpid_1.0.6.bb b/packages/acpid/acpid_1.0.6.bb new file mode 100644 index 0000000000..f48c262254 --- /dev/null +++ b/packages/acpid/acpid_1.0.6.bb @@ -0,0 +1,4 @@ +require acpid.inc +SRC_URI += "file://gcc40.patch;patch=1" +PR = "r3" + diff --git a/packages/avahi/avahi-python_0.6.21.bb b/packages/avahi/avahi-python_0.6.21.bb index eea8295ac8..dbaf3d6416 100644 --- a/packages/avahi/avahi-python_0.6.21.bb +++ b/packages/avahi/avahi-python_0.6.21.bb @@ -1,5 +1,6 @@ require avahi.inc -PR = "r0" + +PR = "r6" # FIXME: without --enable-gtk, avahi-discover (pygtk) won't be built FILES_avahi-discover = "" diff --git a/packages/avahi/avahi-ui_0.6.21.bb b/packages/avahi/avahi-ui_0.6.21.bb index add8de4db4..d693f5f0e0 100644 --- a/packages/avahi/avahi-ui_0.6.21.bb +++ b/packages/avahi/avahi-ui_0.6.21.bb @@ -1,5 +1,6 @@ require avahi.inc -PR = "r0" + +PR = "r6" DEPENDS += "avahi gtk+" diff --git a/packages/avahi/avahi.inc b/packages/avahi/avahi.inc index ae03d00e05..e856e40db5 100644 --- a/packages/avahi/avahi.inc +++ b/packages/avahi/avahi.inc @@ -4,8 +4,6 @@ HOMEPAGE = "http://avahi.org" SECTION = "network" PRIORITY = "optional" LICENSE = "GPL" -PR = "r5" - DEPENDS = "expat virtual/libintl libdaemon dbus glib-2.0" # uclibc has no nss @@ -23,6 +21,7 @@ RDEPENDS_append = "" # TODO: build and enable all the extra stuff avahi offers EXTRA_OECONF = "--with-distro=debian --disable-nls --disable-gdbm ${AVAHI_GTK} --disable-mono --disable-monodoc --disable-qt3 --disable-qt4 ${AVAHI_PYTHON}" +EXTRA_OECONF_append_mipsel = " --disable-stack-protector" AVAHI_PYTHON = "--disable-python" AVAHI_GTK = "--disable-gtk" diff --git a/packages/avahi/avahi_0.6.19.bb b/packages/avahi/avahi_0.6.19.bb index 69763e3932..631d4080fd 100644 --- a/packages/avahi/avahi_0.6.19.bb +++ b/packages/avahi/avahi_0.6.19.bb @@ -1,2 +1,3 @@ require avahi.inc -PR = "r2" + +PR = "r6" diff --git a/packages/avahi/avahi_0.6.20.bb b/packages/avahi/avahi_0.6.20.bb index 0b7fe70be5..631d4080fd 100644 --- a/packages/avahi/avahi_0.6.20.bb +++ b/packages/avahi/avahi_0.6.20.bb @@ -1,2 +1,3 @@ require avahi.inc -PR = "r1" + +PR = "r6" diff --git a/packages/avahi/avahi_0.6.21.bb b/packages/avahi/avahi_0.6.21.bb index 2c30fbc2c8..702594fa6e 100644 --- a/packages/avahi/avahi_0.6.21.bb +++ b/packages/avahi/avahi_0.6.21.bb @@ -1,5 +1,6 @@ require avahi.inc -PR = "r1" + +PR = "r6" SRC_URI += "file://dbus-pre-1.1.1-support.patch;patch=1" SRC_URI += "file://avr32-ipv6-fix.patch;patch=1" diff --git a/packages/avahi/avahi_0.6.22.bb b/packages/avahi/avahi_0.6.22.bb index 15f56ffa95..d4f15f6199 100644 --- a/packages/avahi/avahi_0.6.22.bb +++ b/packages/avahi/avahi_0.6.22.bb @@ -1,5 +1,6 @@ require avahi.inc DEPENDS += "intltool-native" +PR = "r6" PACKAGES =+ "libavahi-gobject" diff --git a/packages/php/files/.mtn2git_empty b/packages/bitlbee/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/php/files/.mtn2git_empty +++ b/packages/bitlbee/.mtn2git_empty diff --git a/packages/bitlbee/bitlbee_1.0.4.bb b/packages/bitlbee/bitlbee_1.0.4.bb new file mode 100644 index 0000000000..41f7b1c97f --- /dev/null +++ b/packages/bitlbee/bitlbee_1.0.4.bb @@ -0,0 +1,59 @@ +DESCRIPTION = "Bitlbee is an IRC to IM gateway that support multiple IM protocols." +HOMEPAGE = "http://www.bitlbee.org/" +SECTION = "console/network" +LICENSE = "GPLv2" +DEPENDS = "glib-2.0 gnutls" +PR = "r0" + +SRC_URI = "http://get.bitlbee.org/src/${P}.tar.gz \ + file://configure.patch;patch=1 \ + file://init-script" + +S = "${WORKDIR}/bitlbee-${PV}" + +EXTRA_OECONF = "--prefix=/usr \ + --datadir=/usr/share/bitlbee \ + --etcdir=/etc/bitlbee \ + --oscar=0 \ + --cpu=${TARGET_ARCH}" + +do_configure () { + # NOTE: bitlbee's configure script is not an autotool creation, + # so we do not use the default autotools_do_configure. + ./configure ${EXTRA_OECONF} || die "./configure failed" +} + +do_compile () { + make CC="${CC}" LD="${LD}" || die "make failed" + + # make bitlbeed forking server + cd ${S}/utils + ${CC} bitlbeed.c -o bitlbeed || die "bitlbeed failed to compile" +} + +do_install () { + # install bitlbee + install -d ${D}${localstatedir}/lib/bitlbee + make install DESTDIR=${D} || die "install failed" + make install-etc DESTDIR=${D} || die "install failed" + + # copy bitlbee forking server + install ${S}/utils/bitlbeed ${D}${sbindir}/bitlbeed + + # copy init script + install -d ${D}${sysconfdir}/init.d + install ${WORKDIR}/init-script ${D}${sysconfdir}/init.d/bitlbee + sed -i -e "s:BITLBEED_EXEC:${sbindir}/bitlbeed:" ${D}${sysconfdir}/init.d/bitlbee + sed -i -e "s:BITLBEED_OPTS::" ${D}${sysconfdir}/init.d/bitlbee + + # copy bitlbee utils + install -d ${D}${datadir}/bitlbee + cp ${S}/utils/* ${D}${datadir}/bitlbee/ + rm ${D}${datadir}/bitlbee/bitlbeed* +} + +pkg_postinst () { + chown nobody:nogroup ${localstatedir}/lib/bitlbee + chmod 700 ${localstatedir}/lib/bitlbee +} + diff --git a/packages/bitlbee/files/.mtn2git_empty b/packages/bitlbee/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/bitlbee/files/.mtn2git_empty diff --git a/packages/bitlbee/files/configure.patch b/packages/bitlbee/files/configure.patch new file mode 100644 index 0000000000..60488b1814 --- /dev/null +++ b/packages/bitlbee/files/configure.patch @@ -0,0 +1,21 @@ +--- bitlbee/configure.orig 2006-11-25 13:01:16.000000000 +0100 ++++ bitlbee/configure 2006-11-25 13:09:19.000000000 +0100 +@@ -57,6 +57,9 @@ + + --ssl=... SSL library to use (gnutls, nss, openssl, bogus, auto) + $ssl ++ ++--arch=... The target architecture $arch ++--cpu=... The target cpu $cpu + EOF + exit; + fi +@@ -366,6 +369,8 @@ + ;; + esac + ++echo Cpu: $cpu ++ + echo + echo 'Configuration done:' + diff --git a/packages/bitlbee/files/init-script b/packages/bitlbee/files/init-script new file mode 100644 index 0000000000..3ec3fdfb4a --- /dev/null +++ b/packages/bitlbee/files/init-script @@ -0,0 +1,31 @@ +#!/bin/sh + +case "$1" in + start) + echo "Starting bitlbee daemon" + start-stop-daemon --start --startas BITLBEED_EXEC \ + -c nobody:nogroup --exec BITLBEED_EXEC -- \ + BITLBEED_OPTS /usr/sbin/bitlbee + [ $? -eq 0 ] || echo $? "Failed to start bitlbee daemon" + ;; + + stop) + echo "Stopping bitlbee daemon" + start-stop-daemon --stop --signal 9 \ + --exec BITLBEED_EXEC + [ $? -eq 0 ] || echo $? "Failed to stop bitlbee daemon" + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + *) + echo "usage: $0 { start | stop }" + exit 1 + ;; +esac + +exit 0 diff --git a/packages/dillo/dillo2-0.6.6/dillo2-gcc4.patch b/packages/dillo/dillo2-0.6.6/dillo2-gcc4.patch new file mode 100644 index 0000000000..b8e01aaca5 --- /dev/null +++ b/packages/dillo/dillo2-0.6.6/dillo2-gcc4.patch @@ -0,0 +1,27 @@ +diff -Naur dillo-0.6.6-orig/src/dw_table.c dillo-0.6.6/src/dw_table.c +--- dillo-0.6.6-orig/src/dw_table.c 2007-03-22 22:46:10.000000000 +0100 ++++ dillo-0.6.6/src/dw_table.c 2007-03-22 22:48:57.000000000 +0100 +@@ -1177,7 +1177,10 @@ + sub_extr_width = rest_w * cols_per_sub / rest_n; + rest_w -= sub_extr_width; + rest_n -= cols_per_sub; +- EXTR_VALUE (sub_extremes[i]) = sub_extr_width; ++ if(max) ++ sub_extremes[i].max_width = sub_extr_width; ++ else ++ sub_extremes[i].min_width = sub_extr_width; + } + } + } else { +@@ -1196,7 +1199,10 @@ + delta = rest_w * EXTR_VALUE (sub_extremes[i]) / rest_n; + rest_w -= delta; + rest_n -= EXTR_VALUE (sub_extremes[i]); +- EXTR_VALUE (sub_extremes[i]) += delta; ++ if(max) ++ sub_extremes[i].max_width += delta; ++ else ++ sub_extremes[i].min_width += delta; + } + DEBUG_MSG (DEBUG_WIDTH_LEVEL + 2, "%d\n", + EXTR_VALUE (sub_extremes[i])); diff --git a/packages/dillo/dillo2_0.6.6.bb b/packages/dillo/dillo2_0.6.6.bb index f6052e860d..0eef5d9fd8 100644 --- a/packages/dillo/dillo2_0.6.6.bb +++ b/packages/dillo/dillo2_0.6.6.bb @@ -4,11 +4,12 @@ LICENSE = "GPL" DEPENDS = "gtk+" RDEPENDS = "gdk-pixbuf-loader-xpm" SRC_URI="http://www.dillo.org/download/dillo-${PV}.tar.gz \ + file://dillo2-gcc4.patch;patch=1;pnum=1 \ file://gtk2.patch;patch=1;pnum=1 \ - file://fix_about_syntax.patch;patch=1;pnum=1 \ - file://dillo.desktop \ - file://dillo.png \ - file://dillorc" + file://fix_about_syntax.patch;patch=1;pnum=1 \ + file://dillo.desktop \ + file://dillo.png \ + file://dillorc" PRIORITY = "optional" diff --git a/packages/dropbear/dropbear-0.49/scp-argument-fix.patch b/packages/dropbear/dropbear-0.49/scp-argument-fix.patch new file mode 100644 index 0000000000..716a9670fe --- /dev/null +++ b/packages/dropbear/dropbear-0.49/scp-argument-fix.patch @@ -0,0 +1,21 @@ +source: https://dev.openwrt.org/browser/trunk/openwrt/package/dropbear/patches/scp-argument-fix.patch?rev=453 +comment: remove unsupported default arguments in scp. Fixes OE bug 3227. + +diff -ur dropbear-0.49-orig/scp.c dropbear-0.49/scp.c +--- dropbear-0.49-orig/scp.c 2007-02-22 16:51:35.000000000 +0100 ++++ dropbear-0.49/scp.c 2007-10-19 14:19:08.000000000 +0200 +@@ -308,10 +308,10 @@ + memset(&args, '\0', sizeof(args)); + args.list = NULL; + addargs(&args, "%s", ssh_program); +- addargs(&args, "-x"); +- addargs(&args, "-oForwardAgent no"); +- addargs(&args, "-oPermitLocalCommand no"); +- addargs(&args, "-oClearAllForwardings yes"); ++// addargs(&args, "-x"); ++// addargs(&args, "-oForwardAgent no"); ++// addargs(&args, "-oPermitLocalCommand no"); ++// addargs(&args, "-oClearAllForwardings yes"); + + fflag = tflag = 0; + while ((ch = getopt(argc, argv, "dfl:prtvBCc:i:P:q1246S:o:F:")) != -1) diff --git a/packages/dropbear/dropbear-early_1.0.bb b/packages/dropbear/dropbear-early_1.0.bb index df2c2dc26f..c947cf0e74 100644 --- a/packages/dropbear/dropbear-early_1.0.bb +++ b/packages/dropbear/dropbear-early_1.0.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Allow to start dropbear soon after boot, depending on kernel command line option." SECTION = "devel" -PR = "r2" RDEPENDS = "dropbear" +PR = "r3" SRC_URI = "file://dropbear-early" diff --git a/packages/dropbear/dropbear_0.49.bb b/packages/dropbear/dropbear_0.49.bb index 0ed386ca0c..bf2f2add60 100644 --- a/packages/dropbear/dropbear_0.49.bb +++ b/packages/dropbear/dropbear_0.49.bb @@ -1,3 +1,5 @@ -PR = "r1" - require dropbear.inc + +PR = "r2" + +SRC_URI += "file://scp-argument-fix.patch;patch=1" diff --git a/packages/dropbear/dropbear_0.50.bb b/packages/dropbear/dropbear_0.50.bb index 21d46ef59c..bd8f31cff6 100644 --- a/packages/dropbear/dropbear_0.50.bb +++ b/packages/dropbear/dropbear_0.50.bb @@ -1,6 +1,6 @@ -PR = "r0" - require dropbear.inc +PR = "r1" + # testing DEFAULT_PREFERENCE = "-1" diff --git a/packages/dsplink/dsplink_1.50.bb b/packages/dsplink/dsplink_1.50.bb index 7051966ffc..dae3b04999 100644 --- a/packages/dsplink/dsplink_1.50.bb +++ b/packages/dsplink/dsplink_1.50.bb @@ -14,7 +14,7 @@ SRC_URI = "http://install.tarball.in.source.dir/dsplink_1_50.tar.gz \ file://CURRENTCFG.MK \ file://c64xx_5.xx_linux.mk \ file://davinci_mvlpro5.0.mk \ - file://prcs-fix-include.patch;patch=1 \ + file://prcs-fix-include.patch;patch=1;pnum=2 \ " S = "${WORKDIR}/dsplink_1_50/dsplink" diff --git a/packages/efl1/ecore-native_cvs.bb b/packages/efl1/ecore-native_cvs.bb index 9da21d32f6..f21ba5075a 100644 --- a/packages/efl1/ecore-native_cvs.bb +++ b/packages/efl1/ecore-native_cvs.bb @@ -1,7 +1,7 @@ require ecore.inc inherit native DEPENDS = "eet-native evas-native" -PR = "r4" +PR = "r0" EXTRA_OECONF = "\ --enable-ecore-txt \ diff --git a/packages/efl1/ecore.inc b/packages/efl1/ecore.inc index 140254f897..a0d040888d 100644 --- a/packages/efl1/ecore.inc +++ b/packages/efl1/ecore.inc @@ -3,7 +3,7 @@ LICENSE = "MIT BSD" DEPENDS = "curl eet evas tslib libxtst libxscrnsaver" # optional # DEPENDS += "directfb libsdl-x11 openssl virtual/libiconv" -PV = "0.9.9.042+cvs${SRCDATE}" +PV = "0.9.9.043+cvs${SRCDATE}" inherit efl diff --git a/packages/efl1/ecore_cvs.bb b/packages/efl1/ecore_cvs.bb index 3f1c970b3d..e2ded16111 100644 --- a/packages/efl1/ecore_cvs.bb +++ b/packages/efl1/ecore_cvs.bb @@ -1,5 +1,5 @@ require ecore.inc -PR = "r3" +PR = "r0" EXTRA_OECONF = "\ --x-includes=${STAGING_INCDIR}/X11 \ diff --git a/packages/efl1/edb_cvs.bb b/packages/efl1/edb_cvs.bb index 8b3731412f..9158590b03 100644 --- a/packages/efl1/edb_cvs.bb +++ b/packages/efl1/edb_cvs.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Edb is the Enlightenment database library" LICENSE = "MIT BSD" DEPENDS = "zlib" -PV = "1.0.5.042+cvs${SRCDATE}" +PV = "1.0.5.043+cvs${SRCDATE}" PR = "r0" inherit efl diff --git a/packages/efl1/edbus_cvs.bb b/packages/efl1/edbus_cvs.bb index be9b64378b..e59ba0be1a 100644 --- a/packages/efl1/edbus_cvs.bb +++ b/packages/efl1/edbus_cvs.bb @@ -1,14 +1,15 @@ DESCRIPTION = "DBus and HAL convenience wrappers for EFL" DEPENDS = "dbus ecore efreet ewl" LICENSE = "MIT BSD" -PV = "0.1.0.042+cvs${SRCDATE}" -PR = "r5" +PV = "0.5.0.043+cvs${SRCDATE}" +PR = "r0" inherit efl -SRC_URI = "${E_CVS};module=e17/libs/e_dbus \ - http://people.openmoko.org/stefan/e_nm-big-hack.patch;patch=1;pnum=1;mindate=20080330 \ - " +SRC_URI = "\ + ${E_CVS};module=e17/libs/e_dbus \ + http://people.openmoko.org/stefan/e_nm-big-hack.patch;patch=1;pnum=1;mindate=20080330;maxdate=20080501 \ +" S = "${WORKDIR}/e_dbus" EXTRA_OECONF = "--enable-build-test-gui" diff --git a/packages/efl1/edje_cvs.bb b/packages/efl1/edje_cvs.bb index 5e78575efa..757b643e75 100644 --- a/packages/efl1/edje_cvs.bb +++ b/packages/efl1/edje_cvs.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Edje is the Enlightenment graphical design & layout library" DEPENDS = "eet evas ecore embryo edje-native" LICENSE = "MIT BSD" -PV = "0.5.0.042+cvs${SRCDATE}" +PV = "0.9.9.043+cvs${SRCDATE}" PR = "r0" inherit efl diff --git a/packages/efl1/eet_cvs.bb b/packages/efl1/eet_cvs.bb index c834cfa60a..9ed58e100a 100644 --- a/packages/efl1/eet_cvs.bb +++ b/packages/efl1/eet_cvs.bb @@ -1,7 +1,7 @@ DESCRIPTION = "EET is the Enlightenment data storage library" DEPENDS = "zlib jpeg" LICENSE = "MIT BSD" -PV = "0.9.10.042+cvs${SRCDATE}" +PV = "1.0.1+cvs${SRCDATE}" PR = "r0" inherit efl diff --git a/packages/efl1/efreet_cvs.bb b/packages/efl1/efreet_cvs.bb index 3087391312..36a3bdf3cf 100644 --- a/packages/efl1/efreet_cvs.bb +++ b/packages/efl1/efreet_cvs.bb @@ -1,7 +1,7 @@ DESCRIPTION = "The Enlightenment freedesktop.org library" DEPENDS = "ecore" LICENSE = "MIT BSD" -PV = "0.0.3.042+cvs${SRCDATE}" +PV = "0.5.0.043+cvs${SRCDATE}" PR = "r0" inherit efl diff --git a/packages/efl1/embryo_cvs.bb b/packages/efl1/embryo_cvs.bb index f6ae8abe71..02385e9ec7 100644 --- a/packages/efl1/embryo_cvs.bb +++ b/packages/efl1/embryo_cvs.bb @@ -1,6 +1,6 @@ DESCRIPTION = "The Enlightenment C-like scripting language for Edje" LICENSE = "MIT BSD" -PV = "0.9.1.042+cvs${SRCDATE}" +PV = "0.9.9.043+cvs${SRCDATE}" PR = "r0" inherit efl diff --git a/packages/efl1/epsilon/fix_alignment_error.patch b/packages/efl1/epsilon/fix_alignment_error.patch deleted file mode 100644 index 7a635bcf88..0000000000 --- a/packages/efl1/epsilon/fix_alignment_error.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: epsilon/src/lib/exiftags/canon.c -=================================================================== ---- epsilon.orig/src/lib/exiftags/canon.c 2007-12-03 17:45:27.000000000 -0300 -+++ epsilon/src/lib/exiftags/canon.c 2007-12-03 17:46:59.000000000 -0300 -@@ -52,7 +52,7 @@ - struct ccstm { - int32_t val; - struct descrip *table; -- const char descr[]; -+ const char *descr; - }; - - diff --git a/packages/efl1/epsilon_cvs.bb b/packages/efl1/epsilon_cvs.bb index e5e422a887..906a60c2a4 100644 --- a/packages/efl1/epsilon_cvs.bb +++ b/packages/efl1/epsilon_cvs.bb @@ -8,8 +8,6 @@ PR = "r0" inherit efl -SRC_URI += "file://fix_alignment_error.patch;patch=1" - # a gstreamer thumbnailer would be nice now that we have emotion using gstreamer as well EXTRA_OECONF = "--disable-xine" diff --git a/packages/efl1/esmart_cvs.bb b/packages/efl1/esmart_cvs.bb index 6cdae5754d..5a363655c3 100644 --- a/packages/efl1/esmart_cvs.bb +++ b/packages/efl1/esmart_cvs.bb @@ -1,7 +1,8 @@ DESCRIPTION = "ESmart is a collection of smart Evas objects" LICENSE = "MIT BSD" DEPENDS = "evas ecore edje imlib2 epsilon libtool" -PV = "0.9.0.042+cvs${SRCDATE}" +PV = "0.9.0.043+cvs${SRCDATE}" +PR = "r0" inherit efl diff --git a/packages/efl1/evas-native_cvs.bb b/packages/efl1/evas-native_cvs.bb index 3ca8df9e41..b2a235262d 100644 --- a/packages/efl1/evas-native_cvs.bb +++ b/packages/efl1/evas-native_cvs.bb @@ -1,7 +1,7 @@ require evas.inc inherit native DEPENDS = "freetype-native libpng-native jpeg-native eet-native" -PR = "r1" +PR = "r0" EXTRA_OECONF = "\ --x-includes=${STAGING_INCDIR}/X11 \ diff --git a/packages/efl1/evas.inc b/packages/efl1/evas.inc index 8cfeffbf0b..10dd8ad529 100644 --- a/packages/efl1/evas.inc +++ b/packages/efl1/evas.inc @@ -2,7 +2,7 @@ DESCRIPTION = "Evas is the Enlightenment canvas API" LICENSE = "MIT BSD" # can also depend on valgrind, libsdl-x11, directfb DEPENDS = "eet freetype jpeg libpng virtual/libx11 libxext libxrender" -PV = "0.9.9.042+cvs${SRCDATE}" +PV = "0.9.9.043+cvs${SRCDATE}" inherit efl diff --git a/packages/efl1/evas_cvs.bb b/packages/efl1/evas_cvs.bb index e7079615de..ebe604ec2b 100644 --- a/packages/efl1/evas_cvs.bb +++ b/packages/efl1/evas_cvs.bb @@ -1,5 +1,5 @@ require evas.inc -PR = "r1" +PR = "r0" EXTRA_OECONF = "\ --x-includes=${STAGING_INCDIR}/X11 \ diff --git a/packages/freesmartphone/python-ophoned/ophoned b/packages/freesmartphone/python-ophoned/ophoned new file mode 100644 index 0000000000..edc800711a --- /dev/null +++ b/packages/freesmartphone/python-ophoned/ophoned @@ -0,0 +1,40 @@ +#! /bin/sh +# +# ophoned This shell script starts and stops the open phone daemon. +# +# chkconfig: 345 90 20 +# description: py-ophoned is the open phone daemon +# processname: python + +PATH=/bin:/usr/bin:/sbin:/usr/sbin +NAME=ophoned + +[ -f /etc/default/rcS ] && . /etc/default/rcS + +case "$1" in + start) + echo -n "Starting open phone daemon: " + start-stop-daemon --start --pidfile /var/run/${NAME}.pid --make-pidfile --background -x /usr/bin/ophoned + if [ $? = 0 ]; then + echo "(ok)" + else + echo "(failed)" + fi + ;; + stop) + echo -n "Stopping open phone daemon: " + start-stop-daemon --stop --pidfile /var/run/${NAME}.pid --oknodo + rm -f /var/run/${NAME}.pid + echo "(done)" + ;; + restart|force-reload) + $0 stop + $0 start + ;; + *) + echo "Usage: /etc/init.d/ophoned {start|stop|restart|force-reload}" + exit 1 + ;; +esac + +exit 0 diff --git a/packages/freesmartphone/python-ophoned_git.bb b/packages/freesmartphone/python-ophoned_git.bb index e494719bec..0a1c802041 100644 --- a/packages/freesmartphone/python-ophoned_git.bb +++ b/packages/freesmartphone/python-ophoned_git.bb @@ -19,9 +19,9 @@ S = "${WORKDIR}/git" do_install_append() { install -d ${D}${sysconfdir}/init.d/ install -m 0755 ${WORKDIR}/ophoned ${D}${sysconfdir}/init.d/ -# install -m 0644 ${WORKDIR}/odeviced.conf ${D}${sysconfdir} +# install -m 0644 ${WORKDIR}/ophoned.conf ${D}${sysconfdir} install -d ${D}${sysconfdir}/dbus-1/system.d/ -# mv -f ${D}${datadir}/etc/dbus-1/system.d/odeviced.conf ${D}${sysconfdir}/dbus-1/system.d/ + mv -f ${D}${datadir}/etc/dbus-1/system.d/ophoned.conf ${D}${sysconfdir}/dbus-1/system.d/ } RDEPENDS_${PN} += "\ diff --git a/packages/freesmartphone/python-ousaged/.mtn2git_empty b/packages/freesmartphone/python-ousaged/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/freesmartphone/python-ousaged/.mtn2git_empty diff --git a/packages/freesmartphone/python-ousaged/ousaged b/packages/freesmartphone/python-ousaged/ousaged new file mode 100644 index 0000000000..7b62d7f93c --- /dev/null +++ b/packages/freesmartphone/python-ousaged/ousaged @@ -0,0 +1,40 @@ +#! /bin/sh +# +# odeviced This shell script starts and stops the open device daemon. +# +# chkconfig: 345 90 20 +# description: py-ousaged is the open usage daemon +# processname: python + +PATH=/bin:/usr/bin:/sbin:/usr/sbin +NAME=odeviced + +[ -f /etc/default/rcS ] && . /etc/default/rcS + +case "$1" in + start) + echo -n "Starting open usage daemon: " + start-stop-daemon --start --pidfile /var/run/${NAME}.pid --make-pidfile --background -x /usr/bin/ousaged + if [ $? = 0 ]; then + echo "(ok)" + else + echo "(failed)" + fi + ;; + stop) + echo -n "Stopping open usage daemon: " + start-stop-daemon --stop --pidfile /var/run/${NAME}.pid --oknodo + rm -f /var/run/${NAME}.pid + echo "(done)" + ;; + restart|force-reload) + $0 stop + $0 start + ;; + *) + echo "Usage: /etc/init.d/ousaged {start|stop|restart|force-reload}" + exit 1 + ;; +esac + +exit 0 diff --git a/packages/freesmartphone/python-ousaged_git.bb b/packages/freesmartphone/python-ousaged_git.bb new file mode 100644 index 0000000000..f9ba2856eb --- /dev/null +++ b/packages/freesmartphone/python-ousaged_git.bb @@ -0,0 +1,36 @@ +DESCRIPTION = "The Open Usage Daemon Prototype in Python" +HOMEPAGE = "http://www.freesmartphone.org/mediawiki/index.php/Implementations/OpenUsageDaemon" +AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>" +SECTION = "console/network" +DEPENDS = "python-cython-native python-pyrex-native" +LICENSE = "GPLv2" +PV = "0.7.9+gitr${SRCREV}" +PR = "r0" + +inherit distutils update-rc.d + +INITSCRIPT_NAME = "ousaged" +INITSCRIPT_PARAMS = "defaults 20" + +SRC_URI = "\ + ${FREESMARTPHONE_GIT}/usaged.git;protocol=git;branch=master \ + file://ousaged \ +" +S = "${WORKDIR}/git" + +do_install_append() { + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/ousaged ${D}${sysconfdir}/init.d/ + install -d ${D}${sysconfdir}/dbus-1/system.d/ + mv -f ${D}${datadir}/etc/dbus-1/system.d/ousaged.conf ${D}${sysconfdir}/dbus-1/system.d/ +} + +RDEPENDS_${PN} += "\ + python-dbus \ + python-pygobject \ + python-pyrtc \ + python-syslog \ + python-odeviced \ +" + +FILES_${PN} += "${sysconfdir}" diff --git a/packages/freesmartphone/zhone/.mtn2git_empty b/packages/freesmartphone/zhone/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/freesmartphone/zhone/.mtn2git_empty diff --git a/packages/freesmartphone/zhone/80zhone b/packages/freesmartphone/zhone/80zhone new file mode 100644 index 0000000000..4a698007b8 --- /dev/null +++ b/packages/freesmartphone/zhone/80zhone @@ -0,0 +1,4 @@ +#!/bin/sh -e +zhone --fullscreen > /dev/null 2>&1 & +renice -3 $! +exit 0 diff --git a/packages/freesmartphone/zhone_git.bb b/packages/freesmartphone/zhone_git.bb index 7fe6742069..513b06f35a 100644 --- a/packages/freesmartphone/zhone_git.bb +++ b/packages/freesmartphone/zhone_git.bb @@ -2,12 +2,22 @@ DESCRIPTION = "Zhone: Zen Phone" LICENSE = "GPL" SECTION = "x11" DEPENDS = "edje-native" -RDEPENDS = "task-python-efl python-textutils" +RDEPENDS = "task-python-efl python-textutils python-dbus" PV = "0.0.0+gitr${SRCREV}" +PR = "r4" -SRC_URI = "${FREESMARTPHONE_GIT}/zhone.git;protocol=git;branch=master" +SRC_URI = "${FREESMARTPHONE_GIT}/zhone.git;protocol=git;branch=master \ + file://80zhone" S = "${WORKDIR}/git" inherit autotools -FILES_${PN} += "${datadir}" +do_install_append() { + install -d ${D}${sysconfdir}/X11/Xsession.d/ + install -m 0755 ${WORKDIR}/80zhone ${D}${sysconfdir}/X11/Xsession.d/ +} + +FILES_${PN} += "${datadir} ${sysconfdir}" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + diff --git a/packages/gallery/gallery_1.5.5.bb b/packages/gallery/gallery_1.5.5.bb index 5756e98567..14c7c0f4e0 100644 --- a/packages/gallery/gallery_1.5.5.bb +++ b/packages/gallery/gallery_1.5.5.bb @@ -2,21 +2,21 @@ DESCRIPTION = "The Gallery v1 web image gallery" SECTION = "apps" LICENSE = "GPL" RDEPENDS = "apache2 modphp imagemagick jhead" -PR = "r1" +PR = "r2" -SRC_URI = "http://easynews.dl.sourceforge.net/sourceforge/gallery/gallery-${PV}-pl1.tar.gz" +SRC_URI = "http://{SOURCEFORGE_MIRROR}/sourceforge/gallery/gallery-${PV}-pl1.tar.gz" S = "${WORKDIR}/gallery" inherit autotools -HTTPCONF = "/etc/apache2/httpd.conf" -DEST_DIR = "/usr/share/apache2/htdocs/" +HTTPCONF = "${sysconfdir}/apache2/httpd.conf" +DEST_DIR = "${datadir}/apache2/htdocs/" # # don't list the albums as a file - it might get auto-deleted # -FILES_${PN} = "${DEST_DIR}/gallery /etc/apache2/modules.d" +FILES_${PN} = "${DEST_DIR}/gallery ${sysconfdir}/apache2/modules.d" # No configure step for gallery @@ -31,12 +31,12 @@ do_compile() { # do_install() { - mkdir -p ${D}/${DEST_DIR} ${D}/etc/apache2/modules.d + mkdir -p ${D}/${DEST_DIR} ${D}${sysconfdir}/apache2/modules.d cp -pPR ${S} ${D}/${DEST_DIR} - cp ${FILESDIR}/gallery.conf ${D}/etc/apache2/modules.d/95_gallery.conf + cp ${FILESDIR}/gallery.conf ${D}${sysconfdir}/apache2/modules.d/95_gallery.conf } # remove the gallery code, but not the albums! pkg_postrm_${PN}() { - rm -rf ${DEST_DIR}/gallery /etc/apache2/modules.d/95_gallery.conf + rm -rf ${DEST_DIR}/gallery /${sysconfdir}/apache2/modules.d/95_gallery.conf } diff --git a/packages/gcc/gcc-cross-initial_csl-arm-2007q3.bb b/packages/gcc/gcc-cross-initial_csl-arm-2007q3.bb new file mode 100644 index 0000000000..99656dbe83 --- /dev/null +++ b/packages/gcc/gcc-cross-initial_csl-arm-2007q3.bb @@ -0,0 +1,12 @@ +require gcc-cross_${PV}.bb +require gcc-cross-initial.inc + +S = "${WORKDIR}/gcc-4.2" + +EXTRA_OECONF += "--disable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap " + +# Hack till we fix *libc properly +do_stage_append() { + ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/ +} + diff --git a/packages/gcc/gcc-cross_csl-arm-2007q3.bb b/packages/gcc/gcc-cross_csl-arm-2007q3.bb new file mode 100644 index 0000000000..4fde67b006 --- /dev/null +++ b/packages/gcc/gcc-cross_csl-arm-2007q3.bb @@ -0,0 +1,26 @@ +PR = "r0" + +require gcc-csl-arm-2007q3.inc +require gcc-cross4.inc +require gcc-configure-cross.inc +require gcc-package-cross.inc + +SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 " + +EXTRA_OECONF += "--disable-multilib --disable-libunwind-exceptions --with-mpfr=${STAGING_DIR_NATIVE}${layout_exec_prefix}" + +#We don't want i686 linux ending up in the CFLAGS_FOR_TARGET like this: -isystem/OE/angstrom-tmp/staging/i686-linux/usr/include +CFLAGS = "" +CXXFLAGS = "" +LDFLAGS = "" + +# staging-linkage and cross-linkage recipes don't work anymore, so do it by hand for this backwards CSL toolchain +do_compile_prepend() { + ln -sf ${STAGING_DIR_TARGET}${layout_libdir}/crt*.o ${CROSS_DIR}/${TARGET_SYS}/lib/ + ln -sf ${STAGING_DIR_TARGET}${layout_libdir}/ld-* ${CROSS_DIR}/${TARGET_SYS}/lib/ + ln -sf ${STAGING_DIR_TARGET}/lib/libc* ${CROSS_DIR}/${TARGET_SYS}/lib/ + sed -i -e 's:gcc_no_link=yes:gcc_no_link=no:' ${S}/libstdc++-v3/configure + +} + +ARCH_FLAGS_FOR_TARGET += " -L${STAGING_DIR_TARGET}${layout_libdir} -isystem${STAGING_DIR_TARGET}${layout_includedir}" diff --git a/packages/gcc/gcc-csl-arm-2007q3.inc b/packages/gcc/gcc-csl-arm-2007q3.inc new file mode 100644 index 0000000000..601b4f0110 --- /dev/null +++ b/packages/gcc/gcc-csl-arm-2007q3.inc @@ -0,0 +1,51 @@ +require gcc-common.inc + +BINV = "4.2.1" +PV = "4.2.1+csl-arm-2007q3-53" + +FILESPATH = "${FILE_DIRNAME}/gcc-csl-arm-2007q3:${FILE_DIRNAME}/gcc-csl-arm" + +SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/arm-none-eabi/arm-2007q3-53-arm-none-eabi.src.tar.bz2 \ + file://gcc-new-makeinfo.patch;patch=1 \ +# file://100-uclibc-conf.patch;patch=1 \ +# file://103-uclibc-conf-noupstream.patch;patch=1 \ +# file://200-uclibc-locale.patch;patch=1 \ +# file://203-uclibc-locale-no__x.patch;patch=1 \ +# file://204-uclibc-locale-wchar_fix.patch;patch=1 \ +# file://205-uclibc-locale-update.patch;patch=1 \ +# file://300-libstdc++-pic.patch;patch=1 \ +# file://302-c99-snprintf.patch;patch=1 \ +# file://303-c99-complex-ugly-hack.patch;patch=1 \ +# file://304-index_macro.patch;patch=1 \ +# file://305-libmudflap-susv3-legacy.patch;patch=1 \ +# file://306-libstdc++-namespace.patch;patch=1 \ +# file://307-locale_facets.patch;patch=1 \ +# file://402-libbackend_dep_gcov-iov.h.patch;patch=1 \ +# file://602-sdk-libstdc++-includes.patch;patch=1 \ + file://gcc41-configure.in.patch;patch=1 \ + file://arm-nolibfloat.patch;patch=1 \ + file://arm-softfloat.patch;patch=1 \ + file://zecke-xgcc-cpp.patch;patch=1 \ +# file://gfortran.patch;patch=1 \ +# file://fortran-static-linking.patch;patch=1 \ +# file://gcc-configure-no-fortran.patch;patch=1;pnum=1 \ +# file://gcc-new-makeinfo.patch;patch=1 \ +" + + +S = "${WORKDIR}/gcc-4.2" + +do_unpack2() { + cd ${WORKDIR} + tar -xvjf ./arm-2007q3-53-arm-none-eabi/gcc-2007q3-53.tar.bz2 +} + +# Language Overrides +FORTRAN = "" +#FORTRAN_linux-gnueabi = ",fortran" +#JAVA = ",java" + +EXTRA_OECONF_BASE = "--enable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap" +ARM_INSTRUCTION_SET = "arm" + +addtask unpack2 after do_unpack before do_patch diff --git a/packages/gcc/gcc-csl-arm-2007q3/.mtn2git_empty b/packages/gcc/gcc-csl-arm-2007q3/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/gcc/gcc-csl-arm-2007q3/.mtn2git_empty diff --git a/packages/gcc/gcc-csl-arm-2007q3/gcc-new-makeinfo.patch b/packages/gcc/gcc-csl-arm-2007q3/gcc-new-makeinfo.patch new file mode 100644 index 0000000000..b59bd76c85 --- /dev/null +++ b/packages/gcc/gcc-csl-arm-2007q3/gcc-new-makeinfo.patch @@ -0,0 +1,22 @@ +--- /tmp/configure 2008-05-18 12:57:11.378648834 +0200 ++++ gcc-4.2/configure 2008-05-18 12:58:38.309478684 +0200 +@@ -3776,7 +3776,7 @@ + # For an installed makeinfo, we require it to be from texinfo 4.4 or + # higher, else we use the "missing" dummy. + if ${MAKEINFO} --version \ +- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then ++ | egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then + : + else + MAKEINFO="$MISSING makeinfo" +--- /tmp/configure.in 2008-05-18 12:57:32.665314708 +0200 ++++ gcc-4.2/configure.in 2008-05-18 12:59:03.000000000 +0200 +@@ -2271,7 +2271,7 @@ + # For an installed makeinfo, we require it to be from texinfo 4.4 or + # higher, else we use the "missing" dummy. + if ${MAKEINFO} --version \ +- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then ++ | egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then + : + else + MAKEINFO="$MISSING makeinfo" diff --git a/packages/gcc/gcc_csl-arm-2007q3.bb b/packages/gcc/gcc_csl-arm-2007q3.bb new file mode 100644 index 0000000000..d610713177 --- /dev/null +++ b/packages/gcc/gcc_csl-arm-2007q3.bb @@ -0,0 +1,5 @@ +PR = "r0" + +require gcc-${PV}.inc +require gcc-configure-target.inc +require gcc-package-target.inc diff --git a/packages/gettext/gettext-0.14.1/linklib_from_0.17.patch b/packages/gettext/gettext-0.14.1/linklib_from_0.17.patch new file mode 100644 index 0000000000..b979b5db06 --- /dev/null +++ b/packages/gettext/gettext-0.14.1/linklib_from_0.17.patch @@ -0,0 +1,1131 @@ +Index: gettext-0.14.1/autoconf-lib-link/m4/lib-ld.m4 +=================================================================== +--- gettext-0.14.1.orig/autoconf-lib-link/m4/lib-ld.m4 2008-04-15 14:32:45.000000000 +0100 ++++ gettext-0.14.1/autoconf-lib-link/m4/lib-ld.m4 2008-04-15 14:32:47.000000000 +0100 +@@ -1,10 +1,8 @@ + # lib-ld.m4 serial 3 (gettext-0.13) + dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. +-dnl This file is free software, distributed under the terms of the GNU +-dnl General Public License. As a special exception to the GNU General +-dnl Public License, this file may be distributed as part of a program +-dnl that contains a configuration script generated by Autoconf, under +-dnl the same distribution terms as the rest of that program. ++dnl This file is free software; the Free Software Foundation ++dnl gives unlimited permission to copy and/or distribute it, ++dnl with or without modifications, as long as this notice is preserved. + + dnl Subroutines of libtool.m4, + dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision +Index: gettext-0.14.1/autoconf-lib-link/m4/lib-link.m4 +=================================================================== +--- gettext-0.14.1.orig/autoconf-lib-link/m4/lib-link.m4 2008-04-15 14:32:45.000000000 +0100 ++++ gettext-0.14.1/autoconf-lib-link/m4/lib-link.m4 2008-04-15 14:32:47.000000000 +0100 +@@ -1,17 +1,19 @@ +-# lib-link.m4 serial 4 (gettext-0.12) +-dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. +-dnl This file is free software, distributed under the terms of the GNU +-dnl General Public License. As a special exception to the GNU General +-dnl Public License, this file may be distributed as part of a program +-dnl that contains a configuration script generated by Autoconf, under +-dnl the same distribution terms as the rest of that program. ++# lib-link.m4 serial 13 (gettext-0.17) ++dnl Copyright (C) 2001-2007 Free Software Foundation, Inc. ++dnl This file is free software; the Free Software Foundation ++dnl gives unlimited permission to copy and/or distribute it, ++dnl with or without modifications, as long as this notice is preserved. + + dnl From Bruno Haible. + ++AC_PREREQ(2.54) ++ + dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and + dnl the libraries corresponding to explicit and implicit dependencies. + dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and + dnl augments the CPPFLAGS variable. ++dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname ++dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. + AC_DEFUN([AC_LIB_LINKFLAGS], + [ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) +@@ -24,13 +26,16 @@ + ac_cv_lib[]Name[]_libs="$LIB[]NAME" + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" + ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ++ ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" + ]) + LIB[]NAME="$ac_cv_lib[]Name[]_libs" + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" + INC[]NAME="$ac_cv_lib[]Name[]_cppflags" ++ LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) ++ AC_SUBST([LIB]NAME[_PREFIX]) + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the + dnl results of this search when this library appears as a dependency. + HAVE_LIB[]NAME=yes +@@ -46,6 +51,8 @@ + dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and + dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs + dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. ++dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname ++dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. + AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], + [ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) +@@ -82,19 +89,27 @@ + CPPFLAGS="$ac_save_CPPFLAGS" + LIB[]NAME= + LTLIB[]NAME= ++ LIB[]NAME[]_PREFIX= + fi + AC_SUBST([HAVE_LIB]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) ++ AC_SUBST([LIB]NAME[_PREFIX]) + undefine([Name]) + undefine([NAME]) + ]) + + dnl Determine the platform dependent parameters needed to use rpath: +-dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, +-dnl hardcode_direct, hardcode_minus_L. ++dnl acl_libext, ++dnl acl_shlibext, ++dnl acl_hardcode_libdir_flag_spec, ++dnl acl_hardcode_libdir_separator, ++dnl acl_hardcode_direct, ++dnl acl_hardcode_minus_L. + AC_DEFUN([AC_LIB_RPATH], + [ ++ dnl Tell automake >= 1.10 to complain if config.rpath is missing. ++ m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host +@@ -107,12 +122,14 @@ + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" +- libext="$acl_cv_libext" +- shlibext="$acl_cv_shlibext" +- hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" +- hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" +- hardcode_direct="$acl_cv_hardcode_direct" +- hardcode_minus_L="$acl_cv_hardcode_minus_L" ++ acl_libext="$acl_cv_libext" ++ acl_shlibext="$acl_cv_shlibext" ++ acl_libname_spec="$acl_cv_libname_spec" ++ acl_library_names_spec="$acl_cv_library_names_spec" ++ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" ++ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" ++ acl_hardcode_direct="$acl_cv_hardcode_direct" ++ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + dnl Determine whether the user wants rpath handling at all. + AC_ARG_ENABLE(rpath, + [ --disable-rpath do not hardcode runtime library paths], +@@ -122,19 +139,24 @@ + dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and + dnl the libraries corresponding to explicit and implicit dependencies. + dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. ++dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found ++dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. + AC_DEFUN([AC_LIB_LINKFLAGS_BODY], + [ ++ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) ++ dnl Autoconf >= 2.61 supports dots in --with options. ++ define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) +- AC_LIB_ARG_WITH([lib$1-prefix], +-[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib +- --without-lib$1-prefix don't search for lib$1 in includedir and libdir], ++ AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix], ++[ --with-lib]N_A_M_E[-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib ++ --without-lib]N_A_M_E[-prefix don't search for lib$1 in includedir and libdir], + [ + if test "X$withval" = "Xno"; then + use_additional=no +@@ -146,7 +168,7 @@ + ]) + else + additional_includedir="$withval/include" +- additional_libdir="$withval/lib" ++ additional_libdir="$withval/$acl_libdirstem" + fi + fi + ]) +@@ -155,6 +177,7 @@ + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= ++ LIB[]NAME[]_PREFIX= + rpathdirs= + ltrpathdirs= + names_already_handled= +@@ -194,22 +217,55 @@ + found_la= + found_so= + found_a= ++ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name ++ if test -n "$acl_shlibext"; then ++ shrext=".$acl_shlibext" # typically: shrext=.so ++ else ++ shrext= ++ fi + if test $use_additional = yes; then +- if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then +- found_dir="$additional_libdir" +- found_so="$additional_libdir/lib$name.$shlibext" +- if test -f "$additional_libdir/lib$name.la"; then +- found_la="$additional_libdir/lib$name.la" +- fi +- else +- if test -f "$additional_libdir/lib$name.$libext"; then +- found_dir="$additional_libdir" +- found_a="$additional_libdir/lib$name.$libext" +- if test -f "$additional_libdir/lib$name.la"; then +- found_la="$additional_libdir/lib$name.la" ++ dir="$additional_libdir" ++ dnl The same code as in the loop below: ++ dnl First look for a shared library. ++ if test -n "$acl_shlibext"; then ++ if test -f "$dir/$libname$shrext"; then ++ found_dir="$dir" ++ found_so="$dir/$libname$shrext" ++ else ++ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ++ ver=`(cd "$dir" && \ ++ for f in "$libname$shrext".*; do echo "$f"; done \ ++ | sed -e "s,^$libname$shrext\\\\.,," \ ++ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ ++ | sed 1q ) 2>/dev/null` ++ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then ++ found_dir="$dir" ++ found_so="$dir/$libname$shrext.$ver" ++ fi ++ else ++ eval library_names=\"$acl_library_names_spec\" ++ for f in $library_names; do ++ if test -f "$dir/$f"; then ++ found_dir="$dir" ++ found_so="$dir/$f" ++ break ++ fi ++ done + fi + fi + fi ++ dnl Then look for a static library. ++ if test "X$found_dir" = "X"; then ++ if test -f "$dir/$libname.$acl_libext"; then ++ found_dir="$dir" ++ found_a="$dir/$libname.$acl_libext" ++ fi ++ fi ++ if test "X$found_dir" != "X"; then ++ if test -f "$dir/$libname.la"; then ++ found_la="$dir/$libname.la" ++ fi ++ fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do +@@ -217,21 +273,46 @@ + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` +- if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then +- found_dir="$dir" +- found_so="$dir/lib$name.$shlibext" +- if test -f "$dir/lib$name.la"; then +- found_la="$dir/lib$name.la" +- fi +- else +- if test -f "$dir/lib$name.$libext"; then ++ dnl First look for a shared library. ++ if test -n "$acl_shlibext"; then ++ if test -f "$dir/$libname$shrext"; then + found_dir="$dir" +- found_a="$dir/lib$name.$libext" +- if test -f "$dir/lib$name.la"; then +- found_la="$dir/lib$name.la" ++ found_so="$dir/$libname$shrext" ++ else ++ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ++ ver=`(cd "$dir" && \ ++ for f in "$libname$shrext".*; do echo "$f"; done \ ++ | sed -e "s,^$libname$shrext\\\\.,," \ ++ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ ++ | sed 1q ) 2>/dev/null` ++ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then ++ found_dir="$dir" ++ found_so="$dir/$libname$shrext.$ver" ++ fi ++ else ++ eval library_names=\"$acl_library_names_spec\" ++ for f in $library_names; do ++ if test -f "$dir/$f"; then ++ found_dir="$dir" ++ found_so="$dir/$f" ++ break ++ fi ++ done + fi + fi + fi ++ dnl Then look for a static library. ++ if test "X$found_dir" = "X"; then ++ if test -f "$dir/$libname.$acl_libext"; then ++ found_dir="$dir" ++ found_a="$dir/$libname.$acl_libext" ++ fi ++ fi ++ if test "X$found_dir" != "X"; then ++ if test -f "$dir/$libname.la"; then ++ found_la="$dir/$libname.la" ++ fi ++ fi + ;; + esac + if test "X$found_dir" != "X"; then +@@ -246,7 +327,7 @@ + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. +- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then ++ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else +@@ -265,12 +346,12 @@ + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. +- if test "$hardcode_direct" = yes; then ++ if test "$acl_hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else +- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then ++ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" +@@ -301,13 +382,13 @@ + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi +- if test "$hardcode_minus_L" != no; then ++ if test "$acl_hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else +- dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH ++ dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. +@@ -332,8 +413,9 @@ + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in +- */lib | */lib/) +- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` ++ */$acl_libdirstem | */$acl_libdirstem/) ++ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` ++ LIB[]NAME[]_PREFIX="$basedir" + additional_includedir="$basedir/include" + ;; + esac +@@ -350,7 +432,7 @@ + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in +- linux*) haveit=yes;; ++ linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi +@@ -394,12 +476,12 @@ + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. +- if test "X$additional_libdir" != "X/usr/lib"; then ++ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= +- if test "X$additional_libdir" = "X/usr/local/lib"; then ++ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in +- linux*) haveit=yes;; ++ linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi +@@ -495,18 +577,18 @@ + done + done + if test "X$rpathdirs" != "X"; then +- if test -n "$hardcode_libdir_separator"; then ++ if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do +- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" ++ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done +- dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. ++ dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" +- eval flag=\"$hardcode_libdir_flag_spec\" ++ eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else +@@ -514,7 +596,7 @@ + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" +- eval flag=\"$hardcode_libdir_flag_spec\" ++ eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done +@@ -549,3 +631,79 @@ + fi + done + ]) ++ ++dnl For those cases where a variable contains several -L and -l options ++dnl referring to unknown libraries and directories, this macro determines the ++dnl necessary additional linker options for the runtime path. ++dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) ++dnl sets LDADDVAR to linker options needed together with LIBSVALUE. ++dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, ++dnl otherwise linking without libtool is assumed. ++AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], ++[ ++ AC_REQUIRE([AC_LIB_RPATH]) ++ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) ++ $1= ++ if test "$enable_rpath" != no; then ++ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then ++ dnl Use an explicit option to hardcode directories into the resulting ++ dnl binary. ++ rpathdirs= ++ next= ++ for opt in $2; do ++ if test -n "$next"; then ++ dir="$next" ++ dnl No need to hardcode the standard /usr/lib. ++ if test "X$dir" != "X/usr/$acl_libdirstem"; then ++ rpathdirs="$rpathdirs $dir" ++ fi ++ next= ++ else ++ case $opt in ++ -L) next=yes ;; ++ -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` ++ dnl No need to hardcode the standard /usr/lib. ++ if test "X$dir" != "X/usr/$acl_libdirstem"; then ++ rpathdirs="$rpathdirs $dir" ++ fi ++ next= ;; ++ *) next= ;; ++ esac ++ fi ++ done ++ if test "X$rpathdirs" != "X"; then ++ if test -n ""$3""; then ++ dnl libtool is used for linking. Use -R options. ++ for dir in $rpathdirs; do ++ $1="${$1}${$1:+ }-R$dir" ++ done ++ else ++ dnl The linker is used for linking directly. ++ if test -n "$acl_hardcode_libdir_separator"; then ++ dnl Weird platform: only the last -rpath option counts, the user ++ dnl must pass all path elements in one option. ++ alldirs= ++ for dir in $rpathdirs; do ++ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" ++ done ++ acl_save_libdir="$libdir" ++ libdir="$alldirs" ++ eval flag=\"$acl_hardcode_libdir_flag_spec\" ++ libdir="$acl_save_libdir" ++ $1="$flag" ++ else ++ dnl The -rpath options are cumulative. ++ for dir in $rpathdirs; do ++ acl_save_libdir="$libdir" ++ libdir="$dir" ++ eval flag=\"$acl_hardcode_libdir_flag_spec\" ++ libdir="$acl_save_libdir" ++ $1="${$1}${$1:+ }$flag" ++ done ++ fi ++ fi ++ fi ++ fi ++ fi ++ AC_SUBST([$1]) ++]) +Index: gettext-0.14.1/autoconf-lib-link/m4/lib-prefix.m4 +=================================================================== +--- gettext-0.14.1.orig/autoconf-lib-link/m4/lib-prefix.m4 2008-04-15 14:32:45.000000000 +0100 ++++ gettext-0.14.1/autoconf-lib-link/m4/lib-prefix.m4 2008-04-15 14:32:47.000000000 +0100 +@@ -1,10 +1,8 @@ +-# lib-prefix.m4 serial 3 (gettext-0.13) +-dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. +-dnl This file is free software, distributed under the terms of the GNU +-dnl General Public License. As a special exception to the GNU General +-dnl Public License, this file may be distributed as part of a program +-dnl that contains a configuration script generated by Autoconf, under +-dnl the same distribution terms as the rest of that program. ++# lib-prefix.m4 serial 5 (gettext-0.15) ++dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. ++dnl This file is free software; the Free Software Foundation ++dnl gives unlimited permission to copy and/or distribute it, ++dnl with or without modifications, as long as this notice is preserved. + + dnl From Bruno Haible. + +@@ -26,6 +24,7 @@ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) ++ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes +@@ -47,7 +46,7 @@ + ]) + else + additional_includedir="$withval/include" +- additional_libdir="$withval/lib" ++ additional_libdir="$withval/$acl_libdirstem" + fi + fi + ]) +@@ -71,7 +70,7 @@ + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in +- linux*) haveit=yes;; ++ linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi +@@ -89,7 +88,7 @@ + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. +- if test "X$additional_libdir" != "X/usr/lib"; then ++ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) +@@ -99,7 +98,7 @@ + fi + done + if test -z "$haveit"; then +- if test "X$additional_libdir" = "X/usr/local/lib"; then ++ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; +@@ -153,3 +152,34 @@ + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + ]) ++ ++dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing ++dnl the basename of the libdir, either "lib" or "lib64". ++AC_DEFUN([AC_LIB_PREPARE_MULTILIB], ++[ ++ dnl There is no formal standard regarding lib and lib64. The current ++ dnl practice is that on a system supporting 32-bit and 64-bit instruction ++ dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit ++ dnl libraries go under $prefix/lib. We determine the compiler's default ++ dnl mode by looking at the compiler's library search path. If at least ++ dnl of its elements ends in /lib64 or points to a directory whose absolute ++ dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the ++ dnl default, namely "lib". ++ acl_libdirstem=lib ++ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` ++ if test -n "$searchpath"; then ++ acl_save_IFS="${IFS= }"; IFS=":" ++ for searchdir in $searchpath; do ++ if test -d "$searchdir"; then ++ case "$searchdir" in ++ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; ++ *) searchdir=`cd "$searchdir" && pwd` ++ case "$searchdir" in ++ */lib64 ) acl_libdirstem=lib64 ;; ++ esac ;; ++ esac ++ fi ++ done ++ IFS="$acl_save_IFS" ++ fi ++]) +Index: gettext-0.14.1/autoconf-lib-link/config.rpath +=================================================================== +--- gettext-0.14.1.orig/autoconf-lib-link/config.rpath 2008-04-15 14:32:51.000000000 +0100 ++++ gettext-0.14.1/autoconf-lib-link/config.rpath 2007-06-28 00:01:49.000000000 +0100 +@@ -2,28 +2,13 @@ + # Output a system dependent set of variables, describing how to set the + # run time search path of shared libraries in an executable. + # +-# Copyright 1996-2003 Free Software Foundation, Inc. ++# Copyright 1996-2007 Free Software Foundation, Inc. + # Taken from GNU libtool, 2001 + # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 + # +-# 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. +-# +-# 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 this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-# +-# As a special exception to the GNU General Public License, if you +-# distribute this file as part of a program that contains a +-# configuration script generated by Autoconf, you may include it under +-# the same distribution terms that you use for the rest of that program. ++# This file is free software; the Free Software Foundation gives ++# unlimited permission to copy and/or distribute it, with or without ++# modifications, as long as this notice is preserved. + # + # The first argument passed to this file is the canonical host specification, + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +@@ -40,7 +25,7 @@ + # known workaround is to choose shorter directory names for the build + # directory and/or the installation directory. + +-# All known linkers require a `.a' archive for static linking (except M$VC, ++# All known linkers require a `.a' archive for static linking (except MSVC, + # which needs '.lib'). + libext=a + shrext=.so +@@ -50,6 +35,18 @@ + host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` + host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + ++# Code taken from libtool.m4's _LT_CC_BASENAME. ++ ++for cc_temp in $CC""; do ++ case $cc_temp in ++ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; ++ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; ++ \-*) ;; ++ *) break;; ++ esac ++done ++cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` ++ + # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. + + wl= +@@ -60,7 +57,14 @@ + aix*) + wl='-Wl,' + ;; +- mingw* | pw32* | os2*) ++ darwin*) ++ case $cc_basename in ++ xlc*) ++ wl='-Wl,' ++ ;; ++ esac ++ ;; ++ mingw* | cygwin* | pw32* | os2*) + ;; + hpux9* | hpux10* | hpux11*) + wl='-Wl,' +@@ -70,20 +74,33 @@ + ;; + newsos6) + ;; +- linux*) +- case $CC in +- icc|ecc) ++ linux* | k*bsd*-gnu) ++ case $cc_basename in ++ icc* | ecc*) ++ wl='-Wl,' ++ ;; ++ pgcc | pgf77 | pgf90) + wl='-Wl,' + ;; +- ccc) ++ ccc*) + wl='-Wl,' + ;; ++ como) ++ wl='-lopt=' ++ ;; ++ *) ++ case `$CC -V 2>&1 | sed 5q` in ++ *Sun\ C*) ++ wl='-Wl,' ++ ;; ++ esac ++ ;; + esac + ;; + osf3* | osf4* | osf5*) + wl='-Wl,' + ;; +- sco3.2v5*) ++ rdos*) + ;; + solaris*) + wl='-Wl,' +@@ -91,11 +108,17 @@ + sunos4*) + wl='-Qoption ld ' + ;; +- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) ++ sysv4 | sysv4.2uw2* | sysv4.3*) + wl='-Wl,' + ;; + sysv4*MP*) + ;; ++ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) ++ wl='-Wl,' ++ ;; ++ unicos*) ++ wl='-Wl,' ++ ;; + uts4*) + ;; + esac +@@ -117,6 +140,10 @@ + with_gnu_ld=no + fi + ;; ++ interix*) ++ # we just hope/assume this is gcc and not c89 (= MSVC++) ++ with_gnu_ld=yes ++ ;; + openbsd*) + with_gnu_ld=no + ;; +@@ -124,6 +151,12 @@ + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then ++ # Set some defaults for GNU ld with shared library support. These ++ # are reset later if shared libraries are not supported. Putting them ++ # here allows them to be overridden if necessary. ++ # Unlike libtool, we use -rpath here, not --rpath, since the documented ++ # option of GNU ld is called -rpath, not --rpath. ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + case "$host_os" in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken +@@ -138,7 +171,7 @@ + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the +- # behavior of shared libraries on other platforms, we can use ++ # behavior of shared libraries on other platforms, we cannot use + # them. + ld_shlibs=no + ;; +@@ -159,9 +192,20 @@ + ld_shlibs=no + fi + ;; ++ interix[3-9]*) ++ hardcode_direct=no ++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ++ ;; ++ gnu* | linux* | k*bsd*-gnu) ++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; + netbsd*) + ;; +- solaris* | sysv5*) ++ solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then +@@ -170,6 +214,20 @@ + ld_shlibs=no + fi + ;; ++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) ++ case `$LD -v 2>&1` in ++ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ++ ld_shlibs=no ++ ;; ++ *) ++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ esac ++ ;; + sunos4*) + hardcode_direct=yes + ;; +@@ -181,10 +239,8 @@ + fi + ;; + esac +- if test "$ld_shlibs" = yes; then +- # Unlike libtool, we use -rpath here, not --rpath, since the documented +- # option of GNU ld is called -rpath, not --rpath. +- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ if test "$ld_shlibs" = no; then ++ hardcode_libdir_flag_spec= + fi + else + case "$host_os" in +@@ -215,6 +271,7 @@ + break + fi + done ++ ;; + esac + fi + hardcode_direct=yes +@@ -226,7 +283,7 @@ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 +- hardcode_direct=yes ++ : + else + # We have old collect2 + hardcode_direct=unsupported +@@ -234,6 +291,7 @@ + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi ++ ;; + esac + fi + # Begin _LT_AC_SYS_LIBPATH_AIX. +@@ -266,7 +324,7 @@ + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; +- bsdi4*) ++ bsdi[45]*) + ;; + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using +@@ -277,8 +335,17 @@ + libext=lib + ;; + darwin* | rhapsody*) +- if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then +- hardcode_direct=no ++ hardcode_direct=no ++ if test "$GCC" = yes ; then ++ : ++ else ++ case $cc_basename in ++ xlc*) ++ ;; ++ *) ++ ld_shlibs=no ++ ;; ++ esac + fi + ;; + dgux*) +@@ -295,7 +362,7 @@ + hardcode_direct=yes + hardcode_minus_L=yes + ;; +- freebsd*) ++ freebsd* | dragonfly*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; +@@ -307,24 +374,25 @@ + # but as the default location of the library. + hardcode_minus_L=yes + ;; +- hpux10* | hpux11*) ++ hpux10*) + if test "$with_gnu_ld" = no; then +- case "$host_cpu" in +- hppa*64*) +- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' +- hardcode_libdir_separator=: +- hardcode_direct=no +- ;; +- ia64*) +- hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ++ hardcode_libdir_separator=: ++ hardcode_direct=yes ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ fi ++ ;; ++ hpux11*) ++ if test "$with_gnu_ld" = no; then ++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ++ hardcode_libdir_separator=: ++ case $host_cpu in ++ hppa*64*|ia64*) + hardcode_direct=no +- # hardcode_minus_L: Not really in the search PATH, +- # but as the default location of the library. +- hardcode_minus_L=yes + ;; + *) +- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' +- hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. +@@ -347,18 +415,22 @@ + hardcode_libdir_separator=: + ;; + openbsd*) +- hardcode_direct=yes +- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then +- hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ++ if test -f /usr/libexec/ld.so; then ++ hardcode_direct=yes ++ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then ++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ++ else ++ case "$host_os" in ++ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) ++ hardcode_libdir_flag_spec='-R$libdir' ++ ;; ++ *) ++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ++ ;; ++ esac ++ fi + else +- case "$host_os" in +- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) +- hardcode_libdir_flag_spec='-R$libdir' +- ;; +- *) +- hardcode_libdir_flag_spec='${wl}-rpath,$libdir' +- ;; +- esac ++ ld_shlibs=no + fi + ;; + os2*) +@@ -378,8 +450,6 @@ + fi + hardcode_libdir_separator=: + ;; +- sco3.2v5*) +- ;; + solaris*) + hardcode_libdir_flag_spec='-R$libdir' + ;; +@@ -408,14 +478,11 @@ + ld_shlibs=yes + fi + ;; +- sysv4.2uw2*) +- hardcode_direct=yes +- hardcode_minus_L=no +- ;; +- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) ++ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + ;; +- sysv5*) +- hardcode_libdir_flag_spec= ++ sysv5* | sco3.2v5* | sco5v6*) ++ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' ++ hardcode_libdir_separator=':' + ;; + uts4*) + hardcode_libdir_flag_spec='-L$libdir' +@@ -428,34 +495,54 @@ + + # Check dynamic linker characteristics + # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. ++# Unlike libtool.m4, here we don't care about _all_ names of the library, but ++# only about the one the linker finds when passed -lNAME. This is the last ++# element of library_names_spec in libtool.m4, or possibly two of them if the ++# linker has special search rules. ++library_names_spec= # the last element of library_names_spec in libtool.m4 + libname_spec='lib$name' + case "$host_os" in + aix3*) ++ library_names_spec='$libname.a' + ;; + aix4* | aix5*) ++ library_names_spec='$libname$shrext' + ;; + amigaos*) ++ library_names_spec='$libname.a' + ;; + beos*) ++ library_names_spec='$libname$shrext' + ;; +- bsdi4*) ++ bsdi[45]*) ++ library_names_spec='$libname$shrext' + ;; + cygwin* | mingw* | pw32*) + shrext=.dll ++ library_names_spec='$libname.dll.a $libname.lib' + ;; + darwin* | rhapsody*) + shrext=.dylib ++ library_names_spec='$libname$shrext' + ;; + dgux*) ++ library_names_spec='$libname$shrext' + ;; + freebsd1*) + ;; +- freebsd*) ++ freebsd* | dragonfly*) ++ case "$host_os" in ++ freebsd[123]*) ++ library_names_spec='$libname$shrext$versuffix' ;; ++ *) ++ library_names_spec='$libname$shrext' ;; ++ esac + ;; + gnu*) ++ library_names_spec='$libname$shrext' + ;; + hpux9* | hpux10* | hpux11*) +- case "$host_cpu" in ++ case $host_cpu in + ia64*) + shrext=.so + ;; +@@ -466,8 +553,13 @@ + shrext=.sl + ;; + esac ++ library_names_spec='$libname$shrext' ++ ;; ++ interix[3-9]*) ++ library_names_spec='$libname$shrext' + ;; + irix5* | irix6* | nonstopux*) ++ library_names_spec='$libname$shrext' + case "$host_os" in + irix5* | nonstopux*) + libsuff= shlibsuff= +@@ -484,42 +576,62 @@ + ;; + linux*oldld* | linux*aout* | linux*coff*) + ;; +- linux*) ++ linux* | k*bsd*-gnu) ++ library_names_spec='$libname$shrext' ++ ;; ++ knetbsd*-gnu) ++ library_names_spec='$libname$shrext' + ;; + netbsd*) ++ library_names_spec='$libname$shrext' + ;; + newsos6) ++ library_names_spec='$libname$shrext' + ;; +- nto-qnx) ++ nto-qnx*) ++ library_names_spec='$libname$shrext' + ;; + openbsd*) ++ library_names_spec='$libname$shrext$versuffix' + ;; + os2*) + libname_spec='$name' + shrext=.dll ++ library_names_spec='$libname.a' + ;; + osf3* | osf4* | osf5*) ++ library_names_spec='$libname$shrext' + ;; +- sco3.2v5*) ++ rdos*) + ;; + solaris*) ++ library_names_spec='$libname$shrext' + ;; + sunos4*) ++ library_names_spec='$libname$shrext$versuffix' + ;; +- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) ++ sysv4 | sysv4.3*) ++ library_names_spec='$libname$shrext' + ;; + sysv4*MP*) ++ library_names_spec='$libname$shrext' ++ ;; ++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) ++ library_names_spec='$libname$shrext' + ;; + uts4*) ++ library_names_spec='$libname$shrext' + ;; + esac + + sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` + shlibext=`echo "$shrext" | sed -e 's,^\.,,'` ++escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` ++escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` + escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` + +-sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF ++LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF + + # How to pass a linker flag through the compiler. + wl="$escaped_wl" +@@ -530,6 +642,12 @@ + # Shared library suffix (normally "so"). + shlibext="$shlibext" + ++# Format of library name prefix. ++libname_spec="$escaped_libname_spec" ++ ++# Library names that the linker finds when passed -lNAME. ++library_names_spec="$escaped_library_names_spec" ++ + # Flag to hardcode \$libdir into a binary during linking. + # This must work even if \$libdir does not exist. + hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec" diff --git a/packages/gettext/gettext-native_0.14.1.bb b/packages/gettext/gettext-native_0.14.1.bb index 6203b1f9d7..f792f3247a 100644 --- a/packages/gettext/gettext-native_0.14.1.bb +++ b/packages/gettext/gettext-native_0.14.1.bb @@ -2,6 +2,7 @@ require gettext_${PV}.bb S = "${WORKDIR}/gettext-${PV}" FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gettext-${PV}" inherit native +DEPENDS = "" PROVIDES = "" M4 = "\ @@ -50,4 +51,10 @@ do_stage_append() { fi install -m 0644 $src ${STAGING_DATADIR}/aclocal/$i done + # config.rpath is needed by some configure macros and needs to be autoinstalled. + # automake will do this but config.rpath needs to be visible to automake + for i in `ls -d ${STAGING_DATADIR}/automake*` + do + cp ${STAGING_DATADIR}/gettext/config.rpath $i + done } diff --git a/packages/gettext/gettext_0.14.1.bb b/packages/gettext/gettext_0.14.1.bb index d5afbaf520..9c020f34c7 100644 --- a/packages/gettext/gettext_0.14.1.bb +++ b/packages/gettext/gettext_0.14.1.bb @@ -2,12 +2,14 @@ DESCRIPTION = "The GNU internationalization library." HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html" SECTION = "libs" LICENSE = "GPL" -PR = "r8" +PR = "r9" +DEPENDS = "virtual/libiconv" PROVIDES = "virtual/libintl" SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \ file://gettext-vpath.patch;patch=1;pnum=1 \ file://fixchicken.patch;patch=1;pnum=1 \ + file://linklib_from_0.17.patch;patch=1 \ file://getline.m4.patch;patch=1 \ file://disable_java.patch;patch=1" diff --git a/packages/glibc/eglibc_svn.bb b/packages/glibc/eglibc_svn.bb index 013f2666cb..ee5b3cfd23 100644 --- a/packages/glibc/eglibc_svn.bb +++ b/packages/glibc/eglibc_svn.bb @@ -3,7 +3,7 @@ require glibc.inc DEFAULT_PREFERENCE = "-1" FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/eglibc-svn" PV = "2.8+svnr${SRCREV}" -PR = "r5" +PR = "r6" SRC_URI = "svn://svn.eglibc.org;module=trunk \ file://eglibc-svn-arm-cargs6.patch;patch=1 \ file://eglibc-svn-arm-check_pf.patch;patch=1 \ diff --git a/packages/glibc/glibc-package.bbclass b/packages/glibc/glibc-package.bbclass index bd1cb4f4e4..43a64d8af1 100644 --- a/packages/glibc/glibc-package.bbclass +++ b/packages/glibc/glibc-package.bbclass @@ -79,9 +79,6 @@ do_install() { mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED done rm -f ${D}/etc/rpc - rm -f ${D}${includedir}/scsi/sg.h - rm -f ${D}${includedir}/scsi/scsi_ioctl.h - rm -f ${D}${includedir}/scsi/scsi.h } TMP_LOCALE="/tmp/locale${libdir}/locale" @@ -250,6 +247,9 @@ python package_do_split_gconvs () { def output_locale_binary(name, locale, encoding): target_arch = bb.data.getVar("TARGET_ARCH", d, 1) + if target_arch in ("i586", "i686"): + target_arch = "i386" + qemu = "qemu-%s -r 2.6.16" % target_arch pkgname = 'locale-base-' + legitimize_package_name(name) m = re.match("(.*)\.(.*)", name) diff --git a/packages/glibc/glibc_2.2.5.bb b/packages/glibc/glibc_2.2.5.bb index bf4a4092fc..4a94dac5b7 100644 --- a/packages/glibc/glibc_2.2.5.bb +++ b/packages/glibc/glibc_2.2.5.bb @@ -1,7 +1,7 @@ require glibc.inc FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs" -PR = "r14" +PR = "r15" DEFAULT_PREFERENCE_sh3 = "-99" diff --git a/packages/glibc/glibc_2.3.2+cvs20040726.bb b/packages/glibc/glibc_2.3.2+cvs20040726.bb index 04d5b415bf..c40968dd7f 100644 --- a/packages/glibc/glibc_2.3.2+cvs20040726.bb +++ b/packages/glibc/glibc_2.3.2+cvs20040726.bb @@ -3,7 +3,7 @@ require glibc.inc DEFAULT_PREFERENCE_sh3 = "-99" FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs" -PR = "r24" +PR = "r25" GLIBC_ADDONS ?= "linuxthreads" diff --git a/packages/glibc/glibc_2.3.2.bb b/packages/glibc/glibc_2.3.2.bb index 7289e0985a..6ea2951eb6 100644 --- a/packages/glibc/glibc_2.3.2.bb +++ b/packages/glibc/glibc_2.3.2.bb @@ -1,6 +1,6 @@ require glibc.inc -PR = "r13" +PR = "r14" DEFAULT_PREFERENCE_sh3 = "-99" diff --git a/packages/glibc/glibc_2.3.3+cvs20041128.bb b/packages/glibc/glibc_2.3.3+cvs20041128.bb index 6bc6ccc0b1..9c344ccc46 100644 --- a/packages/glibc/glibc_2.3.3+cvs20041128.bb +++ b/packages/glibc/glibc_2.3.3+cvs20041128.bb @@ -3,7 +3,7 @@ require glibc.inc DEFAULT_PREFERENCE_sh3 = "-99" FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs" -PR = "r9" +PR = "r10" GLIBC_ADDONS ?= "linuxthreads" diff --git a/packages/glibc/glibc_2.3.3+cvs20050221.bb b/packages/glibc/glibc_2.3.3+cvs20050221.bb index 5e4ee1ef66..51de036ece 100644 --- a/packages/glibc/glibc_2.3.3+cvs20050221.bb +++ b/packages/glibc/glibc_2.3.3+cvs20050221.bb @@ -3,7 +3,7 @@ require glibc.inc DEFAULT_PREFERENCE_sh3 = "-99" FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs" -PR = "r9" +PR = "r10" GLIBC_ADDONS ?= "linuxthreads" diff --git a/packages/glibc/glibc_2.3.3+cvs20050420.bb b/packages/glibc/glibc_2.3.3+cvs20050420.bb index 0b8376349e..6fb4b12293 100644 --- a/packages/glibc/glibc_2.3.3+cvs20050420.bb +++ b/packages/glibc/glibc_2.3.3+cvs20050420.bb @@ -5,7 +5,7 @@ DEFAULT_PREFERENCE_i586 = "0" DEFAULT_PREFERENCE_sh3 = "-99" FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs" -PR = "r7" +PR = "r8" GLIBC_ADDONS ?= "linuxthreads" diff --git a/packages/glibc/glibc_2.3.3.bb b/packages/glibc/glibc_2.3.3.bb index 6421e6c966..b1eeef30f0 100644 --- a/packages/glibc/glibc_2.3.3.bb +++ b/packages/glibc/glibc_2.3.3.bb @@ -1,6 +1,6 @@ require glibc.inc -PR = "r10" +PR = "r11" DEFAULT_PREFERENCE_sh3 = "-99" diff --git a/packages/glibc/glibc_2.3.5+cvs20050627.bb b/packages/glibc/glibc_2.3.5+cvs20050627.bb index 1635f6bf77..4e80f90d2c 100644 --- a/packages/glibc/glibc_2.3.5+cvs20050627.bb +++ b/packages/glibc/glibc_2.3.5+cvs20050627.bb @@ -2,7 +2,7 @@ require glibc.inc FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs-2.3.5" SRCDATE = "20050627" -PR = "r16" +PR = "r17" #Doesnt build for sh3 DEFAULT_PREFERENCE_sh3="-1" diff --git a/packages/glibc/glibc_2.4.bb b/packages/glibc/glibc_2.4.bb index 85dfcb7f59..0ab3dbb157 100644 --- a/packages/glibc/glibc_2.4.bb +++ b/packages/glibc/glibc_2.4.bb @@ -1,6 +1,6 @@ require glibc.inc -PR = "r14" +PR = "r15" #add the hosts that are confirmed to be working to COMPATIBLE_HOSTi COMPATIBLE_HOST = '(i.86.*-linux|sh.*-linux)' diff --git a/packages/glibc/glibc_2.5.bb b/packages/glibc/glibc_2.5.bb index b48f3e1884..c74a748357 100644 --- a/packages/glibc/glibc_2.5.bb +++ b/packages/glibc/glibc_2.5.bb @@ -1,5 +1,5 @@ require glibc.inc -PR = "r11" +PR = "r12" ARM_INSTRUCTION_SET = "arm" diff --git a/packages/glibc/glibc_2.6.1.bb b/packages/glibc/glibc_2.6.1.bb index e44e6bea14..c1c0c3150d 100644 --- a/packages/glibc/glibc_2.6.1.bb +++ b/packages/glibc/glibc_2.6.1.bb @@ -1,5 +1,5 @@ require glibc.inc -PR = "r4" +PR = "r5" ARM_INSTRUCTION_SET = "arm" diff --git a/packages/glibc/glibc_2.7.bb b/packages/glibc/glibc_2.7.bb index 74fc79f586..d355d85360 100644 --- a/packages/glibc/glibc_2.7.bb +++ b/packages/glibc/glibc_2.7.bb @@ -5,7 +5,7 @@ ARM_INSTRUCTION_SET = "arm" PACKAGES_DYNAMIC = "libc6*" RPROVIDES_${PN}-dev = "libc6-dev" -PR = "r1" +PR = "r2" # the -isystem in bitbake.conf screws up glibc do_stage BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" diff --git a/packages/glibc/glibc_cvs.bb b/packages/glibc/glibc_cvs.bb index 62d4cc53c3..e5832e1f12 100644 --- a/packages/glibc/glibc_cvs.bb +++ b/packages/glibc/glibc_cvs.bb @@ -1,7 +1,7 @@ require glibc.inc FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs-2.3.5" -PR = "r7" +PR = "r8" PV = "2.3.5+cvs${SRCDATE}" GLIBC_ADDONS ?= "ports,linuxthreads" diff --git a/packages/gpe-helpviewer/gpe-helpviewer_1.0.bb b/packages/gpe-helpviewer/gpe-helpviewer_1.0.bb index eb9c9ba910..dcd6486fab 100644 --- a/packages/gpe-helpviewer/gpe-helpviewer_1.0.bb +++ b/packages/gpe-helpviewer/gpe-helpviewer_1.0.bb @@ -1,13 +1,10 @@ -PR = "r2" - DESCRIPTION = "A helpviewer based on gtk+webcore" LICENSE = "GPL" - -SRC_URI = "http://stag.mind.be/gpe-helpviewer-${PV}.tar.bz2" - DEPENDS = "osb-nrcit" RDEPENDS = "gpe-helpviewer-doc" +PR = "r2" +SRC_URI = "http://stag.mind.be/gpe-helpviewer-${PV}.tar.bz2" S = "${WORKDIR}/gpe-helpviewer" @@ -16,23 +13,23 @@ inherit autotools do_install() { install -d ${D}${docdir}/gpe install -m 0644 ${S}/gpe-helpviewer.html ${D}${docdir}/gpe/ - install -d ${D}/usr/share/applications - install -m 0644 ${S}/gpe-helpviewer.desktop ${D}/usr/share/applications/gpe-helpviewer.desktop - install -d ${D}/usr/share/pixmaps - install -m 0644 ${S}/gpe-help.png ${D}/usr/share/pixmaps/gpe-help.png + install -d ${D}${datadir}/applications + install -m 0644 ${S}/gpe-helpviewer.desktop ${D}${datadir}/applications/gpe-helpviewer.desktop + install -d ${D}${datadir}/pixmaps + install -m 0644 ${S}/gpe-help.png ${D}${datadir}/pixmaps/gpe-help.png autotools_do_install } pkg_postinst_${PN}-doc () { #!/bin/sh if [ "x$D" != "x" ]; then - if [ -e /etc/gpe/gpe-help.conf ]; then - echo gpe-helpviewer = /usr/share/doc/gpe/gpe-helpviewer.html >> /etc/gpe/gpe-help.conf + if [ -e ${sysconfdir}/gpe/gpe-help.conf ]; then + echo gpe-helpviewer = ${docdir}/gpe/gpe-helpviewer.html >> ${sysconfdir}/gpe/gpe-help.conf else - echo [Help] >> /etc/gpe/gpe-help.conf - echo gpe-helpviewer = /usr/share/doc/gpe/gpe-helpviewer.html >> /etc/gpe/gpe-help.conf + echo [Help] >> ${sysconfdir}/gpe/gpe-help.conf + echo gpe-helpviewer = ${docdir}/gpe/gpe-helpviewer.html >> ${sysconfdir}/gpe/gpe-help.conf fi - if [ -x /usr/bin/gpe-helpindex ]; then + if [ -x ${bindir}/gpe-helpindex ]; then echo generating help-index gpe-helpindex else @@ -44,11 +41,11 @@ pkg_postinst_${PN}-doc () { pkg_postrm_${PN}-doc () { #!/bin/sh if [ "x$D" != "x" ]; then - if [ -e /etc/gpe/gpe-help.conf ]; then - sed '/^\<gpe-helpviewer\>/d' /etc/gpe/gpe-help.conf > /tmp/gpe-help.conf - mv /tmp/gpe-help.conf /etc/gpe/gpe-help.conf + if [ -e ${sysconfdir}/gpe/gpe-help.conf ]; then + sed '/^\<gpe-helpviewer\>/d' ${sysconfdir}/gpe/gpe-help.conf > /tmp/gpe-help.conf + mv /tmp/gpe-help.conf ${sysconfdir}/gpe/gpe-help.conf fi - if [ -x /usr/bin/gpe-helpindex ]; then + if [ -x ${bindir}/gpe-helpindex ]; then echo generating help-index gpe-helpindex else diff --git a/packages/images/fso-image.bb b/packages/images/fso-image.bb new file mode 100644 index 0000000000..72cbfd71c6 --- /dev/null +++ b/packages/images/fso-image.bb @@ -0,0 +1,61 @@ +#------------------------------------------------------ +# freesmartphone.org Image Recipe +#------------------------------------------------------ + +IMAGE_LINGUAS = "" + +ADD_INSTALL = "\ + fontconfig-utils \ + \ + ttf-dejavu-common \ + ttf-dejavu-sans \ + ttf-dejavu-serif \ + \ +" + +MICKEY_INSTALL = "\ + htop \ + mickeyterm \ + nano \ + powertop \ + s3c24xx-gpio \ +" + +ZHONE_INSTALL = "\ + gsm0710muxd \ + python-odeviced \ + python-ophoned \ + python-ousaged \ + zhone \ +" + +IMAGE_INSTALL = "\ + ${MACHINE_TASK_PROVIDER} \ + netbase \ + sysfsutils \ + module-init-tools-depmod \ + rsync \ + screen \ + fbset \ + fbset-modes \ + \ + matchbox-wm \ + ${XSERVER} \ + xserver-kdrive-common \ + xserver-nodm-init \ + xauth \ + xhost \ + xset \ + xrandr \ + \ + python-codecs \ + \ + ${ADD_INSTALL} \ + ${MICKEY_INSTALL} \ + ${ZHONE_INSTALL} \ +" + +inherit image + +ROOTFS_POSTPROCESS_COMMAND += 'date "+%m%d%H%M%Y" >${IMAGE_ROOTFS}/etc/timestamp' + diff --git a/packages/ipaq-sleep/ipaq-sleep_0.9.bb b/packages/ipaq-sleep/ipaq-sleep_0.9.bb index a3fcbdf270..24d881dd05 100644 --- a/packages/ipaq-sleep/ipaq-sleep_0.9.bb +++ b/packages/ipaq-sleep/ipaq-sleep_0.9.bb @@ -1,17 +1,14 @@ - +DESCRIPTION = "Automatic sleep/suspend control daemon" +SECTION = "x11/base" LICENSE = "GPL" -inherit gpe pkgconfig - DEPENDS = "apmd virtual/xserver libxext virtual/libx11 libxau xscrnsaverh libxss" -SECTION = "x11/base" RDEPENDS = "apm" +PR = "r6" + +inherit gpe pkgconfig SRC_URI_append = " file://init-script-busybox.patch;patch=1" SRC_URI_append = " file://install-fix.patch;patch=1" SRC_URI_append = " file://unbreak.patch;patch=1" -PR = "r6" - -DESCRIPTION = "Automatic sleep/suspend control daemon" - CONFFILES_${PN} += "${sysconfdir}/ipaq-sleep.conf" diff --git a/packages/keyring/keyring-0.6.8/.mtn2git_empty b/packages/keyring/keyring-0.6.8/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/keyring/keyring-0.6.8/.mtn2git_empty diff --git a/packages/keyring/keyring-0.6.8/keyring-0.6.8-datatype.patch b/packages/keyring/keyring-0.6.8/keyring-0.6.8-datatype.patch new file mode 100644 index 0000000000..9f0a236b39 --- /dev/null +++ b/packages/keyring/keyring-0.6.8/keyring-0.6.8-datatype.patch @@ -0,0 +1,93 @@ +diff -Naru Keyring.orig/accountlist.cpp Keyring/accountlist.cpp +--- Keyring.orig/accountlist.cpp 2002-09-29 17:24:09.000000000 +0200 ++++ Keyring/accountlist.cpp 2007-06-05 15:46:59.000000000 +0200 +@@ -314,7 +314,7 @@ + */ + void AccountList::resetTimer(){ + mSeconds=mTimerStart; +- mStartTime = time(NULL); ++ mStartTime = (time_t*)time(NULL); + wLCD->display(mSeconds); + } + +@@ -390,20 +390,20 @@ + //if so and it has expired, lock keyring. + if(mTimerViewingAC && mTimerEnabled){ + //Timer has expired +- if((time(NULL)-mStartTime) > mTimerStart){ ++ if((time(NULL)-(time_t)mStartTime) > mTimerStart){ + lock(); + } else { + //Timer needs to be updated + time_t diff=time(NULL)-viewtime; + mSeconds=mSeconds-diff; +- mStartTime = time(NULL)-(mTimerStart-mSeconds); ++ mStartTime = (time_t*)time(NULL)-(mTimerStart-mSeconds); + mUpdateTimer->start(500,false); + wLCD->display(mSeconds); + } + } else { + if(mTimerEnabled){ + mUpdateTimer->start(500,false); +- mStartTime = time(NULL)-(mTimerStart-mSeconds); ++ mStartTime = (time_t*)time(NULL)-(mTimerStart-mSeconds); + } + } + +@@ -432,7 +432,7 @@ + if(mTimerEnabled) + mUpdateTimer->start(500,false); + mSeconds=mTimerStart; +- mStartTime = time(NULL); ++ mStartTime = (time_t*)time(NULL); + updateCountDown(); + + //Let's be a bastard and bitch if the +@@ -463,11 +463,11 @@ + void AccountList::updateCountDown(){ + wLCD->display(mSeconds); + if(mSeconds==0 || +- (((time(NULL)-mStartTime) > mTimerStart) && mTimerPowerOff)){ ++ (((time(NULL)-(time_t)mStartTime) > mTimerStart) && mTimerPowerOff)){ + lock(); + return; + } +- mSeconds=mTimerStart-(time(NULL)-mStartTime); ++ mSeconds=mTimerStart-(time(NULL)-(time_t)mStartTime); + } + + void AccountList::selectionChanged(QListViewItem *item){ +@@ -548,20 +548,20 @@ + //if so and it has expired, lock keyring. + if(mTimerViewingAC && mTimerEnabled){ + //Timer has expired +- if((time(NULL)-mStartTime) > mTimerStart){ ++ if((time(NULL)-(time_t)mStartTime) > mTimerStart){ + lock(); + } else { + //Timer needs to be updated +- time_t diff=time(NULL)-viewtime; ++ time_t diff = time(NULL)-(time_t)viewtime; + mSeconds=mSeconds-diff; +- mStartTime = time(NULL)-(mTimerStart-mSeconds); ++ mStartTime = (time_t*)time(NULL)-(mTimerStart-mSeconds); + mUpdateTimer->start(500,false); + wLCD->display(mSeconds); + } + } else { + if(mTimerEnabled){ + mUpdateTimer->start(500,false); +- mStartTime = time(NULL)-(mTimerStart-mSeconds); ++ mStartTime = (time_t*)time(NULL)-(mTimerStart-mSeconds); + } + } + delete qd; +@@ -627,7 +627,7 @@ + + if(mTimerEnabled){ + mUpdateTimer->start(500,false); +- mStartTime = time(NULL)-(mTimerStart-mSeconds); ++ mStartTime = (time_t*)time(NULL)-(mTimerStart-mSeconds); + } + + showAccountList(); diff --git a/packages/keyring/keyring_0.6.8.bb b/packages/keyring/keyring_0.6.8.bb index 5696a6618b..5739255826 100644 --- a/packages/keyring/keyring_0.6.8.bb +++ b/packages/keyring/keyring_0.6.8.bb @@ -5,7 +5,8 @@ LICENSE = "GPL" DEPENDS = "gdbm" PR = "r2" -SRC_URI = "http://www.scrypt.net/~celer/kweb/Keyring-0.6.8.tgz" +SRC_URI = "http://www.scrypt.net/~celer/kweb/Keyring-0.6.8.tgz \ + file://keyring-0.6.8-datatype.patch;patch=1" S = "${WORKDIR}/Keyring" inherit palmtop diff --git a/packages/libopie/libopie2/remove_h2200_rotate_fix.patch b/packages/libopie/libopie2/remove_h2200_rotate_fix.patch new file mode 100644 index 0000000000..cef436f2f7 --- /dev/null +++ b/packages/libopie/libopie2/remove_h2200_rotate_fix.patch @@ -0,0 +1,15 @@ +--- libopie2/opiecore/device/odevice_ipaq.cpp 25 Jul 2007 10:49:20 -0000 1.32 ++++ libopie2/opiecore/device/odevice_ipaq.cpp 17 Mar 2007 22:08:43 -0000 1.30 +@@ -330,12 +330,6 @@ + case Rot180: quarters = 1/*270deg*/; break; + case Rot270: quarters = 0/*270deg*/; break; + } +- if( d->m_model == Model_iPAQ_H22xx ) { +- // FIXME: there's something screwed with the keycodes being sent on h2200. I have +- // added a temporary workaround for this here, but the bug should be fixed properly +- // later in the right place. - Paul Eggleton 25/07/2007 +- quarters = 0; +- } + newkeycode = Key_Left + ( keycode - Key_Left + quarters ) % 4; + break; + } diff --git a/packages/linux-libc-headers/linux-libc-headers.inc b/packages/linux-libc-headers/linux-libc-headers.inc index aaf528dfb5..b49e855ed1 100644 --- a/packages/linux-libc-headers/linux-libc-headers.inc +++ b/packages/linux-libc-headers/linux-libc-headers.inc @@ -4,3 +4,7 @@ LICENSE = "GPL" RDEPENDS_${PN}-dev = "" RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${DEBPV})" + +do_install_append() { + rm -rf ${D}${includedir}/scsi +} diff --git a/packages/linux-libc-headers/linux-libc-headers_2.6.11.1.bb b/packages/linux-libc-headers/linux-libc-headers_2.6.11.1.bb index 3f5cc3a0b5..e316a2c6c1 100644 --- a/packages/linux-libc-headers/linux-libc-headers_2.6.11.1.bb +++ b/packages/linux-libc-headers/linux-libc-headers_2.6.11.1.bb @@ -7,7 +7,7 @@ HOMEPAGE = "http://ep09.pld-linux.org/~mmazur/linux-libc-headers/" # standard linux kernel license applies. # since we assume GPL for linux i think we can also assume it here INHIBIT_DEFAULT_DEPS = "1" -PR = "r2" +PR = "r3" SRC_URI = "http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-${PV}.tar.bz2 \ file://keyboard.patch;patch=1" diff --git a/packages/linux-libc-headers/linux-libc-headers_2.6.15.99.bb b/packages/linux-libc-headers/linux-libc-headers_2.6.15.99.bb index 0dba90dc97..0c61d2acc4 100644 --- a/packages/linux-libc-headers/linux-libc-headers_2.6.15.99.bb +++ b/packages/linux-libc-headers/linux-libc-headers_2.6.15.99.bb @@ -13,7 +13,7 @@ require linux-libc-headers.inc # since we assume GPL for linux i think we can also assume it here DEFAULT_PREFERENCE = "-1" INHIBIT_DEFAULT_DEPS = "1" -PR = "r4" +PR = "r5" SRC_URI = "http://ewi546.ewi.utwente.nl/OE/eabi/linux-libc-headers-${PV}.tar.bz2 \ file://keyboard.patch;patch=1 \ diff --git a/packages/linux-libc-headers/linux-libc-headers_2.6.18.bb b/packages/linux-libc-headers/linux-libc-headers_2.6.18.bb index 014fd23705..d71b68a930 100644 --- a/packages/linux-libc-headers/linux-libc-headers_2.6.18.bb +++ b/packages/linux-libc-headers/linux-libc-headers_2.6.18.bb @@ -2,7 +2,7 @@ require linux-libc-headers.inc INHIBIT_DEFAULT_DEPS = "1" DEPENDS += "unifdef-native" -PR = "r2" +PR = "r3" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2 \ file://arm-syscall-define.patch;patch=1" diff --git a/packages/linux-libc-headers/linux-libc-headers_2.6.20.bb b/packages/linux-libc-headers/linux-libc-headers_2.6.20.bb index 8794b17d96..587d21e1e4 100644 --- a/packages/linux-libc-headers/linux-libc-headers_2.6.20.bb +++ b/packages/linux-libc-headers/linux-libc-headers_2.6.20.bb @@ -2,7 +2,7 @@ require linux-libc-headers.inc INHIBIT_DEFAULT_DEPS = "1" DEPENDS += "unifdef-native" -PR = "r8" +PR = "r9" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ file://procinfo.h" diff --git a/packages/linux-libc-headers/linux-libc-headers_2.6.22.bb b/packages/linux-libc-headers/linux-libc-headers_2.6.22.bb index 595edde810..0e5debcfa3 100644 --- a/packages/linux-libc-headers/linux-libc-headers_2.6.22.bb +++ b/packages/linux-libc-headers/linux-libc-headers_2.6.22.bb @@ -2,7 +2,7 @@ require linux-libc-headers.inc INHIBIT_DEFAULT_DEPS = "1" DEPENDS += "unifdef-native" -PR = "r1" +PR = "r2" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ file://procinfo.h" diff --git a/packages/linux-libc-headers/linux-libc-headers_2.6.23.bb b/packages/linux-libc-headers/linux-libc-headers_2.6.23.bb index 0e5debcfa3..13579f9349 100644 --- a/packages/linux-libc-headers/linux-libc-headers_2.6.23.bb +++ b/packages/linux-libc-headers/linux-libc-headers_2.6.23.bb @@ -2,7 +2,7 @@ require linux-libc-headers.inc INHIBIT_DEFAULT_DEPS = "1" DEPENDS += "unifdef-native" -PR = "r2" +PR = "r3" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ file://procinfo.h" diff --git a/packages/linux-libc-headers/linux-libc-headers_2.6.7.0.bb b/packages/linux-libc-headers/linux-libc-headers_2.6.7.0.bb index 932440b9d8..1c7a5885d2 100644 --- a/packages/linux-libc-headers/linux-libc-headers_2.6.7.0.bb +++ b/packages/linux-libc-headers/linux-libc-headers_2.6.7.0.bb @@ -1,7 +1,7 @@ require linux-libc-headers.inc INHIBIT_DEFAULT_DEPS = "1" -PR = "r3" +PR = "r4" # NOTE: no need to package these headers, since the c library includes them. PACKAGES = "" diff --git a/packages/linux-libc-headers/linux-libc-headers_2.6.8.1.bb b/packages/linux-libc-headers/linux-libc-headers_2.6.8.1.bb index 3ca17ea9a3..5e1c71ef1f 100644 --- a/packages/linux-libc-headers/linux-libc-headers_2.6.8.1.bb +++ b/packages/linux-libc-headers/linux-libc-headers_2.6.8.1.bb @@ -7,7 +7,7 @@ HOMEPAGE = "http://ep09.pld-linux.org/~mmazur/linux-libc-headers/" # standard linux kernel license applies. # since we assume GPL for linux i think we can also assume it here INHIBIT_DEFAULT_DEPS = "1" -PR = "r7" +PR = "r8" # NOTE: no need to package these headers, since the c library includes them. PACKAGES = "" diff --git a/packages/linux/linux-2.6.24/ts72xx/ep93xx-eth-phylib-framework.patch b/packages/linux/linux-2.6.24/ts72xx/ep93xx-eth-phylib-framework.patch new file mode 100644 index 0000000000..3f25f308cd --- /dev/null +++ b/packages/linux/linux-2.6.24/ts72xx/ep93xx-eth-phylib-framework.patch @@ -0,0 +1,548 @@ +Currently, the ep93xx_eth driver doesn't care about the PHY state, +but it should, in order to tell the MAC when full duplex operation is +required; failure to do so causes degraded performance on full duplex +links. This patch implements proper PHY handling via the phylib framework: + + - clean up ep93xx_mdio_{read,write} to conform to ep93xx manual + - convert ep93xx_eth driver to phylib framework + - set full duplex bit in configuration of MAC when FDX link detected + - convert to use print_mac() + +Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org> +Cc: Lennert Buytenhek <buytenh@wantstofly.org> +Cc: Andy Fleming <afleming@freescale.com> + + drivers/net/arm/Kconfig | 1 + + drivers/net/arm/ep93xx_eth.c | 354 +++++++++++++++++++++++++++++++++--------- + 2 files changed, 282 insertions(+), 73 deletions(-) + +diff --git a/drivers/net/arm/Kconfig b/drivers/net/arm/Kconfig +index f9cc2b6..5860175 100644 +--- a/drivers/net/arm/Kconfig ++++ b/drivers/net/arm/Kconfig +@@ -44,6 +44,7 @@ config EP93XX_ETH + tristate "EP93xx Ethernet support" + depends on ARM && ARCH_EP93XX + select MII ++ select PHYLIB + help + This is a driver for the ethernet hardware included in EP93xx CPUs. + Say Y if you are building a kernel for EP93xx based devices. +diff --git a/drivers/net/arm/ep93xx_eth.c b/drivers/net/arm/ep93xx_eth.c +index 91a6590..6b9ac41 100644 +--- a/drivers/net/arm/ep93xx_eth.c ++++ b/drivers/net/arm/ep93xx_eth.c +@@ -2,6 +2,7 @@ + * EP93xx ethernet network device driver + * Copyright (C) 2006 Lennert Buytenhek <buytenh@wantstofly.org> + * Dedicated to Marija Kulikova. ++ * Copyright (C) 2007 Herbert Valerio Riedel <hvr@gnu.org> + * + * 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,6 +15,7 @@ + #include <linux/kernel.h> + #include <linux/netdevice.h> + #include <linux/mii.h> ++#include <linux/phy.h> + #include <linux/etherdevice.h> + #include <linux/ethtool.h> + #include <linux/init.h> +@@ -37,6 +39,8 @@ + #define REG_RXCTL_DEFAULT 0x00073800 + #define REG_TXCTL 0x0004 + #define REG_TXCTL_ENABLE 0x00000001 ++#define REG_TESTCTL 0x0008 ++#define REG_TESTCTL_MFDX 0x00000040 + #define REG_MIICMD 0x0010 + #define REG_MIICMD_READ 0x00008000 + #define REG_MIICMD_WRITE 0x00004000 +@@ -45,6 +49,9 @@ + #define REG_MIISTS_BUSY 0x00000001 + #define REG_SELFCTL 0x0020 + #define REG_SELFCTL_RESET 0x00000001 ++#define REG_SELFCTL_MDCDIV_MSK 0x00007e00 ++#define REG_SELFCTL_MDCDIV_OFS 9 ++#define REG_SELFCTL_PSPRS 0x00000100 + #define REG_INTEN 0x0024 + #define REG_INTEN_TX 0x00000008 + #define REG_INTEN_RX 0x00000007 +@@ -174,8 +181,14 @@ struct ep93xx_priv + + struct net_device_stats stats; + +- struct mii_if_info mii; + u8 mdc_divisor; ++ int phy_supports_mfps:1; ++ ++ struct mii_bus mii_bus; ++ struct phy_device *phy_dev; ++ int speed; ++ int duplex; ++ int link; + }; + + #define rdb(ep, off) __raw_readb((ep)->base_addr + (off)) +@@ -185,8 +198,6 @@ struct ep93xx_priv + #define wrw(ep, off, val) __raw_writew((val), (ep)->base_addr + (off)) + #define wrl(ep, off, val) __raw_writel((val), (ep)->base_addr + (off)) + +-static int ep93xx_mdio_read(struct net_device *dev, int phy_id, int reg); +- + static struct net_device_stats *ep93xx_get_stats(struct net_device *dev) + { + struct ep93xx_priv *ep = netdev_priv(dev); +@@ -542,12 +553,6 @@ static int ep93xx_start_hw(struct net_device *dev) + return 1; + } + +- wrl(ep, REG_SELFCTL, ((ep->mdc_divisor - 1) << 9)); +- +- /* Does the PHY support preamble suppress? */ +- if ((ep93xx_mdio_read(dev, ep->mii.phy_id, MII_BMSR) & 0x0040) != 0) +- wrl(ep, REG_SELFCTL, ((ep->mdc_divisor - 1) << 9) | (1 << 8)); +- + /* Receive descriptor ring. */ + addr = ep->descs_dma_addr + offsetof(struct ep93xx_descs, rdesc); + wrl(ep, REG_RXDQBADD, addr); +@@ -631,12 +636,11 @@ static int ep93xx_open(struct net_device *dev) + return -ENOMEM; + + if (is_zero_ether_addr(dev->dev_addr)) { ++ DECLARE_MAC_BUF(mac_buf); ++ + random_ether_addr(dev->dev_addr); +- printk(KERN_INFO "%s: generated random MAC address " +- "%.2x:%.2x:%.2x:%.2x:%.2x:%.2x.\n", dev->name, +- dev->dev_addr[0], dev->dev_addr[1], +- dev->dev_addr[2], dev->dev_addr[3], +- dev->dev_addr[4], dev->dev_addr[5]); ++ dev_info(&dev->dev, "generated random MAC address %s\n", ++ print_mac(mac_buf, dev->dev_addr)); + } + + napi_enable(&ep->napi); +@@ -664,6 +668,8 @@ static int ep93xx_open(struct net_device *dev) + + wrl(ep, REG_GIINTMSK, REG_GIINTMSK_ENABLE); + ++ phy_start(ep->phy_dev); ++ + netif_start_queue(dev); + + return 0; +@@ -676,6 +682,9 @@ static int ep93xx_close(struct net_device *dev) + napi_disable(&ep->napi); + netif_stop_queue(dev); + ++ if (ep->phy_dev) ++ phy_stop(ep->phy_dev); ++ + wrl(ep, REG_GIINTMSK, 0); + free_irq(ep->irq, dev); + ep93xx_stop_hw(dev); +@@ -687,53 +696,103 @@ static int ep93xx_close(struct net_device *dev) + static int ep93xx_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) + { + struct ep93xx_priv *ep = netdev_priv(dev); +- struct mii_ioctl_data *data = if_mii(ifr); + +- return generic_mii_ioctl(&ep->mii, data, cmd, NULL); ++ return phy_mii_ioctl(ep->phy_dev, if_mii(ifr), cmd); + } + +-static int ep93xx_mdio_read(struct net_device *dev, int phy_id, int reg) ++/* common MII transactions should take < 100 iterations */ ++#define EP93XX_PHY_TIMEOUT 2000 ++ ++static int ep93xx_mdio_wait(struct mii_bus *bus) + { +- struct ep93xx_priv *ep = netdev_priv(dev); +- int data; +- int i; ++ struct ep93xx_priv *ep = bus->priv; ++ unsigned int timeout = EP93XX_PHY_TIMEOUT; + +- wrl(ep, REG_MIICMD, REG_MIICMD_READ | (phy_id << 5) | reg); ++ while ((rdl(ep, REG_MIISTS) & REG_MIISTS_BUSY) ++ && timeout--) ++ cpu_relax(); + +- for (i = 0; i < 10; i++) { +- if ((rdl(ep, REG_MIISTS) & REG_MIISTS_BUSY) == 0) +- break; +- msleep(1); ++ if (timeout <= 0) { ++ dev_err(bus->dev, "MII operation timed out\n"); ++ return -ETIMEDOUT; + } + +- if (i == 10) { +- printk(KERN_INFO DRV_MODULE_NAME ": mdio read timed out\n"); +- data = 0xffff; +- } else { +- data = rdl(ep, REG_MIIDATA); +- } ++ return 0; ++} ++ ++ ++static int ep93xx_mdio_read(struct mii_bus *bus, int mii_id, int regnum) ++{ ++ struct ep93xx_priv *ep = bus->priv; ++ u32 selfctl; ++ u32 data; ++ ++ if (ep93xx_mdio_wait(bus) < 0) ++ return -ETIMEDOUT; ++ ++ selfctl = rdl(ep, REG_SELFCTL); ++ ++ if (ep->phy_supports_mfps) ++ wrl(ep, REG_SELFCTL, selfctl | REG_SELFCTL_PSPRS); ++ else ++ wrl(ep, REG_SELFCTL, selfctl & ~REG_SELFCTL_PSPRS); ++ ++ wrl(ep, REG_MIICMD, REG_MIICMD_READ | (mii_id << 5) | regnum); ++ ++ if (ep93xx_mdio_wait(bus) < 0) ++ return -ETIMEDOUT; ++ ++ data = rdl(ep, REG_MIIDATA); ++ ++ wrl(ep, REG_SELFCTL, selfctl); + + return data; + } + +-static void ep93xx_mdio_write(struct net_device *dev, int phy_id, int reg, int data) ++static int ep93xx_mdio_write(struct mii_bus *bus, int mii_id, int regnum, ++ u16 value) + { +- struct ep93xx_priv *ep = netdev_priv(dev); +- int i; ++ struct ep93xx_priv *ep = bus->priv; ++ u32 selfctl; + +- wrl(ep, REG_MIIDATA, data); +- wrl(ep, REG_MIICMD, REG_MIICMD_WRITE | (phy_id << 5) | reg); ++ if (ep93xx_mdio_wait(bus) < 0) ++ return -ETIMEDOUT; + +- for (i = 0; i < 10; i++) { +- if ((rdl(ep, REG_MIISTS) & REG_MIISTS_BUSY) == 0) +- break; +- msleep(1); +- } ++ selfctl = rdl(ep, REG_SELFCTL); + +- if (i == 10) +- printk(KERN_INFO DRV_MODULE_NAME ": mdio write timed out\n"); ++ if (ep->phy_supports_mfps) ++ wrl(ep, REG_SELFCTL, selfctl | REG_SELFCTL_PSPRS); ++ else ++ wrl(ep, REG_SELFCTL, selfctl & ~REG_SELFCTL_PSPRS); ++ ++ wrl(ep, REG_MIIDATA, value); ++ wrl(ep, REG_MIICMD, REG_MIICMD_WRITE | (mii_id << 5) | regnum); ++ ++ if (ep93xx_mdio_wait(bus) < 0) ++ return -ETIMEDOUT; ++ ++ wrl(ep, REG_SELFCTL, selfctl); ++ ++ return 0; ++} ++ ++static int ep93xx_mdio_reset(struct mii_bus *bus) ++{ ++ struct ep93xx_priv *ep = bus->priv; ++ ++ u32 selfctl = rdl(ep, REG_SELFCTL); ++ ++ selfctl &= ~(REG_SELFCTL_MDCDIV_MSK | REG_SELFCTL_PSPRS); ++ ++ selfctl |= (ep->mdc_divisor - 1) << REG_SELFCTL_MDCDIV_OFS; ++ selfctl |= REG_SELFCTL_PSPRS; ++ ++ wrl(ep, REG_SELFCTL, selfctl); ++ ++ return 0; + } + ++ + static void ep93xx_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) + { + strcpy(info->driver, DRV_MODULE_NAME); +@@ -743,33 +802,30 @@ static void ep93xx_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *i + static int ep93xx_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) + { + struct ep93xx_priv *ep = netdev_priv(dev); +- return mii_ethtool_gset(&ep->mii, cmd); ++ struct phy_device *phydev = ep->phy_dev; ++ ++ if (!phydev) ++ return -ENODEV; ++ ++ return phy_ethtool_gset(phydev, cmd); + } + + static int ep93xx_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) + { + struct ep93xx_priv *ep = netdev_priv(dev); +- return mii_ethtool_sset(&ep->mii, cmd); +-} ++ struct phy_device *phydev = ep->phy_dev; + +-static int ep93xx_nway_reset(struct net_device *dev) +-{ +- struct ep93xx_priv *ep = netdev_priv(dev); +- return mii_nway_restart(&ep->mii); +-} ++ if (!phydev) ++ return -ENODEV; + +-static u32 ep93xx_get_link(struct net_device *dev) +-{ +- struct ep93xx_priv *ep = netdev_priv(dev); +- return mii_link_ok(&ep->mii); ++ return phy_ethtool_sset(phydev, cmd); + } + + static struct ethtool_ops ep93xx_ethtool_ops = { + .get_drvinfo = ep93xx_get_drvinfo, + .get_settings = ep93xx_get_settings, + .set_settings = ep93xx_set_settings, +- .nway_reset = ep93xx_nway_reset, +- .get_link = ep93xx_get_link, ++ .get_link = ethtool_op_get_link, + }; + + struct net_device *ep93xx_dev_alloc(struct ep93xx_eth_data *data) +@@ -824,15 +880,127 @@ static int ep93xx_eth_remove(struct platform_device *pdev) + return 0; + } + ++static void ep93xx_adjust_link(struct net_device *dev) ++{ ++ struct ep93xx_priv *ep = netdev_priv(dev); ++ struct phy_device *phydev = ep->phy_dev; ++ ++ int status_change = 0; ++ ++ if (phydev->link) { ++ if ((ep->speed != phydev->speed) || ++ (ep->duplex != phydev->duplex)) { ++ /* speed and/or duplex state changed */ ++ u32 testctl = rdl(ep, REG_TESTCTL); ++ ++ if (DUPLEX_FULL == phydev->duplex) ++ testctl |= REG_TESTCTL_MFDX; ++ else ++ testctl &= ~(REG_TESTCTL_MFDX); ++ ++ wrl(ep, REG_TESTCTL, testctl); ++ ++ ep->speed = phydev->speed; ++ ep->duplex = phydev->duplex; ++ status_change = 1; ++ } ++ } ++ ++ /* test for online/offline link transition */ ++ if (phydev->link != ep->link) { ++ if (phydev->link) /* link went online */ ++ netif_schedule(dev); ++ else { /* link went offline */ ++ ep->speed = 0; ++ ep->duplex = -1; ++ } ++ ep->link = phydev->link; ++ ++ status_change = 1; ++ } ++ ++ if (status_change) ++ phy_print_status(phydev); ++} ++ ++static int ep93xx_mii_probe(struct net_device *dev, int phy_addr) ++{ ++ struct ep93xx_priv *ep = netdev_priv(dev); ++ struct phy_device *phydev = NULL; ++ int val; ++ ++ if (phy_addr >= 0 && phy_addr < PHY_MAX_ADDR) ++ phydev = ep->mii_bus.phy_map[phy_addr]; ++ ++ if (!phydev) { ++ dev_info(&dev->dev, ++ "PHY not found at specified address," ++ " trying autodetection\n"); ++ ++ /* find the first phy */ ++ for (phy_addr = 0; phy_addr < PHY_MAX_ADDR; phy_addr++) { ++ if (ep->mii_bus.phy_map[phy_addr]) { ++ phydev = ep->mii_bus.phy_map[phy_addr]; ++ break; ++ } ++ } ++ } ++ ++ if (!phydev) { ++ dev_err(&dev->dev, "no PHY found\n"); ++ return -ENODEV; ++ } ++ ++ phydev = phy_connect(dev, phydev->dev.bus_id, ++ ep93xx_adjust_link, 0, PHY_INTERFACE_MODE_MII); ++ ++ if (IS_ERR(phydev)) { ++ dev_err(&dev->dev, "Could not attach to PHY\n"); ++ return PTR_ERR(phydev); ++ } ++ ++ ep->phy_supports_mfps = 0; ++ ++ val = phy_read(phydev, MII_BMSR); ++ if (val < 0) { ++ dev_err(&phydev->dev, "failed to read MII register\n"); ++ return val; ++ } ++ ++ if (val & 0x0040) { ++ dev_info(&phydev->dev, ++ "PHY supports MII frame preamble suppression\n"); ++ ep->phy_supports_mfps = 1; ++ } ++ ++ phydev->supported &= PHY_BASIC_FEATURES; ++ ++ phydev->advertising = phydev->supported; ++ ++ ep->link = 0; ++ ep->speed = 0; ++ ep->duplex = -1; ++ ep->phy_dev = phydev; ++ ++ dev_info(&dev->dev, "attached PHY driver [%s] " ++ "(mii_bus:phy_addr=%s, irq=%d)\n", ++ phydev->drv->name, phydev->dev.bus_id, phydev->irq); ++ ++ return 0; ++} ++ ++ + static int ep93xx_eth_probe(struct platform_device *pdev) + { + struct ep93xx_eth_data *data; + struct net_device *dev; + struct ep93xx_priv *ep; +- int err; ++ DECLARE_MAC_BUF(mac_buf); ++ int err, i; + + if (pdev == NULL) + return -ENODEV; ++ + data = pdev->dev.platform_data; + + dev = ep93xx_dev_alloc(data); +@@ -852,7 +1020,7 @@ static int ep93xx_eth_probe(struct platform_device *pdev) + if (ep->res == NULL) { + dev_err(&pdev->dev, "Could not reserve memory region\n"); + err = -ENOMEM; +- goto err_out; ++ goto err_out_request_mem_region; + } + + ep->base_addr = ioremap(pdev->resource[0].start, +@@ -860,34 +1028,74 @@ static int ep93xx_eth_probe(struct platform_device *pdev) + if (ep->base_addr == NULL) { + dev_err(&pdev->dev, "Failed to ioremap ethernet registers\n"); + err = -EIO; +- goto err_out; ++ goto err_out_ioremap; + } + ep->irq = pdev->resource[1].start; + +- ep->mii.phy_id = data->phy_id; +- ep->mii.phy_id_mask = 0x1f; +- ep->mii.reg_num_mask = 0x1f; +- ep->mii.dev = dev; +- ep->mii.mdio_read = ep93xx_mdio_read; +- ep->mii.mdio_write = ep93xx_mdio_write; ++ /* mdio/mii bus */ ++ ep->mii_bus.name = "ep93xx_mii_bus"; ++ ep->mii_bus.id = 0; ++ ++ ep->mii_bus.read = ep93xx_mdio_read; ++ ep->mii_bus.write = ep93xx_mdio_write; ++ ep->mii_bus.reset = ep93xx_mdio_reset; ++ ++ ep->mii_bus.phy_mask = 0; ++ ++ ep->mii_bus.priv = ep; ++ ep->mii_bus.dev = &dev->dev; ++ ++ ep->mii_bus.irq = kmalloc(sizeof(int)*PHY_MAX_ADDR, GFP_KERNEL); ++ if (NULL == ep->mii_bus.irq) { ++ dev_err(&pdev->dev, "Could not allocate memory\n"); ++ err = -ENOMEM; ++ goto err_out_mii_bus_irq_kmalloc; ++ } ++ ++ for (i = 0; i < PHY_MAX_ADDR; i++) ++ ep->mii_bus.irq[i] = PHY_POLL; ++ + ep->mdc_divisor = 40; /* Max HCLK 100 MHz, min MDIO clk 2.5 MHz. */ ++ ep->phy_supports_mfps = 0; /* probe without preamble suppression */ + + err = register_netdev(dev); + if (err) { + dev_err(&pdev->dev, "Failed to register netdev\n"); +- goto err_out; ++ goto err_out_register_netdev; + } + +- printk(KERN_INFO "%s: ep93xx on-chip ethernet, IRQ %d, " +- "%.2x:%.2x:%.2x:%.2x:%.2x:%.2x.\n", dev->name, +- ep->irq, data->dev_addr[0], data->dev_addr[1], +- data->dev_addr[2], data->dev_addr[3], +- data->dev_addr[4], data->dev_addr[5]); ++ err = mdiobus_register(&ep->mii_bus); ++ if (err) { ++ dev_err(&dev->dev, "Could not register MII bus\n"); ++ goto err_out_mdiobus_register; ++ } ++ ++ err = ep93xx_mii_probe(dev, data->phy_id); ++ if (err) { ++ dev_err(&dev->dev, "failed to probe MII bus\n"); ++ goto err_out_mii_probe; ++ } ++ ++ dev_info(&dev->dev, "ep93xx on-chip ethernet, IRQ %d, %s\n", ++ ep->irq, print_mac(mac_buf, dev->dev_addr)); + + return 0; + ++err_out_mii_probe: ++ mdiobus_unregister(&ep->mii_bus); ++err_out_mdiobus_register: ++ unregister_netdev(dev); ++err_out_register_netdev: ++ kfree(ep->mii_bus.irq); ++err_out_mii_bus_irq_kmalloc: ++ iounmap(ep->base_addr); ++err_out_ioremap: ++ release_resource(ep->res); ++ kfree(ep->res); ++err_out_request_mem_region: ++ free_netdev(dev); + err_out: +- ep93xx_eth_remove(pdev); ++ + return err; + } + diff --git a/packages/linux/linux-2.6.24/ts72xx/ts72xx-rs485.patch b/packages/linux/linux-2.6.24/ts72xx/ts72xx-rs485.patch index 0883322c28..17ee397f45 100644 --- a/packages/linux/linux-2.6.24/ts72xx/ts72xx-rs485.patch +++ b/packages/linux/linux-2.6.24/ts72xx/ts72xx-rs485.patch @@ -217,3 +217,222 @@ index bb9a7aa..4d7dad1 100644 /* Used for packet mode */ #define TIOCPKT_DATA 0 #define TIOCPKT_FLUSHREAD 1 +RS485 auto mode support ported from 2.4 (diff against 2.6.19-rc6-git10) + +Signed-off-by: Petr Stetiar <ynezz@true.cz> + +diff --git a/drivers/serial/amba-pl010.c b/drivers/serial/amba-pl010.c +index 4213fab..5b3c5ff 100644 +--- a/drivers/serial/amba-pl010.c ++++ b/drivers/serial/amba-pl010.c +@@ -50,6 +50,7 @@ + #include <linux/amba/serial.h> + + #include <asm/io.h> ++#include <asm/hardware.h> + + #define UART_NR 8 + +@@ -65,6 +66,11 @@ + #define UART_DUMMY_RSR_RX 256 + #define UART_PORT_SIZE 64 + ++#ifdef CONFIG_MACH_TS72XX ++static void __iomem *ts_rs485_data9_register; ++static void __iomem *ts_rs485_control_register; ++#endif ++ + /* + * We wrap our port structure around the generic uart_port. + */ +@@ -487,6 +493,107 @@ static int pl010_verify_port(struct uart + return ret; + } + ++#ifdef CONFIG_MACH_TS72XX ++static int ts72xx_rs485_init(void) ++{ ++ ts_rs485_data9_register = ioremap(TS72XX_RS485_DATA9_PHYS_BASE, 4096); ++ if (ts_rs485_data9_register == NULL) { ++ return -1; ++ } ++ ++ ts_rs485_control_register = ioremap(TS72XX_RS485_CONTROL_PHYS_BASE, 4096); ++ if (ts_rs485_control_register == NULL) { ++ iounmap(ts_rs485_data9_register); ++ return -1; ++ } ++ ++ return 0; ++} ++ ++static int ts72xx_auto485(struct uart_port *port, unsigned int cmd, unsigned long *arg) ++{ ++ int baud, cflag, mode; ++ int datalength; ++ ++ mode = (int)*arg; ++ if (!is_rs485_installed()) { ++ printk("amba-pl010.c: this board does not support RS485 auto mode\n"); ++ return -EINVAL; ++ } ++ ++ if (port->line != 1) { ++ printk("amba-pl010.c: auto RS485 mode is only supported on second port (/dev/ttyAM1)\n"); ++ return -EINVAL; ++ } ++ ++ datalength = 8; ++ cflag = port->info->tty->termios->c_cflag ; ++ if (cflag & PARENB) ++ datalength++; ++ ++ if (cflag & CSTOPB) ++ datalength++; ++ ++ baud = tty_get_baud_rate(port->info->tty); ++ ++ switch (cmd) { ++ case TIOC_SBCC485: ++ if ((mode & TS72XX_RS485_AUTO485FD) || (mode & TS72XX_RS485_AUTO485HD)) { ++ printk("amba-pl010.c: unsetting auto RS485 mode\n"); ++ __raw_writew(TS72XX_RS485_MODE_RS232, ts_rs485_control_register); ++ __raw_writew(TS72XX_RS485_MODE_RS232, ts_rs485_data9_register); ++ } ++ break; ++ case TIOC_SBCS485: ++ if (mode & TS72XX_RS485_AUTO485FD) { ++ printk ("amba-pl010.c: setting FULL duplex auto RS485 mode\n"); ++ __raw_writew(TS72XX_RS485_MODE_FD, ts_rs485_control_register); ++ if (datalength > 8) ++ __raw_writew(TS72XX_RS485_MODE_FD, ts_rs485_data9_register); ++ } else if (mode & TS72XX_RS485_AUTO485HD) { ++ printk("amba-pl010.c: setting HALF DUPLEX auto RS485 mode\n"); ++ switch (baud) { ++ case 9600: ++ __raw_writew(TS72XX_RS485_MODE_9600_HD, ts_rs485_control_register); ++ break; ++ case 19200: ++ __raw_writew(TS72XX_RS485_MODE_19200_HD, ts_rs485_control_register); ++ break; ++ case 57600: ++ __raw_writew(TS72XX_RS485_MODE_57600_HD, ts_rs485_control_register); ++ break; ++ case 115200: ++ __raw_writew(TS72XX_RS485_MODE_115200_HD, ts_rs485_control_register); ++ break; ++ default: ++ printk("amba-pl010.c: %d baud rate is not supported for auto RS485 mode\n", baud); ++ return -1; ++ } ++ if (datalength > 8) ++ __raw_writew(TS72XX_RS485_MODE_FD, ts_rs485_data9_register); ++ } ++ break; ++ } ++ ++ return 0; ++} ++#endif ++ ++int pl010_ioctl(struct uart_port *port, unsigned int cmd, unsigned long arg) ++{ ++#ifdef CONFIG_MACH_TS72XX ++ switch (cmd) { ++ case TIOC_SBCC485: ++ case TIOC_SBCS485: ++ return ts72xx_auto485(port, cmd, (unsigned long *)arg); ++ break; ++ default: ++ return -ENOIOCTLCMD; ++ } ++#endif ++ return -ENOIOCTLCMD; ++} ++ + static struct uart_ops amba_pl010_pops = { + .tx_empty = pl010_tx_empty, + .set_mctrl = pl010_set_mctrl, +@@ -504,6 +611,7 @@ static struct uart_ops amba_pl010_pops = + .request_port = pl010_request_port, + .config_port = pl010_config_port, + .verify_port = pl010_verify_port, ++ .ioctl = pl010_ioctl, + }; + + static struct uart_amba_port *amba_ports[UART_NR]; +@@ -746,6 +854,15 @@ static int __init pl010_init(void) + ret = uart_register_driver(&amba_reg); + if (ret == 0) { + ret = amba_driver_register(&pl010_driver); ++#ifdef CONFIG_MACH_TS72XX ++ if (!ret && is_rs485_installed()) { ++ ret = ts72xx_rs485_init(); ++ if (ret) ++ printk("amba-pl010.c: ts72xx_rs485_init() failed\n"); ++ else ++ printk("amba-pl010.c: auto RS485 mode initialized\n"); ++ } ++#endif + if (ret) + uart_unregister_driver(&amba_reg); + } +@@ -756,6 +873,10 @@ static void __exit pl010_exit(void) + { + amba_driver_unregister(&pl010_driver); + uart_unregister_driver(&amba_reg); ++#ifdef CONFIG_MACH_TS72XX ++ iounmap(ts_rs485_data9_register); ++ iounmap(ts_rs485_control_register); ++#endif + } + + module_init(pl010_init); +diff --git a/include/asm-arm/arch-ep93xx/ts72xx.h b/include/asm-arm/arch-ep93xx/ts72xx.h +index a94f63f..4c9396b 100644 +--- a/include/asm-arm/arch-ep93xx/ts72xx.h ++++ b/include/asm-arm/arch-ep93xx/ts72xx.h +@@ -68,6 +68,16 @@ + #define TS72XX_RTC_DATA_PHYS_BASE 0x11700000 + #define TS72XX_RTC_DATA_SIZE 0x00001000 + ++#define TS72XX_RS485_CONTROL_PHYS_BASE 0x22C00000 ++#define TS72XX_RS485_DATA9_PHYS_BASE 0x23000000 ++#define TS72XX_RS485_AUTO485FD 1 ++#define TS72XX_RS485_AUTO485HD 2 ++#define TS72XX_RS485_MODE_RS232 0x00 ++#define TS72XX_RS485_MODE_FD 0x01 ++#define TS72XX_RS485_MODE_9600_HD 0x04 ++#define TS72XX_RS485_MODE_19200_HD 0x05 ++#define TS72XX_RS485_MODE_57600_HD 0x06 ++#define TS72XX_RS485_MODE_115200_HD 0x07 + + #ifndef __ASSEMBLY__ + #include <asm/io.h> +@@ -87,6 +100,12 @@ static inline int board_is_ts7260(void) + return __raw_readb(TS72XX_MODEL_VIRT_BASE) == TS72XX_MODEL_TS7260; + } + ++static inline int is_rs485_installed(void) ++{ ++ return !!(__raw_readb(TS72XX_OPTIONS_VIRT_BASE) & ++ TS72XX_OPTIONS_COM2_RS485); ++} ++ + static inline int is_max197_installed(void) + { + return !!(__raw_readb(TS72XX_OPTIONS_VIRT_BASE) & +diff --git a/include/asm-arm/ioctls.h b/include/asm-arm/ioctls.h +index bb9a7aa..4d7dad1 100644 +--- a/include/asm-arm/ioctls.h ++++ b/include/asm-arm/ioctls.h +@@ -66,6 +66,9 @@ + #define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ + #define FIOQSIZE 0x545E + ++#define TIOC_SBCC485 0x545F /* TS72xx RTS/485 mode clear */ ++#define TIOC_SBCS485 0x5460 /* TS72xx RTS/485 mode set */ ++ + /* Used for packet mode */ + #define TIOCPKT_DATA 0 + #define TIOCPKT_FLUSHREAD 1 diff --git a/packages/linux/linux-omap2-git/beagleboard/00001-mcbsp-transform.patch b/packages/linux/linux-omap2-git/beagleboard/00001-mcbsp-transform.patch new file mode 100644 index 0000000000..452370bf3e --- /dev/null +++ b/packages/linux/linux-omap2-git/beagleboard/00001-mcbsp-transform.patch @@ -0,0 +1,1160 @@ +From: Eduardo Valentin <eduardo.valentin@indt.org.br>
+
+This patch transform mcbsp code into a very initial
+implementation of a platform driver.
+
+It also gets ride of ifdefs on mcbsp.c code.
+To do it, a platform data structure was defined.
+
+Platform devices are located in arch/arm/plat-omap/devices.c
+
+Signed-off-by: Eduardo Valentin <eduardo.valentin@indt.org.br>
+---
+ arch/arm/plat-omap/devices.c | 45 +++
+ arch/arm/plat-omap/mcbsp.c | 660 ++++++++++++++-----------------------
+ include/asm-arm/arch-omap/mcbsp.h | 73 ++++-
+ 3 files changed, 367 insertions(+), 411 deletions(-)
+
+diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c
+index 099182b..b3e0147 100644
+--- a/arch/arm/plat-omap/devices.c
++++ b/arch/arm/plat-omap/devices.c
+@@ -27,6 +27,7 @@
+ #include <asm/arch/gpio.h>
+ #include <asm/arch/menelaus.h>
+ #include <asm/arch/dsp_common.h>
++#include <asm/arch/mcbsp.h>
+
+ #if defined(CONFIG_OMAP_DSP) || defined(CONFIG_OMAP_DSP_MODULE)
+
+@@ -150,6 +151,49 @@ static inline void omap_init_kp(void) {}
+ #endif
+
+ /*-------------------------------------------------------------------------*/
++#if defined(CONFIG_OMAP_MCBSP) || defined(CONFIG_OMAP_MCBSP_MODULE)
++
++static struct platform_device omap_mcbsp_devices[OMAP_MAX_MCBSP_COUNT];
++static int mcbsps_configured;
++
++void omap_mcbsp_register_board_cfg(struct omap_mcbsp_platform_data *config,
++ int size)
++{
++ int i;
++
++ if (size > OMAP_MAX_MCBSP_COUNT) {
++ printk(KERN_WARNING "Registered too many McBSPs platform_data."
++ " Using maximum (%d) available.\n",
++ OMAP_MAX_MCBSP_COUNT);
++ size = OMAP_MAX_MCBSP_COUNT;
++ }
++
++ for (i = 0; i < size; i++) {
++ struct platform_device *new_mcbsp = &omap_mcbsp_devices[i];
++ new_mcbsp->name = "omap-mcbsp";
++ new_mcbsp->id = i + 1;
++ new_mcbsp->dev.platform_data = &config[i];
++ }
++ mcbsps_configured = size;
++}
++
++static void __init omap_init_mcbsp(void)
++{
++ int i;
++
++ for (i = 0; i < mcbsps_configured; i++)
++ platform_device_register(&omap_mcbsp_devices[i]);
++}
++#else
++void omap_mcbsp_register_board_cfg(struct omap_mcbsp_platform_data *config,
++ int size)
++{ }
++
++static inline void __init omap_init_mcbsp(void)
++{ }
++#endif
++
++/*-------------------------------------------------------------------------*/
+
+ #if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) \
+ || defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
+@@ -511,6 +555,7 @@ static int __init omap_init_devices(void)
+ */
+ omap_init_dsp();
+ omap_init_kp();
++ omap_init_mcbsp();
+ omap_init_mmc();
+ omap_init_uwire();
+ omap_init_wdt();
+diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
+index 053de31..5536223 100644
+--- a/arch/arm/plat-omap/mcbsp.c
++++ b/arch/arm/plat-omap/mcbsp.c
+@@ -15,6 +15,7 @@
+ #include <linux/module.h>
+ #include <linux/init.h>
+ #include <linux/device.h>
++#include <linux/platform_device.h>
+ #include <linux/wait.h>
+ #include <linux/completion.h>
+ #include <linux/interrupt.h>
+@@ -25,83 +26,53 @@
+ #include <linux/irq.h>
+
+ #include <asm/arch/dma.h>
+-#include <asm/arch/mux.h>
+-#include <asm/arch/irqs.h>
+-#include <asm/arch/dsp_common.h>
+ #include <asm/arch/mcbsp.h>
+
+-#ifdef CONFIG_MCBSP_DEBUG
+-#define DBG(x...) printk(x)
+-#else
+-#define DBG(x...) do { } while (0)
+-#endif
+-
+-struct omap_mcbsp {
+- u32 io_base;
+- u8 id;
+- u8 free;
+- omap_mcbsp_word_length rx_word_length;
+- omap_mcbsp_word_length tx_word_length;
+-
+- omap_mcbsp_io_type_t io_type; /* IRQ or poll */
+- /* IRQ based TX/RX */
+- int rx_irq;
+- int tx_irq;
+-
+- /* DMA stuff */
+- u8 dma_rx_sync;
+- short dma_rx_lch;
+- u8 dma_tx_sync;
+- short dma_tx_lch;
+-
+- /* Completion queues */
+- struct completion tx_irq_completion;
+- struct completion rx_irq_completion;
+- struct completion tx_dma_completion;
+- struct completion rx_dma_completion;
+-
+- /* Protect the field .free, while checking if the mcbsp is in use */
+- spinlock_t lock;
+-};
+-
+ static struct omap_mcbsp mcbsp[OMAP_MAX_MCBSP_COUNT];
+-#ifdef CONFIG_ARCH_OMAP1
+-static struct clk *mcbsp_dsp_ck;
+-static struct clk *mcbsp_api_ck;
+-static struct clk *mcbsp_dspxor_ck;
+-#endif
+-#ifdef CONFIG_ARCH_OMAP2
+-static struct clk *mcbsp1_ick;
+-static struct clk *mcbsp1_fck;
+-static struct clk *mcbsp2_ick;
+-static struct clk *mcbsp2_fck;
+-#endif
++
++#define omap_mcbsp_check_valid_id(id) (mcbsp[id].pdata && \
++ mcbsp[id].pdata->ops && \
++ mcbsp[id].pdata->ops->check && \
++ (mcbsp[id].pdata->ops->check(id) == 0))
+
+ static void omap_mcbsp_dump_reg(u8 id)
+ {
+- DBG("**** MCBSP%d regs ****\n", mcbsp[id].id);
+- DBG("DRR2: 0x%04x\n", OMAP_MCBSP_READ(mcbsp[id].io_base, DRR2));
+- DBG("DRR1: 0x%04x\n", OMAP_MCBSP_READ(mcbsp[id].io_base, DRR1));
+- DBG("DXR2: 0x%04x\n", OMAP_MCBSP_READ(mcbsp[id].io_base, DXR2));
+- DBG("DXR1: 0x%04x\n", OMAP_MCBSP_READ(mcbsp[id].io_base, DXR1));
+- DBG("SPCR2: 0x%04x\n", OMAP_MCBSP_READ(mcbsp[id].io_base, SPCR2));
+- DBG("SPCR1: 0x%04x\n", OMAP_MCBSP_READ(mcbsp[id].io_base, SPCR1));
+- DBG("RCR2: 0x%04x\n", OMAP_MCBSP_READ(mcbsp[id].io_base, RCR2));
+- DBG("RCR1: 0x%04x\n", OMAP_MCBSP_READ(mcbsp[id].io_base, RCR1));
+- DBG("XCR2: 0x%04x\n", OMAP_MCBSP_READ(mcbsp[id].io_base, XCR2));
+- DBG("XCR1: 0x%04x\n", OMAP_MCBSP_READ(mcbsp[id].io_base, XCR1));
+- DBG("SRGR2: 0x%04x\n", OMAP_MCBSP_READ(mcbsp[id].io_base, SRGR2));
+- DBG("SRGR1: 0x%04x\n", OMAP_MCBSP_READ(mcbsp[id].io_base, SRGR1));
+- DBG("PCR0: 0x%04x\n", OMAP_MCBSP_READ(mcbsp[id].io_base, PCR0));
+- DBG("***********************\n");
++ dev_dbg(mcbsp[id].dev, "**** McBSP%d regs ****\n", mcbsp[id].id);
++ dev_dbg(mcbsp[id].dev, "DRR2: 0x%04x\n",
++ OMAP_MCBSP_READ(mcbsp[id].io_base, DRR2));
++ dev_dbg(mcbsp[id].dev, "DRR1: 0x%04x\n",
++ OMAP_MCBSP_READ(mcbsp[id].io_base, DRR1));
++ dev_dbg(mcbsp[id].dev, "DXR2: 0x%04x\n",
++ OMAP_MCBSP_READ(mcbsp[id].io_base, DXR2));
++ dev_dbg(mcbsp[id].dev, "DXR1: 0x%04x\n",
++ OMAP_MCBSP_READ(mcbsp[id].io_base, DXR1));
++ dev_dbg(mcbsp[id].dev, "SPCR2: 0x%04x\n",
++ OMAP_MCBSP_READ(mcbsp[id].io_base, SPCR2));
++ dev_dbg(mcbsp[id].dev, "SPCR1: 0x%04x\n",
++ OMAP_MCBSP_READ(mcbsp[id].io_base, SPCR1));
++ dev_dbg(mcbsp[id].dev, "RCR2: 0x%04x\n",
++ OMAP_MCBSP_READ(mcbsp[id].io_base, RCR2));
++ dev_dbg(mcbsp[id].dev, "RCR1: 0x%04x\n",
++ OMAP_MCBSP_READ(mcbsp[id].io_base, RCR1));
++ dev_dbg(mcbsp[id].dev, "XCR2: 0x%04x\n",
++ OMAP_MCBSP_READ(mcbsp[id].io_base, XCR2));
++ dev_dbg(mcbsp[id].dev, "XCR1: 0x%04x\n",
++ OMAP_MCBSP_READ(mcbsp[id].io_base, XCR1));
++ dev_dbg(mcbsp[id].dev, "SRGR2: 0x%04x\n",
++ OMAP_MCBSP_READ(mcbsp[id].io_base, SRGR2));
++ dev_dbg(mcbsp[id].dev, "SRGR1: 0x%04x\n",
++ OMAP_MCBSP_READ(mcbsp[id].io_base, SRGR1));
++ dev_dbg(mcbsp[id].dev, "PCR0: 0x%04x\n",
++ OMAP_MCBSP_READ(mcbsp[id].io_base, PCR0));
++ dev_dbg(mcbsp[id].dev, "***********************\n");
+ }
+
+ static irqreturn_t omap_mcbsp_tx_irq_handler(int irq, void *dev_id)
+ {
+ struct omap_mcbsp *mcbsp_tx = dev_id;
+
+- DBG("TX IRQ callback : 0x%x\n",
+- OMAP_MCBSP_READ(mcbsp_tx->io_base, SPCR2));
++ dev_dbg(mcbsp_tx->dev, "TX IRQ callback : 0x%x\n",
++ OMAP_MCBSP_READ(mcbsp_tx->io_base, SPCR2));
+
+ complete(&mcbsp_tx->tx_irq_completion);
+
+@@ -112,8 +83,8 @@ static irqreturn_t omap_mcbsp_rx_irq_handler(int irq, void *dev_id)
+ {
+ struct omap_mcbsp *mcbsp_rx = dev_id;
+
+- DBG("RX IRQ callback : 0x%x\n",
+- OMAP_MCBSP_READ(mcbsp_rx->io_base, SPCR2));
++ dev_dbg(mcbsp_rx->dev, "RX IRQ callback : 0x%x\n",
++ OMAP_MCBSP_READ(mcbsp_rx->io_base, SPCR2));
+
+ complete(&mcbsp_rx->rx_irq_completion);
+
+@@ -124,8 +95,8 @@ static void omap_mcbsp_tx_dma_callback(int lch, u16 ch_status, void *data)
+ {
+ struct omap_mcbsp *mcbsp_dma_tx = data;
+
+- DBG("TX DMA callback : 0x%x\n",
+- OMAP_MCBSP_READ(mcbsp_dma_tx->io_base, SPCR2));
++ dev_dbg(mcbsp_dma_tx->dev, "TX DMA callback : 0x%x\n",
++ OMAP_MCBSP_READ(mcbsp_dma_tx->io_base, SPCR2));
+
+ /* We can free the channels */
+ omap_free_dma(mcbsp_dma_tx->dma_tx_lch);
+@@ -138,8 +109,8 @@ static void omap_mcbsp_rx_dma_callback(int lch, u16 ch_status, void *data)
+ {
+ struct omap_mcbsp *mcbsp_dma_rx = data;
+
+- DBG("RX DMA callback : 0x%x\n",
+- OMAP_MCBSP_READ(mcbsp_dma_rx->io_base, SPCR2));
++ dev_dbg(mcbsp_dma_rx->dev, "RX DMA callback : 0x%x\n",
++ OMAP_MCBSP_READ(mcbsp_dma_rx->io_base, SPCR2));
+
+ /* We can free the channels */
+ omap_free_dma(mcbsp_dma_rx->dma_rx_lch);
+@@ -156,9 +127,16 @@ static void omap_mcbsp_rx_dma_callback(int lch, u16 ch_status, void *data)
+ */
+ void omap_mcbsp_config(unsigned int id, const struct omap_mcbsp_reg_cfg *config)
+ {
+- u32 io_base = mcbsp[id].io_base;
++ u32 io_base;
++
++ if (!omap_mcbsp_check_valid_id(id)) {
++ printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
++ return;
++ }
+
+- DBG("OMAP-McBSP: McBSP%d io_base: 0x%8x\n", id + 1, io_base);
++ io_base = mcbsp[id].io_base;
++ dev_dbg(mcbsp[id].dev, "Configuring McBSP%d io_base: 0x%8x\n",
++ mcbsp[id].id, io_base);
+
+ /* We write the given config */
+ OMAP_MCBSP_WRITE(io_base, SPCR2, config->spcr2);
+@@ -175,97 +153,22 @@ void omap_mcbsp_config(unsigned int id, const struct omap_mcbsp_reg_cfg *config)
+ }
+ EXPORT_SYMBOL(omap_mcbsp_config);
+
+-static int omap_mcbsp_check(unsigned int id)
+-{
+- if (cpu_is_omap730()) {
+- if (id > OMAP_MAX_MCBSP_COUNT - 1) {
+- printk(KERN_ERR "OMAP-McBSP: McBSP%d doesn't exist\n",
+- id + 1);
+- return -1;
+- }
+- return 0;
+- }
+-
+- if (cpu_is_omap15xx() || cpu_is_omap16xx() || cpu_is_omap24xx()) {
+- if (id > OMAP_MAX_MCBSP_COUNT) {
+- printk(KERN_ERR "OMAP-McBSP: McBSP%d doesn't exist\n",
+- id + 1);
+- return -1;
+- }
+- return 0;
+- }
+-
+- return -1;
+-}
+-
+-#ifdef CONFIG_ARCH_OMAP1
+-static void omap_mcbsp_dsp_request(void)
+-{
+- if (cpu_is_omap15xx() || cpu_is_omap16xx()) {
+- int ret;
+-
+- ret = omap_dsp_request_mem();
+- if (ret < 0) {
+- printk(KERN_ERR "Could not get dsp memory: %i\n", ret);
+- return;
+- }
+-
+- clk_enable(mcbsp_dsp_ck);
+- clk_enable(mcbsp_api_ck);
+-
+- /* enable 12MHz clock to mcbsp 1 & 3 */
+- clk_enable(mcbsp_dspxor_ck);
+-
+- /*
+- * DSP external peripheral reset
+- * FIXME: This should be moved to dsp code
+- */
+- __raw_writew(__raw_readw(DSP_RSTCT2) | 1 | 1 << 1,
+- DSP_RSTCT2);
+- }
+-}
+-
+-static void omap_mcbsp_dsp_free(void)
+-{
+- if (cpu_is_omap15xx() || cpu_is_omap16xx()) {
+- omap_dsp_release_mem();
+- clk_disable(mcbsp_dspxor_ck);
+- clk_disable(mcbsp_dsp_ck);
+- clk_disable(mcbsp_api_ck);
+- }
+-}
+-#endif
+-
+-#ifdef CONFIG_ARCH_OMAP2
+-static void omap2_mcbsp2_mux_setup(void)
+-{
+- if (cpu_is_omap2420()) {
+- omap_cfg_reg(Y15_24XX_MCBSP2_CLKX);
+- omap_cfg_reg(R14_24XX_MCBSP2_FSX);
+- omap_cfg_reg(W15_24XX_MCBSP2_DR);
+- omap_cfg_reg(V15_24XX_MCBSP2_DX);
+- omap_cfg_reg(V14_24XX_GPIO117);
+- }
+- /*
+- * Need to add MUX settings for OMAP 2430 SDP
+- */
+-}
+-#endif
+-
+ /*
+ * We can choose between IRQ based or polled IO.
+ * This needs to be called before omap_mcbsp_request().
+ */
+ int omap_mcbsp_set_io_type(unsigned int id, omap_mcbsp_io_type_t io_type)
+ {
+- if (omap_mcbsp_check(id) < 0)
+- return -EINVAL;
++ if (!omap_mcbsp_check_valid_id(id)) {
++ printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
++ return -ENODEV;
++ }
+
+ spin_lock(&mcbsp[id].lock);
+
+ if (!mcbsp[id].free) {
+- printk(KERN_ERR "OMAP-McBSP: McBSP%d is currently in use\n",
+- id + 1);
++ dev_err(mcbsp[id].dev, "McBSP%d is currently in use\n",
++ mcbsp[id].id);
+ spin_unlock(&mcbsp[id].lock);
+ return -EINVAL;
+ }
+@@ -282,34 +185,20 @@ int omap_mcbsp_request(unsigned int id)
+ {
+ int err;
+
+- if (omap_mcbsp_check(id) < 0)
+- return -EINVAL;
+-
+-#ifdef CONFIG_ARCH_OMAP1
+- /*
+- * On 1510, 1610 and 1710, McBSP1 and McBSP3
+- * are DSP public peripherals.
+- */
+- if (id == OMAP_MCBSP1 || id == OMAP_MCBSP3)
+- omap_mcbsp_dsp_request();
+-#endif
+-
+-#ifdef CONFIG_ARCH_OMAP2
+- if (cpu_is_omap24xx()) {
+- if (id == OMAP_MCBSP1) {
+- clk_enable(mcbsp1_ick);
+- clk_enable(mcbsp1_fck);
+- } else {
+- clk_enable(mcbsp2_ick);
+- clk_enable(mcbsp2_fck);
+- }
++ if (!omap_mcbsp_check_valid_id(id)) {
++ printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
++ return -ENODEV;
+ }
+-#endif
++
++ if (mcbsp[id].pdata->ops->request)
++ mcbsp[id].pdata->ops->request(id);
++
++ mcbsp_clk_enable(&mcbsp[id]);
+
+ spin_lock(&mcbsp[id].lock);
+ if (!mcbsp[id].free) {
+- printk(KERN_ERR "OMAP-McBSP: McBSP%d is currently in use\n",
+- id + 1);
++ dev_err(mcbsp[id].dev, "McBSP%d is currently in use\n",
++ mcbsp[id].id);
+ spin_unlock(&mcbsp[id].lock);
+ return -1;
+ }
+@@ -322,9 +211,9 @@ int omap_mcbsp_request(unsigned int id)
+ err = request_irq(mcbsp[id].tx_irq, omap_mcbsp_tx_irq_handler,
+ 0, "McBSP", (void *) (&mcbsp[id]));
+ if (err != 0) {
+- printk(KERN_ERR "OMAP-McBSP: Unable to "
+- "request TX IRQ %d for McBSP%d\n",
+- mcbsp[id].tx_irq, mcbsp[id].id);
++ dev_err(mcbsp[id].dev, "Unable to request TX IRQ %d "
++ "for McBSP%d\n", mcbsp[id].tx_irq,
++ mcbsp[id].id);
+ return err;
+ }
+
+@@ -333,9 +222,9 @@ int omap_mcbsp_request(unsigned int id)
+ err = request_irq(mcbsp[id].rx_irq, omap_mcbsp_rx_irq_handler,
+ 0, "McBSP", (void *) (&mcbsp[id]));
+ if (err != 0) {
+- printk(KERN_ERR "OMAP-McBSP: Unable to "
+- "request RX IRQ %d for McBSP%d\n",
+- mcbsp[id].rx_irq, mcbsp[id].id);
++ dev_err(mcbsp[id].dev, "Unable to request RX IRQ %d "
++ "for McBSP%d\n", mcbsp[id].rx_irq,
++ mcbsp[id].id);
+ free_irq(mcbsp[id].tx_irq, (void *) (&mcbsp[id]));
+ return err;
+ }
+@@ -349,32 +238,20 @@ EXPORT_SYMBOL(omap_mcbsp_request);
+
+ void omap_mcbsp_free(unsigned int id)
+ {
+- if (omap_mcbsp_check(id) < 0)
++ if (!omap_mcbsp_check_valid_id(id)) {
++ printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
+ return;
+-
+-#ifdef CONFIG_ARCH_OMAP1
+- if (cpu_class_is_omap1()) {
+- if (id == OMAP_MCBSP1 || id == OMAP_MCBSP3)
+- omap_mcbsp_dsp_free();
+ }
+-#endif
+-
+-#ifdef CONFIG_ARCH_OMAP2
+- if (cpu_is_omap24xx()) {
+- if (id == OMAP_MCBSP1) {
+- clk_disable(mcbsp1_ick);
+- clk_disable(mcbsp1_fck);
+- } else {
+- clk_disable(mcbsp2_ick);
+- clk_disable(mcbsp2_fck);
+- }
+- }
+-#endif
++
++ if (mcbsp[id].pdata->ops->free)
++ mcbsp[id].pdata->ops->free(id);
++
++ mcbsp_clk_disable(&mcbsp[id]);
+
+ spin_lock(&mcbsp[id].lock);
+ if (mcbsp[id].free) {
+- printk(KERN_ERR "OMAP-McBSP: McBSP%d was not reserved\n",
+- id + 1);
++ dev_err(mcbsp[id].dev, "McBSP%d was not reserved\n",
++ mcbsp[id].id);
+ spin_unlock(&mcbsp[id].lock);
+ return;
+ }
+@@ -400,8 +277,10 @@ void omap_mcbsp_start(unsigned int id)
+ u32 io_base;
+ u16 w;
+
+- if (omap_mcbsp_check(id) < 0)
++ if (!omap_mcbsp_check_valid_id(id)) {
++ printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
+ return;
++ }
+
+ io_base = mcbsp[id].io_base;
+
+@@ -435,8 +314,10 @@ void omap_mcbsp_stop(unsigned int id)
+ u32 io_base;
+ u16 w;
+
+- if (omap_mcbsp_check(id) < 0)
++ if (!omap_mcbsp_check_valid_id(id)) {
++ printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
+ return;
++ }
+
+ io_base = mcbsp[id].io_base;
+
+@@ -457,7 +338,14 @@ EXPORT_SYMBOL(omap_mcbsp_stop);
+ /* polled mcbsp i/o operations */
+ int omap_mcbsp_pollwrite(unsigned int id, u16 buf)
+ {
+- u32 base = mcbsp[id].io_base;
++ u32 base;
++
++ if (!omap_mcbsp_check_valid_id(id)) {
++ printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
++ return -ENODEV;
++ }
++
++ base = mcbsp[id].io_base;
+ writew(buf, base + OMAP_MCBSP_REG_DXR1);
+ /* if frame sync error - clear the error */
+ if (readw(base + OMAP_MCBSP_REG_SPCR2) & XSYNC_ERR) {
+@@ -479,8 +367,8 @@ int omap_mcbsp_pollwrite(unsigned int id, u16 buf)
+ (XRST),
+ base + OMAP_MCBSP_REG_SPCR2);
+ udelay(10);
+- printk(KERN_ERR
+- " Could not write to McBSP Register\n");
++ dev_err(mcbsp[id].dev, "Could not write to"
++ " McBSP%d Register\n", mcbsp[id].id);
+ return -2;
+ }
+ }
+@@ -492,7 +380,14 @@ EXPORT_SYMBOL(omap_mcbsp_pollwrite);
+
+ int omap_mcbsp_pollread(unsigned int id, u16 *buf)
+ {
+- u32 base = mcbsp[id].io_base;
++ u32 base;
++
++ if (!omap_mcbsp_check_valid_id(id)) {
++ printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
++ return -ENODEV;
++ }
++
++ base = mcbsp[id].io_base;
+ /* if frame sync error - clear the error */
+ if (readw(base + OMAP_MCBSP_REG_SPCR1) & RSYNC_ERR) {
+ /* clear error */
+@@ -513,8 +408,8 @@ int omap_mcbsp_pollread(unsigned int id, u16 *buf)
+ (RRST),
+ base + OMAP_MCBSP_REG_SPCR1);
+ udelay(10);
+- printk(KERN_ERR
+- " Could not read from McBSP Register\n");
++ dev_err(mcbsp[id].dev, "Could not read from"
++ " McBSP%d Register\n", mcbsp[id].id);
+ return -2;
+ }
+ }
+@@ -531,12 +426,15 @@ EXPORT_SYMBOL(omap_mcbsp_pollread);
+ void omap_mcbsp_xmit_word(unsigned int id, u32 word)
+ {
+ u32 io_base;
+- omap_mcbsp_word_length word_length = mcbsp[id].tx_word_length;
++ omap_mcbsp_word_length word_length;
+
+- if (omap_mcbsp_check(id) < 0)
++ if (!omap_mcbsp_check_valid_id(id)) {
++ printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
+ return;
++ }
+
+ io_base = mcbsp[id].io_base;
++ word_length = mcbsp[id].tx_word_length;
+
+ wait_for_completion(&(mcbsp[id].tx_irq_completion));
+
+@@ -550,11 +448,14 @@ u32 omap_mcbsp_recv_word(unsigned int id)
+ {
+ u32 io_base;
+ u16 word_lsb, word_msb = 0;
+- omap_mcbsp_word_length word_length = mcbsp[id].rx_word_length;
++ omap_mcbsp_word_length word_length;
+
+- if (omap_mcbsp_check(id) < 0)
+- return -EINVAL;
++ if (!omap_mcbsp_check_valid_id(id)) {
++ printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
++ return -ENODEV;
++ }
+
++ word_length = mcbsp[id].rx_word_length;
+ io_base = mcbsp[id].io_base;
+
+ wait_for_completion(&(mcbsp[id].rx_irq_completion));
+@@ -569,11 +470,20 @@ EXPORT_SYMBOL(omap_mcbsp_recv_word);
+
+ int omap_mcbsp_spi_master_xmit_word_poll(unsigned int id, u32 word)
+ {
+- u32 io_base = mcbsp[id].io_base;
+- omap_mcbsp_word_length tx_word_length = mcbsp[id].tx_word_length;
+- omap_mcbsp_word_length rx_word_length = mcbsp[id].rx_word_length;
++ u32 io_base;
++ omap_mcbsp_word_length tx_word_length;
++ omap_mcbsp_word_length rx_word_length;
+ u16 spcr2, spcr1, attempts = 0, word_lsb, word_msb = 0;
+
++ if (!omap_mcbsp_check_valid_id(id)) {
++ printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
++ return -ENODEV;
++ }
++
++ io_base = mcbsp[id].io_base;
++ tx_word_length = mcbsp[id].tx_word_length;
++ rx_word_length = mcbsp[id].rx_word_length;
++
+ if (tx_word_length != rx_word_length)
+ return -EINVAL;
+
+@@ -587,7 +497,8 @@ int omap_mcbsp_spi_master_xmit_word_poll(unsigned int id, u32 word)
+ udelay(10);
+ OMAP_MCBSP_WRITE(io_base, SPCR2, spcr2 | XRST);
+ udelay(10);
+- printk(KERN_ERR "McBSP transmitter not ready\n");
++ dev_err(mcbsp[id].dev, "McBSP%d transmitter not "
++ "ready\n", mcbsp[id].id);
+ return -EAGAIN;
+ }
+ }
+@@ -607,7 +518,8 @@ int omap_mcbsp_spi_master_xmit_word_poll(unsigned int id, u32 word)
+ udelay(10);
+ OMAP_MCBSP_WRITE(io_base, SPCR1, spcr1 | RRST);
+ udelay(10);
+- printk(KERN_ERR "McBSP receiver not ready\n");
++ dev_err(mcbsp[id].dev, "McBSP%d receiver not "
++ "ready\n", mcbsp[id].id);
+ return -EAGAIN;
+ }
+ }
+@@ -623,11 +535,20 @@ EXPORT_SYMBOL(omap_mcbsp_spi_master_xmit_word_poll);
+
+ int omap_mcbsp_spi_master_recv_word_poll(unsigned int id, u32 *word)
+ {
+- u32 io_base = mcbsp[id].io_base, clock_word = 0;
+- omap_mcbsp_word_length tx_word_length = mcbsp[id].tx_word_length;
+- omap_mcbsp_word_length rx_word_length = mcbsp[id].rx_word_length;
++ u32 io_base, clock_word = 0;
++ omap_mcbsp_word_length tx_word_length;
++ omap_mcbsp_word_length rx_word_length;
+ u16 spcr2, spcr1, attempts = 0, word_lsb, word_msb = 0;
+
++ if (!omap_mcbsp_check_valid_id(id)) {
++ printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
++ return -ENODEV;
++ }
++
++ io_base = mcbsp[id].io_base;
++ tx_word_length = mcbsp[id].tx_word_length;
++ rx_word_length = mcbsp[id].rx_word_length;
++
+ if (tx_word_length != rx_word_length)
+ return -EINVAL;
+
+@@ -641,7 +562,8 @@ int omap_mcbsp_spi_master_recv_word_poll(unsigned int id, u32 *word)
+ udelay(10);
+ OMAP_MCBSP_WRITE(io_base, SPCR2, spcr2 | XRST);
+ udelay(10);
+- printk(KERN_ERR "McBSP transmitter not ready\n");
++ dev_err(mcbsp[id].dev, "McBSP%d transmitter not "
++ "ready\n", mcbsp[id].id);
+ return -EAGAIN;
+ }
+ }
+@@ -661,7 +583,8 @@ int omap_mcbsp_spi_master_recv_word_poll(unsigned int id, u32 *word)
+ udelay(10);
+ OMAP_MCBSP_WRITE(io_base, SPCR1, spcr1 | RRST);
+ udelay(10);
+- printk(KERN_ERR "McBSP receiver not ready\n");
++ dev_err(mcbsp[id].dev, "McBSP%d receiver not "
++ "ready\n", mcbsp[id].id);
+ return -EAGAIN;
+ }
+ }
+@@ -692,20 +615,24 @@ int omap_mcbsp_xmit_buffer(unsigned int id, dma_addr_t buffer,
+ int dest_port = 0;
+ int sync_dev = 0;
+
+- if (omap_mcbsp_check(id) < 0)
+- return -EINVAL;
++ if (!omap_mcbsp_check_valid_id(id)) {
++ printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
++ return -ENODEV;
++ }
+
+ if (omap_request_dma(mcbsp[id].dma_tx_sync, "McBSP TX",
+ omap_mcbsp_tx_dma_callback,
+ &mcbsp[id],
+ &dma_tx_ch)) {
+- printk(KERN_ERR "OMAP-McBSP: Unable to request DMA channel for"
+- " McBSP%d TX. Trying IRQ based TX\n", id + 1);
++ dev_err(mcbsp[id].dev, " Unable to request DMA channel for "
++ "McBSP%d TX. Trying IRQ based TX\n",
++ mcbsp[id].id);
+ return -EAGAIN;
+ }
+ mcbsp[id].dma_tx_lch = dma_tx_ch;
+
+- DBG("TX DMA on channel %d\n", dma_tx_ch);
++ dev_err(mcbsp[id].dev, "McBSP%d TX DMA on channel %d\n", mcbsp[id].id,
++ dma_tx_ch);
+
+ init_completion(&(mcbsp[id].tx_dma_completion));
+
+@@ -713,7 +640,7 @@ int omap_mcbsp_xmit_buffer(unsigned int id, dma_addr_t buffer,
+ src_port = OMAP_DMA_PORT_TIPB;
+ dest_port = OMAP_DMA_PORT_EMIFF;
+ }
+- if (cpu_is_omap24xx())
++ if (cpu_class_is_omap2())
+ sync_dev = mcbsp[id].dma_tx_sync;
+
+ omap_set_dma_transfer_params(mcbsp[id].dma_tx_lch,
+@@ -749,20 +676,24 @@ int omap_mcbsp_recv_buffer(unsigned int id, dma_addr_t buffer,
+ int dest_port = 0;
+ int sync_dev = 0;
+
+- if (omap_mcbsp_check(id) < 0)
+- return -EINVAL;
++ if (!omap_mcbsp_check_valid_id(id)) {
++ printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
++ return -ENODEV;
++ }
+
+ if (omap_request_dma(mcbsp[id].dma_rx_sync, "McBSP RX",
+ omap_mcbsp_rx_dma_callback,
+ &mcbsp[id],
+ &dma_rx_ch)) {
+- printk(KERN_ERR "Unable to request DMA channel for McBSP%d RX."
+- " Trying IRQ based RX\n", id + 1);
++ dev_err(mcbsp[id].dev, "Unable to request DMA channel for "
++ "McBSP%d RX. Trying IRQ based RX\n",
++ mcbsp[id].id);
+ return -EAGAIN;
+ }
+ mcbsp[id].dma_rx_lch = dma_rx_ch;
+
+- DBG("RX DMA on channel %d\n", dma_rx_ch);
++ dev_err(mcbsp[id].dev, "McBSP%d RX DMA on channel %d\n", mcbsp[id].id,
++ dma_rx_ch);
+
+ init_completion(&(mcbsp[id].rx_dma_completion));
+
+@@ -770,7 +701,7 @@ int omap_mcbsp_recv_buffer(unsigned int id, dma_addr_t buffer,
+ src_port = OMAP_DMA_PORT_TIPB;
+ dest_port = OMAP_DMA_PORT_EMIFF;
+ }
+- if (cpu_is_omap24xx())
++ if (cpu_class_is_omap2())
+ sync_dev = mcbsp[id].dma_rx_sync;
+
+ omap_set_dma_transfer_params(mcbsp[id].dma_rx_lch,
+@@ -809,8 +740,10 @@ void omap_mcbsp_set_spi_mode(unsigned int id,
+ {
+ struct omap_mcbsp_reg_cfg mcbsp_cfg;
+
+- if (omap_mcbsp_check(id) < 0)
++ if (!omap_mcbsp_check_valid_id(id)) {
++ printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
+ return;
++ }
+
+ memset(&mcbsp_cfg, 0, sizeof(struct omap_mcbsp_reg_cfg));
+
+@@ -871,182 +804,91 @@ EXPORT_SYMBOL(omap_mcbsp_set_spi_mode);
+ * McBSP1 and McBSP3 are directly mapped on 1610 and 1510.
+ * 730 has only 2 McBSP, and both of them are MPU peripherals.
+ */
+-struct omap_mcbsp_info {
+- u32 virt_base;
+- u8 dma_rx_sync, dma_tx_sync;
+- u16 rx_irq, tx_irq;
+-};
++static int __init omap_mcbsp_probe(struct platform_device *pdev)
++{
++ struct omap_mcbsp_platform_data *pdata = pdev->dev.platform_data;
++ int id = pdev->id - 1;
++ int ret = 0;
++ int i;
+
+-#ifdef CONFIG_ARCH_OMAP730
+-static const struct omap_mcbsp_info mcbsp_730[] = {
+- [0] = { .virt_base = io_p2v(OMAP730_MCBSP1_BASE),
+- .dma_rx_sync = OMAP_DMA_MCBSP1_RX,
+- .dma_tx_sync = OMAP_DMA_MCBSP1_TX,
+- .rx_irq = INT_730_McBSP1RX,
+- .tx_irq = INT_730_McBSP1TX },
+- [1] = { .virt_base = io_p2v(OMAP730_MCBSP2_BASE),
+- .dma_rx_sync = OMAP_DMA_MCBSP3_RX,
+- .dma_tx_sync = OMAP_DMA_MCBSP3_TX,
+- .rx_irq = INT_730_McBSP2RX,
+- .tx_irq = INT_730_McBSP2TX },
+-};
+-#endif
+-
+-#ifdef CONFIG_ARCH_OMAP15XX
+-static const struct omap_mcbsp_info mcbsp_1510[] = {
+- [0] = { .virt_base = OMAP1510_MCBSP1_BASE,
+- .dma_rx_sync = OMAP_DMA_MCBSP1_RX,
+- .dma_tx_sync = OMAP_DMA_MCBSP1_TX,
+- .rx_irq = INT_McBSP1RX,
+- .tx_irq = INT_McBSP1TX },
+- [1] = { .virt_base = io_p2v(OMAP1510_MCBSP2_BASE),
+- .dma_rx_sync = OMAP_DMA_MCBSP2_RX,
+- .dma_tx_sync = OMAP_DMA_MCBSP2_TX,
+- .rx_irq = INT_1510_SPI_RX,
+- .tx_irq = INT_1510_SPI_TX },
+- [2] = { .virt_base = OMAP1510_MCBSP3_BASE,
+- .dma_rx_sync = OMAP_DMA_MCBSP3_RX,
+- .dma_tx_sync = OMAP_DMA_MCBSP3_TX,
+- .rx_irq = INT_McBSP3RX,
+- .tx_irq = INT_McBSP3TX },
+-};
+-#endif
+-
+-#if defined(CONFIG_ARCH_OMAP16XX)
+-static const struct omap_mcbsp_info mcbsp_1610[] = {
+- [0] = { .virt_base = OMAP1610_MCBSP1_BASE,
+- .dma_rx_sync = OMAP_DMA_MCBSP1_RX,
+- .dma_tx_sync = OMAP_DMA_MCBSP1_TX,
+- .rx_irq = INT_McBSP1RX,
+- .tx_irq = INT_McBSP1TX },
+- [1] = { .virt_base = io_p2v(OMAP1610_MCBSP2_BASE),
+- .dma_rx_sync = OMAP_DMA_MCBSP2_RX,
+- .dma_tx_sync = OMAP_DMA_MCBSP2_TX,
+- .rx_irq = INT_1610_McBSP2_RX,
+- .tx_irq = INT_1610_McBSP2_TX },
+- [2] = { .virt_base = OMAP1610_MCBSP3_BASE,
+- .dma_rx_sync = OMAP_DMA_MCBSP3_RX,
+- .dma_tx_sync = OMAP_DMA_MCBSP3_TX,
+- .rx_irq = INT_McBSP3RX,
+- .tx_irq = INT_McBSP3TX },
+-};
+-#endif
+-
+-#if defined(CONFIG_ARCH_OMAP24XX)
+-static const struct omap_mcbsp_info mcbsp_24xx[] = {
+- [0] = { .virt_base = IO_ADDRESS(OMAP24XX_MCBSP1_BASE),
+- .dma_rx_sync = OMAP24XX_DMA_MCBSP1_RX,
+- .dma_tx_sync = OMAP24XX_DMA_MCBSP1_TX,
+- .rx_irq = INT_24XX_MCBSP1_IRQ_RX,
+- .tx_irq = INT_24XX_MCBSP1_IRQ_TX,
+- },
+- [1] = { .virt_base = IO_ADDRESS(OMAP24XX_MCBSP2_BASE),
+- .dma_rx_sync = OMAP24XX_DMA_MCBSP2_RX,
+- .dma_tx_sync = OMAP24XX_DMA_MCBSP2_TX,
+- .rx_irq = INT_24XX_MCBSP2_IRQ_RX,
+- .tx_irq = INT_24XX_MCBSP2_IRQ_TX,
+- },
+-};
+-#endif
++ if (!pdata) {
++ dev_err(&pdev->dev, "McBSP device initialized without"
++ "platform data\n");
++ ret = -EINVAL;
++ goto exit;
++ }
+
+-static int __init omap_mcbsp_init(void)
++ dev_dbg(&pdev->dev, "Initializing OMAP McBSP (%d).\n", pdev->id);
++
++ if (id >= OMAP_MAX_MCBSP_COUNT) {
++ dev_err(&pdev->dev, "Invalid McBSP device id (%d)\n", id);
++ ret = -EINVAL;
++ goto exit;
++ }
++
++ spin_lock_init(&mcbsp[id].lock);
++ mcbsp[id].id = id + 1;
++ mcbsp[id].free = 1;
++ mcbsp[id].dma_tx_lch = -1;
++ mcbsp[id].dma_rx_lch = -1;
++
++ mcbsp[id].io_base = pdata->virt_base;
++ /* Default I/O is IRQ based */
++ mcbsp[id].io_type = OMAP_MCBSP_IRQ_IO;
++ mcbsp[id].tx_irq = pdata->tx_irq;
++ mcbsp[id].rx_irq = pdata->rx_irq;
++ mcbsp[id].dma_rx_sync = pdata->dma_rx_sync;
++ mcbsp[id].dma_tx_sync = pdata->dma_tx_sync;
++
++ mcbsp[id].nr_clocks = ARRAY_SIZE(pdata->clocks);
++ for (i = 0; i < ARRAY_SIZE(pdata->clocks); i++)
++ mcbsp[id].clocks[i] = clk_get(&pdev->dev, pdata->clocks[i]);
++
++ mcbsp[id].pdata = pdata;
++ mcbsp[id].dev = &pdev->dev;
++ platform_set_drvdata(pdev, &mcbsp[id]);
++
++exit:
++ return ret;
++}
++
++static int omap_mcbsp_remove(struct platform_device *pdev)
+ {
+- int mcbsp_count = 0, i;
+- static const struct omap_mcbsp_info *mcbsp_info;
++ struct omap_mcbsp *mcbsp = platform_get_drvdata(pdev);
+
+- printk(KERN_INFO "Initializing OMAP McBSP system\n");
++ platform_set_drvdata(pdev, NULL);
++ if (mcbsp) {
++ int i;
+
+-#ifdef CONFIG_ARCH_OMAP1
+- mcbsp_dsp_ck = clk_get(0, "dsp_ck");
+- if (IS_ERR(mcbsp_dsp_ck)) {
+- printk(KERN_ERR "mcbsp: could not acquire dsp_ck handle.\n");
+- return PTR_ERR(mcbsp_dsp_ck);
+- }
+- mcbsp_api_ck = clk_get(0, "api_ck");
+- if (IS_ERR(mcbsp_api_ck)) {
+- printk(KERN_ERR "mcbsp: could not acquire api_ck handle.\n");
+- return PTR_ERR(mcbsp_api_ck);
+- }
+- mcbsp_dspxor_ck = clk_get(0, "dspxor_ck");
+- if (IS_ERR(mcbsp_dspxor_ck)) {
+- printk(KERN_ERR "mcbsp: could not acquire dspxor_ck handle.\n");
+- return PTR_ERR(mcbsp_dspxor_ck);
+- }
+-#endif
+-#ifdef CONFIG_ARCH_OMAP2
+- mcbsp1_ick = clk_get(0, "mcbsp1_ick");
+- if (IS_ERR(mcbsp1_ick)) {
+- printk(KERN_ERR "mcbsp: could not acquire "
+- "mcbsp1_ick handle.\n");
+- return PTR_ERR(mcbsp1_ick);
+- }
+- mcbsp1_fck = clk_get(0, "mcbsp1_fck");
+- if (IS_ERR(mcbsp1_fck)) {
+- printk(KERN_ERR "mcbsp: could not acquire "
+- "mcbsp1_fck handle.\n");
+- return PTR_ERR(mcbsp1_fck);
+- }
+- mcbsp2_ick = clk_get(0, "mcbsp2_ick");
+- if (IS_ERR(mcbsp2_ick)) {
+- printk(KERN_ERR "mcbsp: could not acquire "
+- "mcbsp2_ick handle.\n");
+- return PTR_ERR(mcbsp2_ick);
+- }
+- mcbsp2_fck = clk_get(0, "mcbsp2_fck");
+- if (IS_ERR(mcbsp2_fck)) {
+- printk(KERN_ERR "mcbsp: could not acquire "
+- "mcbsp2_fck handle.\n");
+- return PTR_ERR(mcbsp2_fck);
+- }
+-#endif
++ if (mcbsp->pdata && mcbsp->pdata->ops &&
++ mcbsp->pdata->ops->free)
++ mcbsp->pdata->ops->free(mcbsp->id);
+
+-#ifdef CONFIG_ARCH_OMAP730
+- if (cpu_is_omap730()) {
+- mcbsp_info = mcbsp_730;
+- mcbsp_count = ARRAY_SIZE(mcbsp_730);
+- }
+-#endif
+-#ifdef CONFIG_ARCH_OMAP15XX
+- if (cpu_is_omap15xx()) {
+- mcbsp_info = mcbsp_1510;
+- mcbsp_count = ARRAY_SIZE(mcbsp_1510);
+- }
+-#endif
+-#if defined(CONFIG_ARCH_OMAP16XX)
+- if (cpu_is_omap16xx()) {
+- mcbsp_info = mcbsp_1610;
+- mcbsp_count = ARRAY_SIZE(mcbsp_1610);
+- }
+-#endif
+-#if defined(CONFIG_ARCH_OMAP24XX)
+- if (cpu_is_omap24xx()) {
+- mcbsp_info = mcbsp_24xx;
+- mcbsp_count = ARRAY_SIZE(mcbsp_24xx);
+- omap2_mcbsp2_mux_setup();
+- }
+-#endif
+- for (i = 0; i < OMAP_MAX_MCBSP_COUNT ; i++) {
+- if (i >= mcbsp_count) {
+- mcbsp[i].io_base = 0;
+- mcbsp[i].free = 0;
+- continue;
+- }
+- mcbsp[i].id = i + 1;
+- mcbsp[i].free = 1;
+- mcbsp[i].dma_tx_lch = -1;
+- mcbsp[i].dma_rx_lch = -1;
+-
+- mcbsp[i].io_base = mcbsp_info[i].virt_base;
+- /* Default I/O is IRQ based */
+- mcbsp[i].io_type = OMAP_MCBSP_IRQ_IO;
+- mcbsp[i].tx_irq = mcbsp_info[i].tx_irq;
+- mcbsp[i].rx_irq = mcbsp_info[i].rx_irq;
+- mcbsp[i].dma_rx_sync = mcbsp_info[i].dma_rx_sync;
+- mcbsp[i].dma_tx_sync = mcbsp_info[i].dma_tx_sync;
+- spin_lock_init(&mcbsp[i].lock);
++ mcbsp_clk_disable(mcbsp);
++ mcbsp_clk_put(mcbsp);
++
++ for (i = 0; i < mcbsp->nr_clocks; i++)
++ mcbsp->clocks[i] = NULL;
++
++ mcbsp->free = 0;
++ mcbsp->dev = NULL;
+ }
+
+ return 0;
+ }
+
+-arch_initcall(omap_mcbsp_init);
++static struct platform_driver omap_mcbsp_driver = {
++ .probe = omap_mcbsp_probe,
++ .remove = omap_mcbsp_remove,
++ .driver = {
++ .name = "omap-mcbsp",
++ },
++};
++
++int __init omap_mcbsp_init(void)
++{
++ /* Register the McBSP driver */
++ return platform_driver_register(&omap_mcbsp_driver);
++}
++
++
+diff --git a/include/asm-arm/arch-omap/mcbsp.h b/include/asm-arm/arch-omap/mcbsp.h
+index b53c3b2..aa47421 100644
+--- a/include/asm-arm/arch-omap/mcbsp.h
++++ b/include/asm-arm/arch-omap/mcbsp.h
+@@ -24,7 +24,11 @@
+ #ifndef __ASM_ARCH_OMAP_MCBSP_H
+ #define __ASM_ARCH_OMAP_MCBSP_H
+
++#include <linux/completion.h>
++#include <linux/spinlock.h>
++
+ #include <asm/hardware.h>
++#include <asm/arch/clock.h>
+
+ #define OMAP730_MCBSP1_BASE 0xfffb1000
+ #define OMAP730_MCBSP2_BASE 0xfffb1800
+@@ -40,6 +44,9 @@
+ #define OMAP24XX_MCBSP1_BASE 0x48074000
+ #define OMAP24XX_MCBSP2_BASE 0x48076000
+
++#define OMAP34XX_MCBSP1_BASE 0x48074000
++#define OMAP34XX_MCBSP2_BASE 0x49022000
++
+ #if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP730)
+
+ #define OMAP_MCBSP_REG_DRR2 0x00
+@@ -74,7 +81,8 @@
+ #define OMAP_MCBSP_REG_XCERG 0x3A
+ #define OMAP_MCBSP_REG_XCERH 0x3C
+
+-#define OMAP_MAX_MCBSP_COUNT 3
++#define OMAP_MAX_MCBSP_COUNT 3
++#define MAX_MCBSP_CLOCKS 3
+
+ #define AUDIO_MCBSP_DATAWRITE (OMAP1510_MCBSP1_BASE + OMAP_MCBSP_REG_DXR1)
+ #define AUDIO_MCBSP_DATAREAD (OMAP1510_MCBSP1_BASE + OMAP_MCBSP_REG_DRR1)
+@@ -117,7 +125,8 @@
+ #define OMAP_MCBSP_REG_XCERG 0x74
+ #define OMAP_MCBSP_REG_XCERH 0x78
+
+-#define OMAP_MAX_MCBSP_COUNT 2
++#define OMAP_MAX_MCBSP_COUNT 2
++#define MAX_MCBSP_CLOCKS 2
+
+ #define AUDIO_MCBSP_DATAWRITE (OMAP24XX_MCBSP2_BASE + OMAP_MCBSP_REG_DXR1)
+ #define AUDIO_MCBSP_DATAREAD (OMAP24XX_MCBSP2_BASE + OMAP_MCBSP_REG_DRR1)
+@@ -298,6 +307,66 @@ struct omap_mcbsp_spi_cfg {
+ omap_mcbsp_word_length word_length;
+ };
+
++/* Platform specific configuration */
++struct omap_mcbsp_ops {
++ void (*request)(unsigned int);
++ void (*free)(unsigned int);
++ int (*check)(unsigned int);
++};
++
++struct omap_mcbsp_platform_data {
++ u32 virt_base;
++ u8 dma_rx_sync, dma_tx_sync;
++ u16 rx_irq, tx_irq;
++ struct omap_mcbsp_ops *ops;
++ char const *clocks[MAX_MCBSP_CLOCKS];
++};
++
++struct omap_mcbsp {
++ struct device *dev;
++ u32 io_base;
++ u8 id;
++ u8 free;
++ omap_mcbsp_word_length rx_word_length;
++ omap_mcbsp_word_length tx_word_length;
++
++ omap_mcbsp_io_type_t io_type; /* IRQ or poll */
++ /* IRQ based TX/RX */
++ int rx_irq;
++ int tx_irq;
++
++ /* DMA stuff */
++ u8 dma_rx_sync;
++ short dma_rx_lch;
++ u8 dma_tx_sync;
++ short dma_tx_lch;
++
++ /* Completion queues */
++ struct completion tx_irq_completion;
++ struct completion rx_irq_completion;
++ struct completion tx_dma_completion;
++ struct completion rx_dma_completion;
++
++ /* Protect the field .free, while checking if the mcbsp is in use */
++ spinlock_t lock;
++ struct omap_mcbsp_platform_data *pdata;
++ int nr_clocks;
++ struct clk *clocks[MAX_MCBSP_CLOCKS];
++};
++
++#define __mcbsp_clk_op(mcbsp, op) \
++ do { \
++ int i; \
++ for (i = 0; i < mcbsp->nr_clocks; i++) \
++ clk_##op(mcbsp->clocks[i]); \
++ } while (0)
++#define mcbsp_clk_enable(mcbsp) __mcbsp_clk_op((mcbsp), enable)
++#define mcbsp_clk_disable(mcbsp) __mcbsp_clk_op((mcbsp), disable)
++#define mcbsp_clk_put(mcbsp) __mcbsp_clk_op((mcbsp), put)
++
++int omap_mcbsp_init(void);
++void omap_mcbsp_register_board_cfg(struct omap_mcbsp_platform_data *config,
++ int size);
+ void omap_mcbsp_config(unsigned int id, const struct omap_mcbsp_reg_cfg * config);
+ int omap_mcbsp_request(unsigned int id);
+ void omap_mcbsp_free(unsigned int id);
+--
+1.5.5.1.67.gbdb8.dirty
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-omap" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html
+
diff --git a/packages/linux/linux-omap2-git/beagleboard/00002-mcbsp-omap1.patch b/packages/linux/linux-omap2-git/beagleboard/00002-mcbsp-omap1.patch new file mode 100644 index 0000000000..76246a9fae --- /dev/null +++ b/packages/linux/linux-omap2-git/beagleboard/00002-mcbsp-omap1.patch @@ -0,0 +1,204 @@ +From: Eduardo Valentin <eduardo.valentin@indt.org.br>
+
+This patch adds support for mach-omap1 based on current
+mcbsp platform driver.
+
+Signed-off-by: Eduardo Valentin <eduardo.valentin@indt.org.br>
+---
+ arch/arm/mach-omap1/Makefile | 2 +
+ arch/arm/mach-omap1/mcbsp.c | 165 ++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 167 insertions(+), 0 deletions(-)
+ create mode 100644 arch/arm/mach-omap1/mcbsp.c
+
+diff --git a/arch/arm/mach-omap1/Makefile b/arch/arm/mach-omap1/Makefile
+index 6ebf23b..09246a7 100644
+--- a/arch/arm/mach-omap1/Makefile
++++ b/arch/arm/mach-omap1/Makefile
+@@ -5,6 +5,8 @@
+ # Common support
+ obj-y := io.o id.o clock.o irq.o mux.o serial.o devices.o
+
++obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
++
+ obj-$(CONFIG_OMAP_MPU_TIMER) += time.o
+ obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o
+
+diff --git a/arch/arm/mach-omap1/mcbsp.c b/arch/arm/mach-omap1/mcbsp.c
+new file mode 100644
+index 0000000..f30624a
+--- /dev/null
++++ b/arch/arm/mach-omap1/mcbsp.c
+@@ -0,0 +1,165 @@
++/*
++ * linux/arch/arm/mach-omap1/mcbsp.c
++ *
++ * Copyright (C) 2008 Instituto Nokia de Tecnologia
++ * Contact: Eduardo Valentin <eduardo.valentin@indt.org.br>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * Multichannel mode not supported.
++ */
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/clk.h>
++#include <linux/err.h>
++#include <linux/io.h>
++
++#include <asm/arch/dma.h>
++#include <asm/arch/mux.h>
++#include <asm/arch/cpu.h>
++#include <asm/arch/mcbsp.h>
++#include <asm/arch/dsp_common.h>
++
++#define DPS_RSTCT2_PER_EN (1 << 0)
++#define DSP_RSTCT2_WD_PER_EN (1 << 1)
++
++static int omap1_mcbsp_check(unsigned int id)
++{
++ /* REVISIT: Check correctly for number of registered McBSPs */
++ if (cpu_is_omap730()) {
++ if (id > OMAP_MAX_MCBSP_COUNT - 2) {
++ printk(KERN_ERR "OMAP-McBSP: McBSP%d doesn't exist\n",
++ id + 1);
++ return -ENODEV;
++ }
++ return 0;
++ }
++
++ if (cpu_is_omap15xx() || cpu_is_omap16xx()) {
++ if (id > OMAP_MAX_MCBSP_COUNT - 1) {
++ printk(KERN_ERR "OMAP-McBSP: McBSP%d doesn't exist\n",
++ id + 1);
++ return -ENODEV;
++ }
++ return 0;
++ }
++
++ return -ENODEV;
++}
++
++static void omap1_mcbsp_request(unsigned int id)
++{
++ /*
++ * On 1510, 1610 and 1710, McBSP1 and McBSP3
++ * are DSP public peripherals.
++ */
++ if (id == OMAP_MCBSP1 || id == OMAP_MCBSP3) {
++ omap_dsp_request_mem();
++ /*
++ * DSP external peripheral reset
++ * FIXME: This should be moved to dsp code
++ */
++ __raw_writew(__raw_readw(DSP_RSTCT2) | DPS_RSTCT2_PER_EN |
++ DSP_RSTCT2_WD_PER_EN, DSP_RSTCT2);
++ }
++}
++
++static void omap1_mcbsp_free(unsigned int id)
++{
++ if (id == OMAP_MCBSP1 || id == OMAP_MCBSP3)
++ omap_dsp_release_mem();
++}
++
++static struct omap_mcbsp_ops omap1_mcbsp_ops = {
++ .check = omap1_mcbsp_check,
++ .request = omap1_mcbsp_request,
++ .free = omap1_mcbsp_free,
++};
++
++static struct omap_mcbsp_platform_data omap1_mcbsp_pdata[] = {
++#ifdef CONFIG_ARCH_OMAP730
++ {
++ .virt_base = io_p2v(OMAP730_MCBSP1_BASE),
++ .dma_rx_sync = OMAP_DMA_MCBSP1_RX,
++ .dma_tx_sync = OMAP_DMA_MCBSP1_TX,
++ .rx_irq = INT_730_McBSP1RX,
++ .tx_irq = INT_730_McBSP1TX,
++ .ops = &omap1_mcbsp_ops,
++ },
++ {
++ .virt_base = io_p2v(OMAP730_MCBSP2_BASE),
++ .dma_rx_sync = OMAP_DMA_MCBSP3_RX,
++ .dma_tx_sync = OMAP_DMA_MCBSP3_TX,
++ .rx_irq = INT_730_McBSP2RX,
++ .tx_irq = INT_730_McBSP2TX
++ .ops = &omap1_mcbsp_ops,
++ },
++#endif
++#ifdef CONFIG_ARCH_OMAP15XX
++ {
++ .virt_base = OMAP1510_MCBSP1_BASE,
++ .dma_rx_sync = OMAP_DMA_MCBSP1_RX,
++ .dma_tx_sync = OMAP_DMA_MCBSP1_TX,
++ .rx_irq = INT_McBSP1RX,
++ .tx_irq = INT_McBSP1TX,
++ .ops = &omap1_mcbsp_ops,
++ .clocks = { "dsp_ck", "api_ck", "dspxor_ck" },
++ },
++ {
++ .virt_base = io_p2v(OMAP1510_MCBSP2_BASE),
++ .dma_rx_sync = OMAP_DMA_MCBSP2_RX,
++ .dma_tx_sync = OMAP_DMA_MCBSP2_TX,
++ .rx_irq = INT_1510_SPI_RX,
++ .tx_irq = INT_1510_SPI_TX,
++ .ops = &omap1_mcbsp_ops,
++ },
++ {
++ .virt_base = OMAP1510_MCBSP3_BASE,
++ .dma_rx_sync = OMAP_DMA_MCBSP3_RX,
++ .dma_tx_sync = OMAP_DMA_MCBSP3_TX,
++ .rx_irq = INT_McBSP3RX,
++ .tx_irq = INT_McBSP3TX,
++ .ops = &omap1_mcbsp_ops,
++ .clocks = { "dsp_ck", "api_ck", "dspxor_ck" },
++ },
++#endif
++#ifdef CONFIG_ARCH_OMAP16XX
++ {
++ .virt_base = OMAP1610_MCBSP1_BASE,
++ .dma_rx_sync = OMAP_DMA_MCBSP1_RX,
++ .dma_tx_sync = OMAP_DMA_MCBSP1_TX,
++ .rx_irq = INT_McBSP1RX,
++ .tx_irq = INT_McBSP1TX,
++ .ops = &omap1_mcbsp_ops,
++ .clocks = { "dsp_ck", "api_ck", "dspxor_ck" },
++ },
++ {
++ .virt_base = io_p2v(OMAP1610_MCBSP2_BASE),
++ .dma_rx_sync = OMAP_DMA_MCBSP2_RX,
++ .dma_tx_sync = OMAP_DMA_MCBSP2_TX,
++ .rx_irq = INT_1610_McBSP2_RX,
++ .tx_irq = INT_1610_McBSP2_TX,
++ .ops = &omap1_mcbsp_ops,
++ },
++ {
++ .virt_base = OMAP1610_MCBSP3_BASE,
++ .dma_rx_sync = OMAP_DMA_MCBSP3_RX,
++ .dma_tx_sync = OMAP_DMA_MCBSP3_TX,
++ .rx_irq = INT_McBSP3RX,
++ .tx_irq = INT_McBSP3TX,
++ .ops = &omap1_mcbsp_ops,
++ .clocks = { "dsp_ck", "api_ck", "dspxor_ck" },
++ },
++#endif
++};
++#define mcbsp_count ARRAY_SIZE(omap1_mcbsp_pdata)
++
++int __init omap1_mcbsp_init(void)
++{
++ omap_mcbsp_register_board_cfg(omap1_mcbsp_pdata, mcbsp_count);
++
++ return omap_mcbsp_init();
++}
++arch_initcall(omap1_mcbsp_init);
+--
+1.5.5.1.67.gbdb8.dirty
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-omap" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html
+
diff --git a/packages/linux/linux-omap2-git/beagleboard/00003-mcbsp-omap3-clock.patch b/packages/linux/linux-omap2-git/beagleboard/00003-mcbsp-omap3-clock.patch new file mode 100644 index 0000000000..6d1e7d3f71 --- /dev/null +++ b/packages/linux/linux-omap2-git/beagleboard/00003-mcbsp-omap3-clock.patch @@ -0,0 +1,123 @@ +From: Eduardo Valentin <eduardo.valentin@indt.org.br>
+
+This patch fix the clock definition for mcbsps on clock34xx.h.
+Device identification must be done using .id field, not
+only name field.
+
+Signed-off-by: Eduardo Valentin <eduardo.valentin@indt.org.br>
+---
+ arch/arm/mach-omap2/clock34xx.h | 30 ++++++++++++++++++++----------
+ 1 files changed, 20 insertions(+), 10 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
+index 85afe1e..3fea82e 100644
+--- a/arch/arm/mach-omap2/clock34xx.h
++++ b/arch/arm/mach-omap2/clock34xx.h
+@@ -1480,7 +1480,8 @@ static const struct clksel mcbsp_15_clksel[] = {
+ };
+
+ static struct clk mcbsp5_fck = {
+- .name = "mcbsp5_fck",
++ .name = "mcbsp_fck",
++ .id = 5,
+ .init = &omap2_init_clksel_parent,
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
+ .enable_bit = OMAP3430_EN_MCBSP5_SHIFT,
+@@ -1493,7 +1494,8 @@ static struct clk mcbsp5_fck = {
+ };
+
+ static struct clk mcbsp1_fck = {
+- .name = "mcbsp1_fck",
++ .name = "mcbsp_fck",
++ .id = 1,
+ .init = &omap2_init_clksel_parent,
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
+ .enable_bit = OMAP3430_EN_MCBSP1_SHIFT,
+@@ -1941,7 +1943,8 @@ static struct clk gpt10_ick = {
+ };
+
+ static struct clk mcbsp5_ick = {
+- .name = "mcbsp5_ick",
++ .name = "mcbsp_ick",
++ .id = 5,
+ .parent = &core_l4_ick,
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
+ .enable_bit = OMAP3430_EN_MCBSP5_SHIFT,
+@@ -1951,7 +1954,8 @@ static struct clk mcbsp5_ick = {
+ };
+
+ static struct clk mcbsp1_ick = {
+- .name = "mcbsp1_ick",
++ .name = "mcbsp_ick",
++ .id = 1,
+ .parent = &core_l4_ick,
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
+ .enable_bit = OMAP3430_EN_MCBSP1_SHIFT,
+@@ -2754,7 +2758,8 @@ static struct clk gpt2_ick = {
+ };
+
+ static struct clk mcbsp2_ick = {
+- .name = "mcbsp2_ick",
++ .name = "mcbsp_ick",
++ .id = 2,
+ .parent = &per_l4_ick,
+ .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_ICLKEN),
+ .enable_bit = OMAP3430_EN_MCBSP2_SHIFT,
+@@ -2764,7 +2769,8 @@ static struct clk mcbsp2_ick = {
+ };
+
+ static struct clk mcbsp3_ick = {
+- .name = "mcbsp3_ick",
++ .name = "mcbsp_ick",
++ .id = 3,
+ .parent = &per_l4_ick,
+ .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_ICLKEN),
+ .enable_bit = OMAP3430_EN_MCBSP3_SHIFT,
+@@ -2774,7 +2780,8 @@ static struct clk mcbsp3_ick = {
+ };
+
+ static struct clk mcbsp4_ick = {
+- .name = "mcbsp4_ick",
++ .name = "mcbsp_ick",
++ .id = 4,
+ .parent = &per_l4_ick,
+ .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_ICLKEN),
+ .enable_bit = OMAP3430_EN_MCBSP4_SHIFT,
+@@ -2790,7 +2797,8 @@ static const struct clksel mcbsp_234_clksel[] = {
+ };
+
+ static struct clk mcbsp2_fck = {
+- .name = "mcbsp2_fck",
++ .name = "mcbsp_fck",
++ .id = 2,
+ .init = &omap2_init_clksel_parent,
+ .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
+ .enable_bit = OMAP3430_EN_MCBSP2_SHIFT,
+@@ -2803,7 +2811,8 @@ static struct clk mcbsp2_fck = {
+ };
+
+ static struct clk mcbsp3_fck = {
+- .name = "mcbsp3_fck",
++ .name = "mcbsp_fck",
++ .id = 3,
+ .init = &omap2_init_clksel_parent,
+ .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
+ .enable_bit = OMAP3430_EN_MCBSP3_SHIFT,
+@@ -2816,7 +2825,8 @@ static struct clk mcbsp3_fck = {
+ };
+
+ static struct clk mcbsp4_fck = {
+- .name = "mcbsp4_fck",
++ .name = "mcbsp_fck",
++ .id = 4,
+ .init = &omap2_init_clksel_parent,
+ .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
+ .enable_bit = OMAP3430_EN_MCBSP4_SHIFT,
+--
+1.5.5.1.67.gbdb8.dirty
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-omap" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html
+
diff --git a/packages/linux/linux-omap2-git/beagleboard/00004-omap2-mcbsp.patch b/packages/linux/linux-omap2-git/beagleboard/00004-omap2-mcbsp.patch new file mode 100644 index 0000000000..f31604d658 --- /dev/null +++ b/packages/linux/linux-omap2-git/beagleboard/00004-omap2-mcbsp.patch @@ -0,0 +1,144 @@ +From: Eduardo Valentin <eduardo.valentin@indt.org.br>
+
+This patch adds support for mach-omap2 based on current
+mcbsp platform driver.
+
+Signed-off-by: Eduardo Valentin <eduardo.valentin@indt.org.br>
+---
+ arch/arm/mach-omap2/Makefile | 2 +
+ arch/arm/mach-omap2/mcbsp.c | 105 ++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 107 insertions(+), 0 deletions(-)
+ create mode 100644 arch/arm/mach-omap2/mcbsp.c
+
+diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
+index 552664c..84fa698 100644
+--- a/arch/arm/mach-omap2/Makefile
++++ b/arch/arm/mach-omap2/Makefile
+@@ -7,6 +7,8 @@ obj-y := irq.o id.o io.o memory.o control.o prcm.o clock.o mux.o \
+ devices.o serial.o gpmc.o timer-gp.o powerdomain.o \
+ clockdomain.o
+
++obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
++
+ # Functions loaded to SRAM
+ obj-$(CONFIG_ARCH_OMAP2) += sram24xx.o
+
+diff --git a/arch/arm/mach-omap2/mcbsp.c b/arch/arm/mach-omap2/mcbsp.c
+new file mode 100644
+index 0000000..e2ee8f7
+--- /dev/null
++++ b/arch/arm/mach-omap2/mcbsp.c
+@@ -0,0 +1,105 @@
++/*
++ * linux/arch/arm/mach-omap2/mcbsp.c
++ *
++ * Copyright (C) 2008 Instituto Nokia de Tecnologia
++ * Contact: Eduardo Valentin <eduardo.valentin@indt.org.br>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * Multichannel mode not supported.
++ */
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/clk.h>
++#include <linux/err.h>
++
++#include <asm/arch/dma.h>
++#include <asm/arch/mux.h>
++#include <asm/arch/cpu.h>
++#include <asm/arch/mcbsp.h>
++
++static void omap2_mcbsp2_mux_setup(void)
++{
++ omap_cfg_reg(Y15_24XX_MCBSP2_CLKX);
++ omap_cfg_reg(R14_24XX_MCBSP2_FSX);
++ omap_cfg_reg(W15_24XX_MCBSP2_DR);
++ omap_cfg_reg(V15_24XX_MCBSP2_DX);
++ omap_cfg_reg(V14_24XX_GPIO117);
++ /*
++ * TODO: Need to add MUX settings for OMAP 2430 SDP
++ */
++}
++
++static void omap2_mcbsp_request(unsigned int id)
++{
++ if (cpu_is_omap2420() && (id == OMAP_MCBSP2))
++ omap2_mcbsp2_mux_setup();
++}
++
++static int omap2_mcbsp_check(unsigned int id)
++{
++ if (id > OMAP_MAX_MCBSP_COUNT - 1) {
++ printk(KERN_ERR "OMAP-McBSP: McBSP%d doesn't exist\n", id + 1);
++ return -ENODEV;
++ }
++ return 0;
++}
++
++static struct omap_mcbsp_ops omap2_mcbsp_ops = {
++ .request = omap2_mcbsp_request,
++ .check = omap2_mcbsp_check,
++};
++
++static struct omap_mcbsp_platform_data omap2_mcbsp_pdata[] = {
++#ifdef CONFIG_ARCH_OMAP24XX
++ {
++ .virt_base = IO_ADDRESS(OMAP24XX_MCBSP1_BASE),
++ .dma_rx_sync = OMAP24XX_DMA_MCBSP1_RX,
++ .dma_tx_sync = OMAP24XX_DMA_MCBSP1_TX,
++ .rx_irq = INT_24XX_MCBSP1_IRQ_RX,
++ .tx_irq = INT_24XX_MCBSP1_IRQ_TX,
++ .ops = &omap2_mcbsp_ops,
++ .clocks = { "mcbsp_ick", "mcbsp_fck" },
++ },
++ {
++ .virt_base = IO_ADDRESS(OMAP24XX_MCBSP2_BASE),
++ .dma_rx_sync = OMAP24XX_DMA_MCBSP2_RX,
++ .dma_tx_sync = OMAP24XX_DMA_MCBSP2_TX,
++ .rx_irq = INT_24XX_MCBSP2_IRQ_RX,
++ .tx_irq = INT_24XX_MCBSP2_IRQ_TX,
++ .ops = &omap2_mcbsp_ops,
++ .clocks = { "mcbsp_ick", "mcbsp_fck" },
++ },
++#endif
++#ifdef CONFIG_ARCH_OMAP34XX
++ {
++ .virt_base = IO_ADDRESS(OMAP34XX_MCBSP1_BASE),
++ .dma_rx_sync = OMAP24XX_DMA_MCBSP1_RX,
++ .dma_tx_sync = OMAP24XX_DMA_MCBSP1_TX,
++ .rx_irq = INT_24XX_MCBSP1_IRQ_RX,
++ .tx_irq = INT_24XX_MCBSP1_IRQ_TX,
++ .ops = &omap2_mcbsp_ops,
++ .clocks = { "mcbsp_ick", "mcbsp_fck" },
++ },
++ {
++ .virt_base = IO_ADDRESS(OMAP34XX_MCBSP2_BASE),
++ .dma_rx_sync = OMAP24XX_DMA_MCBSP2_RX,
++ .dma_tx_sync = OMAP24XX_DMA_MCBSP2_TX,
++ .rx_irq = INT_24XX_MCBSP2_IRQ_RX,
++ .tx_irq = INT_24XX_MCBSP2_IRQ_TX,
++ .ops = &omap2_mcbsp_ops,
++ .clocks = { "mcbsp_ick", "mcbsp_fck" },
++ },
++#endif
++};
++#define mcbsp_count ARRAY_SIZE(omap2_mcbsp_pdata)
++
++int __init omap2_mcbsp_init(void)
++{
++ omap_mcbsp_register_board_cfg(omap2_mcbsp_pdata, mcbsp_count);
++
++ return omap_mcbsp_init();
++}
++arch_initcall(omap2_mcbsp_init);
+--
+1.5.5.1.67.gbdb8.dirty
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-omap" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html
+
diff --git a/packages/linux/linux-omap2-git/beagleboard/0001-ASoC-OMAP-Add-basic-support-for-OMAP34xx-in-McBSP.patch b/packages/linux/linux-omap2-git/beagleboard/0001-ASoC-OMAP-Add-basic-support-for-OMAP34xx-in-McBSP.patch new file mode 100644 index 0000000000..6e31ead2bd --- /dev/null +++ b/packages/linux/linux-omap2-git/beagleboard/0001-ASoC-OMAP-Add-basic-support-for-OMAP34xx-in-McBSP.patch @@ -0,0 +1,55 @@ +From a1dbb6dd28e9815a307b87b8d96dcf371d6cfd58 Mon Sep 17 00:00:00 2001 +From: Jarkko Nikula <jarkko.nikula@nokia.com> +Date: Mon, 19 May 2008 13:24:41 +0300 +Subject: [PATCH] ASoC: OMAP: Add basic support for OMAP34xx in McBSP DAI driver + +This adds support for OMAP34xx McBSP port 1 and 2. + +Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> +--- + sound/soc/omap/omap-mcbsp.c | 20 +++++++++++++++++++- + 1 files changed, 19 insertions(+), 1 deletions(-) + +diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c +index 40d87e6..8e6ec9d 100644 +--- a/sound/soc/omap/omap-mcbsp.c ++++ b/sound/soc/omap/omap-mcbsp.c +@@ -99,6 +99,21 @@ static const unsigned long omap2420_mcbsp_port[][2] = { + static const int omap2420_dma_reqs[][2] = {}; + static const unsigned long omap2420_mcbsp_port[][2] = {}; + #endif ++#if defined(CONFIG_ARCH_OMAP34XX) ++static const int omap34xx_dma_reqs[][2] = { ++ { OMAP24XX_DMA_MCBSP1_TX, OMAP24XX_DMA_MCBSP1_RX }, ++ { OMAP24XX_DMA_MCBSP2_TX, OMAP24XX_DMA_MCBSP2_RX }, ++}; ++static const unsigned long omap34xx_mcbsp_port[][2] = { ++ { OMAP34XX_MCBSP1_BASE + OMAP_MCBSP_REG_DXR2, ++ OMAP34XX_MCBSP1_BASE + OMAP_MCBSP_REG_DRR2 }, ++ { OMAP34XX_MCBSP2_BASE + OMAP_MCBSP_REG_DXR2, ++ OMAP34XX_MCBSP2_BASE + OMAP_MCBSP_REG_DRR2 }, ++}; ++#else ++static const int omap34xx_dma_reqs[][2] = {}; ++static const unsigned long omap34xx_mcbsp_port[][2] = {}; ++#endif + + static int omap_mcbsp_dai_startup(struct snd_pcm_substream *substream) + { +@@ -169,9 +184,12 @@ static int omap_mcbsp_dai_hw_params(struct snd_pcm_substream *substream, + } else if (cpu_is_omap2420()) { + dma = omap2420_dma_reqs[bus_id][substream->stream]; + port = omap2420_mcbsp_port[bus_id][substream->stream]; ++ } else if (cpu_is_omap343x()) { ++ dma = omap34xx_dma_reqs[bus_id][substream->stream]; ++ port = omap34xx_mcbsp_port[bus_id][substream->stream]; + } else { + /* +- * TODO: Add support for 2430 and 3430 ++ * TODO: Add support for 2430 + */ + return -ENODEV; + } +-- +1.5.5.1 + diff --git a/packages/linux/linux-omap2-git/beagleboard/0001-board-omap3beagle-fix-merge-damage-in-RTC-code.patch b/packages/linux/linux-omap2-git/beagleboard/0001-board-omap3beagle-fix-merge-damage-in-RTC-code.patch deleted file mode 100644 index 55e9bf7b54..0000000000 --- a/packages/linux/linux-omap2-git/beagleboard/0001-board-omap3beagle-fix-merge-damage-in-RTC-code.patch +++ /dev/null @@ -1,36 +0,0 @@ -From eddf57fb9748791e021ef550d651cc72c48add5c Mon Sep 17 00:00:00 2001 -From: Koen Kooi <koen@openembedded.org> -Date: Thu, 15 May 2008 09:32:23 +0200 -Subject: [PATCH] ARM: OMAP: board-omap3beagle: fix merge-damage in RTC code - -This patch fixes the merge-damage in the beagleboard RTC code - -Signed-off-by: Koen Kooi <koen@openembedded.org> ---- - arch/arm/mach-omap2/board-omap3beagle.c | 3 +-- - 1 files changed, 1 insertions(+), 2 deletions(-) - -diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c -index 0c15ca0..0c0cbfc 100644 ---- a/arch/arm/mach-omap2/board-omap3beagle.c -+++ b/arch/arm/mach-omap2/board-omap3beagle.c -@@ -76,6 +76,7 @@ static struct platform_device *omap3_beagle_devices[] __initdata = { - - static void __init omap3_beagle_init(void) - { -+ platform_add_devices(omap3_beagle_devices, ARRAY_SIZE(omap3_beagle_devices)); - omap_board_config = omap3_beagle_config; - omap_board_config_size = ARRAY_SIZE(omap3_beagle_config); - omap_serial_init(); -@@ -88,8 +89,6 @@ arch_initcall(omap3_beagle_i2c_init); - - static void __init omap3_beagle_map_io(void) - { -- platform_add_devices(omap3_beagle_devices, -- ARRAY_SIZE(omap3_beagle_devices)); - omap2_set_globals_343x(); - omap2_map_common_io(); - } --- -1.5.4.3 - diff --git a/packages/linux/linux-omap2-git/beagleboard/0001-omap3beagle-add-driver-to-turn-on-the-TFP410-framer.patch b/packages/linux/linux-omap2-git/beagleboard/0001-omap3beagle-add-driver-to-turn-on-the-TFP410-framer.patch deleted file mode 100644 index 5cc10b01c1..0000000000 --- a/packages/linux/linux-omap2-git/beagleboard/0001-omap3beagle-add-driver-to-turn-on-the-TFP410-framer.patch +++ /dev/null @@ -1,197 +0,0 @@ -From 75b8dbeed8f53ffb7edc58b2393084fe2346477e Mon Sep 17 00:00:00 2001 -From: Koen Kooi <koen@openembedded.org> -Date: Fri, 9 May 2008 20:54:00 +0200 -Subject: [PATCH] omap3beagle: add driver to turn on the TFP410 framer to get DVI output - -Signed-off-by: Koen Kooi <koen@openembedded.org> ---- - arch/arm/mach-omap2/board-omap3beagle.c | 11 +++ - drivers/video/omap/Makefile | 1 + - drivers/video/omap/lcd_omap3beagle.c | 135 +++++++++++++++++++++++++++++++ - 3 files changed, 147 insertions(+), 0 deletions(-) - create mode 100644 drivers/video/omap/lcd_omap3beagle.c - -diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c -index 0c0cbfc..c992cc7 100644 ---- a/arch/arm/mach-omap2/board-omap3beagle.c -+++ b/arch/arm/mach-omap2/board-omap3beagle.c -@@ -63,12 +63,23 @@ static struct platform_device omap3_beagle_twl4030rtc_device = { - .id = -1, - }; - -+static struct platform_device omap3_beagle_lcd_device = { -+ .name = "omap3beagle_lcd", -+ .id = -1, -+}; -+ -+static struct omap_lcd_config omap3_beagle_lcd_config __initdata = { -+ .ctrl_name = "internal", -+}; -+ - static struct omap_board_config_kernel omap3_beagle_config[] __initdata = { - { OMAP_TAG_UART, &omap3_beagle_uart_config }, - { OMAP_TAG_MMC, &omap3beagle_mmc_config }, -+ { OMAP_TAG_LCD, &omap3_beagle_lcd_config }, - }; - - static struct platform_device *omap3_beagle_devices[] __initdata = { -+ &omap3_beagle_lcd_device, - #ifdef CONFIG_RTC_DRV_TWL4030 - &omap3_beagle_twl4030rtc_device, - #endif -diff --git a/drivers/video/omap/Makefile b/drivers/video/omap/Makefile -index cad6a68..fe7ee5d 100644 ---- a/drivers/video/omap/Makefile -+++ b/drivers/video/omap/Makefile -@@ -32,6 +32,7 @@ objs-y$(CONFIG_MACH_OMAP_APOLLON) += lcd_apollon.o - objs-y$(CONFIG_MACH_OMAP_2430SDP) += lcd_2430sdp.o - objs-y$(CONFIG_MACH_OMAP_3430SDP) += lcd_2430sdp.o - objs-y$(CONFIG_MACH_OMAP3EVM) += lcd_omap3evm.o -+objs-y$(CONFIG_MACH_OMAP3_BEAGLE) += lcd_omap3beagle.o - objs-y$(CONFIG_FB_OMAP_LCD_MIPID) += lcd_mipid.o - - omapfb-objs := $(objs-yy) -diff --git a/drivers/video/omap/lcd_omap3beagle.c b/drivers/video/omap/lcd_omap3beagle.c -new file mode 100644 -index 0000000..f5b7466 ---- /dev/null -+++ b/drivers/video/omap/lcd_omap3beagle.c -@@ -0,0 +1,135 @@ -+/* -+ * LCD panel support for the TI OMAP3 Beagle board -+ * -+ * Author: Koen Kooi <koen@openembedded.org> -+ * -+ * Derived from drivers/video/omap/lcd-omap3evm.c -+ * -+ * 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. -+ * -+ * 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 this program; if not, write to the Free Software Foundation, Inc., -+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ */ -+ -+#include <linux/module.h> -+#include <linux/platform_device.h> -+#include <linux/i2c/twl4030.h> -+ -+#include <asm/arch/gpio.h> -+#include <asm/arch/mux.h> -+#include <asm/arch/omapfb.h> -+#include <asm/mach-types.h> -+ -+#define LCD_PANEL_ENABLE_GPIO 170 -+ -+#define LCD_XRES 1024 -+#define LCD_YRES 768 -+#define LCD_PIXCLOCK_MAX 64000 /* in kHz */ -+#define LCD_PIXCLOCK_MIN 64000 /* in kHz */ -+ -+static int omap3beagle_panel_init(struct lcd_panel *panel, -+ struct omapfb_device *fbdev) -+{ -+ omap_request_gpio(LCD_PANEL_ENABLE_GPIO); -+ -+ return 0; -+} -+ -+static void omap3beagle_panel_cleanup(struct lcd_panel *panel) -+{ -+} -+ -+static int omap3beagle_panel_enable(struct lcd_panel *panel) -+{ -+ omap_set_gpio_dataout(LCD_PANEL_ENABLE_GPIO, 1); -+ return 0; -+} -+ -+static void omap3beagle_panel_disable(struct lcd_panel *panel) -+{ -+ omap_set_gpio_dataout(LCD_PANEL_ENABLE_GPIO, 0); -+} -+ -+static unsigned long omap3beagle_panel_get_caps(struct lcd_panel *panel) -+{ -+ return 0; -+} -+ -+struct lcd_panel omap3beagle_panel = { -+ .name = "omap3beagle", -+ .config = OMAP_LCDC_PANEL_TFT, -+ -+ .bpp = 24, -+ .data_lines = 24, -+ .x_res = LCD_XRES, -+ .y_res = LCD_YRES, -+ .hsw = 3, /* hsync_len (4) - 1 */ -+ .hfp = 3, /* right_margin (4) - 1 */ -+ .hbp = 39, /* left_margin (40) - 1 */ -+ .vsw = 1, /* vsync_len (2) - 1 */ -+ .vfp = 2, /* lower_margin */ -+ .vbp = 7, /* upper_margin (8) - 1 */ -+ -+ .pixel_clock = LCD_PIXCLOCK_MAX, -+ -+ .init = omap3beagle_panel_init, -+ .cleanup = omap3beagle_panel_cleanup, -+ .enable = omap3beagle_panel_enable, -+ .disable = omap3beagle_panel_disable, -+ .get_caps = omap3beagle_panel_get_caps, -+}; -+ -+static int omap3beagle_panel_probe(struct platform_device *pdev) -+{ -+ omapfb_register_panel(&omap3beagle_panel); -+ return 0; -+} -+ -+static int omap3beagle_panel_remove(struct platform_device *pdev) -+{ -+ return 0; -+} -+ -+static int omap3beagle_panel_suspend(struct platform_device *pdev, -+ pm_message_t mesg) -+{ -+ return 0; -+} -+ -+static int omap3beagle_panel_resume(struct platform_device *pdev) -+{ -+ return 0; -+} -+ -+struct platform_driver omap3beagle_panel_driver = { -+ .probe = omap3beagle_panel_probe, -+ .remove = omap3beagle_panel_remove, -+ .suspend = omap3beagle_panel_suspend, -+ .resume = omap3beagle_panel_resume, -+ .driver = { -+ .name = "omap3beagle_lcd", -+ .owner = THIS_MODULE, -+ }, -+}; -+ -+static int __init omap3beagle_panel_drv_init(void) -+{ -+ return platform_driver_register(&omap3beagle_panel_driver); -+} -+ -+static void __exit omap3beagle_panel_drv_exit(void) -+{ -+ platform_driver_unregister(&omap3beagle_panel_driver); -+} -+ -+module_init(omap3beagle_panel_drv_init); -+module_exit(omap3beagle_panel_drv_exit); --- -1.5.4.3 - diff --git a/packages/linux/linux-omap2-git/beagleboard/defconfig b/packages/linux/linux-omap2-git/beagleboard/defconfig index 8d238c6594..5b8f07209f 100644 --- a/packages/linux/linux-omap2-git/beagleboard/defconfig +++ b/packages/linux/linux-omap2-git/beagleboard/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.26-rc1-omap1 -# Fri May 9 20:17:52 2008 +# Linux kernel version: 2.6.26-rc3-omap1 +# Tue May 20 19:38:20 2008 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -179,7 +179,9 @@ CONFIG_OMAP_BOOT_TAG=y CONFIG_OMAP_BOOT_REASON=y # CONFIG_OMAP_COMPONENT_VERSION is not set # CONFIG_OMAP_GPIO_SWITCH is not set -# CONFIG_OMAP_MUX is not set +CONFIG_OMAP_MUX=y +# CONFIG_OMAP_MUX_DEBUG is not set +CONFIG_OMAP_MUX_WARNINGS=y CONFIG_OMAP_MCBSP=y # CONFIG_OMAP_MMU_FWK is not set # CONFIG_OMAP_MBOX_FWK is not set @@ -190,12 +192,14 @@ CONFIG_OMAP_DM_TIMER=y # CONFIG_OMAP_LL_DEBUG_UART1 is not set # CONFIG_OMAP_LL_DEBUG_UART2 is not set CONFIG_OMAP_LL_DEBUG_UART3=y +CONFIG_OMAP_SERIAL_WAKE=y CONFIG_ARCH_OMAP34XX=y CONFIG_ARCH_OMAP3430=y # # OMAP Board Type # +# CONFIG_MACH_OMAP_LDP is not set # CONFIG_MACH_OMAP_3430SDP is not set # CONFIG_MACH_OMAP3EVM is not set CONFIG_MACH_OMAP3_BEAGLE=y @@ -232,10 +236,6 @@ CONFIG_ARM_THUMB=y # CONFIG_ARM_THUMBEE is not set # CONFIG_CPU_ICACHE_DISABLE is not set # CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_CPU_LOCKDOWN_TO_64K_L2 is not set -# CONFIG_CPU_LOCKDOWN_TO_128K_L2 is not set -CONFIG_CPU_LOCKDOWN_TO_256K_L2=y -# CONFIG_CPU_L2CACHE_DISABLE is not set # CONFIG_CPU_BPREDICT_DISABLE is not set CONFIG_HAS_TLS_REG=y # CONFIG_OUTER_CACHE is not set @@ -951,15 +951,15 @@ CONFIG_SSB_POSSIBLE=y # CONFIG_VIDEO_DEV=y CONFIG_VIDEO_V4L2_COMMON=y -CONFIG_VIDEO_ALLOW_V4L1=y -CONFIG_VIDEO_V4L1_COMPAT=y -CONFIG_DVB_CORE=m +# CONFIG_VIDEO_ALLOW_V4L1 is not set +# CONFIG_VIDEO_V4L1_COMPAT is not set +# CONFIG_DVB_CORE is not set CONFIG_VIDEO_MEDIA=y # # Multimedia drivers # -# CONFIG_MEDIA_ATTACH is not set +CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_TUNER=y # CONFIG_MEDIA_TUNER_CUSTOMIZE is not set CONFIG_MEDIA_TUNER_SIMPLE=y @@ -968,18 +968,11 @@ CONFIG_MEDIA_TUNER_TDA9887=y CONFIG_MEDIA_TUNER_TEA5761=y CONFIG_MEDIA_TUNER_TEA5767=y CONFIG_MEDIA_TUNER_MT20XX=y -CONFIG_MEDIA_TUNER_MT2060=m -CONFIG_MEDIA_TUNER_MT2266=m -CONFIG_MEDIA_TUNER_QT1010=m CONFIG_MEDIA_TUNER_XC2028=y CONFIG_MEDIA_TUNER_XC5000=y CONFIG_VIDEO_V4L2=y -CONFIG_VIDEO_V4L1=y -CONFIG_VIDEOBUF_GEN=m -CONFIG_VIDEOBUF_VMALLOC=m -CONFIG_VIDEO_IR_I2C=m -CONFIG_VIDEO_IR=m CONFIG_VIDEO_TVEEPROM=m +CONFIG_VIDEO_TUNER=m CONFIG_VIDEO_CAPTURE_DRIVERS=y # CONFIG_VIDEO_ADV_DEBUG is not set # CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set @@ -1009,21 +1002,12 @@ CONFIG_VIDEO_WM8775=m # # Video decoders # -# CONFIG_VIDEO_BT819 is not set -# CONFIG_VIDEO_BT856 is not set -# CONFIG_VIDEO_BT866 is not set -# CONFIG_VIDEO_KS0127 is not set # CONFIG_VIDEO_OV7670 is not set # CONFIG_VIDEO_TCM825X is not set # CONFIG_VIDEO_OV9640 is not set -# CONFIG_VIDEO_SAA7110 is not set -# CONFIG_VIDEO_SAA7111 is not set -# CONFIG_VIDEO_SAA7114 is not set CONFIG_VIDEO_SAA711X=m # CONFIG_VIDEO_SAA717X is not set -# CONFIG_VIDEO_SAA7191 is not set # CONFIG_VIDEO_TVP5150 is not set -# CONFIG_VIDEO_VPX3220 is not set # # Video and audio decoders @@ -1039,162 +1023,29 @@ CONFIG_VIDEO_CX2341X=m # Video encoders # # CONFIG_VIDEO_SAA7127 is not set -# CONFIG_VIDEO_SAA7185 is not set -# CONFIG_VIDEO_ADV7170 is not set -# CONFIG_VIDEO_ADV7175 is not set # # Video improvement chips # # CONFIG_VIDEO_UPD64031A is not set # CONFIG_VIDEO_UPD64083 is not set -CONFIG_VIDEO_VIVI=m -# CONFIG_VIDEO_CPIA is not set -# CONFIG_VIDEO_CPIA2 is not set -CONFIG_VIDEO_SAA5246A=m -CONFIG_VIDEO_SAA5249=m -# CONFIG_TUNER_3036 is not set -# CONFIG_VIDEO_AU0828 is not set +# CONFIG_VIDEO_VIVI is not set +# CONFIG_VIDEO_SAA5246A is not set +# CONFIG_VIDEO_SAA5249 is not set CONFIG_V4L_USB_DRIVERS=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_PVRUSB2_DVB is not set # CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set -CONFIG_VIDEO_EM28XX=m -CONFIG_VIDEO_EM28XX_ALSA=m -# CONFIG_VIDEO_EM28XX_DVB is not set -CONFIG_VIDEO_USBVISION=m -# CONFIG_USB_VICAM is not set -# CONFIG_USB_IBMCAM is not set -# CONFIG_USB_KONICAWC is not set -# CONFIG_USB_QUICKCAM_MESSENGER is not set -CONFIG_USB_ET61X251=m -# CONFIG_VIDEO_OVCAMCHIP is not set -# CONFIG_USB_W9968CF is not set -# CONFIG_USB_OV511 is not set -# CONFIG_USB_SE401 is not set +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_VIDEO_USBVISION is not set +# CONFIG_USB_ET61X251 is not set CONFIG_USB_SN9C102=m -# CONFIG_USB_STV680 is not set -CONFIG_USB_ZC0301=m -# CONFIG_USB_PWC is not set -CONFIG_USB_ZR364XX=m -CONFIG_USB_STKWEBCAM=m +# CONFIG_USB_ZC0301 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set # CONFIG_SOC_CAMERA is not set # CONFIG_RADIO_ADAPTERS is not set -CONFIG_DVB_CAPTURE_DRIVERS=y -# CONFIG_TTPCI_EEPROM is not set - -# -# Supported USB Adapters -# -CONFIG_DVB_USB=m -# CONFIG_DVB_USB_DEBUG is not set -CONFIG_DVB_USB_A800=m -CONFIG_DVB_USB_DIBUSB_MB=m -# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set -CONFIG_DVB_USB_DIBUSB_MC=m -CONFIG_DVB_USB_DIB0700=m -CONFIG_DVB_USB_UMT_010=m -CONFIG_DVB_USB_CXUSB=m -CONFIG_DVB_USB_M920X=m -CONFIG_DVB_USB_GL861=m -CONFIG_DVB_USB_AU6610=m -CONFIG_DVB_USB_DIGITV=m -CONFIG_DVB_USB_VP7045=m -CONFIG_DVB_USB_VP702X=m -CONFIG_DVB_USB_GP8PSK=m -CONFIG_DVB_USB_NOVA_T_USB2=m -CONFIG_DVB_USB_TTUSB2=m -CONFIG_DVB_USB_DTT200U=m -CONFIG_DVB_USB_OPERA1=m -CONFIG_DVB_USB_AF9005=m -CONFIG_DVB_USB_AF9005_REMOTE=m -CONFIG_DVB_TTUSB_BUDGET=m -CONFIG_DVB_TTUSB_DEC=m -CONFIG_DVB_CINERGYT2=m -# CONFIG_DVB_CINERGYT2_TUNING is not set - -# -# Supported FlexCopII (B2C2) Adapters -# -# CONFIG_DVB_B2C2_FLEXCOP is not set - -# -# Supported DVB Frontends -# - -# -# Customise DVB Frontends -# -# CONFIG_DVB_FE_CUSTOMISE is not set - -# -# DVB-S (satellite) frontends -# -CONFIG_DVB_CX24110=m -CONFIG_DVB_CX24123=m -CONFIG_DVB_MT312=m -CONFIG_DVB_S5H1420=m -CONFIG_DVB_STV0299=m -CONFIG_DVB_TDA8083=m -CONFIG_DVB_TDA10086=m -CONFIG_DVB_VES1X93=m -# CONFIG_DVB_TUNER_ITD1000 is not set -CONFIG_DVB_TDA826X=m -CONFIG_DVB_TUA6100=m - -# -# DVB-T (terrestrial) frontends -# -CONFIG_DVB_SP8870=m -CONFIG_DVB_SP887X=m -CONFIG_DVB_CX22700=m -CONFIG_DVB_CX22702=m -CONFIG_DVB_L64781=m -CONFIG_DVB_TDA1004X=m -CONFIG_DVB_NXT6000=m -CONFIG_DVB_MT352=m -CONFIG_DVB_ZL10353=m -CONFIG_DVB_DIB3000MB=m -CONFIG_DVB_DIB3000MC=m -CONFIG_DVB_DIB7000M=m -CONFIG_DVB_DIB7000P=m -# CONFIG_DVB_TDA10048 is not set - -# -# DVB-C (cable) frontends -# -CONFIG_DVB_VES1820=m -CONFIG_DVB_TDA10021=m -CONFIG_DVB_TDA10023=m -CONFIG_DVB_STV0297=m - -# -# ATSC (North American/Korean Terrestrial/Cable DTV) frontends -# -CONFIG_DVB_NXT200X=m -CONFIG_DVB_OR51211=m -CONFIG_DVB_OR51132=m -CONFIG_DVB_BCM3510=m -CONFIG_DVB_LGDT330X=m -CONFIG_DVB_S5H1409=m -# CONFIG_DVB_AU8522 is not set -# CONFIG_DVB_S5H1411 is not set - -# -# Digital terrestrial only tuners/PLL -# -CONFIG_DVB_PLL=m -CONFIG_DVB_TUNER_DIB0070=m - -# -# SEC control devices for DVB-S -# -CONFIG_DVB_LNBP21=m -# CONFIG_DVB_ISL6405 is not set -CONFIG_DVB_ISL6421=m -CONFIG_DAB=y -CONFIG_USB_DABUSB=m +# CONFIG_DAB is not set # # Graphics support @@ -1213,7 +1064,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y # CONFIG_FB_SYS_IMAGEBLIT is not set # CONFIG_FB_FOREIGN_ENDIAN is not set # CONFIG_FB_SYS_FOPS is not set -CONFIG_FB_DEFERRED_IO=y # CONFIG_FB_SVGALIB is not set # CONFIG_FB_MACMODES is not set # CONFIG_FB_BACKLIGHT is not set @@ -1251,10 +1101,7 @@ CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y # CONFIG_FONTS is not set CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y -CONFIG_LOGO=y -# CONFIG_LOGO_LINUX_MONO is not set -CONFIG_LOGO_LINUX_VGA16=y -CONFIG_LOGO_LINUX_CLUT224=y +# CONFIG_LOGO is not set # # Sound @@ -1458,6 +1305,7 @@ CONFIG_USB_SERIAL=m # CONFIG_USB_SERIAL_MCT_U232 is not set # CONFIG_USB_SERIAL_MOS7720 is not set # CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MOTOROLA is not set # CONFIG_USB_SERIAL_NAVMAN is not set # CONFIG_USB_SERIAL_PL2303 is not set # CONFIG_USB_SERIAL_OTI6858 is not set @@ -1790,8 +1638,8 @@ CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_SHIRQ is not set CONFIG_DETECT_SOFTLOCKUP=y CONFIG_SCHED_DEBUG=y -# CONFIG_SCHEDSTATS is not set -# CONFIG_TIMER_STATS is not set +CONFIG_SCHEDSTATS=y +CONFIG_TIMER_STATS=y # CONFIG_DEBUG_OBJECTS is not set # CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_RT_MUTEXES is not set diff --git a/packages/linux/linux-omap2-git/beagleboard/l2-cache.patch b/packages/linux/linux-omap2-git/beagleboard/l2-cache.patch deleted file mode 100644 index f35252283b..0000000000 --- a/packages/linux/linux-omap2-git/beagleboard/l2-cache.patch +++ /dev/null @@ -1,162 +0,0 @@ -From: "Syed Mohammed, Khasim" <khasim@ti.com> -To: Koen Kooi <k.kooi@student.utwente.nl> -CC: "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>, - "Woodruff, - Richard" <r-woodruff2@ti.com> -Date: Wed, 7 May 2008 13:12:13 +0530 -Subject: RE: public git l2 cache off. - -The below patch should get you going with L2 Cache enabled on GIT kernel, tested on Beagle board. - -Regards, -Khasim - - ---- my_linux_omap/arch/arm/mm/Kconfig 2008-05-06 16:37:17.000000000 +0530 -+++ git/arch/arm/mm/Kconfig 2008-05-07 12:40:05.000000000 +0530 -@@ -659,6 +659,20 @@ config CPU_DCACHE_SIZE - If your SoC is configured to have a different size, define the value - here with proper conditions. - -+choice -+ prompt "L2 Cache Size" -+ depends on ARCH_OMAP34XX -+ -+config CPU_LOCKDOWN_TO_64K_L2 -+ bool "Lock down L2 Cache to 64K" -+ -+config CPU_LOCKDOWN_TO_128K_L2 -+ bool "Lock down L2 Cache to 128K" -+ -+config CPU_LOCKDOWN_TO_256K_L2 -+ bool "Lock down L2 Cache to 256K" -+endchoice -+ - config CPU_DCACHE_WRITETHROUGH - bool "Force write through D-cache" - depends on (CPU_ARM740T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM940T || CPU_ARM946E || CPU_ARM1020) && !CPU_DCACHE_DISABLE -@@ -674,6 +688,12 @@ config CPU_CACHE_ROUND_ROBIN - Say Y here to use the predictable round-robin cache replacement - policy. Unless you specifically require this or are unsure, say N. - -+config CPU_L2CACHE_DISABLE -+ bool "Disable level 2 cache" -+ depends on CPU_V7 -+ help -+ Say Y here to disable the level 2 cache. If unsure, say N. -+ - config CPU_BPREDICT_DISABLE - bool "Disable branch prediction" - depends on CPU_ARM1020 || CPU_V6 || CPU_XSC3 || CPU_V7 - ---- /tmp/proc-v7.S 2008-05-07 10:05:37.949232951 +0200 -+++ git/arch/arm/mm/proc-v7.S 2008-05-07 10:13:18.626067909 +0200 -@@ -182,11 +182,72 @@ - mov r10, #0x1f @ domains 0, 1 = manager - mcr p15, 0, r10, c3, c0, 0 @ load domain access register - #endif -+#if defined(CONFIG_ARCH_OMAP3) -+ @ L2 cache is enabled in the aux control register -+ mrc p15, 0, r0, c1, c0, 1 -+ orr r0, r0, #0x11 @ speculative+no-alais protection -+#ifdef CONFIG_CPU_L2CACHE_DISABLE -+ bic r0, r0, #0x2 @ disable L2 Cache. -+#else -+ orr r0, r0, #0x2 @ enaable L2 Cache. -+#endif -+ -+/* On 3430 ES2.0 ZeBu and silicon, Aux Ctrl Reg can be written outside -+ * Secure mode also -+ */ -+ mcr p15, 0, r0, c1, c0, 1 -+ -+#ifdef CONFIG_ARCH_OMAP34XX -+#ifdef CONFIG_CPU_LOCKDOWN_TO_64K_L2 -+ mov r10, #0xfc -+ mcr p15, 1, r10, c9, c0, 0 -+#endif -+ -+#ifdef CONFIG_CPU_LOCKDOWN_TO_128K_L2 -+ mov r10, #0xf0 -+ mcr p15, 1, r10, c9, c0, 0 -+#endif -+ -+#ifdef CONFIG_CPU_LOCKDOWN_TO_256K_L2 -+ mov r10, #0x00 -+ mcr p15, 1, r10, c9, c0, 0 -+#endif -+#endif -+ - adr r5, v7_crval - ldmia r5, {r5, r6} -- mrc p15, 0, r0, c1, c0, 0 @ read control register -- bic r0, r0, r5 @ clear bits them -- orr r0, r0, r6 @ set them -+ mrc p15, 0, r0, c1, c0, 0 @ read control register -+ bic r0, r0, r5 @ clear bits them -+ orr r0, r0, r6 @ set them -+ mov pc, lr @ return to head.S:__ret -+ -+ /* -+ * TAT N EV F H R -+ * .EFR M.EE .UI. ..A. .RVI Z... B... .CAM -+ * 0xxx x0xx 11x0 01x1 0xxx x000 0111 1xxx < forced typical -+ * r rr rr r rr r r rrr rrrr r < always read only -+ * .000 ..00 ..0. ..0. .011 1... .... .101 < we want -+ */ -+ .type v7_crval, #object -+v7_crval: -+ crval clear=0x7322f006, mmuset=0x00003805, ucset=0x00001804 -+#else -+ -+#ifndef CONFIG_CPU_L2CACHE_DISABLE -+ @ L2 cache configuration in the L2 aux control register -+ mrc p15, 1, r10, c9, c0, 2 -+ bic r10, r10, #(1 << 16) @ L2 outer cache -+ mcr p15, 1, r10, c9, c0, 2 -+ @ L2 cache is enabled in the aux control register -+ mrc p15, 0, r10, c1, c0, 1 -+ orr r10, r10, #2 -+ mcr p15, 0, r10, c1, c0, 1 -+#endif -+ mrc p15, 0, r0, c1, c0, 0 @ read control register -+ ldr r10, cr1_clear @ get mask for bits to clear -+ bic r0, r0, r10 @ clear bits them -+ ldr r10, cr1_set @ get mask for bits to set -+ orr r0, r0, r10 @ set them - mov pc, lr @ return to head.S:__ret - - /* -@@ -195,9 +256,13 @@ - * rrrr rrrx xxx0 0101 xxxx xxxx x111 xxxx < forced - * 0 110 0011 1.00 .111 1101 < we want - */ -- .type v7_crval, #object --v7_crval: -- crval clear=0x0120c302, mmuset=0x00c0387d, ucset=0x00c0187c -+ .type cr1_clear, #object -+ .type cr1_set, #object -+cr1_clear: -+ .word 0x0120c302 -+cr1_set: -+ .word 0x00c0387d -+#endif - - __v7_setup_stack: - .space 4 * 11 @ 11 registers -@@ -205,7 +270,6 @@ - .type v7_processor_functions, #object - ENTRY(v7_processor_functions) - .word v7_early_abort -- .word pabort_ifar - .word cpu_v7_proc_init - .word cpu_v7_proc_fin - .word cpu_v7_reset -@@ -213,6 +277,7 @@ - .word cpu_v7_dcache_clean_area - .word cpu_v7_switch_mm - .word cpu_v7_set_pte_ext -+ .word pabort_ifar - .size v7_processor_functions, . - v7_processor_functions - - .type cpu_arch_name, #object diff --git a/packages/linux/linux-omap2-git/beagleboard/usb-timout.patch b/packages/linux/linux-omap2-git/beagleboard/usb-timout.patch deleted file mode 100644 index 2d1797cb66..0000000000 --- a/packages/linux/linux-omap2-git/beagleboard/usb-timout.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- /tmp/ehci-hub.c 2008-04-30 11:41:59.381876290 +0200 -+++ git/drivers/usb/host/ehci-hub.c 2008-04-30 11:42:20.522875367 +0200 -@@ -734,7 +734,7 @@ - * this bit; seems too long to spin routinely... - */ - retval = handshake(ehci, status_reg, -- PORT_RESET, 0, 750); -+ PORT_RESET, 0, 1250); - if (retval != 0) { - ehci_err (ehci, "port %d reset error %d\n", - wIndex + 1, retval); diff --git a/packages/linux/linux-omap2_git.bb b/packages/linux/linux-omap2_git.bb index 356d26664a..f167d3be3e 100644 --- a/packages/linux/linux-omap2_git.bb +++ b/packages/linux/linux-omap2_git.bb @@ -2,20 +2,21 @@ require linux-omap.inc FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-omap2-git/${MACHINE}" -SRCREV = "74c89552b4a5f9b5b066f74fa265248f9b5d3f1d" +SRCREV = "f4eb51b909144550048b7922ebd1904a54005394" -PV = "2.6.25+2.6.26-rc2+git${SRCREV}" -PR = "r13" +PV = "2.6.25+2.6.26-rc3+git${SRCREV}" +PR = "r16" SRC_URI = "git://source.mvista.com/git/linux-omap-2.6.git;protocol=git \ + file://00001-mcbsp-transform.patch;patch=1 \ + file://00002-mcbsp-omap1.patch;patch=1 \ + file://00003-mcbsp-omap3-clock.patch;patch=1 \ + file://00004-omap2-mcbsp.patch;patch=1 \ + file://0001-ASoC-OMAP-Add-basic-support-for-OMAP34xx-in-McBSP.patch;patch=1 \ file://defconfig" SRC_URI_append_beagleboard = " file://no-harry-potter.diff;patch=1 \ - file://usb-timout.patch;patch=1 \ - file://l2-cache.patch;patch=1 \ - file://0001-board-omap3beagle-fix-merge-damage-in-RTC-code.patch;patch=1 \ - file://0001-omap3beagle-add-driver-to-turn-on-the-TFP410-framer.patch;patch=1 \ " COMPATIBLE_MACHINE = "omap2430sdp|omap2420h4|beagleboard" diff --git a/packages/linux/linux-rp-2.6.24/defconfig-akita b/packages/linux/linux-rp-2.6.24/defconfig-akita index 5e4560c39d..dae2134101 100644 --- a/packages/linux/linux-rp-2.6.24/defconfig-akita +++ b/packages/linux/linux-rp-2.6.24/defconfig-akita @@ -1254,7 +1254,7 @@ CONFIG_USB_SERIAL_BELKIN=m # CONFIG_USB_SERIAL_CH341 is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -# CONFIG_USB_SERIAL_CP2101 is not set +CONFIG_USB_SERIAL_CP2101=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m diff --git a/packages/linux/linux-rp-2.6.24/defconfig-bootcdx86 b/packages/linux/linux-rp-2.6.24/defconfig-bootcdx86 index fda13665cd..d37295b6a4 100644 --- a/packages/linux/linux-rp-2.6.24/defconfig-bootcdx86 +++ b/packages/linux/linux-rp-2.6.24/defconfig-bootcdx86 @@ -1612,7 +1612,7 @@ CONFIG_USB_SERIAL_BELKIN=m # CONFIG_USB_SERIAL_CH341 is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -# CONFIG_USB_SERIAL_CP2101 is not set +CONFIG_USB_SERIAL_CP2101=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m diff --git a/packages/linux/linux-rp-2.6.24/defconfig-c7x0 b/packages/linux/linux-rp-2.6.24/defconfig-c7x0 index a47e843a2e..4c4a2fd1d0 100644 --- a/packages/linux/linux-rp-2.6.24/defconfig-c7x0 +++ b/packages/linux/linux-rp-2.6.24/defconfig-c7x0 @@ -1259,7 +1259,7 @@ CONFIG_USB_SERIAL_BELKIN=m # CONFIG_USB_SERIAL_CH341 is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -# CONFIG_USB_SERIAL_CP2101 is not set +CONFIG_USB_SERIAL_CP2101=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m diff --git a/packages/linux/linux-rp-2.6.24/defconfig-hx2000 b/packages/linux/linux-rp-2.6.24/defconfig-hx2000 index 41eee3854a..7b08f287c9 100644 --- a/packages/linux/linux-rp-2.6.24/defconfig-hx2000 +++ b/packages/linux/linux-rp-2.6.24/defconfig-hx2000 @@ -1249,7 +1249,7 @@ CONFIG_USB_SERIAL_BELKIN=m # CONFIG_USB_SERIAL_CH341 is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -# CONFIG_USB_SERIAL_CP2101 is not set +CONFIG_USB_SERIAL_CP2101=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m diff --git a/packages/linux/linux-rp-2.6.24/defconfig-poodle b/packages/linux/linux-rp-2.6.24/defconfig-poodle index 841bcf285e..1c3b74e430 100644 --- a/packages/linux/linux-rp-2.6.24/defconfig-poodle +++ b/packages/linux/linux-rp-2.6.24/defconfig-poodle @@ -1265,7 +1265,7 @@ CONFIG_USB_SERIAL_BELKIN=m # CONFIG_USB_SERIAL_CH341 is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -# CONFIG_USB_SERIAL_CP2101 is not set +CONFIG_USB_SERIAL_CP2101=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m diff --git a/packages/linux/linux-rp-2.6.24/defconfig-qemuarm b/packages/linux/linux-rp-2.6.24/defconfig-qemuarm index d2b8265214..7d984d8523 100644 --- a/packages/linux/linux-rp-2.6.24/defconfig-qemuarm +++ b/packages/linux/linux-rp-2.6.24/defconfig-qemuarm @@ -1155,7 +1155,7 @@ CONFIG_USB_SERIAL_BELKIN=m # CONFIG_USB_SERIAL_CH341 is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -# CONFIG_USB_SERIAL_CP2101 is not set +CONFIG_USB_SERIAL_CP2101=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m diff --git a/packages/linux/linux-rp-2.6.24/defconfig-qemux86 b/packages/linux/linux-rp-2.6.24/defconfig-qemux86 index b91171b1f2..3242d622d0 100644 --- a/packages/linux/linux-rp-2.6.24/defconfig-qemux86 +++ b/packages/linux/linux-rp-2.6.24/defconfig-qemux86 @@ -1657,7 +1657,7 @@ CONFIG_USB_SERIAL_BELKIN=m # CONFIG_USB_SERIAL_CH341 is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -# CONFIG_USB_SERIAL_CP2101 is not set +CONFIG_USB_SERIAL_CP2101=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m diff --git a/packages/linux/linux-rp-2.6.24/defconfig-spitz b/packages/linux/linux-rp-2.6.24/defconfig-spitz index 0322da0ec1..5ba46fe260 100644 --- a/packages/linux/linux-rp-2.6.24/defconfig-spitz +++ b/packages/linux/linux-rp-2.6.24/defconfig-spitz @@ -1255,7 +1255,7 @@ CONFIG_USB_SERIAL_BELKIN=m # CONFIG_USB_SERIAL_CH341 is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -# CONFIG_USB_SERIAL_CP2101 is not set +CONFIG_USB_SERIAL_CP2101=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m diff --git a/packages/linux/linux-rp-2.6.24/defconfig-tosa b/packages/linux/linux-rp-2.6.24/defconfig-tosa index 34f0cc1210..1a120196f2 100644 --- a/packages/linux/linux-rp-2.6.24/defconfig-tosa +++ b/packages/linux/linux-rp-2.6.24/defconfig-tosa @@ -1274,7 +1274,7 @@ CONFIG_USB_SERIAL_BELKIN=m # CONFIG_USB_SERIAL_CH341 is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -# CONFIG_USB_SERIAL_CP2101 is not set +CONFIG_USB_SERIAL_CP2101=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m diff --git a/packages/linux/linux-rp-2.6.24/defconfig-zylonite b/packages/linux/linux-rp-2.6.24/defconfig-zylonite index 0cf0b23db5..d75619ce0e 100644 --- a/packages/linux/linux-rp-2.6.24/defconfig-zylonite +++ b/packages/linux/linux-rp-2.6.24/defconfig-zylonite @@ -1257,7 +1257,7 @@ CONFIG_USB_SERIAL_BELKIN=m # CONFIG_USB_SERIAL_CH341 is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -# CONFIG_USB_SERIAL_CP2101 is not set +CONFIG_USB_SERIAL_CP2101=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m diff --git a/packages/linux/linux_2.6.24.bb b/packages/linux/linux_2.6.24.bb index 13f767c56b..3a51a594f4 100644 --- a/packages/linux/linux_2.6.24.bb +++ b/packages/linux/linux_2.6.24.bb @@ -73,6 +73,7 @@ SRC_URI_append_ts72xx = "\ file://ep93xx-serial-clocks.diff;patch=1 \ file://ep93xx-timer-accuracy.diff;patch=1 \ file://ep93xx-maverick-uniqid.patch;patch=1 \ + file://ep93xx-eth-phylib-framework.patch;patch=1 \ file://ts72xx-nfbit-fix.patch;patch=1 \ file://ts72xx-machine-id-fix.patch;patch=1 \ file://ts72xx-watchdog.patch;patch=1 \ diff --git a/packages/mtd/mtd-utils_1.1.0.bb b/packages/mtd/mtd-utils_1.1.0.bb index ed9a8b8441..dcab927437 100644 --- a/packages/mtd/mtd-utils_1.1.0.bb +++ b/packages/mtd/mtd-utils_1.1.0.bb @@ -3,10 +3,7 @@ SECTION = "base" DEPENDS = "zlib lzo" HOMEPAGE = "http://www.linux-mtd.infradead.org/" LICENSE = "GPLv2" -PR = "r1" - -# scheduled to enable 15-03-2008 -DEFAULT_PREFERENCE = "-1" +PR = "r3" SRC_URI = "ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-1.1.0.tar.bz2 \ file://add-exclusion-to-mkfs-jffs2-git.patch;patch=1 \ diff --git a/packages/mtools/mtools-native_3.9.9.bb b/packages/mtools/mtools-native_3.9.11.bb index c82f7404eb..c82f7404eb 100644 --- a/packages/mtools/mtools-native_3.9.9.bb +++ b/packages/mtools/mtools-native_3.9.11.bb diff --git a/packages/mtools/mtools_3.9.9.bb b/packages/mtools/mtools_3.9.11.bb index eca9909e8f..eca9909e8f 100644 --- a/packages/mtools/mtools_3.9.9.bb +++ b/packages/mtools/mtools_3.9.11.bb diff --git a/packages/nonworking/php/.mtn2git_empty b/packages/nonworking/php/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/nonworking/php/.mtn2git_empty diff --git a/packages/nonworking/php/files/.mtn2git_empty b/packages/nonworking/php/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/nonworking/php/files/.mtn2git_empty diff --git a/packages/php/files/autotools.patch b/packages/nonworking/php/files/autotools.patch index 712b85b67a..712b85b67a 100644 --- a/packages/php/files/autotools.patch +++ b/packages/nonworking/php/files/autotools.patch diff --git a/packages/php/files/pear.patch b/packages/nonworking/php/files/pear.patch index fc9ed05af0..fc9ed05af0 100644 --- a/packages/php/files/pear.patch +++ b/packages/nonworking/php/files/pear.patch diff --git a/packages/php/php-native_4.4.4.bb b/packages/nonworking/php/php-native_4.4.4.bb index 84d1c667b5..84d1c667b5 100644 --- a/packages/php/php-native_4.4.4.bb +++ b/packages/nonworking/php/php-native_4.4.4.bb diff --git a/packages/php/php_4.4.4.bb b/packages/nonworking/php/php_4.4.4.bb index 3000ad1fb6..3000ad1fb6 100644 --- a/packages/php/php_4.4.4.bb +++ b/packages/nonworking/php/php_4.4.4.bb diff --git a/packages/openssl/openssl-0.9.8g/debian.patch b/packages/openssl/openssl-0.9.8g/debian.patch index bf2e50b6ce..b7d571a7fd 100644 --- a/packages/openssl/openssl-0.9.8g/debian.patch +++ b/packages/openssl/openssl-0.9.8g/debian.patch @@ -173,93 +173,6 @@ --release=$(VERSION) `basename $$i`") \ > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ $(PERL) util/extract-names.pl < $$i | \ ---- openssl-0.9.8g.orig/VMS/VMSify-conf.pl -+++ openssl-0.9.8g/VMS/VMSify-conf.pl -@@ -1,4 +1,4 @@ --#! /usr/bin/perl -+#!/usr/local/bin/perl - - use strict; - use warnings; ---- openssl-0.9.8g.orig/Netware/do_tests.pl -+++ openssl-0.9.8g/Netware/do_tests.pl -@@ -1,4 +1,4 @@ --# perl script to run OpenSSL tests -+#!/usr/local/bin/perl - - - my $base_path = "\\openssl"; ---- openssl-0.9.8g.orig/apps/CA.sh -+++ openssl-0.9.8g/apps/CA.sh -@@ -91,6 +91,7 @@ - -out ${CATOP}/$CAREQ - $CA -out ${CATOP}/$CACERT $CADAYS -batch \ - -keyfile ${CATOP}/private/$CAKEY -selfsign \ -+ -extensions v3_ca \ - -infiles ${CATOP}/$CAREQ - RET=$? - fi ---- openssl-0.9.8g.orig/apps/CA.pl.in -+++ openssl-0.9.8g/apps/CA.pl.in -@@ -65,6 +65,7 @@ - foreach (@ARGV) { - if ( /^(-\?|-h|-help)$/ ) { - print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n"; -+ print STDERR "usage: CA -signcert certfile keyfile|-newcert|-newreq|-newca|-sign|-verify\n"; - exit 0; - } elsif (/^-newcert$/) { - # create a certificate -@@ -165,6 +166,7 @@ - } else { - print STDERR "Unknown arg $_\n"; - print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n"; -+ print STDERR "usage: CA -signcert certfile keyfile|-newcert|-newreq|-newca|-sign|-verify\n"; - exit 1; - } - } ---- openssl-0.9.8g.orig/apps/speed.c -+++ openssl-0.9.8g/apps/speed.c -@@ -577,7 +577,7 @@ - #define MAX_BLOCK_SIZE 64 - #endif - unsigned char DES_iv[8]; -- unsigned char iv[MAX_BLOCK_SIZE/8]; -+ unsigned char iv[2*MAX_BLOCK_SIZE/8]; - #ifndef OPENSSL_NO_DES - DES_cblock *buf_as_des_cblock = NULL; - static DES_cblock key ={0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}; ---- openssl-0.9.8g.orig/apps/CA.pl -+++ openssl-0.9.8g/apps/CA.pl -@@ -1,4 +1,4 @@ --#!/usr/bin/perl -+#!/usr/local/bin/perl - # - # CA - wrapper around ca to make it easier to use ... basically ca requires - # some setup stuff to be done before you can use it and this makes -@@ -65,6 +65,7 @@ - foreach (@ARGV) { - if ( /^(-\?|-h|-help)$/ ) { - print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n"; -+ print STDERR "usage: CA -signcert certfile keyfile|-newcert|-newreq|-newca|-sign|-verify\n"; - exit 0; - } elsif (/^-newcert$/) { - # create a certificate -@@ -165,6 +166,7 @@ - } else { - print STDERR "Unknown arg $_\n"; - print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n"; -+ print STDERR "usage: CA -signcert certfile keyfile|-newcert|-newreq|-newca|-sign|-verify\n"; - exit 1; - } - } ---- openssl-0.9.8g.orig/os2/backwardify.pl -+++ openssl-0.9.8g/os2/backwardify.pl -@@ -1,4 +1,4 @@ --#!/usr/bin/perl -w -+#!/usr/local/bin/perl - use strict; - - # Use as $0 --- openssl-0.9.8g.orig/Configure +++ openssl-0.9.8g/Configure @@ -1,4 +1,4 @@ @@ -363,6 +276,220 @@ elsif (/^#((define)|(undef))\s+OPENSSL_EXPORT_VAR_AS_FUNCTION/) { printf OUT "#undef OPENSSL_EXPORT_VAR_AS_FUNCTION\n" if $export_var_as_fn; +--- openssl-0.9.8g.orig/Makefile.shared ++++ openssl-0.9.8g/Makefile.shared +@@ -151,9 +151,9 @@ + SHLIB_SUFFIX=; \ + ALLSYMSFLAGS='-Wl,--whole-archive'; \ + NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ +- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" ++ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" + +-DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)" ++DO_GNU_APP=LDFLAGS="$(CFLAGS)" + + #This is rather special. It's a special target with which one can link + #applications without bothering with any features that have anything to +--- openssl-0.9.8g.orig/config ++++ openssl-0.9.8g/config +@@ -162,8 +162,8 @@ + echo "${MACHINE}-whatever-linux1"; exit 0 + ;; + +- GNU*) +- echo "hurd-x86"; exit 0; ++ GNU:*|GNU/*:*) ++ echo "${MACHINE}-gnuish"; exit 0; + ;; + + LynxOS:*) +--- openssl-0.9.8g.orig/Makefile.org ++++ openssl-0.9.8g/Makefile.org +@@ -104,7 +104,7 @@ + ZLIB_INCLUDE= + LIBZLIB= + +-DIRS= crypto ssl engines apps test tools ++DIRS= crypto ssl engines apps tools + SHLIBDIRS= crypto ssl + + # dirs in crypto to build +@@ -125,10 +125,11 @@ + + MAKEFILE= Makefile + +-MANDIR=$(OPENSSLDIR)/man ++MANDIR=/usr/share/man + MAN1=1 + MAN3=3 +-MANSUFFIX= ++MANSUFFIX=ssl ++MANSECTION=SSL + SHELL=/bin/sh + + TOP= . +@@ -308,7 +309,8 @@ + echo 'Description: OpenSSL cryptography library'; \ + echo 'Version: '$(VERSION); \ + echo 'Requires: '; \ +- echo 'Libs: -L$${libdir} -lcrypto $(EX_LIBS)'; \ ++ echo 'Libs: -L$${libdir} -lcrypto'; \ ++ echo 'Libs.private: $(EX_LIBS)'; \ + echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc + + libssl.pc: Makefile +@@ -321,7 +323,8 @@ + echo 'Description: Secure Sockets Layer and cryptography libraries'; \ + echo 'Version: '$(VERSION); \ + echo 'Requires: '; \ +- echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \ ++ echo 'Libs: -L$${libdir} -lssl'; \ ++ echo 'Libs.private: -lcrypto $(EX_LIBS)'; \ + echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc + + openssl.pc: Makefile +@@ -334,7 +337,8 @@ + echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \ + echo 'Version: '$(VERSION); \ + echo 'Requires: '; \ +- echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \ ++ echo 'Libs: -L$${libdir} -lssl -lcrypto'; \ ++ echo 'Libs.private: $(EX_LIBS)'; \ + echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc + + Makefile: Makefile.org Configure config +@@ -478,7 +482,7 @@ + install_sw: + @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ + $(INSTALL_PREFIX)$(INSTALLTOP)/lib \ +- $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines \ ++ $(INSTALL_PREFIX)$(INSTALLTOP)/lib/ssl/engines \ + $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig \ + $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \ + $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \ +@@ -556,7 +560,7 @@ + echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ + (cd `$(PERL) util/dirname.pl $$i`; \ + sh -c "$$pod2man \ +- --section=$$sec --center=OpenSSL \ ++ --section=$${sec}$(MANSECTION) --center=OpenSSL \ + --release=$(VERSION) `basename $$i`") \ + > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ + $(PERL) util/extract-names.pl < $$i | \ +@@ -573,7 +577,7 @@ + echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ + (cd `$(PERL) util/dirname.pl $$i`; \ + sh -c "$$pod2man \ +- --section=$$sec --center=OpenSSL \ ++ --section=$${sec}$(MANSECTION) --center=OpenSSL \ + --release=$(VERSION) `basename $$i`") \ + > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ + $(PERL) util/extract-names.pl < $$i | \ +--- openssl-0.9.8g.orig/openssl.ld ++++ openssl-0.9.8g/openssl.ld +@@ -0,0 +1,5 @@ ++OPENSSL_0.9.8 { ++ global: ++ *; ++}; ++ +--- openssl-0.9.8g.orig/VMS/VMSify-conf.pl ++++ openssl-0.9.8g/VMS/VMSify-conf.pl +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/local/bin/perl + + use strict; + use warnings; +--- openssl-0.9.8g.orig/Netware/do_tests.pl ++++ openssl-0.9.8g/Netware/do_tests.pl +@@ -1,4 +1,4 @@ +-# perl script to run OpenSSL tests ++#!/usr/local/bin/perl + + + my $base_path = "\\openssl"; +--- openssl-0.9.8g.orig/apps/s_time.c ++++ openssl-0.9.8g/apps/s_time.c +@@ -117,6 +117,7 @@ + + /* The following if from times(3) man page. It may need to be changed + */ ++#undef HZ + #ifndef HZ + # ifdef _SC_CLK_TCK + # define HZ ((double)sysconf(_SC_CLK_TCK)) +--- openssl-0.9.8g.orig/apps/CA.sh ++++ openssl-0.9.8g/apps/CA.sh +@@ -91,6 +91,7 @@ + -out ${CATOP}/$CAREQ + $CA -out ${CATOP}/$CACERT $CADAYS -batch \ + -keyfile ${CATOP}/private/$CAKEY -selfsign \ ++ -extensions v3_ca \ + -infiles ${CATOP}/$CAREQ + RET=$? + fi +--- openssl-0.9.8g.orig/apps/CA.pl.in ++++ openssl-0.9.8g/apps/CA.pl.in +@@ -65,6 +65,7 @@ + foreach (@ARGV) { + if ( /^(-\?|-h|-help)$/ ) { + print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n"; ++ print STDERR "usage: CA -signcert certfile keyfile|-newcert|-newreq|-newca|-sign|-verify\n"; + exit 0; + } elsif (/^-newcert$/) { + # create a certificate +@@ -165,6 +166,7 @@ + } else { + print STDERR "Unknown arg $_\n"; + print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n"; ++ print STDERR "usage: CA -signcert certfile keyfile|-newcert|-newreq|-newca|-sign|-verify\n"; + exit 1; + } + } +--- openssl-0.9.8g.orig/apps/speed.c ++++ openssl-0.9.8g/apps/speed.c +@@ -577,7 +577,7 @@ + #define MAX_BLOCK_SIZE 64 + #endif + unsigned char DES_iv[8]; +- unsigned char iv[MAX_BLOCK_SIZE/8]; ++ unsigned char iv[2*MAX_BLOCK_SIZE/8]; + #ifndef OPENSSL_NO_DES + DES_cblock *buf_as_des_cblock = NULL; + static DES_cblock key ={0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}; +--- openssl-0.9.8g.orig/apps/CA.pl ++++ openssl-0.9.8g/apps/CA.pl +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl ++#!/usr/local/bin/perl + # + # CA - wrapper around ca to make it easier to use ... basically ca requires + # some setup stuff to be done before you can use it and this makes +@@ -65,6 +65,7 @@ + foreach (@ARGV) { + if ( /^(-\?|-h|-help)$/ ) { + print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n"; ++ print STDERR "usage: CA -signcert certfile keyfile|-newcert|-newreq|-newca|-sign|-verify\n"; + exit 0; + } elsif (/^-newcert$/) { + # create a certificate +@@ -165,6 +166,7 @@ + } else { + print STDERR "Unknown arg $_\n"; + print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n"; ++ print STDERR "usage: CA -signcert certfile keyfile|-newcert|-newreq|-newca|-sign|-verify\n"; + exit 1; + } + } +--- openssl-0.9.8g.orig/os2/backwardify.pl ++++ openssl-0.9.8g/os2/backwardify.pl +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/local/bin/perl + use strict; + + # Use as $0 --- openssl-0.9.8g.orig/engines/Makefile +++ openssl-0.9.8g/engines/Makefile @@ -97,13 +97,13 @@ @@ -461,20 +588,6 @@ chomp $hash; chomp $fprint; $fprint =~ s/^.*=//; ---- openssl-0.9.8g.orig/Makefile.shared -+++ openssl-0.9.8g/Makefile.shared -@@ -151,9 +151,9 @@ - SHLIB_SUFFIX=; \ - ALLSYMSFLAGS='-Wl,--whole-archive'; \ - NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ -- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" -+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" - --DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)" -+DO_GNU_APP=LDFLAGS="$(CFLAGS)" - - #This is rather special. It's a special target with which one can link - #applications without bothering with any features that have anything to --- openssl-0.9.8g.orig/ssl/t1_lib.c +++ openssl-0.9.8g/ssl/t1_lib.c @@ -132,6 +132,10 @@ @@ -507,19 +620,6 @@ # # For Microsoft CL this is implemented as inline assembler. So that # even though this script can generate even Win32 code, we'll be ---- openssl-0.9.8g.orig/config -+++ openssl-0.9.8g/config -@@ -162,8 +162,8 @@ - echo "${MACHINE}-whatever-linux1"; exit 0 - ;; - -- GNU*) -- echo "hurd-x86"; exit 0; -+ GNU:*|GNU/*:*) -+ echo "${MACHINE}-gnuish"; exit 0; - ;; - - LynxOS:*) --- openssl-0.9.8g.orig/demos/tunala/configure.in +++ openssl-0.9.8g/demos/tunala/configure.in @@ -1,4 +1,4 @@ @@ -629,96 +729,170 @@ +No known bugs + +=cut ---- openssl-0.9.8g.orig/Makefile.org -+++ openssl-0.9.8g/Makefile.org -@@ -104,7 +104,7 @@ - ZLIB_INCLUDE= - LIBZLIB= +--- openssl-0.9.8g.orig/crypto/Makefile ++++ openssl-0.9.8g/crypto/Makefile +@@ -57,7 +57,7 @@ + echo " #define DATE \"`LC_ALL=C LC_TIME=C date`\""; \ + echo '#endif' ) >buildinf.h --DIRS= crypto ssl engines apps test tools -+DIRS= crypto ssl engines apps tools - SHLIBDIRS= crypto ssl +-x86cpuid-elf.s: x86cpuid.pl perlasm/x86asm.pl ++x86cpuid-elf.S: x86cpuid.pl perlasm/x86asm.pl + $(PERL) x86cpuid.pl elf $(CFLAGS) $(PROCESSOR) > $@ + x86cpuid-cof.s: x86cpuid.pl perlasm/x86asm.pl + $(PERL) x86cpuid.pl coff $(CFLAGS) $(PROCESSOR) > $@ +@@ -70,7 +70,7 @@ + uplink-cof.s: ../ms/uplink.pl + $(PERL) ../ms/uplink.pl coff > $@ - # dirs in crypto to build -@@ -125,10 +125,11 @@ +-x86_64cpuid.s: x86_64cpuid.pl ++x86_64cpuid.S: x86_64cpuid.pl + $(PERL) x86_64cpuid.pl $@ + ia64cpuid.s: ia64cpuid.S + $(CC) $(CFLAGS) -E ia64cpuid.S > $@ +--- openssl-0.9.8g.orig/crypto/x86cpuid.pl ++++ openssl-0.9.8g/crypto/x86cpuid.pl +@@ -1,4 +1,4 @@ +-#!/usr/bin/env perl ++#!/usr/local/bin/perl - MAKEFILE= Makefile + push(@INC,"perlasm"); + require "x86asm.pl"; +--- openssl-0.9.8g.orig/crypto/opensslconf.h ++++ openssl-0.9.8g/crypto/opensslconf.h +@@ -10,6 +10,9 @@ + #ifndef OPENSSL_NO_GMP + # define OPENSSL_NO_GMP + #endif ++#ifndef OPENSSL_NO_IDEA ++# define OPENSSL_NO_IDEA ++#endif + #ifndef OPENSSL_NO_KRB5 + # define OPENSSL_NO_KRB5 + #endif +@@ -25,11 +28,11 @@ + #ifndef OPENSSL_NO_SEED + # define OPENSSL_NO_SEED + #endif +-#ifndef OPENSSL_NO_TLSEXT +-# define OPENSSL_NO_TLSEXT +-#endif --MANDIR=$(OPENSSLDIR)/man -+MANDIR=/usr/share/man - MAN1=1 - MAN3=3 --MANSUFFIX= -+MANSUFFIX=ssl -+MANSECTION=SSL - SHELL=/bin/sh + #endif /* OPENSSL_DOING_MAKEDEPEND */ ++#ifndef OPENSSL_THREADS ++# define OPENSSL_THREADS ++#endif + #ifndef OPENSSL_NO_DYNAMIC_ENGINE + # define OPENSSL_NO_DYNAMIC_ENGINE + #endif +@@ -45,6 +48,9 @@ + # if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) + # define NO_GMP + # endif ++# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA) ++# define NO_IDEA ++# endif + # if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) + # define NO_KRB5 + # endif +@@ -60,11 +66,10 @@ + # if defined(OPENSSL_NO_SEED) && !defined(NO_SEED) + # define NO_SEED + # endif +-# if defined(OPENSSL_NO_TLSEXT) && !defined(NO_TLSEXT) +-# define NO_TLSEXT +-# endif + #endif - TOP= . -@@ -308,7 +309,8 @@ - echo 'Description: OpenSSL cryptography library'; \ - echo 'Version: '$(VERSION); \ - echo 'Requires: '; \ -- echo 'Libs: -L$${libdir} -lcrypto $(EX_LIBS)'; \ -+ echo 'Libs: -L$${libdir} -lcrypto'; \ -+ echo 'Libs.private: $(EX_LIBS)'; \ - echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc ++#define OPENSSL_CPUID_OBJ ++ + /* crypto/opensslconf.h.in */ - libssl.pc: Makefile -@@ -321,7 +323,8 @@ - echo 'Description: Secure Sockets Layer and cryptography libraries'; \ - echo 'Version: '$(VERSION); \ - echo 'Requires: '; \ -- echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \ -+ echo 'Libs: -L$${libdir} -lssl'; \ -+ echo 'Libs.private: -lcrypto $(EX_LIBS)'; \ - echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc + /* Generate 80386 code? */ +@@ -72,8 +77,8 @@ - openssl.pc: Makefile -@@ -334,7 +337,8 @@ - echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \ - echo 'Version: '$(VERSION); \ - echo 'Requires: '; \ -- echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \ -+ echo 'Libs: -L$${libdir} -lssl -lcrypto'; \ -+ echo 'Libs.private: $(EX_LIBS)'; \ - echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc + #if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ + #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) +-#define ENGINESDIR "/usr/local/ssl/lib/engines" +-#define OPENSSLDIR "/usr/local/ssl" ++#define ENGINESDIR "/usr/lib/ssl/engines" ++#define OPENSSLDIR "/usr/lib/ssl" + #endif + #endif - Makefile: Makefile.org Configure config -@@ -478,7 +482,7 @@ - install_sw: - @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ - $(INSTALL_PREFIX)$(INSTALLTOP)/lib \ -- $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines \ -+ $(INSTALL_PREFIX)$(INSTALLTOP)/lib/ssl/engines \ - $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig \ - $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \ - $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \ -@@ -556,7 +560,7 @@ - echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ - (cd `$(PERL) util/dirname.pl $$i`; \ - sh -c "$$pod2man \ -- --section=$$sec --center=OpenSSL \ -+ --section=$${sec}$(MANSECTION) --center=OpenSSL \ - --release=$(VERSION) `basename $$i`") \ - > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ - $(PERL) util/extract-names.pl < $$i | \ -@@ -573,7 +577,7 @@ - echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ - (cd `$(PERL) util/dirname.pl $$i`; \ - sh -c "$$pod2man \ -- --section=$$sec --center=OpenSSL \ -+ --section=$${sec}$(MANSECTION) --center=OpenSSL \ - --release=$(VERSION) `basename $$i`") \ - > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ - $(PERL) util/extract-names.pl < $$i | \ ---- openssl-0.9.8g.orig/openssl.ld -+++ openssl-0.9.8g/openssl.ld -@@ -0,0 +1,5 @@ -+OPENSSL_0.9.8 { -+ global: -+ *; -+}; -+ +@@ -104,14 +109,14 @@ + * - Intel P6 because partial register stalls are very expensive; + * - elder Alpha because it lacks byte load/store instructions; + */ +-#define RC4_INT unsigned int ++#define RC4_INT unsigned char + #endif + #if !defined(RC4_CHUNK) + /* + * This enables code handling data aligned at natural CPU word + * boundary. See crypto/rc4/rc4_enc.c for further details. + */ +-#undef RC4_CHUNK ++#define RC4_CHUNK unsigned long + #endif + #endif + +@@ -119,7 +124,7 @@ + /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a + * %20 speed up (longs are 8 bytes, int's are 4). */ + #ifndef DES_LONG +-#define DES_LONG unsigned long ++#define DES_LONG unsigned int + #endif + #endif + +@@ -133,9 +138,9 @@ + /* The prime number generation stuff may not work when + * EIGHT_BIT but I don't care since I've only used this mode + * for debuging the bignum libraries */ +-#undef SIXTY_FOUR_BIT_LONG ++#define SIXTY_FOUR_BIT_LONG + #undef SIXTY_FOUR_BIT +-#define THIRTY_TWO_BIT ++#undef THIRTY_TWO_BIT + #undef SIXTEEN_BIT + #undef EIGHT_BIT + #endif +@@ -149,7 +154,7 @@ + + #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) + #define CONFIG_HEADER_BF_LOCL_H +-#undef BF_PTR ++#define BF_PTR2 + #endif /* HEADER_BF_LOCL_H */ + + #if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) +@@ -179,7 +184,7 @@ + /* Unroll the inner loop, this sometimes helps, sometimes hinders. + * Very mucy CPU dependant */ + #ifndef DES_UNROLL +-#undef DES_UNROLL ++#define DES_UNROLL + #endif + + /* These default values were supplied by +--- openssl-0.9.8g.orig/crypto/x86_64cpuid.pl ++++ openssl-0.9.8g/crypto/x86_64cpuid.pl +@@ -1,4 +1,4 @@ +-#!/usr/bin/env perl ++#!/usr/local/bin/perl + + $output=shift; + $win64a=1 if ($output =~ /win64a\.[s|asm]/); +@@ -134,5 +134,9 @@ + .size OPENSSL_ia32_cpuid,.-OPENSSL_ia32_cpuid + + .section .init ++#ifdef OPENSSL_PIC ++ call OPENSSL_cpuid_setup\@PLT ++#else + call OPENSSL_cpuid_setup ++#endif + ___ --- openssl-0.9.8g.orig/crypto/md5/asm/md5-x86_64.pl +++ openssl-0.9.8g/crypto/md5/asm/md5-x86_64.pl @@ -1,4 +1,4 @@ @@ -747,26 +921,16 @@ #else # define LOAD ld # define X(i) [%i1+i*4] ---- openssl-0.9.8g.orig/crypto/Makefile -+++ openssl-0.9.8g/crypto/Makefile -@@ -57,7 +57,7 @@ - echo " #define DATE \"`LC_ALL=C LC_TIME=C date`\""; \ - echo '#endif' ) >buildinf.h +--- openssl-0.9.8g.orig/crypto/sha/sha.h ++++ openssl-0.9.8g/crypto/sha/sha.h +@@ -59,6 +59,7 @@ + #ifndef HEADER_SHA_H + #define HEADER_SHA_H --x86cpuid-elf.s: x86cpuid.pl perlasm/x86asm.pl -+x86cpuid-elf.S: x86cpuid.pl perlasm/x86asm.pl - $(PERL) x86cpuid.pl elf $(CFLAGS) $(PROCESSOR) > $@ - x86cpuid-cof.s: x86cpuid.pl perlasm/x86asm.pl - $(PERL) x86cpuid.pl coff $(CFLAGS) $(PROCESSOR) > $@ -@@ -70,7 +70,7 @@ - uplink-cof.s: ../ms/uplink.pl - $(PERL) ../ms/uplink.pl coff > $@ ++#include <stddef.h> + #include <openssl/e_os2.h> + #include <stddef.h> --x86_64cpuid.s: x86_64cpuid.pl -+x86_64cpuid.S: x86_64cpuid.pl - $(PERL) x86_64cpuid.pl $@ - ia64cpuid.s: ia64cpuid.S - $(CC) $(CFLAGS) -E ia64cpuid.S > $@ --- openssl-0.9.8g.orig/crypto/sha/asm/sha1-ia64.pl +++ openssl-0.9.8g/crypto/sha/asm/sha1-ia64.pl @@ -1,4 +1,4 @@ @@ -791,30 +955,9 @@ # # ==================================================================== # Written by Andy Polyakov <appro@fy.chalmers.se> for the OpenSSL ---- openssl-0.9.8g.orig/crypto/sha/sha.h -+++ openssl-0.9.8g/crypto/sha/sha.h -@@ -59,6 +59,7 @@ - #ifndef HEADER_SHA_H - #define HEADER_SHA_H - -+#include <stddef.h> - #include <openssl/e_os2.h> - #include <stddef.h> - --- openssl-0.9.8g.orig/crypto/rand/md_rand.c +++ openssl-0.9.8g/crypto/rand/md_rand.c -@@ -271,7 +271,10 @@ - else - MD_Update(&m,&(state[st_idx]),j); - -+/* -+ * Don't add uninitialised data. - MD_Update(&m,buf,j); -+*/ - MD_Update(&m,(unsigned char *)&(md_c[0]),sizeof(md_c)); - MD_Final(&m,local_md); - md_c[1]++; -@@ -465,8 +468,10 @@ +@@ -465,8 +465,10 @@ MD_Update(&m,local_md,MD_DIGEST_LENGTH); MD_Update(&m,(unsigned char *)&(md_c[0]),sizeof(md_c)); #ifndef PURIFY @@ -864,14 +1007,6 @@ &stack_pop(3); &mov($L,&DWP(0,"ebx","",0)); ---- openssl-0.9.8g.orig/crypto/x86cpuid.pl -+++ openssl-0.9.8g/crypto/x86cpuid.pl -@@ -1,4 +1,4 @@ --#!/usr/bin/env perl -+#!/usr/local/bin/perl - - push(@INC,"perlasm"); - require "x86asm.pl"; --- openssl-0.9.8g.orig/crypto/rc4/asm/rc4-x86_64.pl +++ openssl-0.9.8g/crypto/rc4/asm/rc4-x86_64.pl @@ -1,4 +1,4 @@ @@ -992,124 +1127,6 @@ # Ascetic x86_64 AT&T to MASM assembler translator by <appro>. # ---- openssl-0.9.8g.orig/crypto/opensslconf.h -+++ openssl-0.9.8g/crypto/opensslconf.h -@@ -10,6 +10,9 @@ - #ifndef OPENSSL_NO_GMP - # define OPENSSL_NO_GMP - #endif -+#ifndef OPENSSL_NO_IDEA -+# define OPENSSL_NO_IDEA -+#endif - #ifndef OPENSSL_NO_KRB5 - # define OPENSSL_NO_KRB5 - #endif -@@ -25,11 +28,11 @@ - #ifndef OPENSSL_NO_SEED - # define OPENSSL_NO_SEED - #endif --#ifndef OPENSSL_NO_TLSEXT --# define OPENSSL_NO_TLSEXT --#endif - - #endif /* OPENSSL_DOING_MAKEDEPEND */ -+#ifndef OPENSSL_THREADS -+# define OPENSSL_THREADS -+#endif - #ifndef OPENSSL_NO_DYNAMIC_ENGINE - # define OPENSSL_NO_DYNAMIC_ENGINE - #endif -@@ -45,6 +48,9 @@ - # if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) - # define NO_GMP - # endif -+# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA) -+# define NO_IDEA -+# endif - # if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) - # define NO_KRB5 - # endif -@@ -60,11 +66,10 @@ - # if defined(OPENSSL_NO_SEED) && !defined(NO_SEED) - # define NO_SEED - # endif --# if defined(OPENSSL_NO_TLSEXT) && !defined(NO_TLSEXT) --# define NO_TLSEXT --# endif - #endif - -+#define OPENSSL_CPUID_OBJ -+ - /* crypto/opensslconf.h.in */ - - /* Generate 80386 code? */ -@@ -72,8 +77,8 @@ - - #if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ - #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) --#define ENGINESDIR "/usr/local/ssl/lib/engines" --#define OPENSSLDIR "/usr/local/ssl" -+#define ENGINESDIR "/usr/lib/ssl/engines" -+#define OPENSSLDIR "/usr/lib/ssl" - #endif - #endif - -@@ -104,14 +109,14 @@ - * - Intel P6 because partial register stalls are very expensive; - * - elder Alpha because it lacks byte load/store instructions; - */ --#define RC4_INT unsigned int -+#define RC4_INT unsigned char - #endif - #if !defined(RC4_CHUNK) - /* - * This enables code handling data aligned at natural CPU word - * boundary. See crypto/rc4/rc4_enc.c for further details. - */ --#undef RC4_CHUNK -+#define RC4_CHUNK unsigned long - #endif - #endif - -@@ -119,7 +124,7 @@ - /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a - * %20 speed up (longs are 8 bytes, int's are 4). */ - #ifndef DES_LONG --#define DES_LONG unsigned long -+#define DES_LONG unsigned int - #endif - #endif - -@@ -133,9 +138,9 @@ - /* The prime number generation stuff may not work when - * EIGHT_BIT but I don't care since I've only used this mode - * for debuging the bignum libraries */ --#undef SIXTY_FOUR_BIT_LONG -+#define SIXTY_FOUR_BIT_LONG - #undef SIXTY_FOUR_BIT --#define THIRTY_TWO_BIT -+#undef THIRTY_TWO_BIT - #undef SIXTEEN_BIT - #undef EIGHT_BIT - #endif -@@ -149,7 +154,7 @@ - - #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) - #define CONFIG_HEADER_BF_LOCL_H --#undef BF_PTR -+#define BF_PTR2 - #endif /* HEADER_BF_LOCL_H */ - - #if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) -@@ -179,7 +184,7 @@ - /* Unroll the inner loop, this sometimes helps, sometimes hinders. - * Very mucy CPU dependant */ - #ifndef DES_UNROLL --#undef DES_UNROLL -+#define DES_UNROLL - #endif - - /* These default values were supplied by --- openssl-0.9.8g.orig/crypto/pkcs7/pk7_mime.c +++ openssl-0.9.8g/crypto/pkcs7/pk7_mime.c @@ -335,9 +335,9 @@ @@ -1131,24 +1148,6 @@ # # Implemented as a Perl wrapper as we want to support several different # architectures with single file. We pick up the target based on the ---- openssl-0.9.8g.orig/crypto/x86_64cpuid.pl -+++ openssl-0.9.8g/crypto/x86_64cpuid.pl -@@ -1,4 +1,4 @@ --#!/usr/bin/env perl -+#!/usr/local/bin/perl - - $output=shift; - $win64a=1 if ($output =~ /win64a\.[s|asm]/); -@@ -134,5 +134,9 @@ - .size OPENSSL_ia32_cpuid,.-OPENSSL_ia32_cpuid - - .section .init -+#ifdef OPENSSL_PIC -+ call OPENSSL_cpuid_setup\@PLT -+#else - call OPENSSL_cpuid_setup -+#endif - ___ --- openssl-0.9.8g.orig/crypto/aes/asm/aes-586.pl +++ openssl-0.9.8g/crypto/aes/asm/aes-586.pl @@ -1,4 +1,4 @@ @@ -1263,14 +1262,6 @@ while(<STDIN>) { if (/=for\s+comment\s+openssl_manual_section:(\S+)/) ---- openssl-0.9.8g.orig/util/pl/netware.pl -+++ openssl-0.9.8g/util/pl/netware.pl -@@ -1,4 +1,4 @@ --# Metrowerks Codewarrior for NetWare -+#!/usr/local/bin/perl - # - - # The import files and other misc imports needed to link --- openssl-0.9.8g.orig/util/mkdef.pl +++ openssl-0.9.8g/util/mkdef.pl @@ -1,4 +1,4 @@ @@ -1279,3 +1270,11 @@ # # generate a .def file # +--- openssl-0.9.8g.orig/util/pl/netware.pl ++++ openssl-0.9.8g/util/pl/netware.pl +@@ -1,4 +1,4 @@ +-# Metrowerks Codewarrior for NetWare ++#!/usr/local/bin/perl + # + + # The import files and other misc imports needed to link diff --git a/packages/openssl/openssl-native_0.9.8g.bb b/packages/openssl/openssl-native_0.9.8g.bb index 7d8a931cf1..9ae8e391d0 100644 --- a/packages/openssl/openssl-native_0.9.8g.bb +++ b/packages/openssl/openssl-native_0.9.8g.bb @@ -4,6 +4,8 @@ DEFAULT_PREFERENCE = "-1" require openssl.inc +PR = "r1" + # This flag can contain target options (e.g -mfpu=neon for armv7-a systems) export FULL_OPTIMIZATION = " " export BUILD_OPTIMIZATION = " " diff --git a/packages/openssl/openssl.inc b/packages/openssl/openssl.inc index b77fda9a5b..2ec1d91e7a 100644 --- a/packages/openssl/openssl.inc +++ b/packages/openssl/openssl.inc @@ -55,6 +55,12 @@ do_configure () { linux-i686) target=debian-i386-i686/cmov ;; + linux-mips) + target=debian-mips + ;; + linux-mipsel) + target=debian-mipsel + ;; linux-powerpc) target=linux-ppc ;; diff --git a/packages/openssl/openssl_0.9.8g.bb b/packages/openssl/openssl_0.9.8g.bb index ed99d264f4..1cb360f967 100644 --- a/packages/openssl/openssl_0.9.8g.bb +++ b/packages/openssl/openssl_0.9.8g.bb @@ -2,7 +2,7 @@ inherit pkgconfig require openssl.inc -PR = "r8" +PR = "r9" SRC_URI += "file://debian.patch;patch=1 \ file://configure-targets.patch;patch=1 \ diff --git a/packages/php/php-5.2.5/autotools.patch b/packages/php/php-5.2.5/autotools.patch deleted file mode 100644 index 9f1289fd11..0000000000 --- a/packages/php/php-5.2.5/autotools.patch +++ /dev/null @@ -1,95 +0,0 @@ -diff -u'rNF^function' php-5.1.4~/acinclude.m4 php-5.1.4/acinclude.m4 ---- php-5.1.4~/acinclude.m4 2006-04-10 08:17:36.000000000 -0400 -+++ php-5.1.4/acinclude.m4 2006-08-16 22:32:58.000000000 -0400 -@@ -818,10 +818,10 @@ - OVERALL_TARGET=[]ifelse($1,,php,$1) - php_c_pre='$(LIBTOOL) --mode=compile $(CC)' - php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)' -- php_c_post= -+ php_c_post=' && echo "[#] Generated by PHP badness - GNU libtool" > $[@] && echo "pic_object=none" >> $[@] && echo "non_pic_object=$[@]" | sed -e "s,=.*/,=,; s,\.lo,\.o,g" >> $[@]' - php_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' - php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)' -- php_cxx_post= -+ php_cxx_post=' && echo "[#] Generated by PHP badness - GNU libtool" > $[@] && echo "pic_object=none" >> $[@] && echo "non_pic_object=$[@]" | sed -e "s,=.*/,=,; s,\.lo,\.o,g" >> $[@]' - php_lo=lo - - case $with_pic in -@@ -1670,6 +1670,7 @@ - have_fopen_cookie=yes - - dnl even newer glibcs have a different seeker definition... -+AC_CACHE_CHECK([if cookie io functions use off64_t], php_cv_lib_cookie_io_functions_use_off64_t, - AC_TRY_RUN([ - #define _GNU_SOURCE - #include <stdio.h> -@@ -1702,10 +1703,11 @@ - cookie_io_functions_use_off64_t=yes - ], [ - cookie_io_functions_use_off64_t=no --], [ -- cookie_io_functions_use_off64_t=no --]) -- -+], -+[ php_cv_lib_cookie_io_functions_use_off64_t=yes ], -+[ php_cv_lib_cookie_io_functions_use_off64_t=no ] )) -+ -+ - else - - dnl older glibc versions (up to 2.1.2 ?) -diff -u'rNF^function' php-5.1.4~/configure.in php-5.1.4/configure.in ---- php-5.1.4~/configure.in 2006-05-03 19:30:02.000000000 -0400 -+++ php-5.1.4/configure.in 2006-08-16 20:39:19.000000000 -0400 -@@ -209,6 +209,7 @@ - - sinclude(Zend/Zend.m4) - sinclude(TSRM/tsrm.m4) -+sinclude(TSRM/threads.m4) - - - divert(2) -@@ -255,11 +255,6 @@ - PTHREADS_FLAGS - fi - --if test "$PHP_ENABLE_FASTCGI" = "yes"; then -- PHP_CONFIGURE_PART(Running FastCGI checks) -- sinclude(sapi/cgi/libfcgi/acinclude.m4) -- sinclude(sapi/cgi/libfcgi/libfcgi.m4) --fi - - divert(3) - -diff -u'rNF^function' php-5.1.4~/scripts/phpize.m4 php-5.1.4/scripts/phpize.m4 ---- php-5.1.4~/scripts/phpize.m4 2006-04-10 08:16:17.000000000 -0400 -+++ php-5.1.4/scripts/phpize.m4 2006-08-16 20:39:19.000000000 -0400 -@@ -3,7 +3,6 @@ - divert(1) - - AC_PREREQ(2.13) --AC_INIT(config.m4) - - PHP_CONFIG_NICE(config.nice) - -@@ -69,8 +68,6 @@ - PHP_PROG_RE2C - PHP_PROG_AWK - --sinclude(config.m4) -- - enable_static=no - enable_shared=yes - -diff -u'rNF^function' php-5.1.4~/TSRM/threads.m4 php-5.1.4/TSRM/threads.m4 ---- php-5.1.4~/TSRM/threads.m4 2005-04-27 09:22:18.000000000 -0400 -+++ php-5.1.4/TSRM/threads.m4 2006-08-16 20:39:19.000000000 -0400 -@@ -86,7 +86,7 @@ - pthreads_working=no - ], [ - dnl For cross compiling running this test is of no use. NetWare supports pthreads -- pthreads_working=no -+ pthreads_working=yes - case $host_alias in - *netware*) - pthreads_working=yes diff --git a/packages/php/php-native_5.2.5.bb b/packages/php/php-native_5.2.5.bb index b04103c90b..19558c559d 100644 --- a/packages/php/php-native_5.2.5.bb +++ b/packages/php/php-native_5.2.5.bb @@ -1,11 +1,13 @@ -SECTION = "console/network" require php_${PV}.bb + +SECTION = "console/network" +DEPENDS = "zlib-native libxml2-native mysql-native" +PR = "r2" + +S = "${WORKDIR}/php-${PV}" + inherit autotools native pkgconfig export LIBS=" -lxml2 " export LD_LIBRARY_PATH = "${STAGING_LIBDIR}" FILESPATH = "${FILE_DIRNAME}/php-${PV}:${FILE_DIRNAME}/php:${FILE_DIRNAME}/files" -DEPENDS = "zlib-native libxml2-native" -PR = "r2" - -S = "${WORKDIR}/php-${PV}" diff --git a/packages/php/php.inc b/packages/php/php.inc index 321034bee7..e2ab04f486 100644 --- a/packages/php/php.inc +++ b/packages/php/php.inc @@ -2,10 +2,9 @@ DESCRIPTION = "A server-side, HTML-embedded scripting language. This package pro HOMEPAGE = "http://www.php.net" SECTION = "console/network" LICENSE = "PHP" -DEPENDS = "zlib libxml2 mysql virtual/libiconv php-native" +DEPENDS = "zlib libxml2 mysql mysql-native virtual/libiconv php-native" SRC_URI = "http://us2.php.net/distributions/php-${PV}.tar.bz2\ - file://autotools.patch;patch=1 \ file://acinclude-xml2-config.patch;patch=1" inherit autotools diff --git a/packages/php/php_5.1.4.bb b/packages/php/php_5.1.4.bb index 47475daca9..e639bf5acf 100644 --- a/packages/php/php_5.1.4.bb +++ b/packages/php/php_5.1.4.bb @@ -2,6 +2,8 @@ require php.inc PR = "r3" +SRC_URI += "file://autotools.patch;patch=1" + inherit autotools export THREADS="pthread" diff --git a/packages/php/php_5.2.5.bb b/packages/php/php_5.2.5.bb index 890d467c10..a8dc83a444 100644 --- a/packages/php/php_5.2.5.bb +++ b/packages/php/php_5.2.5.bb @@ -1,6 +1,6 @@ require php.inc -PR = "r2" +PR = "r3" SRC_URI += "file://pear-makefile.patch;patch=1 " @@ -19,7 +19,7 @@ EXTRA_OECONF = " --without-iconv \ --with-mysqli="${STAGING_BINDIR_NATIVE}/mysql_config" \ " -EXTRA_OECONF += " --with-pear-php-cli=${STAGING_BINDIR} --with-libxml-dir=${STAGING_BINDIR}" +EXTRA_OECONF += " --with-pear-php-cli=${STAGING_BINDIR} --with-libxml-dir=${STAGING_BINDIR_CROSS}" export LD_LIBRARY_PATH = "${STAGING_LIBDIR}" export PHP_NATIVE_DIR="${STAGING_BINDIR_NATIVE}" diff --git a/packages/python/python-setuptools-native_0.6c6.bb b/packages/python/python-setuptools-native_0.6c6.bb index 1b9f90911d..b7716d8cac 100644 --- a/packages/python/python-setuptools-native_0.6c6.bb +++ b/packages/python/python-setuptools-native_0.6c6.bb @@ -1,4 +1,5 @@ require python-setuptools_${PV}.bb +inherit native DEPENDS = "python-native" diff --git a/packages/python/python-setuptools_0.6c6.bb b/packages/python/python-setuptools_0.6c6.bb index 721b29961e..fe78e585f7 100644 --- a/packages/python/python-setuptools_0.6c6.bb +++ b/packages/python/python-setuptools_0.6c6.bb @@ -5,7 +5,7 @@ PRIORITY = "optional" LICENSE = "MIT-like" RDEPENDS = "python-distutils python-compression" SRCNAME = "setuptools" -PR = "ml1" +PR = "ml2" SRC_URI = "http://cheeseshop.python.org/packages/source/s/setuptools/${SRCNAME}-${PV}.tar.gz" S = "${WORKDIR}/${SRCNAME}-${PV}" diff --git a/packages/qte/qte-2.3.10/disable-dup-rotation.patch b/packages/qte/qte-2.3.10/disable-dup-rotation.patch new file mode 100644 index 0000000000..ae2332c5f0 --- /dev/null +++ b/packages/qte/qte-2.3.10/disable-dup-rotation.patch @@ -0,0 +1,13 @@ +--- qte/src/kernel/kernelkeyboard.cpp 2008-04-04 11:07:42.000000000 +0100 ++++ qte/src/kernel/kernelkeyboard.cpp 2008-04-04 11:07:45.000000000 +0100 +@@ -627,8 +627,8 @@ + case Qt::Key_Down: + unicode = 0xffff; + mod_key = false; +- if (qt_screen->isTransformed()) +- qtKeyCode = static_cast<Qt::Key>( xform_dirkey(static_cast<int>( qtKeyCode ) ) ); ++// if (qt_screen->isTransformed()) ++// qtKeyCode = static_cast<Qt::Key>( xform_dirkey(static_cast<int>( qtKeyCode ) ) ); + break; + /* + * handle lock, we don't handle scroll lock! diff --git a/packages/rt-tests/rt-tests_0.19.bb b/packages/rt-tests/rt-tests_0.19.bb deleted file mode 100644 index e2c9e17846..0000000000 --- a/packages/rt-tests/rt-tests_0.19.bb +++ /dev/null @@ -1,18 +0,0 @@ -DESCRIPTION = "Real-time tests, such as cyclictest." -HOMEPAGE = "http://rt.wiki.kernel.org/index.php/Cyclictest" -LICENSE = "GPL" -PR = "r0" - -SRC_URI = "http://www.kernel.org/pub/linux/kernel/people/tglx/rt-tests/rt-tests-${PV}.tar.bz2" - -S = "${WORKDIR}/rt-tests" - -do_install() { - install -d ${D}${bindir} - for binary in `find . -perm 0755 -type f` - do - install -m 0755 $binary ${D}${bindir} - done -} - - diff --git a/packages/rt-tests/rt-tests_0.21.bb b/packages/rt-tests/rt-tests_0.21.bb new file mode 100644 index 0000000000..7be7f48f5f --- /dev/null +++ b/packages/rt-tests/rt-tests_0.21.bb @@ -0,0 +1,21 @@ +## Reminder: Tabs should not be used (use spaces instead) in : install -d ${D}${bindir} +## Reminder: Tabs should not be used (use spaces instead) in : for binary in `find . -perm 0755 -type f` +## Reminder: Tabs should not be used (use spaces instead) in : do +## Reminder: Tabs should not be used (use spaces instead) in : install -m 0755 $binary ${D}${bindir} +## Reminder: Tabs should not be used (use spaces instead) in : done +DESCRIPTION = "Real-time tests, such as cyclictest." +HOMEPAGE = "http://rt.wiki.kernel.org/index.php/Cyclictest" +LICENSE = "GPL" +PR = "r0" + +SRC_URI = "http://www.kernel.org/pub/linux/kernel/people/tglx/rt-tests/rt-tests-${PV}.tar.bz2" + +S = "${WORKDIR}/rt-tests" + +do_install() { + install -d ${D}${bindir} + for binary in `find . -perm 0755 -type f` + do + install -m 0755 $binary ${D}${bindir} + done +} diff --git a/packages/samba/samba-essential_3.0.20.bb b/packages/samba/samba-essential_3.0.20.bb index 75febf4ab1..ecf591dbb5 100644 --- a/packages/samba/samba-essential_3.0.20.bb +++ b/packages/samba/samba-essential_3.0.20.bb @@ -1,7 +1,7 @@ require samba-essential.inc inherit update-rc.d -PR = "r5" +PR = "r6" SRC_URI = "file://config-lfs.patch;patch=1 \ file://init-essential \ diff --git a/packages/samba/samba.inc b/packages/samba/samba.inc index bcae4e7885..ab9ab42372 100644 --- a/packages/samba/samba.inc +++ b/packages/samba/samba.inc @@ -13,9 +13,11 @@ EXTRA_OECONF='--disable-cups --with-readline=${STAGING_LIBDIR}/.. \ --with-libiconv=${STAGING_LIBDIR}/.. \ --without-ads --without-automount --with-smbmount' -PACKAGES =+ "libsmbclient libsmbclient-dev cifs cifs-doc" -FILES_cifs = "${bindir}/mount.cifs" -FILES_cifs-doc = "${docdir}/mount.cifs.8" +PACKAGES =+ "libsmbclient libsmbclient-dev cifs cifs-doc smbfs smbfs-doc" +FILES_smbfs = "${bindir}/smbmount ${bindir}/smbumount ${bindir}/smbmnt" +FILES_smbfs-doc = "${mandir}/man8/smbmount.8 ${mandir}/man8/smbumount.8 ${mandir}/man8/smbmnt.8" +FILES_cifs = "${sbindir}/mount.cifs ${sbindir}/umount.cifs" +FILES_cifs-doc = "${mandir}/man8/mount.cifs.8 ${mandir}/man8/umount.cifs.8" FILES_libsmbclient = "${libdir}/libsmbclient.so.*" FILES_libsmbclient-dev = "${libdir}/libsmbclient.so ${includedir}" diff --git a/packages/samba/samba_3.0.10.bb b/packages/samba/samba_3.0.10.bb index 895ce6b337..265f695a1d 100644 --- a/packages/samba/samba_3.0.10.bb +++ b/packages/samba/samba_3.0.10.bb @@ -1 +1,3 @@ require samba.inc + +PR = "r1" diff --git a/packages/samba/samba_3.0.14a.bb b/packages/samba/samba_3.0.14a.bb index d191363cd6..90d3c947d6 100644 --- a/packages/samba/samba_3.0.14a.bb +++ b/packages/samba/samba_3.0.14a.bb @@ -1,7 +1,7 @@ require samba.inc inherit update-rc.d -PR = "r15" +PR = "r16" SRC_URI += "file://config-lfs.patch;patch=1 \ file://init \ @@ -48,4 +48,4 @@ FILES_${PN} += "${libdir}/vfs/*.so ${libdir}/charset/*.so ${libdir}/*.dat" FILES_${PN}-dbg += "${libdir}/vfs/.debug/*.so ${libdir}/charset/.debug/*.so" # # bug fix for samba.inc: -FILES_cifs-doc = "${mandir}/man8/mount.cifs.8" +FILES_cifs-doc += "${mandir}/man8/mount.cifs.8" diff --git a/packages/samba/samba_3.0.20.bb b/packages/samba/samba_3.0.20.bb index fb2407c74f..a4ca7e9265 100644 --- a/packages/samba/samba_3.0.20.bb +++ b/packages/samba/samba_3.0.20.bb @@ -1,7 +1,7 @@ require samba.inc inherit update-rc.d -PR = "r5" +PR = "r6" SRC_URI += "file://config-lfs.patch;patch=1 \ file://init \ @@ -48,4 +48,4 @@ FILES_${PN} += "${libdir}/vfs/*.so ${libdir}/charset/*.so ${libdir}/*.dat" FILES_${PN}-dbg += "${libdir}/vfs/.debug/*.so ${libdir}/charset/.debug/*.so" # # bug fix for samba.inc: -FILES_cifs-doc = "${mandir}/man8/mount.cifs.8" +FILES_cifs-doc += "${mandir}/man8/mount.cifs.8" diff --git a/packages/samba/samba_3.0.23c.bb b/packages/samba/samba_3.0.23c.bb index 74f0593150..ef1359c79b 100644 --- a/packages/samba/samba_3.0.23c.bb +++ b/packages/samba/samba_3.0.23c.bb @@ -1,7 +1,7 @@ require samba.inc inherit update-rc.d -PR = "r1" +PR = "r2" SRC_URI += "file://config-lfs.patch;patch=1 \ file://init \ @@ -46,4 +46,4 @@ FILES_swat = "${sbindir}/swat ${datadir}/swat ${libdir}/*.msg" FILES_${PN} += "${libdir}/vfs/*.so ${libdir}/charset/*.so ${libdir}/*.dat ${libdir}/auth/*.so" # # bug fix for samba.inc: -FILES_cifs-doc = "${mandir}/man8/mount.cifs.8" +FILES_cifs-doc += "${mandir}/man8/mount.cifs.8" diff --git a/packages/samba/samba_3.0.5.bb b/packages/samba/samba_3.0.5.bb index 895ce6b337..265f695a1d 100644 --- a/packages/samba/samba_3.0.5.bb +++ b/packages/samba/samba_3.0.5.bb @@ -1 +1,3 @@ require samba.inc + +PR = "r1" diff --git a/packages/samba/samba_3.0.9.bb b/packages/samba/samba_3.0.9.bb index 895ce6b337..265f695a1d 100644 --- a/packages/samba/samba_3.0.9.bb +++ b/packages/samba/samba_3.0.9.bb @@ -1 +1,3 @@ require samba.inc + +PR = "r1" diff --git a/packages/startup-notification/startup-notification_0.8.bb b/packages/startup-notification/startup-notification_0.8.bb index 0be545d0fc..3233f1cc16 100644 --- a/packages/startup-notification/startup-notification_0.8.bb +++ b/packages/startup-notification/startup-notification_0.8.bb @@ -2,7 +2,7 @@ DESCRIPTION = "Startup notification support" LICENSE = "LGPL" SECTION = "libs" PRIORITY = "optional" -DEPENDS = "virtual/libx11" +DEPENDS = "virtual/libx11 libsm" inherit autotools pkgconfig diff --git a/packages/syslinux/syslinux-native_3.36.bb b/packages/syslinux/syslinux-native_3.63.bb index d9019a4ab4..d9019a4ab4 100644 --- a/packages/syslinux/syslinux-native_3.36.bb +++ b/packages/syslinux/syslinux-native_3.63.bb diff --git a/packages/tasks/task-opie-16mb.bb b/packages/tasks/task-opie-16mb.bb index b92a137822..859a0f5feb 100644 --- a/packages/tasks/task-opie-16mb.bb +++ b/packages/tasks/task-opie-16mb.bb @@ -29,7 +29,7 @@ RDEPENDS_task-opie-16mb-applets = "opie-aboutapplet opie-clockapplet opie-suspen opie-screenshotapplet \ ${@base_contains("COMBINED_FEATURES", "irda", "opie-irdaapplet", "",d)} \ ${@base_contains("MACHINE_FEATURES", "apm", "opie-batteryapplet", "",d)} \ - ${@base_contains("COMBINED_FEATURES", "pcmcia", "opie-pcmciaapplet", "",d)} \ + ${@base_contains("COMBINED_FEATURES", "pcmcia", "opie-cardapplet", "",d)} \ ${@base_contains("MACHINE_FEATURES", "keyboard", "opie-vtapplet opie-logoutapplet", "",d)}" PACKAGE_ARCH_task-opie-16mb-applets = "${MACHINE_ARCH}" diff --git a/packages/tasks/task-opie-all.bb b/packages/tasks/task-opie-all.bb index cb08f92e3d..47d2eba229 100644 --- a/packages/tasks/task-opie-all.bb +++ b/packages/tasks/task-opie-all.bb @@ -18,7 +18,7 @@ RDEPENDS_task-opie-applets = "opie-aboutapplet opie-autorotateapplet opie-batter opie-clipboardapplet opie-clockapplet opie-homeapplet \
opie-irdaapplet opie-lockapplet opie-logoutapplet \
opie-mailapplet opie-memoryapplet opie-multikeyapplet \
- opie-networkapplet opie-notesapplet opie-pcmciaapplet \
+ opie-networkapplet opie-notesapplet opie-cardapplet \
opie-pyquicklaunchapplet opie-restartapplet \
opie-restartapplet2 opie-rotateapplet \
opie-screenshotapplet opie-suspendapplet opie-vmemo \
diff --git a/packages/tasks/task-opie.bb b/packages/tasks/task-opie.bb index 05b507706b..41dd92ac7a 100644 --- a/packages/tasks/task-opie.bb +++ b/packages/tasks/task-opie.bb @@ -44,7 +44,7 @@ RDEPENDS_task-opie-base-applets = "opie-aboutapplet opie-clockapplet opie-suspen opie-screenshotapplet \ ${@base_contains("COMBINED_FEATURES", "irda", "opie-irdaapplet", "",d)} \ ${@base_contains("MACHINE_FEATURES", "apm", "opie-batteryapplet", "",d)} \ - ${@base_contains("COMBINED_FEATURES", "pcmcia", "opie-pcmciaapplet", "",d)} \ + ${@base_contains("COMBINED_FEATURES", "pcmcia", "opie-cardapplet", "",d)} \ ${@base_contains("MACHINE_FEATURES", "keyboard", "opie-vtapplet opie-logoutapplet", "",d)}" PACKAGE_ARCH_task-opie-base-applets = "${MACHINE_ARCH}" diff --git a/packages/u-boot/files/sffsdr-u-boot.patch b/packages/u-boot/files/sffsdr-u-boot.patch new file mode 100644 index 0000000000..cf8415330b --- /dev/null +++ b/packages/u-boot/files/sffsdr-u-boot.patch @@ -0,0 +1,718 @@ +X-Mozilla-Status: 0003 +X-Mozilla-Status2: 00000000 +Return-Path: <owner-sffsdr@LISTSERV.VT.EDU> +Received: from mail6.zoneedit.com (mail6.zoneedit.com [66.240.226.247]) + by www.balister.org (8.13.8/8.13.5) with ESMTP id m4GGYUC2017393 + for <balister@www.balister.org>; Fri, 16 May 2008 12:34:31 -0400 +Received: from listserv.vt.edu (listserv.vt.edu [198.82.161.192]) + by mail6.zoneedit.com (Postfix) with ESMTP id B457D5D5B6 + for <philip@BALISTER.ORG>; Fri, 16 May 2008 12:34:29 -0400 (EDT) +Received: from listserv.vt.edu (listserv.vt.edu [127.0.0.1]) + by listserv.vt.edu (8.13.1/8.13.1/LISTSERV) with ESMTP id m4G7PKLG018387; + Fri, 16 May 2008 12:34:28 -0400 +Received: by LISTSERV.VT.EDU (LISTSERV-TCP/IP release 14.4) with spool id + 29624903 for SFFSDR@LISTSERV.VT.EDU; Fri, 16 May 2008 12:34:28 -0400 +Received: from freya.cc.vt.edu (IDENT:mirapoint@freya.cc.vt.edu + [198.82.161.17]) by listserv.vt.edu (8.13.1/8.13.1/LISTSERV) with + ESMTP id m4GGYSHs005336 for <sffsdr@listserv.vt.edu>; Fri, 16 May + 2008 12:34:28 -0400 +Received: from server.hugovil.com (201-217-static-ppp.3menatwork.com + [64.235.217.201]) by freya.cc.vt.edu (MOS 3.8.6-GA) with ESMTP id + AOF41814; Fri, 16 May 2008 12:34:27 -0400 (EDT) +Received: from localhost.localdomain (mail.lyrtech.com [204.101.172.90]) by + server.hugovil.com (8.13.6/8.13.6) with ESMTP id m4GGYOYT028003 for + <sffsdr@listserv.vt.edu>; Fri, 16 May 2008 12:34:24 -0400 +X-Mailer: git-send-email 1.5.4.5 +X-Greylist: Default is to whitelist mail, + not delayed by milter-greylist-3.0 (server.hugovil.com + [64.235.217.201]); Fri, 16 May 2008 12:34:25 -0400 (EDT) +X-Junkmail-Status: score=10/50, host=freya.cc.vt.edu +X-Junkmail-SD-Raw: score=unknown, + refid=str=0001.0A090205.482DB793.02F2,ss=1,fgs=0, + ip=64.235.217.201, so=2007-10-30 19:00:17, + dmn=5.4.3/2007-10-19 +X-Junkmail-IWF: false +Message-ID: <1210970183-26615-1-git-send-email-hugo.villeneuve@lyrtech.com> +Date: Fri, 16 May 2008 16:36:23 -0400 +Reply-To: sffsdr Discussion List <SFFSDR@LISTSERV.VT.EDU> +Sender: sffsdr Discussion List <SFFSDR@LISTSERV.VT.EDU> +From: Hugo Villeneuve <hugo.villeneuve@LYRTECH.COM> +Subject: [PATCH] Add support for Lyrtech SFF-SDR board (ARM926EJS) +To: SFFSDR@LISTSERV.VT.EDU +Precedence: list + +Philip, +this is the patch I´m planning on sending to the U-Boot +folks so that the SFFSDR is integrated into mainline +U-Boot. + +It is mostly based on the work you have done. + +I added code to make the EEPROM accessible through +the I2C bus. This is needed because we use an I2C +switch on the SFFSDR that is turned OFF by default. +I also added code to read the MAC address from the +EEPROM. + +I also removed unused stuff specific to the +Schmoogie board. + +The network and NAND are both working fine with +that patch. + +I´m looking forward to your comments. + +Hugo V. + +--- + +This patch adds support for the Lyrtech SFF-SDR, based +on the TI DaVinci architecture (ARM926EJS). + +Signed-off-by: Hugo Villeneuve <hugo.villeneuve@lyrtech.com> +--- + + MAKEALL | 1 + + Makefile | 3 + + board/davinci/sffsdr/Makefile | 52 +++++++++ + board/davinci/sffsdr/board_init.S | 29 +++++ + board/davinci/sffsdr/config.mk | 24 ++++ + board/davinci/sffsdr/dv_board.c | 211 +++++++++++++++++++++++++++++++++++++ + board/davinci/sffsdr/u-boot.lds | 52 +++++++++ + include/asm-arm/mach-types.h | 13 +++ + include/configs/davinci_sffsdr.h | 171 ++++++++++++++++++++++++++++++ + 9 files changed, 556 insertions(+), 0 deletions(-) + +diff --git a/MAKEALL b/MAKEALL +index 791eabc..1a0cb37 100755 +--- a/MAKEALL ++++ b/MAKEALL +@@ -495,6 +495,7 @@ LIST_ARM9=" \ + voiceblue \ + davinci_dvevm \ + davinci_schmoogie \ ++ davinci_sffsdr \ + davinci_sonata \ + " + +diff --git a/Makefile b/Makefile +index 167a717..6280a59 100644 +--- a/Makefile ++++ b/Makefile +@@ -2402,6 +2402,9 @@ davinci_dvevm_config : unconfig + davinci_schmoogie_config : unconfig + @$(MKCONFIG) $(@:_config=) arm arm926ejs schmoogie davinci davinci + ++davinci_sffsdr_config : unconfig ++ @$(MKCONFIG) $(@:_config=) arm arm926ejs sffsdr davinci davinci ++ + davinci_sonata_config : unconfig + @$(MKCONFIG) $(@:_config=) arm arm926ejs sonata davinci davinci + +diff --git a/board/davinci/sffsdr/Makefile b/board/davinci/sffsdr/Makefile +new file mode 100644 +index 0000000..fa00138 +--- /dev/null ++++ b/board/davinci/sffsdr/Makefile +@@ -0,0 +1,52 @@ ++# ++# (C) Copyright 2000, 2001, 2002 ++# Wolfgang Denk, DENX Software Engineering, wd@denx.de. ++# ++# Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net> ++# ++# See file CREDITS for list of people who contributed to this ++# project. ++# ++# 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. ++# ++# 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 this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++# MA 02111-1307 USA ++# ++ ++include $(TOPDIR)/config.mk ++ ++LIB = $(obj)lib$(BOARD).a ++ ++COBJS := dv_board.o ++SOBJS := board_init.o ++ ++SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) ++OBJS := $(addprefix $(obj),$(COBJS)) ++SOBJS := $(addprefix $(obj),$(SOBJS)) ++ ++$(LIB): $(obj).depend $(OBJS) $(SOBJS) ++ $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS) ++ ++clean: ++ rm -f $(SOBJS) $(OBJS) ++ ++distclean: clean ++ rm -f $(LIB) core *.bak *~ .depend ++ ++######################################################################### ++# This is for $(obj).depend target ++include $(SRCTREE)/rules.mk ++ ++sinclude $(obj).depend ++ ++######################################################################### +diff --git a/board/davinci/sffsdr/board_init.S b/board/davinci/sffsdr/board_init.S +new file mode 100644 +index 0000000..22d8adc +--- /dev/null ++++ b/board/davinci/sffsdr/board_init.S +@@ -0,0 +1,29 @@ ++/* ++ * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net> ++ * ++ * Board-specific low level initialization code. Called at the very end ++ * of cpu/arm926ejs/davinci/lowlevel_init.S. Just returns if there is no ++ * initialization required. ++ * ++ * 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. ++ * ++ * 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 this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include <config.h> ++ ++.globl dv_board_init ++dv_board_init: ++ ++ mov pc, lr +diff --git a/board/davinci/sffsdr/config.mk b/board/davinci/sffsdr/config.mk +new file mode 100644 +index 0000000..e8a329c +--- /dev/null ++++ b/board/davinci/sffsdr/config.mk +@@ -0,0 +1,24 @@ ++# ++# (C) Copyright 2002 ++# Gary Jennejohn, DENX Software Engineering, <gj@denx.de> ++# David Mueller, ELSOFT AG, <d.mueller@elsoft.ch> ++# ++# Lyrtech SFF SDR board (ARM926EJS) cpu ++# see http://www.lyrtech.com/ for more information on Lyrtech ++# ++# SFF SDR board has 1 bank of 128 MB DDR RAM ++# Physical Address: ++# 8000'0000 to 87FF'FFFF ++# ++# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000 ++# (mem base + reserved) ++# ++# Integrity kernel is expected to be at 8000'0000, entry 8000'00D0, ++# up to 81FF'FFFF (uses up to 32 MB of memory for text, heap, etc). ++# ++# we load ourself to 8400'0000 ++# ++# ++ ++# Provide at least 32MB spacing between us and the Integrity kernel image ++TEXT_BASE = 0x84000000 +diff --git a/board/davinci/sffsdr/dv_board.c b/board/davinci/sffsdr/dv_board.c +new file mode 100644 +index 0000000..a3f60cb +--- /dev/null ++++ b/board/davinci/sffsdr/dv_board.c +@@ -0,0 +1,211 @@ ++/* ++ * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net> ++ * ++ * Parts are shamelessly stolen from various TI sources, original copyright ++ * follows: ++ * ----------------------------------------------------------------- ++ * ++ * Copyright (C) 2004 Texas Instruments. ++ * ++ * ---------------------------------------------------------------------------- ++ * 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. ++ * ++ * 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 this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ * ---------------------------------------------------------------------------- ++ */ ++ ++#include <common.h> ++#include <i2c.h> ++#include <asm/arch/hardware.h> ++#include <asm/arch/emac_defs.h> ++ ++DECLARE_GLOBAL_DATA_PTR; ++ ++extern void i2c_init(int speed, int slaveaddr); ++extern void timer_init(void); ++extern int eth_hw_init(void); ++extern phy_t phy; ++ ++ ++/* Works on Always On power domain only (no PD argument) */ ++void lpsc_on(unsigned int id) ++{ ++ dv_reg_p mdstat, mdctl; ++ ++ if (id >= DAVINCI_LPSC_GEM) ++ return; /* Don't work on DSP Power Domain */ ++ ++ mdstat = REG_P(PSC_MDSTAT_BASE + (id * 4)); ++ mdctl = REG_P(PSC_MDCTL_BASE + (id * 4)); ++ ++ while (REG(PSC_PTSTAT) & 0x01) {;} ++ ++ if ((*mdstat & 0x1f) == 0x03) ++ return; /* Already on and enabled */ ++ ++ *mdctl |= 0x03; ++ ++ /* Special treatment for some modules as for sprue14 p.7.4.2 */ ++ if ( (id == DAVINCI_LPSC_VPSSSLV) || ++ (id == DAVINCI_LPSC_EMAC) || ++ (id == DAVINCI_LPSC_EMAC_WRAPPER) || ++ (id == DAVINCI_LPSC_MDIO) || ++ (id == DAVINCI_LPSC_USB) || ++ (id == DAVINCI_LPSC_ATA) || ++ (id == DAVINCI_LPSC_VLYNQ) || ++ (id == DAVINCI_LPSC_UHPI) || ++ (id == DAVINCI_LPSC_DDR_EMIF) || ++ (id == DAVINCI_LPSC_AEMIF) || ++ (id == DAVINCI_LPSC_MMC_SD) || ++ (id == DAVINCI_LPSC_MEMSTICK) || ++ (id == DAVINCI_LPSC_McBSP) || ++ (id == DAVINCI_LPSC_GPIO) ++ ) ++ *mdctl |= 0x200; ++ ++ REG(PSC_PTCMD) = 0x01; ++ ++ while (REG(PSC_PTSTAT) & 0x03) {;} ++ while ((*mdstat & 0x1f) != 0x03) {;} /* Probably an overkill... */ ++} ++ ++void dsp_on(void) ++{ ++ int i; ++ ++ if (REG(PSC_PDSTAT1) & 0x1f) ++ return; /* Already on */ ++ ++ REG(PSC_GBLCTL) |= 0x01; ++ REG(PSC_PDCTL1) |= 0x01; ++ REG(PSC_PDCTL1) &= ~0x100; ++ REG(PSC_MDCTL_BASE + (DAVINCI_LPSC_GEM * 4)) |= 0x03; ++ REG(PSC_MDCTL_BASE + (DAVINCI_LPSC_GEM * 4)) &= 0xfffffeff; ++ REG(PSC_MDCTL_BASE + (DAVINCI_LPSC_IMCOP * 4)) |= 0x03; ++ REG(PSC_MDCTL_BASE + (DAVINCI_LPSC_IMCOP * 4)) &= 0xfffffeff; ++ REG(PSC_PTCMD) = 0x02; ++ ++ for (i = 0; i < 100; i++) { ++ if (REG(PSC_EPCPR) & 0x02) ++ break; ++ } ++ ++ REG(PSC_CHP_SHRTSW) = 0x01; ++ REG(PSC_PDCTL1) |= 0x100; ++ REG(PSC_EPCCR) = 0x02; ++ ++ for (i = 0; i < 100; i++) { ++ if (!(REG(PSC_PTSTAT) & 0x02)) ++ break; ++ } ++ ++ REG(PSC_GBLCTL) &= ~0x1f; ++} ++ ++ ++int board_init(void) ++{ ++ /* arch number of the board */ ++ gd->bd->bi_arch_number = MACH_TYPE_SFFSDR; ++ ++ /* address of boot parameters */ ++ gd->bd->bi_boot_params = LINUX_BOOT_PARAM_ADDR; ++ ++ /* Workaround for TMS320DM6446 errata 1.3.22 */ ++ REG(PSC_SILVER_BULLET) = 0; ++ ++ /* Power on required peripherals */ ++ lpsc_on(DAVINCI_LPSC_EMAC); ++ lpsc_on(DAVINCI_LPSC_EMAC_WRAPPER); ++ lpsc_on(DAVINCI_LPSC_MDIO); ++ lpsc_on(DAVINCI_LPSC_I2C); ++ lpsc_on(DAVINCI_LPSC_UART0); ++ lpsc_on(DAVINCI_LPSC_TIMER1); ++ lpsc_on(DAVINCI_LPSC_GPIO); ++ ++ /* Powerup the DSP */ ++ dsp_on(); ++ ++ /* Bringup UART0 out of reset */ ++ REG(UART0_PWREMU_MGMT) = 0x0000e003; ++ ++ /* Enable GIO3.3V cells used for EMAC */ ++ REG(VDD3P3V_PWDN) = 0; ++ ++ /* Enable UART0 MUX lines */ ++ REG(PINMUX1) |= 1; ++ ++ /* Enable EMAC and AEMIF pins */ ++ REG(PINMUX0) = 0x80000c1f; ++ ++ /* Enable I2C pin Mux */ ++ REG(PINMUX1) |= (1 << 7); ++ ++ /* Set the Bus Priority Register to appropriate value */ ++ REG(VBPR) = 0x20; ++ ++ timer_init(); ++ ++ return(0); ++} ++ ++int misc_init_r (void) ++{ ++ u_int8_t tmp[20], buf[10]; ++ int i = 0; ++ int clk = 0; ++ ++ clk = ((REG(PLL2_PLLM) + 1) * 27) / ((REG(PLL2_DIV2) & 0x1f) + 1); ++ ++ printf ("ARM Clock: %dMHz\n", ((REG(PLL1_PLLM) + 1) * 27 ) / 2); ++ printf ("DDR Clock: %dMHz\n", (clk / 2)); ++ ++ /* Configure I2C switch (PCA9543) to enable channel 0. */ ++ tmp[0] = CFG_I2C_PCA9543_ENABLE_CH0; ++ if (i2c_write(CFG_I2C_PCA9543_ADDR, 0, CFG_I2C_PCA9543_ADDR_LEN, tmp, 1)) { ++ printf ("Write to MUX @ 0x%02x failed\n", CFG_I2C_PCA9543_ADDR); ++ } ++ ++ /* Set Ethernet MAC address from EEPROM. ++ * We must read 8 bytes because data is stored in little-endian. */ ++ if (i2c_read(CFG_I2C_EEPROM_ADDR, 0x05A8, CFG_I2C_EEPROM_ADDR_LEN, buf, 8)) { ++ printf ("Read from EEPROM @ 0x%02x failed\n", CFG_I2C_EEPROM_ADDR); ++ } else { ++ tmp[0] = 0xff; ++ for (i = 0; i < 6; i++) ++ tmp[0] &= buf[i]; ++ ++ if ((tmp[0] != 0xff) && (getenv("ethaddr") == NULL)) { ++ sprintf ((char *)&tmp[0], "%02x:%02x:%02x:%02x:%02x:%02x", ++ buf[3], buf[2], buf[1], buf[0], ++ buf[7], buf[6]); ++ setenv ("ethaddr", (char *)&tmp[0]); ++ } ++ } ++ ++ if (!eth_hw_init()) { ++ printf ("Ethernet init failed\n"); ++ } else { ++ printf ("ETH PHY: %s\n", phy.name); ++ } ++ ++ return(0); ++} ++ ++int dram_init(void) ++{ ++ gd->bd->bi_dram[0].start = PHYS_SDRAM_1; ++ gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; ++ ++ return(0); ++} +diff --git a/board/davinci/sffsdr/u-boot.lds b/board/davinci/sffsdr/u-boot.lds +new file mode 100644 +index 0000000..a4fcd1a +--- /dev/null ++++ b/board/davinci/sffsdr/u-boot.lds +@@ -0,0 +1,52 @@ ++/* ++ * (C) Copyright 2002 ++ * Gary Jennejohn, DENX Software Engineering, <gj@denx.de> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * 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 this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") ++OUTPUT_ARCH(arm) ++ENTRY(_start) ++SECTIONS ++{ ++ . = 0x00000000; ++ . = ALIGN(4); ++ .text : ++ { ++ cpu/arm926ejs/start.o (.text) ++ *(.text) ++ } ++ . = ALIGN(4); ++ .rodata : { *(.rodata) } ++ . = ALIGN(4); ++ .data : { *(.data) } ++ . = ALIGN(4); ++ .got : { *(.got) } ++ ++ . = .; ++ __u_boot_cmd_start = .; ++ .u_boot_cmd : { *(.u_boot_cmd) } ++ __u_boot_cmd_end = .; ++ ++ . = ALIGN(4); ++ __bss_start = .; ++ .bss (NOLOAD) : { *(.bss) } ++ _end = .; ++} +diff --git a/include/asm-arm/mach-types.h b/include/asm-arm/mach-types.h +index aaf2ea2..b347857 100644 +--- a/include/asm-arm/mach-types.h ++++ b/include/asm-arm/mach-types.h +@@ -1595,6 +1595,7 @@ extern unsigned int __machine_arch_type; + #define MACH_TYPE_P300 1602 + #define MACH_TYPE_XDACOMET 1603 + #define MACH_TYPE_DEXFLEX2 1604 ++#define MACH_TYPE_SFFSDR 1657 + + #ifdef CONFIG_ARCH_EBSA110 + # ifdef machine_arch_type +@@ -16500,6 +16501,18 @@ extern unsigned int __machine_arch_type; + # define machine_is_schmoogie() (0) + #endif + ++#ifdef CONFIG_MACH_SFFSDR ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SFFSDR ++# endif ++# define machine_is_sffsdr() (machine_arch_type == MACH_TYPE_SFFSDR) ++#else ++# define machine_is_sffsdr() (0) ++#endif ++ + #ifdef CONFIG_MACH_AZTOOL + # ifdef machine_arch_type + # undef machine_arch_type +diff --git a/include/configs/davinci_sffsdr.h b/include/configs/davinci_sffsdr.h +new file mode 100644 +index 0000000..a9b480b +--- /dev/null ++++ b/include/configs/davinci_sffsdr.h +@@ -0,0 +1,171 @@ ++/* ++ * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net> ++ * ++ * 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. ++ * ++ * 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 this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#ifndef __CONFIG_H ++#define __CONFIG_H ++#include <asm/sizes.h> ++ ++/*=======*/ ++/* Board */ ++/*=======*/ ++#define SFFSDR ++#define CFG_NAND_LARGEPAGE ++#define CFG_USE_NAND ++/*===================*/ ++/* SoC Configuration */ ++/*===================*/ ++#define CONFIG_ARM926EJS /* arm926ejs CPU core */ ++#define CONFIG_SYS_CLK_FREQ 297000000 /* Arm Clock frequency */ ++#define CFG_TIMERBASE 0x01c21400 /* use timer 0 */ ++#define CFG_HZ_CLOCK 27000000 /* Timer Input clock freq */ ++#define CFG_HZ 1000 ++/*==================================================*/ ++/* EEPROM definitions for Atmel 24LC64 EEPROM chip */ ++/*==================================================*/ ++#define CFG_I2C_EEPROM_ADDR_LEN 2 ++#define CFG_I2C_EEPROM_ADDR 0x50 ++#define CFG_EEPROM_PAGE_WRITE_BITS 5 ++#define CFG_EEPROM_PAGE_WRITE_DELAY_MS 20 ++/*=============*/ ++/* Memory Info */ ++/*=============*/ ++#define CFG_MALLOC_LEN (0x10000 + 256*1024) /* malloc() len */ ++#define CFG_GBL_DATA_SIZE 128 /* reserved for initial data */ ++#define CFG_MEMTEST_START 0x80000000 /* memtest start address */ ++#define CFG_MEMTEST_END 0x81000000 /* 16MB RAM test */ ++#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */ ++#define CONFIG_STACKSIZE (256*1024) /* regular stack */ ++#define PHYS_SDRAM_1 0x80000000 /* DDR Start */ ++#define PHYS_SDRAM_1_SIZE 0x08000000 /* DDR size 128MB */ ++#define DDR_4BANKS /* 4-bank DDR2 (128MB) */ ++/*====================*/ ++/* Serial Driver info */ ++/*====================*/ ++#define CFG_NS16550 ++#define CFG_NS16550_SERIAL ++#define CFG_NS16550_REG_SIZE 4 /* NS16550 register size */ ++#define CFG_NS16550_COM1 0x01c20000 /* Base address of UART0 */ ++#define CFG_NS16550_CLK 27000000 /* Input clock to NS16550 */ ++#define CONFIG_CONS_INDEX 1 /* use UART0 for console */ ++#define CONFIG_BAUDRATE 115200 /* Default baud rate */ ++#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } ++/*===================*/ ++/* I2C Configuration */ ++/*===================*/ ++#define CONFIG_HARD_I2C ++#define CONFIG_DRIVER_DAVINCI_I2C ++#define CFG_I2C_SPEED 80000 /* 100Kbps won't work, silicon bug */ ++#define CFG_I2C_SLAVE 10 /* Bogus, master-only in U-Boot */ ++/*==================================*/ ++/* Network & Ethernet Configuration */ ++/*==================================*/ ++#define CONFIG_DRIVER_TI_EMAC ++#define CONFIG_MII ++#define CONFIG_BOOTP_DEFAULT ++#define CONFIG_BOOTP_DNS ++#define CONFIG_BOOTP_DNS2 ++#define CONFIG_BOOTP_SEND_HOSTNAME ++#define CONFIG_NET_RETRY_COUNT 10 ++#define CONFIG_OVERWRITE_ETHADDR_ONCE ++/*=====================*/ ++/* Flash & Environment */ ++/*=====================*/ ++#undef CFG_ENV_IS_IN_FLASH ++#define CFG_NO_FLASH ++#define CFG_ENV_IS_IN_NAND /* U-Boot env in NAND Flash */ ++#define CFG_ENV_SECT_SIZE 2048 /* Env sector Size */ ++#define CFG_ENV_SIZE SZ_128K ++#define CONFIG_SKIP_LOWLEVEL_INIT /* U-Boot is loaded by a bootloader */ ++#define CONFIG_SKIP_RELOCATE_UBOOT /* to a proper address, init done */ ++#define CFG_NAND_BASE 0x02000000 ++#define CFG_NAND_HW_ECC ++#define CFG_MAX_NAND_DEVICE 1 /* Max number of NAND devices */ ++#define NAND_MAX_CHIPS 1 ++#define CFG_ENV_OFFSET 0x0 /* Block 0--not used by bootcode */ ++/*=====================*/ ++/* Board related stuff */ ++/*=====================*/ ++/*==========================================*/ ++/* I2C switch definitions for PCA9543 chip */ ++/* on Lyrtech SFF SDR board. */ ++/*==========================================*/ ++#define CFG_I2C_PCA9543_ADDR 0x70 ++#define CFG_I2C_PCA9543_ADDR_LEN 0 /* This chip has a single register. */ ++#define CFG_I2C_PCA9543_ENABLE_CH0 0x01 /* Enable channel 0. */ ++/*==============================*/ ++/* U-Boot general configuration */ ++/*==============================*/ ++#undef CONFIG_USE_IRQ /* No IRQ/FIQ in U-Boot */ ++#define CONFIG_MISC_INIT_R ++#undef CONFIG_BOOTDELAY ++#define CONFIG_BOOTFILE "uImage" /* Boot file name */ ++#define CFG_PROMPT "U-Boot > " /* Monitor Command Prompt */ ++#define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ ++#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print buffer sz */ ++#define CFG_MAXARGS 16 /* max number of command args */ ++#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ ++#define CFG_LOAD_ADDR 0x80700000 /* default Linux kernel load address */ ++#define CONFIG_VERSION_VARIABLE ++#define CONFIG_AUTO_COMPLETE /* Won't work with hush so far, may be later */ ++#define CFG_HUSH_PARSER ++#define CFG_PROMPT_HUSH_PS2 "> " ++#define CONFIG_CMDLINE_EDITING ++#define CFG_LONGHELP ++#define CONFIG_CRC32_VERIFY ++#define CONFIG_MX_CYCLIC ++/* ++ * Define this to load an Integrity kernel. ++ * ++#define CONFIG_CMD_ELF ++ */ ++ ++/*===================*/ ++/* Linux Information */ ++/*===================*/ ++#define LINUX_BOOT_PARAM_ADDR 0x80000100 ++#define CONFIG_CMDLINE_TAG ++#define CONFIG_SETUP_MEMORY_TAGS ++#define CONFIG_BOOTARGS "mem=56M console=ttyS0,115200n8 root=/dev/hda1 rw noinitrd ip=dhcp" ++#define CONFIG_BOOTCOMMAND "setenv setboot setenv bootargs \\$(bootargs) video=dm64xxfb:output=\\$(videostd);run setboot" ++/*=================*/ ++/* U-Boot commands */ ++/*=================*/ ++#include <config_cmd_default.h> ++#define CONFIG_CMD_ASKENV ++#define CONFIG_CMD_DHCP ++#define CONFIG_CMD_DIAG ++#define CONFIG_CMD_I2C ++#define CONFIG_CMD_MII ++#define CONFIG_CMD_PING ++#define CONFIG_CMD_SAVES ++#define CONFIG_CMD_NAND ++#define CONFIG_CMD_EEPROM ++#undef CONFIG_CMD_BDI ++#undef CONFIG_CMD_FPGA ++#undef CONFIG_CMD_SETGETDCR ++#undef CONFIG_CMD_FLASH ++#undef CONFIG_CMD_IMLS ++/*=======================*/ ++/* KGDB support (if any) */ ++/*=======================*/ ++#ifdef CONFIG_CMD_KGDB ++#define CONFIG_KGDB_BAUDRATE 115200 /* speed to run kgdb serial port */ ++#define CONFIG_KGDB_SER_INDEX 1 /* which serial port to use */ ++#endif ++#endif /* __CONFIG_H */ + diff --git a/packages/u-boot/u-boot_git.bb b/packages/u-boot/u-boot_git.bb index 60ab0ab3f6..a05422ef50 100644 --- a/packages/u-boot/u-boot_git.bb +++ b/packages/u-boot/u-boot_git.bb @@ -2,9 +2,13 @@ require u-boot.inc PR="r1" DEFAULT_PREFERENCE = "-1" +SRCREV_davinci-sffsdr = "4ce1e23b5e12283579828b3d23e8fd6e1328a7aa" + SRC_URI = "git://www.denx.de/git/u-boot.git;protocol=git " SRC_URI_sequoia = "git://www.denx.de/git/u-boot.git;protocol=git;tag=cf3b41e0c1111dbb865b6e34e9f3c3d3145a6093 " +SRC_URI_append_davinci-sffsdr = " file://sffsdr-u-boot.patch;patch=1 " + S = "${WORKDIR}/git" PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/packages/uclibc/uclibc_0.9.29.bb b/packages/uclibc/uclibc_0.9.29.bb index c4d7ee7455..49280277db 100644 --- a/packages/uclibc/uclibc_0.9.29.bb +++ b/packages/uclibc/uclibc_0.9.29.bb @@ -7,7 +7,7 @@ # on whether the base patches apply to the selected (SRCDATE) svn release. # UCLIBC_BASE ?= "0.9.29" -PR = "r17" +PR = "r18" require uclibc.inc @@ -27,6 +27,7 @@ SRC_URI += "file://uClibc.machine file://uClibc.distro \ file://uClibc-0.9.29-rm-whitespace.patch;patch=1 \ file://uClibc-0.9.29-avr32-bzero.patch;patch=1 \ file://uClibc-0.9.29-nonposix_bashisms.patch;patch=1 \ + file://arm_fix_alignment.patch;patch=1 \ " #recent versions uclibc require real kernel headers diff --git a/packages/vnc/x11vnc_0.9.3.bb b/packages/vnc/x11vnc_0.9.3.bb index 04ac87b444..7714a4fffa 100644 --- a/packages/vnc/x11vnc_0.9.3.bb +++ b/packages/vnc/x11vnc_0.9.3.bb @@ -3,7 +3,7 @@ SECTION = "x11/utils" HOMEPAGE = "http://www.karlrunge.com/x11vnc/" AUTHOR = "Karl Runge" LICENSE = "GPL" -DEPENDS = "openssl virtual/libx11 libxext avahi jpeg zlib" +DEPENDS = "openssl virtual/libx11 libxtst libxext avahi jpeg zlib" SRC_URI = "http://www.karlrunge.com/x11vnc/x11vnc-0.9.3.tar.gz" diff --git a/packages/wwwoffle/.mtn2git_empty b/packages/wwwoffle/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/wwwoffle/.mtn2git_empty diff --git a/packages/wwwoffle/files/.mtn2git_empty b/packages/wwwoffle/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/wwwoffle/files/.mtn2git_empty diff --git a/packages/wwwoffle/files/wwwoffle.if-down b/packages/wwwoffle/files/wwwoffle.if-down new file mode 100644 index 0000000000..71721c38d5 --- /dev/null +++ b/packages/wwwoffle/files/wwwoffle.if-down @@ -0,0 +1,4 @@ +#!/bin/sh + +/usr/bin/wwwoffle -offline & +exit diff --git a/packages/wwwoffle/files/wwwoffle.if-up b/packages/wwwoffle/files/wwwoffle.if-up new file mode 100644 index 0000000000..43167a9e9c --- /dev/null +++ b/packages/wwwoffle/files/wwwoffle.if-up @@ -0,0 +1,36 @@ +#!/bin/sh + +# We want to run wwwoffle only for selected interfaces: +# Maybe better would be checking of the default route. +case "$IFACE" in + wlan*) + ;; + eth*) + ;; + usb*) + ;; + ppp*) + ;; + *) + exit 0 + ;; +esac + +# wwwoffle caches old network configuration and it may cause resolve failures +/usr/bin/wwwoffle -kill +/usr/sbin/wwwoffled >/dev/null 2>&1 + +/usr/bin/wwwoffle -online + +# Don't fetch over ppp*, which is typically expensive dial-up. +#Â Comment out, if you want to fetch pre-ordered pages over GPRS, dial-up or so. +case "$IFACE" in + ppp*) + exit 0 + ;; +esac + +# Fetch may take longer time. Run it in background +( /usr/bin/wwwoffle -fetch ) & + +exit diff --git a/packages/wwwoffle/files/wwwoffle.init b/packages/wwwoffle/files/wwwoffle.init new file mode 100644 index 0000000000..7eac239a3e --- /dev/null +++ b/packages/wwwoffle/files/wwwoffle.init @@ -0,0 +1,22 @@ +#!/bin/sh + +case "$1" in +start) + /usr/sbin/wwwoffled + ;; +restart) + /usr/bin/wwwoffle -kill + /usr/sbin/wwwoffled >/dev/null 2>&1 + ;; +reload|force-reload) + /usr/bin/wwwoffle -config + ;; +stop) + /usr/bin/wwwoffle -kill + ;; +*) + echo "Usage: /etc/init.d/wwwoffle {start|stop|restart|reload|force-reload}" + exit 1 +esac + +exit 0 diff --git a/packages/wwwoffle/wwwoffle_2.9c.bb b/packages/wwwoffle/wwwoffle_2.9c.bb new file mode 100644 index 0000000000..c280e7c8a9 --- /dev/null +++ b/packages/wwwoffle/wwwoffle_2.9c.bb @@ -0,0 +1,31 @@ +LICENSE = "GPL" +SECTION = "console/network" +PRIORITY = "standard" +DESCRIPTION = "World Wide Web Offline Explorer" +DEPENDS = "" + +SRC_URI = "http://www.gedanken.demon.co.uk/download-wwwoffle/${PN}-${PV}.tgz \ + file://wwwoffle.init \ + file://wwwoffle.if-up \ + file://wwwoffle.if-down" + +INITSCRIPT_NAME = "${PN}" + +inherit autotools gettext update-rc.d + +EXTRA_OEMAKE = "docdir=${datadir}/doc" + +do_configure() { + pwd + mv aclocal.m4 acinclude.m4 + autotools_do_configure +} + +do_install_append() { + install -d ${D}/${sysconfdir}/network/if-up.d + install -m 755 ${WORKDIR}/wwwoffle.if-up ${D}/${sysconfdir}/network/if-up.d/wwwoffle + install -d ${D}/${sysconfdir}/network/if-down.d + install -m 755 ${WORKDIR}/wwwoffle.if-down ${D}/${sysconfdir}/network/if-down.d/wwwoffle + install -d ${D}/${sysconfdir}/init.d + install -m 755 ${WORKDIR}/wwwoffle.init ${D}/${sysconfdir}/init.d/wwwoffle +} diff --git a/packages/xorg-xserver/xserver-xorg-1.3.0.0/glyphstr.patch b/packages/xorg-xserver/xserver-xorg-1.3.0.0/glyphstr.patch new file mode 100644 index 0000000000..6955727405 --- /dev/null +++ b/packages/xorg-xserver/xserver-xorg-1.3.0.0/glyphstr.patch @@ -0,0 +1,10 @@ +--- xorg-server-1.3.0.0/render/glyphstr.h~ 2006-09-18 03:04:18.000000000 -0300 ++++ xorg-server-1.3.0.0/render/glyphstr.h 2008-02-03 22:14:23.187159732 -0200 +@@ -25,6 +25,7 @@ + #ifndef _GLYPHSTR_H_ + #define _GLYPHSTR_H_ + ++#include <X11/X.h> + #include <X11/extensions/renderproto.h> + #include "picture.h" + #include "screenint.h" diff --git a/packages/xorg-xserver/xserver-xorg_1.3.0.0.bb b/packages/xorg-xserver/xserver-xorg_1.3.0.0.bb index 0a37ab39fd..a9b8afc8b3 100644 --- a/packages/xorg-xserver/xserver-xorg_1.3.0.0.bb +++ b/packages/xorg-xserver/xserver-xorg_1.3.0.0.bb @@ -4,7 +4,8 @@ require xorg-xserver-common.inc PE = "1" PR = "r4" -SRC_URI += "file://drmfix.patch;patch=1" +SRC_URI += "file://drmfix.patch;patch=1 \ + file://glyphstr.patch;patch=1" EXTRA_OECONF += " ac_cv_file__usr_share_sgml_X11_defs_ent=no " |