void __init msm_8974_init_gpiomux(void)
{
	int rc;

	rc = sony_init_gpiomux(shinano_all_configs,
			ARRAY_SIZE(shinano_all_configs));
	if (rc) {
		pr_err("%s failed %d\n", __func__, rc);
		return;
	}
}
void __init msm_8974_init_gpiomux(void)
{
    int rc;

    rc = sony_init_gpiomux(shinano_all_configs,
                           ARRAY_SIZE(shinano_all_configs));
    if (rc) {
        pr_err("%s failed %d\n", __func__, rc);
        return;
    }

    msm_gpiomux_install_nowrite(&lcd_config, 1);
    msm_gpiomux_install_nowrite(&touch_config, 1);
}
void __init msm_8974_init_gpiomux(void)
{
	int rc;

	rc = sony_init_gpiomux(shinano_all_configs,
			ARRAY_SIZE(shinano_all_configs));
	if (rc) {
		pr_err("%s failed %d\n", __func__, rc);
		return;
	}

	/* Let backlight GPIO be untouched until driver requests it. Needed
	 * if backlight is turned on before kernel (in boot) */
	msm_gpiomux_install_nowrite(&bl_config, 1);
}
void __init msm_8974_init_gpiomux(void)
{
	int rc;
	struct msm_gpiomux_configs base, diff;

	if (of_machine_is_compatible("somc,scorpion-windy")) {
		base.cfg = shinano_all_configs;
		base.ncfg = ARRAY_SIZE(shinano_all_configs);
		diff.cfg = scorpion_windy_conf;
		diff.ncfg = ARRAY_SIZE(scorpion_windy_conf);
		overwrite_configs(&base, &diff);
	}

	rc = sony_init_gpiomux(shinano_all_configs,
			ARRAY_SIZE(shinano_all_configs));
	if (rc) {
		pr_err("%s failed %d\n", __func__, rc);
		return;
	}
	msm_gpiomux_install_nowrite(&bl_config, 1);
}
void __init msm_8974_init_gpiomux(void)
{
	int rc, hw;
	struct msm_gpiomux_configs base;

	base.cfg = shinano_all_configs;
	base.ncfg = ARRAY_SIZE(shinano_all_configs);

	hw = get_sony_hw();

	if (hw == HW_LEO_SAMBA)
		overwrite_configs(&base, &leo_samba_gpiomux_cfgs);

	rc = sony_init_gpiomux(shinano_all_configs,
			ARRAY_SIZE(shinano_all_configs));
	if (rc) {
		pr_err("%s failed %d\n", __func__, rc);
		return;
	}

	msm_gpiomux_install_nowrite(&touch_config, 1);
}