diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2010-11-02 10:08:00 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-11-02 10:08:00 +0000 |
commit | 01518ada4b0ca1571f4b4d21c884b02e9371da62 (patch) | |
tree | 25235b628ee04807ada4ef3ada76d4b534a8bb1a /meta-emenlow/recipes/psb-kernel-source | |
parent | c90c0ceca50fee19e683c19468110fba51da6cfe (diff) | |
download | openembedded-core-01518ada4b0ca1571f4b4d21c884b02e9371da62.tar.gz openembedded-core-01518ada4b0ca1571f4b4d21c884b02e9371da62.tar.bz2 openembedded-core-01518ada4b0ca1571f4b4d21c884b02e9371da62.tar.xz openembedded-core-01518ada4b0ca1571f4b4d21c884b02e9371da62.zip |
meta-emenlow: Rename packages to recipes in line with main repository
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta-emenlow/recipes/psb-kernel-source')
-rw-r--r-- | meta-emenlow/recipes/psb-kernel-source/psb-kernel-source-4.42.0/build.patch | 175 | ||||
-rw-r--r-- | meta-emenlow/recipes/psb-kernel-source/psb-kernel-source_4.42.0.bb | 24 |
2 files changed, 199 insertions, 0 deletions
diff --git a/meta-emenlow/recipes/psb-kernel-source/psb-kernel-source-4.42.0/build.patch b/meta-emenlow/recipes/psb-kernel-source/psb-kernel-source-4.42.0/build.patch new file mode 100644 index 000000000..ce6f2aa41 --- /dev/null +++ b/meta-emenlow/recipes/psb-kernel-source/psb-kernel-source-4.42.0/build.patch @@ -0,0 +1,175 @@ +# These are various fixes needed to make the psb kernel driver build against +# 2.6.33.2. +# The Makefile patch is specific to the Poky environment - the external kernel +# module build expects the kernel tree it's building against to have fixdep +# and modpost built, which isn't the case here. So, the modules rule makes +# sure that they are built before the module is built. +# Aside from that, the changes involve adding missing header files and +# compensating for a structure field changing name and type. + +Index: psb-kernel-source-4.42.0/drm_os_linux.h +=================================================================== +--- psb-kernel-source-4.42.0.orig/drm_os_linux.h ++++ psb-kernel-source-4.42.0/drm_os_linux.h +@@ -50,12 +50,6 @@ + + /** IRQ handler arguments and return type and values */ + #define DRM_IRQ_ARGS int irq, void *arg +-/** backwards compatibility with old irq return values */ +-#ifndef IRQ_HANDLED +-typedef void irqreturn_t; +-#define IRQ_HANDLED /* nothing */ +-#define IRQ_NONE /* nothing */ +-#endif + + /** AGP types */ + #if __OS_HAS_AGP +Index: psb-kernel-source-4.42.0/Makefile +=================================================================== +--- psb-kernel-source-4.42.0.orig/Makefile ++++ psb-kernel-source-4.42.0/Makefile +@@ -165,7 +165,10 @@ endif + all: modules + + modules: includes +- +make -C $(LINUXDIR) $(GETCONFIG) SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules ++ +make -C $(LINUXDIR)/scripts/basic fixdep ++# +make -C $(LINUXDIR) SUBDIRS=scripts/mod modpost ++ +make -C $(LINUXDIR) SUBDIRS=scripts ++ +make -k -C $(LINUXDIR) $(GETCONFIG) SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules + + ifeq ($(HEADERFROMBOOT),1) + +@@ -243,7 +246,7 @@ dristat: dristat.c + drmstat: drmstat.c + $(CC) $(PRGCFLAGS) $< -o $@ $(DRMSTATLIBS) + +-install: ++modules_install: + make -C $(LINUXDIR) $(GETCONFIG) SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules_install + + else +Index: psb-kernel-source-4.42.0/drm_edid.c +=================================================================== +--- psb-kernel-source-4.42.0.orig/drm_edid.c ++++ psb-kernel-source-4.42.0/drm_edid.c +@@ -11,6 +11,7 @@ + #include "drm_edid.h" + + #include <acpi/acpi_drivers.h> ++#include <linux/i2c.h> + + /* Valid EDID header has these bytes */ + static u8 edid_header[] = { 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00 }; +@@ -39,7 +40,7 @@ int drm_get_acpi_edid(char *method, char + if (obj && obj->type == ACPI_TYPE_BUFFER) + memcpy(edid, obj->buffer.pointer, obj->buffer.length); + else { +- printk(KERN_ERR PREFIX "Invalid _DDC data\n"); ++ printk(KERN_ERR "Invalid _DDC data\n"); + status = -EFAULT; + kfree(obj); + } +Index: psb-kernel-source-4.42.0/drm_ttm.c +=================================================================== +--- psb-kernel-source-4.42.0.orig/drm_ttm.c ++++ psb-kernel-source-4.42.0/drm_ttm.c +@@ -28,6 +28,8 @@ + * Authors: Thomas Hellström <thomas-at-tungstengraphics-dot-com> + */ + ++#include "linux/spinlock.h" ++#include "asm/agp.h" + #include "drmP.h" + + static void drm_ttm_ipi_handler(void *null) +Index: psb-kernel-source-4.42.0/psb_drv.c +=================================================================== +--- psb-kernel-source-4.42.0.orig/psb_drv.c ++++ psb-kernel-source-4.42.0/psb_drv.c +@@ -34,8 +34,10 @@ + #include <linux/cpu.h> + #include <linux/notifier.h> + #include <linux/fb.h> ++#include "linux/spinlock.h" ++#include "asm/agp.h" + +-int drm_psb_debug = 0; ++int drm_psb_debug = 255; + EXPORT_SYMBOL(drm_psb_debug); + static int drm_psb_trap_pagefaults = 0; + static int drm_psb_clock_gating = 0; +Index: psb-kernel-source-4.42.0/intel_lvds.c +=================================================================== +--- psb-kernel-source-4.42.0.orig/intel_lvds.c ++++ psb-kernel-source-4.42.0/intel_lvds.c +@@ -29,6 +29,7 @@ + + #include <linux/i2c.h> + #include <linux/backlight.h> ++#include <linux/i2c.h> + #include "drm_crtc.h" + #include "drm_edid.h" + #include "intel_lvds.h" +Index: psb-kernel-source-4.42.0/drm_memory.c +=================================================================== +--- psb-kernel-source-4.42.0.orig/drm_memory.c ++++ psb-kernel-source-4.42.0/drm_memory.c +@@ -264,9 +264,9 @@ static void *agp_remap(unsigned long off + return NULL; + + phys_addr_map = +- agpmem->memory->memory + (offset - agpmem->bound) / PAGE_SIZE; ++ agpmem->memory->pages + (offset - agpmem->bound) / PAGE_SIZE; + for (i = 0; i < num_pages; ++i) +- page_map[i] = pfn_to_page(phys_addr_map[i] >> PAGE_SHIFT); ++ page_map[i] = phys_addr_map[i]; + addr = vmap(page_map, num_pages, VM_IOREMAP, PAGE_AGP); + vfree(page_map); + +Index: psb-kernel-source-4.42.0/drm_agpsupport.c +=================================================================== +--- psb-kernel-source-4.42.0.orig/drm_agpsupport.c ++++ psb-kernel-source-4.42.0/drm_agpsupport.c +@@ -524,7 +524,7 @@ static int drm_agp_populate(struct drm_t + DRM_DEBUG("Current page count is %ld\n", (long) mem->page_count); + mem->page_count = 0; + for (cur_page = pages; cur_page < last_page; ++cur_page) +- mem->pages[mem->page_count++] = phys_to_gart(page_to_phys(*cur_page)); ++ mem->pages[mem->page_count++] = page_to_phys(*cur_page); + agp_be->mem = mem; + return 0; + } +Index: psb-kernel-source-4.42.0/drm_vm.c +=================================================================== +--- psb-kernel-source-4.42.0.orig/drm_vm.c ++++ psb-kernel-source-4.42.0/drm_vm.c +@@ -145,13 +145,13 @@ static int drm_do_vm_fault(struct vm_are + * Get the page, inc the use count, and return it + */ + offset = (baddr - agpmem->bound) >> PAGE_SHIFT; +- page = virt_to_page(__va(agpmem->memory->memory[offset])); ++ page = agpmem->memory->pages[offset]; + get_page(page); + vmf->page = page; + + DRM_DEBUG + ("baddr = 0x%lx page = 0x%p, offset = 0x%lx, count=%d\n", +- baddr, __va(agpmem->memory->memory[offset]), offset, ++ baddr, agpmem->memory->pages[offset], offset, + page_count(page)); + return 0; + } +Index: psb-kernel-source-4.42.0/psb_drv.h +=================================================================== +--- psb-kernel-source-4.42.0.orig/psb_drv.h ++++ psb-kernel-source-4.42.0/psb_drv.h +@@ -809,7 +809,7 @@ extern int drm_psb_detear; + #define PSB_DEBUG(_flag, _fmt, _arg...) \ + do { \ + if (unlikely((_flag) & drm_psb_debug)) \ +- printk(KERN_DEBUG \ ++ printk(KERN_ERR \ + "[psb:0x%02x:%s] " _fmt , _flag, \ + __FUNCTION__ , ##_arg); \ + } while (0) diff --git a/meta-emenlow/recipes/psb-kernel-source/psb-kernel-source_4.42.0.bb b/meta-emenlow/recipes/psb-kernel-source/psb-kernel-source_4.42.0.bb new file mode 100644 index 000000000..5c1a3e1c2 --- /dev/null +++ b/meta-emenlow/recipes/psb-kernel-source/psb-kernel-source_4.42.0.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "Kernel module for the Poulsbo (psb) 2D X11 driver" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://GPLv2_License.txt;md5=f5ca3155cfeaa64a6ea228b11ad6916d" +PR = "r1" + +inherit module + +SRC_URI = "https://launchpad.net/~gma500/+archive/ppa/+files/psb-kernel-source_4.42.0-0ubuntu2~1004um2.tar.gz \ + file://build.patch;patch=1" + +do_compile () { + oe_runmake LINUXDIR=${STAGING_KERNEL_DIR} DRM_MODULES="psb" +} + +do_install () { + mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/extra + cp ${WORKDIR}/${PN}-${PV}/*.ko ${D}/lib/modules/${KERNEL_VERSION}/extra +} + +FILES_${PN} += "${base_libdir}/modules/${KERNEL_VERSION}/extra/*.ko" + +DEPENDS += "virtual/kernel" + +COMPATIBLE_MACHINE = "emenlow" |