#include <linux/clk-provider.h>
 #include <linux/dma-mapping.h>
 #include <linux/dmaengine.h>
-#include <linux/spi/pxa2xx_spi.h>
 #include <linux/platform_data/i2c-pxa.h>
 #include <linux/soc/pxa/cpu.h>
 
        .resource       = pxa_resource_gpio,
 };
 
-/* pxa2xx-spi platform-device ID equals respective SSP platform-device ID + 1.
- * See comment in arch/arm/mach-pxa/ssp.c::ssp_probe() */
-void __init pxa2xx_set_spi_info(unsigned id, struct pxa2xx_spi_controller *info)
-{
-       struct platform_device *pd;
-
-       pd = platform_device_alloc("pxa2xx-spi", id);
-       if (pd == NULL) {
-               printk(KERN_ERR "pxa2xx-spi: failed to allocate device id %d\n",
-                      id);
-               return;
-       }
-
-       pd->dev.platform_data = info;
-       platform_device_add(pd);
-}
-
 static struct resource pxa_dma_resource[] = {
        [0] = {
                .start  = 0x40000000,
 
 
 static void __init spitz_spi_init(void)
 {
+       struct platform_device *pd;
+       int id = 2;
+
        if (machine_is_akita())
                gpiod_add_lookup_table(&akita_lcdcon_gpio_table);
        else
 
        gpiod_add_lookup_table(&spitz_ads7846_gpio_table);
        gpiod_add_lookup_table(&spitz_spi_gpio_table);
-       pxa2xx_set_spi_info(2, &spitz_spi_info);
+
+       /* pxa2xx-spi platform-device ID equals respective SSP platform-device ID + 1 */
+       pd = platform_device_alloc("pxa2xx-spi", id);
+       if (pd == NULL) {
+               pr_err("pxa2xx-spi: failed to allocate device id %d\n", id);
+       } else {
+               pd->dev.platform_data = &spitz_spi_info;
+               platform_device_add(pd);
+       }
+
        spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices));
 }
 #else
 
        u32 timeout;
 };
 
-#if defined(CONFIG_ARCH_PXA) || defined(CONFIG_ARCH_MMP)
-
-#include <linux/clk.h>
-
-extern void pxa2xx_set_spi_info(unsigned id, struct pxa2xx_spi_controller *info);
-
-#endif
-
 #endif /* __LINUX_SPI_PXA2XX_SPI_H */