<?xml version="1.0" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text">OpenPandora - Hunting Timmy, the Bug.</title>
  <subtitle type="text">
    OpenPandora - Hunting Timmy, the Bug.OpenPandora Development OS: Recently edited tasks
  </subtitle>
  <id>http://bugs.openpandora.org/</id>
    <updated>2013-05-07T15:45:23Z</updated>
  <link rel="self" type="text/xml" href="feed.php?feed_type=atom"/>
  <link rel="alternate" type="text/html" hreflang="en" href="/feed.php"/>
    <entry>
    <title>FS#316: Wifi Toggle not working/not more present</title>
    <link href="http://bugs.openpandora.org/index.php?do=details&amp;task_id=316" />    
    <updated>2013-05-07T15:45:23Z</updated>    
    <published>2013-03-26T18:13:51Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml">
        The Wifi toggle is hidden in the menu and also on the desktop,
this isn't a wifi driver problem as enabling the service manually make the wifi to work.
      </div>
    </content>
    <author><name>Andrea Colacino</name></author>
    <id>http://bugs.openpandora.org/:316</id>
  </entry>
    <entry>
    <title>FS#309: Please add xz support in the kernel so squashfs images can be better compressed</title>
    <link href="http://bugs.openpandora.org/index.php?do=details&amp;task_id=309" />    
    <updated>2012-12-14T22:00:59Z</updated>    
    <published>2012-12-14T22:00:59Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml">
        Please add support for xz compression in the kernel so squashfs tools can compress better the png images.
      </div>
    </content>
    <author><name>Nox P@sNox</name></author>
    <id>http://bugs.openpandora.org/:309</id>
  </entry>
    <entry>
    <title>FS#296: upowerd fails to open file /proc/timer_stats</title>
    <link href="http://bugs.openpandora.org/index.php?do=details&amp;task_id=296" />    
    <updated>2012-07-24T22:01:18Z</updated>    
    <published>2012-07-24T22:01:18Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml">
        Hi,

Upowerd spams each 10 seconds with warning "failed to open file '/proc/timer_stats'".

According to https://bugzilla.redhat.com/show_bug.cgi?id=826191 this feature can be activated in kernel. I'm not sure if upowerd can be told not to check this feature, I haven't been able to find an specific option for that so far. Activating this option in kernel, this warning should be eliminated.

It would help give upowerd data it needs, and also it will stop filling up the log, which then I guess interferes with power saving (active file access while writing into log...).
      </div>
    </content>
    <author><name>Slobodan Milnovi?</name></author>
    <id>http://bugs.openpandora.org/:296</id>
  </entry>
    <entry>
    <title>FS#293: migration to systemd: populate-volatile.sh</title>
    <link href="http://bugs.openpandora.org/index.php?do=details&amp;task_id=293" />    
    <updated>2012-07-13T22:50:16Z</updated>    
    <published>2012-07-13T22:50:16Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml">
        populating volatile requires execution of initialization script, which I had to minimally modify for it to start working. I am placing that file to /usr/pandora/init/ folder.

Any suggestions for better place for custom init scripts? :)

This script fixes utmp (and pndnotifyd) problem for systemd image

Noticed problems (TODO):
boot sequence recreates cache, run and tmp dirs before populate-volatile inits them. One of the solutions would be to deploy system with symlinks already in place (pointing to /var/volatile subdirs)

-------------
Deployment:

delete:
/etc/init.d/populate-volatile.sh
/etc/rcS.d/S37populate-volatile.sh
/var/{cache,lock,log,run,tmp}

add:
/etc/systemd/system/populate-volatile.service
/usr/pandora/init/populate-volatile.sh

symlink:
/etc/systemd/system/basic.target.wants/populate-volatile.service to /etc/systemd/system/populate-volatile.service


