[ARM] 3093/1: SharpSL PCMCIA Updates for Cxx00 models
[pandora-kernel.git] / arch / arm / common / scoop.c
index 9e5245c..c7fdf39 100644 (file)
  */
 
 #include <linux/device.h>
+#include <linux/string.h>
+#include <linux/platform_device.h>
 #include <asm/io.h>
 #include <asm/hardware/scoop.h>
 
 #define SCOOP_REG(d,adr) (*(volatile unsigned short*)(d +(adr)))
 
-/* PCMCIA to Scoop linkage structures for pxa2xx_sharpsl.c
-   There is no easy way to link multiple scoop devices into one
-   single entity for the pxa2xx_pcmcia device */
-int scoop_num;
-struct scoop_pcmcia_dev *scoop_devs;
-
 struct  scoop_dev {
        void  *base;
        spinlock_t scoop_lock;
@@ -102,26 +98,24 @@ static void check_scoop_reg(struct scoop_dev *sdev)
 }
 
 #ifdef CONFIG_PM
-static int scoop_suspend(struct device *dev, pm_message_t state, uint32_t level)
+static int scoop_suspend(struct device *dev, pm_message_t state)
 {
-       if (level == SUSPEND_POWER_DOWN) {
-               struct scoop_dev *sdev = dev_get_drvdata(dev);
+       struct scoop_dev *sdev = dev_get_drvdata(dev);
+
+       check_scoop_reg(sdev);
+       sdev->scoop_gpwr = SCOOP_REG(sdev->base, SCOOP_GPWR);
+       SCOOP_REG(sdev->base, SCOOP_GPWR) = (sdev->scoop_gpwr & ~sdev->suspend_clr) | sdev->suspend_set;
 
-               check_scoop_reg(sdev);
-               sdev->scoop_gpwr = SCOOP_REG(sdev->base, SCOOP_GPWR);
-               SCOOP_REG(sdev->base, SCOOP_GPWR) = (sdev->scoop_gpwr & ~sdev->suspend_clr) | sdev->suspend_set;
-       }
        return 0;
 }
 
-static int scoop_resume(struct device *dev, uint32_t level)
+static int scoop_resume(struct device *dev)
 {
-       if (level == RESUME_POWER_ON) {
-               struct scoop_dev *sdev = dev_get_drvdata(dev);
+       struct scoop_dev *sdev = dev_get_drvdata(dev);
+
+       check_scoop_reg(sdev);
+       SCOOP_REG(sdev->base,SCOOP_GPWR) = sdev->scoop_gpwr;
 
-               check_scoop_reg(sdev);
-               SCOOP_REG(sdev->base,SCOOP_GPWR) = sdev->scoop_gpwr;
-       }
        return 0;
 }
 #else