Re: [PATCH] Samcop sleeve fixes, new and better (and partially working)

From: Milan Plzik <milan.plzik_at_gmail.com>
Date: Sat, 28 Jul 2007 11:48:33 +0200

On So, 2007-07-28 at 00:52 +0300, Paul Sokolovsky wrote:
> Hello Milan,
>
> Tuesday, July 24, 2007, 8:50:02 PM, you wrote:
>
> > Hello,
>
> > attached patch fully replaces previous one. This should bring samcop
> > sleeve into pseudo-usable state. From what I have tested, sleeve (at
> > least dual pcmcia one) insertion/removal works, PCMCIA devices are
> > recognized and some of them even work. I was able to successfully use my
> > pcnet_cs-driven ethernet card, but orinoco wireless card doesn't work
> > properly.
>
> > Current issues & TODO:
> > - sleeve removal is probably not handled entirely correctly, I guess it
> > is not good idea to leave cards inside sleeve when removing it.
> > - above mentioned problems with (at least) orinoco cards
> > - it would be nice to report status of sleeve battery, when applicable
> > - sleeve power management
>
> Great work, Milan!

  Thanks:)

> I committed most, but not all of your patch.
> Only includes/Kconfigs hacks didn't go in, unfortunately I don't have
> time to dump them here and comment, so instead would ask you to do
> that if you sure they should be in ;-).

  I'll try to comment the changes in related files, from my PoV changes
should be correct, but I might be also wrong:)

--- include/asm-arm/ipaq-sleeve.h 2 Jul 2007 18:27:47 -0000 1.8
+++ include/asm-arm/ipaq-sleeve.h 28 Jul 2007 08:28:23 -0000
@@ -20,7 +20,8 @@
 #define _INCLUDE_IPAQ_SLEEVE_H_
 
 #include <linux/device.h>
-#include <asm/arch-sa1100/h3600.h> /* !!! */
+#include <linux/irqreturn.h>
+//#include <asm/arch-sa1100/h3600.h> /* !!! */

  Code above is not required anymore, IIRC there were some
h3600-specific things used in this file, but are not anymore. I think it
is good idea to not include this file.
 
@@ -215,6 +216,6 @@
 
 extern int ipaq_sleeve_register(struct ipaq_sleeve_ops *ops, void *dev);
 extern int ipaq_sleeve_unregister(void);
-extern irqreturn_t ipaq_sleeve_presence_interrupt (int irq, void *dev_id, struct pt_regs *regs);
+extern irqreturn_t ipaq_sleeve_presence_interrupt (int irq, void *dev_id);
 
  Standard fix to change in interrupt handler which occured half year
(or more? :) ago.

 #endif /* _INCLUDE_IPAQ_SLEEVE_H_ */

  Ugh, looks like I still did not remove all mess I've made while
playing with sleeve. Thanks for noticing this.

--- include/asm-arm/arch-sa1100/h3600.h 25 Jun 2007 05:59:28 -0000 1.28
+++ include/asm-arm/arch-sa1100/h3600.h 28 Jul 2007 08:28:23 -0000
@@ -27,11 +27,13 @@
 
 #include <linux/interrupt.h>
 
-#include <asm/arch/ipaqsa.h>
+#include <asm/arch-sa1100/ipaqsa.h>
 
 /*
  * GPIO lines that are common across ALL SA1100 iPAQ models are in "asm/arch-sa1100/ipaqsa.h"
  * This file contains machine-specific definitions
+ *
+ * FIXME: so the definitions should not be on arch-specific directory
  */

  Changes in drivers/misc/Kconfig -- I copied contents of Makefile.ipaq
there. I have not noticed the ASIC2 things, I'm not sure in what status
are they, but I guess the option for FSI can stay there, I would like to
enable it once. On the other hand, it can be enabled at that time... .

--- drivers/pcmcia/Kconfig 11 Jun 2007 16:00:12 -0000 1.22
+++ drivers/pcmcia/Kconfig 28 Jul 2007 08:28:10 -0000
@@ -294,6 +294,6 @@
 
 config IPAQ_PCMCIA_SLEEVE
        tristate "PCMCIA/CF expansion pack on HP iPAQ"
- depends on IPAQ_SLEEVE
+ depends on IPAQ_SLEEVE && ((PCMCIA_PXA2XX && ARCH_PXA) ||
(ARCH_SA1100))
 
 endmenu

  This change might not be neccessary, too, again remains of older
attempts to get sleeve working, when I did not understand how do things
work together... .

  I hope that's all, sorry for (again) unclean patch, Next time I'll try
to review everything, not just .c files:-/

> > Milan
>
>
>
Received on Sat Jul 28 2007 - 05:48:45 EDT

This archive was generated by hypermail 2.2.0 : Sun Jul 29 2007 - 08:25:33 EDT