URLs for files:
http://dl.dropbox.com/u/18781412/next/populate-volatile.service
http://dl.dropbox.com/u/18781412/next/populate-volatile.sh
      </div>
    </content>
    <author><name>Henrik</name></author>
    <id>http://bugs.openpandora.org/:293</id>
  </entry>
    <entry>
    <title>FS#274: Patch for TI SGX 4.04.00.03 drivers to compile against kernel 3.2.1</title>
    <link href="http://bugs.openpandora.org/index.php?do=details&amp;task_id=274" />    
    <updated>2012-02-17T02:03:49Z</updated>    
    <published>2012-02-17T02:03:49Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml">
        This patch when applied aginst TI 4.04.00.03 SGX drivers will allow building the pvr kernel modules.
This relies on task 272 (kernel patch) and should be used inconjuction with task 273
 
diff -ru a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_displayclass.c b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_displayclass.c
--- a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_displayclass.c	2011-06-20 21:03:33.000000000 +1000
+++ b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_displayclass.c	2012-02-09 08:37:21.000000000 +1100
@@ -830,7 +830,11 @@
 	unsigned long ulLCM;
 	unsigned uiFBDevID = psDevInfo->uiFBDevID;
 
+#if LINUX_VERSION_CODE  >= KERNEL_VERSION(2,6,38)
+	console_lock();
+#else
 	acquire_console_sem();
+#endif
 
 	psLINFBInfo = registered_fb[uiFBDevID];
 	if (psLINFBInfo == NULL)
@@ -972,7 +976,11 @@
 ErrorModPut:
 	module_put(psLINFBOwner);
 ErrorRelSem:
+#if LINUX_VERSION_CODE  >= KERNEL_VERSION(2,6,38)
+	console_unlock();
+#else
 	release_console_sem();
+#endif
 
 	return eError;
 }
@@ -982,7 +990,11 @@
 	struct fb_info *psLINFBInfo = psDevInfo->psLINFBInfo;
 	struct module *psLINFBOwner;
 
+#if LINUX_VERSION_CODE  >= KERNEL_VERSION(2,6,38)
+	console_lock();
+#else
 	acquire_console_sem();
+#endif
 
 	psLINFBOwner = psLINFBInfo->fbops->owner;
 
@@ -993,7 +1005,11 @@
 
 	module_put(psLINFBOwner);
 
+#if LINUX_VERSION_CODE  >= KERNEL_VERSION(2,6,38)
+	console_unlock();
+#else
 	release_console_sem();
+#endif
 }
 
 static OMAPLFB_DEVINFO *OMAPLFBInitDev(unsigned uiFBDevID)
diff -ru a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c
--- a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c	2011-06-20 21:03:33.000000000 +1000
+++ b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c	2012-02-09 13:14:28.000000000 +1100
@@ -24,11 +24,14 @@
  *
  ******************************************************************************/
 
+
+#include <linux/version.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
 #ifndef AUTOCONF_INCLUDED
 #include <linux/config.h>
 #endif
+#endif
 
-#include <linux/version.h>
 
 #include <asm/atomic.h>
 
@@ -236,8 +239,11 @@
 	struct fb_var_screeninfo sFBVar;
 	int res;
 	unsigned long ulYResVirtual;
-
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_lock();
+#else
 	acquire_console_sem();
+#endif
 
 	sFBVar = psDevInfo->psLINFBInfo->var;
 
@@ -268,31 +274,37 @@
 			printk(KERN_INFO DRIVER_PREFIX ": %s: Device %u: fb_pan_display failed (Y Offset: %lu, Error: %d)\n", __FUNCTION__, psDevInfo->uiFBDevID, psBuffer->ulYOffset, res);
 		}
 	}
-
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_unlock();
+#else
 	release_console_sem();
