[PATCH] mach-gta01: set udc_command at start from revision
Ben Dooks
ben-linux at fluff.org
Sat Feb 17 01:59:28 CET 2007
The udc_command field is checked by the udc
driver for being non-null, so we can use the
revision passed in to set the ucd_command field
at initialisation time
Also changed gta01_udc_pullup to gta01_udc_command
Signed-off-by: Ben Dooks <ben-linux at fluff.org>
--- linux-2.6.20-dev6/arch/arm/mach-s3c2410/mach-gta01.c 2007-02-17 00:51:00.000000000 +0000
+++ linux-2.6.20-dev7/arch/arm/mach-s3c2410/mach-gta01.c 2007-02-17 00:56:44.000000000 +0000
@@ -242,26 +242,22 @@ static struct s3c24xx_mci_pdata gta01_mm
MMC_VDD_30_31|MMC_VDD_31_32|MMC_VDD_32_33,
};
-static void gta01_udc_pullup(enum s3c2410_udc_cmd_e cmd)
+static void gta01_udc_command(enum s3c2410_udc_cmd_e cmd)
{
- printk(KERN_DEBUG "udc: pullup(%d)\n", cmd);
+ printk(KERN_DEBUG "%s(%d)\n", __func__, cmd);
- if (system_rev == GTA01v4_SYSTEM_REV ||
- system_rev == GTA01Bv2_SYSTEM_REV ||
- system_rev == GTA01Bv3_SYSTEM_REV) {
- switch (cmd) {
- case S3C2410_UDC_P_ENABLE:
- s3c2410_gpio_setpin(GTA01_GPIO_USB_PULLUP, 1);
- break;
- case S3C2410_UDC_P_DISABLE:
- s3c2410_gpio_setpin(GTA01_GPIO_USB_PULLUP, 0);
- break;
- case S3C2410_UDC_P_RESET:
- /* FIXME! */
- break;
- default:
- break;
- }
+ switch (cmd) {
+ case S3C2410_UDC_P_ENABLE:
+ s3c2410_gpio_setpin(GTA01_GPIO_USB_PULLUP, 1);
+ break;
+ case S3C2410_UDC_P_DISABLE:
+ s3c2410_gpio_setpin(GTA01_GPIO_USB_PULLUP, 0);
+ break;
+ case S3C2410_UDC_P_RESET:
+ /* FIXME! */
+ break;
+ default:
+ break;
}
}
@@ -294,7 +290,6 @@ static void gta01_udc_vbus_draw(unsigned
}
static struct s3c2410_udc_mach_info gta01_udc_cfg = {
- .udc_command = gta01_udc_pullup,
.vbus_draw = gta01_udc_vbus_draw,
};
@@ -427,6 +422,11 @@ static void __init gta01_map_io(void)
static void __init gta01_machine_init(void)
{
+ if (system_rev == GTA01v4_SYSTEM_REV ||
+ system_rev == GTA01Bv2_SYSTEM_REV ||
+ system_rev == GTA01Bv3_SYSTEM_REV)
+ gta01_udc_cfg.udc_command = gta01_udc_command;
+
s3c_device_usb.dev.platform_data = >a01_usb_info;
s3c_device_nand.dev.platform_data = >a01_nand_info;
s3c_device_sdi.dev.platform_data = >a01_mmc_cfg;
More information about the openmoko-kernel
mailing list