static int vi_bypass_probe(struct platform_device *pdev) { struct vi_bypass_camera *vi_bypass_cam; int err; vi_bypass_cam = devm_kzalloc(&pdev->dev, sizeof(struct vi_bypass_camera), GFP_KERNEL); if (!vi_bypass_cam) { dev_err(&pdev->dev, "couldn't allocate cam\n"); return -ENOMEM; } /* Init VI_BYPASS ops */ pdev->id = 0; platform_set_drvdata(pdev, vi_bypass_cam); strlcpy(vi_bypass_cam->cam.card, VI_BYPASS_CAM_CARD_NAME, sizeof(vi_bypass_cam->cam.card)); vi_bypass_cam->cam.version = VI_BYPASS_CAM_VERSION; vi_bypass_cam->cam.ops = &vi_bypass_ops; err = tegra_camera_init(pdev, &vi_bypass_cam->cam); if (err) return err; return 0; }
static void __init tegra_cardhu_init(void) { tegra_thermal_init(&thermal_data, throttle_list, ARRAY_SIZE(throttle_list)); tegra_clk_init_from_table(cardhu_clk_init_table); cardhu_pinmux_init(); cardhu_i2c_init(); cardhu_spi_init(); cardhu_usb_init(); #ifdef CONFIG_TEGRA_EDP_LIMITS cardhu_edp_init(); #endif cardhu_uart_init(); tegra_camera_init(); platform_add_devices(cardhu_devices, ARRAY_SIZE(cardhu_devices)); tegra_ram_console_debug_init(); tegra_io_dpd_init(); cardhu_sdhci_init(); cardhu_regulator_init(); cardhu_dtv_init(); cardhu_suspend_init(); cardhu_touch_init(); cardhu_modem_init(); cardhu_kbc_init(); cardhu_scroll_init(); cardhu_keys_init(); cardhu_panel_init(); cardhu_pmon_init(); cardhu_sensors_init(); cardhu_setup_bluesleep(); cardhu_sata_init(); //audio_wired_jack_init(); cardhu_pins_state_init(); cardhu_emc_init(); tegra_release_bootloader_fb(); cardhu_pci_init(); #ifdef CONFIG_TEGRA_WDT_RECOVERY tegra_wdt_recovery_init(); #endif tegra_serial_debug_init(TEGRA_UARTD_BASE, INT_WDT_CPU, NULL, -1, -1); }