+#endif
 }
 
 OMAPLFB_UPDATE_MODE OMAPLFBGetUpdateMode(OMAPLFB_DEVINFO *psDevInfo)
 {
 	struct omap_dss_device *psDSSDev = fb2display(psDevInfo->psLINFBInfo);
 	OMAP_DSS_DRIVER(psDSSDrv, psDSSDev);
-
-	enum omap_dss_update_mode eMode;
-
-	if (psDSSDrv == NULL || psDSSDrv->get_update_mode == NULL)
-	{
-		DEBUG_PRINTK((KERN_INFO DRIVER_PREFIX ": %s: Device %u: Can't get update mode\n", __FUNCTION__, psDevInfo->uiFBDevID));
-		return OMAPLFB_UPDATE_MODE_UNDEFINED;
+        if (psDSSDrv == NULL || psDSSDev == NULL)
+        {
+		DEBUG_PRINTK((KERN_INFO DRIVER_PREFIX ": %s: Device %u: No DSS device\n", __FUNCTION__, psDevInfo->uiFBDevID));
+        }
+	enum omapfb_update_mode eMode;
+
+	if (!omapfb_get_update_mode(psDevInfo->psLINFBInfo, &eMode))
+	{
+//		DEBUG_PRINTK((KERN_INFO DRIVER_PREFIX ": %s: Device %u: Can't get update mode\n", __FUNCTION__, psDevInfo->uiFBDevID));
+		return OMAPLFB_UPDATE_MODE_AUTO;
+//		return OMAPLFB_UPDATE_MODE_UNDEFINED;
 	}
 
-	eMode = psDSSDrv->get_update_mode(psDSSDev);
 	switch(eMode)
 	{
-		case OMAP_DSS_UPDATE_AUTO:
+		case OMAPFB_AUTO_UPDATE:
 			return OMAPLFB_UPDATE_MODE_AUTO;
-		case OMAP_DSS_UPDATE_MANUAL:
+		case OMAPFB_MANUAL_UPDATE:
 			return OMAPLFB_UPDATE_MODE_MANUAL;
-		case OMAP_DSS_UPDATE_DISABLED:
+		case OMAPFB_UPDATE_DISABLED:
 			return OMAPLFB_UPDATE_MODE_DISABLED;
 		default:
 			DEBUG_PRINTK((KERN_INFO DRIVER_PREFIX ": %s: Device %u: Unknown update mode (%d)\n", __FUNCTION__, psDevInfo->uiFBDevID, eMode));
@@ -307,10 +319,10 @@
 {
 	struct omap_dss_device *psDSSDev = fb2display(psDevInfo->psLINFBInfo);
 	OMAP_DSS_DRIVER(psDSSDrv, psDSSDev);
-	enum omap_dss_update_mode eDSSMode;
+	enum omapfb_update_mode eDSSMode;
 	int res;
 
-	if (psDSSDrv == NULL || psDSSDrv->set_update_mode == NULL)
+	if (psDSSDrv == NULL)
 	{
 		DEBUG_PRINTK((KERN_INFO DRIVER_PREFIX ": %s: Device %u: Can't set update mode\n", __FUNCTION__, psDevInfo->uiFBDevID));
 		return OMAPLFB_FALSE;
@@ -319,20 +331,20 @@
 	switch(eMode)
 	{
 		case OMAPLFB_UPDATE_MODE_AUTO:
-			eDSSMode = OMAP_DSS_UPDATE_AUTO;
+			eDSSMode = OMAPFB_AUTO_UPDATE;
 			break;
 		case OMAPLFB_UPDATE_MODE_MANUAL:
-			eDSSMode = OMAP_DSS_UPDATE_MANUAL;
+			eDSSMode = OMAPFB_MANUAL_UPDATE;
 			break;
 		case OMAPLFB_UPDATE_MODE_DISABLED:
-			eDSSMode = OMAP_DSS_UPDATE_DISABLED;
+			eDSSMode = OMAPFB_UPDATE_DISABLED;
 			break;
 		default:
 			DEBUG_PRINTK((KERN_INFO DRIVER_PREFIX ": %s: Device %u: Unknown update mode (%d)\n", __FUNCTION__, psDevInfo->uiFBDevID, eMode));
 			return OMAPLFB_FALSE;
 	}
 
-	res = psDSSDrv->set_update_mode(psDSSDev, eDSSMode);
+	res = omapfb_set_update_mode(psDevInfo->psLINFBInfo, eDSSMode);
 	if (res != 0)
 	{
 		DEBUG_PRINTK((KERN_INFO DRIVER_PREFIX ": %s: Device %u: set_update_mode failed (%d)\n", __FUNCTION__, psDevInfo->uiFBDevID, res));
@@ -441,10 +453,17 @@
 OMAPLFB_ERROR OMAPLFBUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo)
 {
 	int res;
-
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_lock();
+#else
 	acquire_console_sem();
+#endif
 	res = fb_blank(psDevInfo->psLINFBInfo, 0);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_unlock();
+#else
 	release_console_sem();
+#endif
 	if (res != 0 && res != -EINVAL)
 	{
 		printk(KERN_WARNING DRIVER_PREFIX
@@ -459,9 +478,17 @@
 
 static void OMAPLFBBlankDisplay(OMAPLFB_DEVINFO *psDevInfo)
 {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_lock();
+#else
 	acquire_console_sem();
+#endif
 	fb_blank(psDevInfo->psLINFBInfo, 1);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_unlock();
+#else
 	release_console_sem();
+#endif
 }
 
 static void OMAPLFBEarlySuspendHandler(struct early_suspend *h)
@@ -692,9 +719,17 @@
 				flush_workqueue(psDevInfo->psSwapChain->psWorkQueue);
 			}
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        		console_lock();
+#else
 			acquire_console_sem();
+#endif
 			ret = fb_blank(psDevInfo->psLINFBInfo, iFBMode);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        		console_unlock();
+#else
 			release_console_sem();
+#endif
 
 			OMAPLFBCreateSwapChainUnLock(psDevInfo);
 
@@ -717,7 +752,6 @@
 static int __init OMAPLFB_Init(void)
 #endif
 {
-
 	if(OMAPLFBInit() != OMAPLFB_OK)
 	{
 		printk(KERN_WARNING DRIVER_PREFIX ": %s: OMAPLFBInit failed\n", __FUNCTION__);
diff -ru a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/common/resman.c b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/common/resman.c
--- a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/common/resman.c	2011-06-20 21:03:34.000000000 +1000
+++ b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/common/resman.c	2012-02-09 23:33:43.000000000 +1100
@@ -24,15 +24,17 @@
  *
  ******************************************************************************/
 
+#include <linux/version.h>
 #include "services_headers.h"
 #include "resman.h"
 
 #ifdef __linux__
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
 #ifndef AUTOCONF_INCLUDED
  #include <linux/config.h>
 #endif
+#endif
 
-#include <linux/version.h>
 #include <linux/sched.h>
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,9)
 #include <linux/hardirq.h>
diff -ru a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/event.c b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/event.c
--- a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/event.c	2011-06-20 21:03:34.000000000 +1000
+++ b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/event.c	2012-02-09 09:00:12.000000000 +1100
@@ -24,11 +24,14 @@
  *
  ******************************************************************************/
 
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
 #ifndef AUTOCONF_INCLUDED
  #include <linux/config.h>
 #endif
+#endif
 
-#include <linux/version.h>
 #include <asm/io.h>
 #include <asm/page.h>
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22))
diff -ru a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mmap.c b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mmap.c
--- a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mmap.c	2011-06-20 21:03:34.000000000 +1000
+++ b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mmap.c	2012-02-09 08:56:41.000000000 +1100
@@ -24,11 +24,14 @@
  *
  ******************************************************************************/
 
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
 #ifndef AUTOCONF_INCLUDED
  #include <linux/config.h>
 #endif
+#endif
 
-#include <linux/version.h>
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/vmalloc.h>
diff -ru a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mm.c b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mm.c
--- a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mm.c	2011-06-20 21:03:34.000000000 +1000
+++ b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mm.c	2012-02-09 08:52:48.000000000 +1100
@@ -24,11 +24,14 @@
  *
  ******************************************************************************/
 
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
 #ifndef AUTOCONF_INCLUDED
  #include <linux/config.h>
 #endif
+#endif
 
-#include <linux/version.h>
 #include <linux/mm.h>
 #include <linux/vmalloc.h>
 #include <asm/io.h>
diff -ru a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mm.h b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mm.h
--- a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mm.h	2011-06-20 21:03:34.000000000 +1000
+++ b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mm.h	2012-02-09 08:55:49.000000000 +1100
@@ -27,11 +27,14 @@
 #ifndef __IMG_LINUX_MM_H__
 #define __IMG_LINUX_MM_H__
 
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
 #ifndef AUTOCONF_INCLUDED
  #include <linux/config.h>
 #endif
+#endif
 
-#include <linux/version.h>
 #include <linux/slab.h>
 #include <linux/mm.h>
 #include <linux/list.h>
diff -ru a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/module.c b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/module.c
--- a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/module.c	2011-06-20 21:03:34.000000000 +1000
+++ b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/module.c	2012-02-09 08:59:05.000000000 +1100
@@ -24,9 +24,13 @@
  *
  ******************************************************************************/
 
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
 #ifndef AUTOCONF_INCLUDED
  #include <linux/config.h>
 #endif
+#endif
 
 #if !defined(SUPPORT_DRI_DRM)
 	
@@ -44,7 +48,6 @@
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
-#include <linux/version.h>
 #include <linux/fs.h>
 #include <linux/proc_fs.h>
 
diff -ru a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mutils.c b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mutils.c
--- a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mutils.c	2011-06-20 21:03:34.000000000 +1000
+++ b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mutils.c	2012-02-10 00:24:09.000000000 +1100
@@ -24,10 +24,13 @@
  *
  ******************************************************************************/
 
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
 #ifndef AUTOCONF_INCLUDED
 #include <linux/config.h>
 #endif
-#include <linux/version.h>
+#endif
 
 #include <linux/spinlock.h>
 #include <linux/mm.h>
diff -ru a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h
--- a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h	2011-06-20 21:03:34.000000000 +1000
+++ b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h	2012-02-09 08:54:31.000000000 +1100
@@ -27,11 +27,13 @@
 #ifndef __IMG_LINUX_MUTILS_H__
 #define __IMG_LINUX_MUTILS_H__
 
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
 #ifndef AUTOCONF_INCLUDED
 #include <linux/config.h>
 #endif
-
-#include <linux/version.h>
+#endif
 
 #if !(defined(__i386__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)))
 #if defined(SUPPORT_LINUX_X86_PAT)
diff -ru a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/osfunc.c b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/osfunc.c
--- a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/osfunc.c	2011-06-20 21:03:34.000000000 +1000
+++ b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/osfunc.c	2012-02-09 09:01:16.000000000 +1100
@@ -24,11 +24,14 @@
  *
  ******************************************************************************/
 
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
 #ifndef AUTOCONF_INCLUDED
  #include <linux/config.h>
 #endif
+#endif
 
-#include <linux/version.h>
 #include <asm/io.h>
 #include <asm/page.h>
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22))
diff -ru a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/proc.c b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/proc.c
--- a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/proc.c	2011-06-20 21:03:34.000000000 +1000
+++ b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/proc.c	2012-02-09 08:57:49.000000000 +1100
@@ -24,13 +24,16 @@
  *
  ******************************************************************************/
 
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
 #ifndef AUTOCONF_INCLUDED
  #include <linux/config.h>
 #endif
+#endif
 
 #include <linux/init.h>
 #include <linux/module.h>
-#include <linux/version.h>
 #include <linux/fs.h>
 #include <linux/proc_fs.h>
 #include <linux/seq_file.h>
diff -ru a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/pvr_debug.c b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/pvr_debug.c
--- a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/pvr_debug.c	2011-06-20 21:03:34.000000000 +1000
+++ b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/pvr_debug.c	2012-02-09 23:54:38.000000000 +1100
@@ -24,9 +24,12 @@
  *
  ******************************************************************************/
 
+#include <linux/version.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
 #ifndef AUTOCONF_INCLUDED
  #include <linux/config.h>
 #endif
+#endif
 
 #include <asm/io.h>
 #include <asm/uaccess.h>
@@ -72,7 +75,7 @@
 static PVRSRV_LINUX_MUTEX gsDebugMutexNonIRQ;
 
  
-static spinlock_t gsDebugLockIRQ = SPIN_LOCK_UNLOCKED;
+static DEFINE_SPINLOCK(gsDebugLockIRQ);
 
 #if !defined (USE_SPIN_LOCK)  
 #define	USE_SPIN_LOCK (in_interrupt() || !preemptible())
diff -ru a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/pvr_drm.c b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/pvr_drm.c
--- a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/pvr_drm.c	2011-06-20 21:03:34.000000000 +1000
+++ b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/pvr_drm.c	2012-02-16 01:58:14.000000000 +1100
@@ -26,14 +26,16 @@
 
 #if defined(SUPPORT_DRI_DRM)
 
+#include <linux/version.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
 #ifndef AUTOCONF_INCLUDED
  #include <linux/config.h>
 #endif
+#endif
 
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
-#include <linux/version.h>
 #include <linux/fs.h>
 #include <linux/proc_fs.h>
 #include <linux/sched.h>
@@ -371,11 +373,23 @@
 		.poll = drm_poll,
 		.fasync = drm_fasync,
 	},
+#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,38))
 	.pci_driver = 
 	{
 		.name = PVR_DRM_NAME,
 		.id_table = asPciIdList,
 	},
+#else
+	.kdriver = 
+	{
+	PVR_DRM_NAME,
+	asPciIdList,
+	},
+//	{
+//		.pci->name = PVR_DRM_NAME,
+//		.pci->id_table = asPciIdList,
+//	},
+#endif
 		
 	.name = PVR_DRM_NAME,
 	.desc = PVR_DRM_DESC,
@@ -385,6 +399,13 @@
 	.patchlevel = PVRVERSION_BUILD,
 };
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
+static struct pci_driver pci_pvr_driver = {
+        .name = PVR_DRM_NAME,
+        .id_table = asPciIdList,
+};
+#endif
+
 static int __init PVRSRVDrmInit(void)
 {
 	int iRes;
@@ -401,7 +422,11 @@
 	}
 #endif
 
+#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,38))
 	iRes = drm_init(&sPVRDrmDriver);
+#else
+	iRes = drm_pci_init(&sPVRDrmDriver,&pci_pvr_driver);
+#endif
 #if defined(PVR_DRI_DRM_NOT_PCI)
 	if (iRes != 0)
 	{
@@ -413,7 +438,11 @@
 	
 static void __exit PVRSRVDrmExit(void)
 {
+#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,38))
 	drm_exit(&sPVRDrmDriver);
+#else
+	drm_pci_exit(&sPVRDrmDriver,&pci_pvr_driver);
+#endif
 
 #if defined(PVR_DRI_DRM_NOT_PCI)
 	drm_pvr_dev_remove();
diff -ru a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/pvr_uaccess.h b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/pvr_uaccess.h
--- a/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/pvr_uaccess.h	2011-06-20 21:03:34.000000000 +1000
+++ b/Graphics_SDK_4_04_00_03/GFX_Linux_KM/services4/srvkm/env/linux/pvr_uaccess.h	2012-02-09 08:51:21.000000000 +1100
@@ -27,11 +27,14 @@
 #ifndef __PVR_UACCESS_H__
 #define __PVR_UACCESS_H__
 
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
 #ifndef AUTOCONF_INCLUDED
  #include <linux/config.h>
 #endif
+#endif
 
-#include <linux/version.h>
 #include <asm/uaccess.h>
 
 static inline unsigned long pvr_copy_to_user(void __user *pvTo, const void *pvFrom, unsigned long ulBytes)
      </div>
    </content>
    <author><name>Chris</name></author>
    <id>http://bugs.openpandora.org/:274</id>
  </entry>
    <entry>
    <title>FS#273: TI SGX driver package selection</title>
    <link href="http://bugs.openpandora.org/index.php?do=details&amp;task_id=273" />    
    <updated>2012-02-17T00:57:57Z</updated>    
    <published>2012-02-17T00:57:57Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml">
        The last release of TI Graphics SDK Product to support the 1.0.3 SGX core is 4.04.00.03
The overlay needs to peg the package selection to this version.
      </div>
    </content>
    <author><name>Chris</name></author>
    <id>http://bugs.openpandora.org/:273</id>
  </entry>
    <entry>
    <title>FS#272: kernel 3.2.1 DSS export omapfb update mode functions</title>
    <link href="http://bugs.openpandora.org/index.php?do=details&amp;task_id=272" />    
    <updated>2012-02-17T00:53:16Z</updated>    
    <published>2012-02-17T00:53:16Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml">
        The update mode functions have moved from the DSS layer to omapfb implementaion.
This patch exports the new function symbols for use by the TI drivers.

--- a/drivers/video/omap2/omapfb/omapfb-ioctl.c
+++ b/drivers/video/omap2/omapfb/omapfb-ioctl.c
@@ -22,6 +22,7 @@
 
 #include <linux/fb.h>
 #include <linux/device.h>
+#include <linux/module.h>
 #include <linux/uaccess.h>
 #include <linux/platform_device.h>
 #include <linux/mm.h>
@@ -359,6 +360,7 @@ int omapfb_set_update_mode(struct fb_info *fbi,
 
        return r;
 }
+EXPORT_SYMBOL(omapfb_set_update_mode);
 
 int omapfb_get_update_mode(struct fb_info *fbi,
                enum omapfb_update_mode *mode)
@@ -381,6 +383,7 @@ int omapfb_get_update_mode(struct fb_info *fbi,
 
        return 0;
 }
+EXPORT_SYMBOL(omapfb_get_update_mode);
 
 /* XXX this color key handling is a hack... */
 static struct omapfb_color_key omapfb_color_keys[2];
      </div>
    </content>
    <author><name>Chris</name></author>
    <id>http://bugs.openpandora.org/:272</id>
  </entry>
    <entry>
    <title>FS#206: First Boot Wizard - Controls assignment screen needed</title>
    <link href="http://bugs.openpandora.org/index.php?do=details&amp;task_id=206" />    
    <updated>2012-01-19T12:30:37Z</updated>    
    <published>2011-02-08T22:02:18Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml">
        Since I don't have a Pandora, I used the videos that EvilDragon has shown to discover this issue. Nowhere did I see in the First Boot Wizard that it tells you what the default controls in XFCE does like for example how the mouse moves and clicking using the nubs. It also doesn't tell you what the gaming buttons do (L and R included).

Would be nice to know for first time users. It should also tell a user if they want to change these setting to look at a specific place after the wizard is done. We shouldn't have the users figure the controls and such out by trial and error. When is that ever fun? :)
      </div>
    </content>
    <author><name>Colin Pfaff</name></author>
    <id>http://bugs.openpandora.org/:206</id>
  </entry>
    <entry>
    <title>FS#191: Add XInput extention to allow pressure sensivity in apps</title>
    <link href="http://bugs.openpandora.org/index.php?do=details&amp;task_id=191" />    
    <updated>2012-01-18T16:17:48Z</updated>    
    <published>2010-10-07T12:41:07Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml">
        Please see this for GTK apps : http://library.gnome.org/devel/gdk/stable/gdk-Input-Devices.html
And see this thread : http://boards.openpandora.org/index.php?/topic/372-xournal-pdf-annotations/page__gopid__6836#entry6836
      </div>
    </content>
    <author><name>Sébastien Huss</name></author>
    <id>http://bugs.openpandora.org/:191</id>
  </entry>
  </feed>
