static int s5p6440_pcm_cfg_gpio(struct platform_device *pdev)
{
	switch (pdev->id) {
	case 0:
		s3c_gpio_cfgpin(S5P6440_GPR(7), S3C_GPIO_SFN(2));
		s3c_gpio_cfgpin(S5P6440_GPR(13), S3C_GPIO_SFN(2));
		s3c_gpio_cfgpin(S5P6440_GPR(14), S3C_GPIO_SFN(2));
		s3c_gpio_cfgpin(S5P6440_GPR(8), S3C_GPIO_SFN(2));
		s3c_gpio_cfgpin(S5P6440_GPR(6), S3C_GPIO_SFN(2));
		break;

	default:
		printk(KERN_DEBUG "Invalid PCM Controller number!");
		return -EINVAL;
	}

	return 0;
}
static int s5p6440_cfg_i2s(struct platform_device *pdev)
{
	/* configure GPIO for i2s port */
	switch (pdev->id) {
	case -1:
		s3c_gpio_cfgpin(S5P6440_GPR(4), S3C_GPIO_SFN(5));
		s3c_gpio_cfgpin(S5P6440_GPR(5), S3C_GPIO_SFN(5));
		s3c_gpio_cfgpin(S5P6440_GPR(6), S3C_GPIO_SFN(5));
		s3c_gpio_cfgpin(S5P6440_GPR(7), S3C_GPIO_SFN(5));
		s3c_gpio_cfgpin(S5P6440_GPR(8), S3C_GPIO_SFN(5));
		s3c_gpio_cfgpin(S5P6440_GPR(13), S3C_GPIO_SFN(5));
		s3c_gpio_cfgpin(S5P6440_GPR(14), S3C_GPIO_SFN(5));
		break;

	default:
		printk(KERN_ERR "Invalid Device %d\n", pdev->id);
		return -EINVAL;
	}

	return 0;
}
		.base	= S5P64X0_GPH_BASE + 0x4,
		.config	= &s5p64x0_gpio_cfgs[1],
		.chip	= {
			.base	= S5P6440_GPH(0),
			.ngpio	= S5P6440_GPIO_H_NR,
			.label	= "GPH",
		},
	},
};

static struct s3c_gpio_chip s5p6440_gpio_rbank_4bit2[] = {
	{
		.base	= S5P64X0_GPR_BASE + 0x4,
		.config	= &s5p64x0_gpio_cfgs[2],
		.chip	= {
			.base	= S5P6440_GPR(0),
			.ngpio	= S5P6440_GPIO_R_NR,
			.label	= "GPR",
		},
	},
};

static struct s3c_gpio_chip s5p6440_gpio_2bit[] = {
	{
		.base	= S5P64X0_GPF_BASE,
		.config	= &s5p64x0_gpio_cfgs[5],
		.chip	= {
			.base	= S5P6440_GPF(0),
			.ngpio	= S5P6440_GPIO_F_NR,
			.label	= "GPF",
		},