summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Blundell <philb@gnu.org>2009-06-10 21:05:34 +0100
committerPhil Blundell <philb@gnu.org>2009-06-10 21:05:34 +0100
commitb386d4e87cfa42180e01cd52f554360f1d47ab90 (patch)
treeaafb70e30f77b190d2c1db4a7fd7cfd06366a7b7
parentb547ef50c9d04427cf4f62b9f5feaad3b7f34c56 (diff)
parent760bd999661cb210addb26eb56d4178cedc6a229 (diff)
Merge branch 'org.openembedded.dev' of git@new.openembedded.org:openembedded into org.openembedded.dev
-rw-r--r--classes/recipe_sanity.bbclass111
-rw-r--r--conf/checksums.ini4
-rw-r--r--recipes/libdlo/kernel-module-udlfb.bb2
-rw-r--r--recipes/libdlo/kernel-module-udlfb/udlfb.c38
-rw-r--r--recipes/libdlo/kernel-module-udlfb/udlfb.h18
-rw-r--r--recipes/linux/linux-powerpc-fsl_git.bb4
-rw-r--r--recipes/sysklogd/sysklogd.inc3
-rw-r--r--recipes/sysklogd/sysklogd_1.5.bb3
-rw-r--r--recipes/xorg-driver/xf86-video-displaylink_0.3.bb (renamed from recipes/xorg-driver/xf86-video-displaylink_0.2.bb)2
9 files changed, 166 insertions, 19 deletions
diff --git a/classes/recipe_sanity.bbclass b/classes/recipe_sanity.bbclass
new file mode 100644
index 0000000000..a10755cf47
--- /dev/null
+++ b/classes/recipe_sanity.bbclass
@@ -0,0 +1,111 @@
+def can_use_autotools_base(cfgdata, d):
+ import bb
+ cfg = d.getVar("do_configure", 1)
+ if not bb.data.inherits_class("autotools", d):
+ return False
+
+ for i in ["autoreconf"] + ["%s_do_configure" % cls for cls in ["gnome", "e", "autotools", "autotools_stage", "efl", "gpephone", "openmoko", "openmoko2", "xfce", "xlibs"]]:
+ if cfg.find(i) != -1:
+ return False
+
+ import os
+ for clsfile in d.getVar("__inherit_cache", 0):
+ (base, _) = os.path.splitext(os.path.basename(clsfile))
+ if cfg.find("%s_do_configure" % base) != -1:
+ bb.note("%s: recipe_sanity: autotools_base usage needs verification, spotted %s" % (d.getVar("P", 1), "%s_do_configure" % base))
+
+ return True
+
+def can_remove_FILESPATH(cfgdata, d):
+ import os
+ import bb
+ expected = cfgdata.get("FILESPATH")
+ #expected = "${@':'.join([os.path.normpath(os.path.join(fp, p, o)) for fp in d.getVar('FILESPATHBASE', 1).split(':') for p in d.getVar('FILESPATHPKG', 1).split(':') for o in (d.getVar('OVERRIDES', 1) + ':').split(':') if os.path.exists(os.path.join(fp, p, o))])}:${FILESDIR}"
+ expectedpaths = bb.data.expand(expected, d)
+ unexpanded = d.getVar("FILESPATH", 0)
+ filespath = d.getVar("FILESPATH", 1).split(":")
+ filespath = [os.path.normpath(f) for f in filespath if os.path.exists(f)]
+ for fp in filespath:
+ if not fp in expectedpaths:
+ # bb.note("Path %s in FILESPATH not in the expected paths %s" % (fp, expectedpaths))
+ return False
+ return expected != unexpanded
+
+def can_remove_FILESDIR(cfgdata, d):
+ import os
+ import bb
+ expected = cfgdata.get("FILESDIR")
+ #expected = "${@bb.which(d.getVar('FILESPATH', 1), '.')}"
+ unexpanded = d.getVar("FILESDIR", 0)
+ if unexpanded is None:
+ return False
+
+ expanded = os.path.normpath(d.getVar("FILESDIR", 1))
+ filespath = d.getVar("FILESPATH", 1).split(":")
+ filespath = [os.path.normpath(f) for f in filespath if os.path.exists(f)]
+
+ return unexpanded != expected and \
+ os.path.exists(expanded) and \
+ (expanded in filespath or
+ expanded == bb.data.expand(expected, d))
+
+def can_remove_others(p, cfgdata, d):
+ import bb
+ for k in ["S", "PV", "PN", "DESCRIPTION", "LICENSE", "DEPENDS",
+ "SECTION", "PACKAGES", "EXTRA_OECONF", "EXTRA_OEMAKE"]:
+ #for k in cfgdata:
+ unexpanded = d.getVar(k, 0)
+ cfgunexpanded = cfgdata.get(k)
+ if not cfgunexpanded:
+ continue
+
+ try:
+ expanded = d.getVar(k, 1)
+ cfgexpanded = bb.data.expand(cfgunexpanded, d)
+ except bb.fetch.ParameterError:
+ continue
+
+ if unexpanded != cfgunexpanded and \
+ cfgexpanded == expanded:
+ bb.note("%s: recipe_sanity: candidate for removal of %s" % (p, k))
+ bb.debug(1, "%s: recipe_sanity: cfg's '%s' and d's '%s' both expand to %s" %
+ (p, cfgunexpanded, unexpanded, expanded))
+
+python do_recipe_sanity () {
+ p = d.getVar("P", 1)
+ p = "%s %s %s" % (d.getVar("PN", 1), d.getVar("PV", 1), d.getVar("PR", 1))
+
+ sanitychecks = [
+ (can_remove_FILESDIR, "removal of FILESDIR"),
+ (can_remove_FILESPATH, "removal of FILESPATH"),
+ #(can_use_autotools_base, "use of autotools_base"),
+ ]
+ cfgdata = d.getVar("__recipe_sanity_cfgdata", 0)
+
+ for (func, msg) in sanitychecks:
+ if func(cfgdata, d):
+ bb.note("%s: recipe_sanity: candidate for %s" % (p, msg))
+
+ can_remove_others(p, cfgdata, d)
+}
+do_recipe_sanity[nostamp] = "1"
+do_recipe_sanity[recrdeptask] = "do_recipe_sanity"
+addtask recipe_sanity
+
+python recipe_sanity_eh () {
+ from bb.event import getName
+
+ if getName(e) != "ConfigParsed":
+ return NotHandled
+
+ d = e.data
+
+ cfgdata = {}
+ for k in d.keys():
+ #for k in ["S", "PR", "PV", "PN", "DESCRIPTION", "LICENSE", "DEPENDS",
+ # "SECTION"]:
+ cfgdata[k] = d.getVar(k, 0)
+
+ d.setVar("__recipe_sanity_cfgdata", cfgdata)
+}
+addhandler recipe_sanity_eh
diff --git a/conf/checksums.ini b/conf/checksums.ini
index 974b076c1d..631f1fb528 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -23618,6 +23618,10 @@ sha256=001be4a8963c48e7debc82c6078562d087a2979da63e558a5e3613c03725c377
md5=2d7e548820d2ded5e183933cb701defb
sha256=da0ca1e821e3fa7cfbe73ddb1480b921002ee992f5e5fbc611422c103b907443
+[http://projects.unbit.it/downloads/udlfb-0.2.3_and_xf86-video-displaylink-0.3.tar.gz]
+md5=c2aedc8130c2e4d52e334b6804ab70da
+sha256=487a1d7bf4b896d9a4b9e7dd1bd293adcadde5684fe9fe32aa209761c3191b3e
+
[http://downloads.sourceforge.net/ufraw/ufraw-0.12.tar.gz]
md5=b2c104938c1c3eb47e7605432bbd3157
sha256=c750c8180057385eaa0844f1148d6f0223b986da322773195eab44b33b97c19f
diff --git a/recipes/libdlo/kernel-module-udlfb.bb b/recipes/libdlo/kernel-module-udlfb.bb
index 55262d22c9..10e83c4caa 100644
--- a/recipes/libdlo/kernel-module-udlfb.bb
+++ b/recipes/libdlo/kernel-module-udlfb.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Framebuffer console driver for displaylink based usb devices"
LICENSE = "GPLv2"
-PV = "0.2.2"
+PV = "0.2.3"
SRC_URI = "file://udlfb.c \
file://udlfb.h \
diff --git a/recipes/libdlo/kernel-module-udlfb/udlfb.c b/recipes/libdlo/kernel-module-udlfb/udlfb.c
index 96fdb3e7d5..abeca9bd12 100644
--- a/recipes/libdlo/kernel-module-udlfb/udlfb.c
+++ b/recipes/libdlo/kernel-module-udlfb/udlfb.c
@@ -7,6 +7,7 @@
* Based on the amazing work of Florian Echtler and libdlo 0.1 *
* *
* *
+ * 10.06.09 release 0.2.3 (edid ioctl, fallback for unsupported modes) *
* 05.06.09 release 0.2.2 (real screen blanking, rle compression, double buffer) *
* 31.05.09 release 0.2 *
* 22.05.09 First public (ugly) release *
@@ -600,10 +601,21 @@ static int dlfb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)
{
struct dlfb_data *dev_info = info->par;
- struct dloarea *area = (struct dloarea *)arg;
+ struct dloarea *area = NULL;
+
+ if (cmd == 0xAD) {
+ char *edid = (char *)arg;
+ dlfb_edid(dev_info);
+ if (copy_to_user(edid, dev_info->edid, 128)) {
+ return -EFAULT;
+ }
+ return 0;
+ }
- if (cmd == 0xAA || cmd == 0xAB) {
+ if (cmd == 0xAA || cmd == 0xAB || cmd == 0xAC) {
+
+ area = (struct dloarea *)arg;
if (area->x < 0)
@@ -714,7 +726,6 @@ dlfb_probe(struct usb_interface *interface, const struct usb_device_id *id)
{
struct dlfb_data *dev_info;
struct fb_info *info;
- int i;
int ret;
char rbuf[4];
@@ -755,15 +766,7 @@ dlfb_probe(struct usb_interface *interface, const struct usb_device_id *id)
printk("ret control msg 0: %d %x%x%x%x\n", ret, rbuf[0], rbuf[1],
rbuf[2], rbuf[3]);
- for (i = 0; i < 128; i++) {
- ret =
- usb_control_msg(dev_info->udev,
- usb_rcvctrlpipe(dev_info->udev, 0), (0x02),
- (0x80 | (0x02 << 5)), i << 8, 0xA1, rbuf, 2,
- 0);
- /* printk("ret control msg edid %d: %d [%d]\n",i, ret, rbuf[1]); */
- dev_info->edid[i] = rbuf[1];
- }
+ dlfb_edid(dev_info);
info = framebuffer_alloc(sizeof(u32) * 256, &dev_info->udev->dev);
@@ -775,6 +778,10 @@ dlfb_probe(struct usb_interface *interface, const struct usb_device_id *id)
fb_parse_edid(dev_info->edid, &info->var);
printk("EDID XRES %d YRES %d\n", info->var.xres, info->var.yres);
+ if (info->var.xres == 0 || info->var.yres == 0) {
+ info->var.xres = 800;
+ info->var.yres = 480;
+ }
if (dlfb_set_video_mode(dev_info, info->var.xres, info->var.yres) != 0)
goto out;
@@ -828,7 +835,12 @@ dlfb_probe(struct usb_interface *interface, const struct usb_device_id *id)
info->fix.smem_start = (unsigned long)info->screen_base;
info->fix.smem_len = PAGE_ALIGN(dev_info->screen_size);
- memcpy(info->fix.id, "DisplayLink FB", 14);
+ if (strlen(dev_info->udev->product) > 15) {
+ memcpy(info->fix.id, dev_info->udev->product, 15);
+ }
+ else {
+ memcpy(info->fix.id, dev_info->udev->product, strlen(dev_info->udev->product));
+ }
info->fix.type = FB_TYPE_PACKED_PIXELS;
info->fix.visual = FB_VISUAL_TRUECOLOR;
info->fix.accel = info->flags;
diff --git a/recipes/libdlo/kernel-module-udlfb/udlfb.h b/recipes/libdlo/kernel-module-udlfb/udlfb.h
index f0508628f0..d587088913 100644
--- a/recipes/libdlo/kernel-module-udlfb/udlfb.h
+++ b/recipes/libdlo/kernel-module-udlfb/udlfb.h
@@ -50,6 +50,24 @@ static void dlfb_bulk_callback(struct urb *urb)
}
+static void dlfb_edid(struct dlfb_data *dev_info)
+{
+ int i;
+ int ret;
+ char rbuf[2];
+
+ for (i = 0; i < 128; i++) {
+ ret =
+ usb_control_msg(dev_info->udev,
+ usb_rcvctrlpipe(dev_info->udev, 0), (0x02),
+ (0x80 | (0x02 << 5)), i << 8, 0xA1, rbuf, 2,
+ 0);
+ /*printk("ret control msg edid %d: %d [%d]\n",i, ret, rbuf[1]);*/
+ dev_info->edid[i] = rbuf[1];
+ }
+
+}
+
static int dlfb_bulk_msg(struct dlfb_data *dev_info, int len)
{
diff --git a/recipes/linux/linux-powerpc-fsl_git.bb b/recipes/linux/linux-powerpc-fsl_git.bb
index 6d9ab5bbb5..60b7b0e5d5 100644
--- a/recipes/linux/linux-powerpc-fsl_git.bb
+++ b/recipes/linux/linux-powerpc-fsl_git.bb
@@ -3,12 +3,12 @@
require linux.inc
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-powerpc-fsl-git/${MACHINE}"
+FILESPATHPKG =. "linux-powerpc-fsl-git/${MACHINE}:"
SRCREV = "1406de8e11eb043681297adf86d6892ff8efc27a"
PV = "2.6.30"
-PR = "r3"
+PR = "r4"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc.git;protocol=git \
file://defconfig"
diff --git a/recipes/sysklogd/sysklogd.inc b/recipes/sysklogd/sysklogd.inc
index da05c0e02e..2fdc49c543 100644
--- a/recipes/sysklogd/sysklogd.inc
+++ b/recipes/sysklogd/sysklogd.inc
@@ -1,7 +1,6 @@
LICENSE = "GPL"
SECTION = "base"
-DESCRIPTION = "The sysklogd package implements \
-two system log daemons."
+DESCRIPTION = "The sysklogd package implements two system log daemons."
SRC_URI = "http://www.ibiblio.org/pub/Linux/system/daemons/sysklogd-${PV}.tar.gz \
file://nonrootinstall.patch;patch=1"
diff --git a/recipes/sysklogd/sysklogd_1.5.bb b/recipes/sysklogd/sysklogd_1.5.bb
index 31843d603f..37cfd7f28d 100644
--- a/recipes/sysklogd/sysklogd_1.5.bb
+++ b/recipes/sysklogd/sysklogd_1.5.bb
@@ -1 +1,4 @@
require sysklogd.inc
+PR = "r1"
+
+SRC_URI += "file://no-strip-install.patch;patch=1"
diff --git a/recipes/xorg-driver/xf86-video-displaylink_0.2.bb b/recipes/xorg-driver/xf86-video-displaylink_0.3.bb
index 980439ce3b..5df8e9503d 100644
--- a/recipes/xorg-driver/xf86-video-displaylink_0.2.bb
+++ b/recipes/xorg-driver/xf86-video-displaylink_0.3.bb
@@ -4,6 +4,6 @@ DESCRIPTION = "X.Org X server -- displaylink driver"
RRECOMMENDS_${PN} = "kernel-module-udlfb"
-SRC_URI = "http://projects.unbit.it/downloads/xf86-video-displaylink_and_udlfb.tar.gz"
+SRC_URI = "http://projects.unbit.it/downloads/udlfb-0.2.3_and_xf86-video-displaylink-${PV}.tar.gz"
S = "${WORKDIR}/${PN}"