void __init exynos4_smdk4270_modem_init(void)
{
	/* It is possible to change modem by changing platform data */
	exynos4_device_modem.dev.platform_data = &carmen_modem_pdata;

	pr_debug("[Modem] modem initialization.\n");

	carmen_modem_pdata.package_id = get_package_id();
	carmen_modem_pdata.hw_revision = get_hw_rev();

	platform_device_register(&exynos4_device_modem);
}
int __init init_exynos_dev_modem_ss222(struct modem_io_t *io_devices,
				       int num_io_devices)
{
	int err;
	pr_err("mif: %s: +++\n", __func__);

	err = init_exynos_dev_shdmem();
	if (err) {
		pr_err("mif: %s: ERR! init_exynos_dev_shdmem fail (err %d)\n",
			__func__, err);
		goto error;
	}

	ss222_modem_pdata.sys_rev = system_rev;
#ifdef CONFIG_REGULATOR_S2MPU01A
	ss222_modem_pdata.pmic_rev = get_pmic_rev();
#endif
	ss222_modem_pdata.pkg_id = get_package_id();

	if (io_devices) {
		ss222_modem_pdata.iodevs = io_devices;
		ss222_modem_pdata.num_iodevs = num_io_devices;
	}

	ss222_modem.dev.platform_data = &ss222_modem_pdata;
	err = platform_device_register(&ss222_modem);
	if (err) {
		pr_err("mif: %s: ERR! platform_device_register fail (err %d)\n",
			__func__, err);
		goto error;
	}

	pr_err("mif: %s: ---\n", __func__);
	return 0;

error:
	pr_err("mif: %s: xxx\n", __func__);
	return err;
}