[linux-cirrus] Re: EP93xx patch against linux-2.6.12 is out!

  • From: Robert Whaley <rwhaley@xxxxxxxxxxxxxxx>
  • To: linux-cirrus@xxxxxxxxxxxxx
  • Date: Thu, 07 Jul 2005 13:11:36 -0400

Michael Burian wrote:

Robert Whaley wrote:

Here is a 2.6.12 patch:

It seems to work about as well as 2.6.11 on the SPHERE (execpt for USB
host, which as noted earlier doesn't work in 2.6.12 yet).


USB should be fixed


I'll try the new patch later today.

I tried to nuke every IO_ADDRESS that was ep93xx specific.



Thanks for the patch, I've applied it, booted and will test things tomorrow.

Great! I hope it works out well.



Why did you silence this error?

This IOCTL is asking about bad blocks on the on-board flash. The current MTD layer doesn't support bad blocks checking, so it returns -EOPNOSUPP when this ioctl is called.


The current 'erase' and 'eraseall' commands from Debian, use this IOCTL. These commands fail if the IOCTL returns -EOPNOTSUPP.

Probably the better thing to do would be to fix these commands so that they continue to erase even when -EOPNOTSUPP is returned.

On the otherhand, returning 0 (which indicates the block is OK), is also a reasonable return, since MTD is not keeping track of the bad blocks - so the block must be OK as far as the MTD layer is concerned.

You should also carefully review the changes the patch makes to:

touchscreen (changed input API returns to allow X11 and nanox/microwindows to work with tslib and with real (USB) mice),

framebuffer (finished adding LQ64D343, check for and use of fb already setup by bootloader, and removal of a -1 where it was causing loss of a line), and,

ethernet (move MAC address macro from init to open time and code to get mac address from I2C eeprom) to make sure they are right for what you want to do.

To make sure these are generally acceptable. (Note that some folks are strongly opposed to using the FB configured by the bootloader and believe that linux should always configure devices from scratch. But we find this to be very useful since we have to support many different panels and can easily setup the FB parameters to whatever we need before Linux starts).



--- linux-2.6.12.2-ep93xx/drivers/mtd/mtdchar.c 2005-06-29
19:00:53.000000000 -0400
+++ linux-2.6.12.2-ep93xx-sphere/drivers/mtd/mtdchar.c  2005-07-06
10:23:18.000000000 -0400
@@ -499,7 +499,11 @@
                if (copy_from_user(&offs, argp, sizeof(loff_t)))
                        return -EFAULT;
                if (!mtd->block_isbad)
+#if 0
                        ret = -EOPNOTSUPP;
+#else
+                       ret = 0;
+#endif
                else
                        return mtd->block_isbad(mtd, offs);
                break;




--
Robert Whaley
Applied Data Systems            www.applieddata.net
434-244-9504                rwhaley@xxxxxxxxxxxxxxx

Other related posts: