static int __init zyloniteii_init(void) { int ret; int err; dbg(KERN_INFO "zyloniteii_init\n"); if (!machine_is_zylonite2()) return -ENODEV; zyloniteii_snd_device = platform_device_alloc("soc-audio", -1); if (!zyloniteii_snd_device) return -ENOMEM; platform_set_drvdata(zyloniteii_snd_device, &zyloniteii_snd_devdata); zyloniteii_snd_devdata.dev = &zyloniteii_snd_device->dev; ret = platform_device_add(zyloniteii_snd_device); if (ret) platform_device_put(zyloniteii_snd_device); #if defined(ZYLONITEII_SSP_SYSFS) printk("create sysfs node for ssp configuration\n"); err = device_create_file(&zyloniteii_snd_device->dev, &dev_attr_asspdr_config); if (err) { printk(KERN_WARNING "asoc: failed to add asysdr sysfs entries\n"); } err = device_create_file(&zyloniteii_snd_device->dev, &dev_attr_asysdr_config); if (err) { printk(KERN_WARNING "asoc: failed to add asspdr sysfs entries\n"); } #endif return ret; }
static void __init aspenite_init(void) { mfp_config(ARRAY_AND_SIZE(aspenite_pin_config)); pxa168_set_vdd_iox(VDD_IO0, VDD_IO_3P3V); pxa168_set_vdd_iox(VDD_IO1, VDD_IO_3P3V); pxa168_set_vdd_iox(VDD_IO2, VDD_IO_3P3V); pxa168_set_vdd_iox(VDD_IO3, VDD_IO_3P3V); pxa168_set_vdd_iox(VDD_IO4, VDD_IO_3P3V); pxa168_mfp_set_fastio_drive(MFP_DS02X); /* on-chip devices */ pxa168_add_uart(1); #if defined(CONFIG_BT_HCIUART) && defined(CONFIG_WLAN_8688_SDIO) pxa168_add_uart(3); #endif aspenite_add_nand(); pxa168_add_ssp(0); #if defined(CONFIG_MTD_M25P80) && defined(CONFIG_SPI_PXA2XX) pxa168_add_ssp(1); pxa168_add_spi(2, &pxa_ssp_master_info); spi_flashinit(); #endif pxa168_add_twsi(0, &pwri2c_info, ARRAY_AND_SIZE(aspenite_i2c_board_info)); pxa168_add_twsi(1, &pwri2c_info, ARRAY_AND_SIZE(pwri2c_board_info)); if (is_android()) pxa168_add_keypad(&aspenite_android_keypad_info); else pxa168_add_keypad(&aspenite_keypad_info); #ifdef CONFIG_USB_GADGET_PXA_U2O pxa168_add_u2o(&aspenite_u2o_info); #endif #ifdef CONFIG_USB_OTG pxa168_add_u2ootg(&aspenite_u2o_info); pxa168_add_u2oehci(&aspenite_u2o_info); #endif #ifdef CONFIG_USB_EHCI_PXA_U2H pxa168_add_u2h(&aspenite_u2h_info); #endif pxa168_add_mfu(&pxa168_eth_data); #ifdef CONFIG_PCI pxa168_add_pcie(&pxa168_pcie_data); #endif #if defined(CONFIG_MMC_PXA_SDH) pxa168_add_sdh(0, &aspenite_sdh_platform_data_MMC1); #if defined(CONFIG_WLAN_8688_SDIO) pxa168_add_sdh(1, &aspenite_sdh_platform_data_MMC2); #if defined(CONFIG_BT_HCIUART) aspenite_bt_init(); #endif #endif #if defined(CONFIG_MMC3) pxa168_add_sdh(2, &aspenite_sdh_platform_data_MMC3); #endif #endif #if defined(CONFIG_CIR) pxa168_cir_init(); /*init the gpio */ #endif #if defined(CONFIG_PXA168_CF) #if defined(CONFIG_PXA168_CF_USE_GPIO_CARDDETECT) pxa168_cf_init(); #else pxa168_add_cf(); #endif #endif pxa168_add_freq(); if (machine_is_aspenite()) { pxa168_add_fb(&aspenite_lcd_info); pxa168_add_fb_ovly(&aspenite_lcd_ovly_info); } /* off-chip devices */ if (machine_is_zylonite2()) { pxa168_add_fb(&zylonite2_lcd_info); platform_device_register(&smc91x_device); } #if defined(CONFIG_PXA168_CAMERA) pxa168_add_cam(); #endif #if defined(CONFIG_PXA_ICR) pxa168_add_icr(); #endif #if defined(CONFIG_BATTERY_PXA168) pxa168_add_battery(); #endif }