.num_resources  = ARRAY_SIZE(i2c_power_resources),
  };
  
 +void __init pxa_set_i2c_power_info(struct i2c_pxa_platform_data *info)
 +{
 +      pxa27x_device_i2c_power.dev.platform_data = info;
 +}
 +
  static struct platform_device *devices[] __initdata = {
-       &pxa_device_mci,
        &pxa_device_udc,
-       &pxa_device_fb,
        &pxa_device_ffuart,
        &pxa_device_btuart,
        &pxa_device_stuart,
 
  
  #define TIMEOUT 100000
  
- struct ssp_info_ {
-       int irq;
-       u32 clock;
- };
- 
- /*
-  * SSP port clock and IRQ settings
-  */
- static const struct ssp_info_ ssp_info[PXA_SSP_PORTS] = {
- #if defined (CONFIG_PXA27x)
-       {IRQ_SSP,       CKEN_SSP1},
-       {IRQ_SSP2,      CKEN_SSP2},
-       {IRQ_SSP3,      CKEN_SSP3},
- #else
-       {IRQ_SSP,       CKEN_SSP},
-       {IRQ_NSSP,      CKEN_NSSP},
-       {IRQ_ASSP,      CKEN_ASSP},
- #endif
- };
- 
- static DEFINE_MUTEX(mutex);
- static int use_count[PXA_SSP_PORTS] = {0, 0, 0};
- 
  static irqreturn_t ssp_interrupt(int irq, void *dev_id)
  {
 -      struct ssp_dev *dev = (struct ssp_dev*) dev_id;
 +      struct ssp_dev *dev = dev_id;
-       unsigned int status = SSSR_P(dev->port);
+       struct ssp_device *ssp = dev->ssp;
+       unsigned int status;
  
-       SSSR_P(dev->port) = status; /* clear status bits */
+       status = __raw_readl(ssp->mmio_base + SSSR);
+       __raw_writel(status, ssp->mmio_base + SSSR);
  
        if (status & SSSR_ROR)
                printk(KERN_WARNING "SSP(%d): receiver overrun\n", dev->port);