#if defined(CONFIG_ARM) 
#ifdef	CONFIG_ARM 
static int __init tps_init(void){	u32	tries = 3;	int	status = -ENODEV;	printk(KERN_INFO "%s: version %s\n", DRIVER_NAME, DRIVER_VERSION);	/* some boards have startup glitches */	while (tries--) {		status = i2c_add_driver(&tps65010_driver);		if (the_tps)			break;		i2c_del_driver(&tps65010_driver);		if (!tries) {			printk(KERN_ERR "%s: no chip?\n", DRIVER_NAME);			return -ENODEV;		}		pr_debug("%s: re-probe ...\n", DRIVER_NAME);		msleep(10);	}#if defined(CONFIG_ARM)	if (machine_is_omap_osk()) {		// FIXME: More should be placed in the initialization code		//	  of the submodules (DSP, ethernet, power management,		//	  board-osk.c). Careful: I2C is initialized "late".		/* Let LED1 (D9) blink */		tps65010_set_led(LED1, BLINK);		/* Disable LED 2 (D2) */		tps65010_set_led(LED2, OFF);		/* Set GPIO 1 HIGH to disable VBUS power supply;		 * OHCI driver powers it up/down as needed.		 */		tps65010_set_gpio_out_value(GPIO1, HIGH);		/* Set GPIO 2 low to turn on LED D3 */		tps65010_set_gpio_out_value(GPIO2, HIGH);		/* Set GPIO 3 low to take ethernet out of reset */		tps65010_set_gpio_out_value(GPIO3, LOW);		/* gpio4 for VDD_DSP */		/* Enable LOW_PWR */		tps65010_set_low_pwr(ON);		/* Switch VLDO2 to 3.0V for AIC23 */		tps65010_config_vregs1(TPS_LDO2_ENABLE | TPS_VLDO2_3_0V | TPS_LDO1_ENABLE);	} else if (machine_is_omap_h2()) {		/* gpio3 for SD, gpio4 for VDD_DSP */		/* Enable LOW_PWR */		tps65010_set_low_pwr(ON);	} else if (machine_is_omap_h3()) {		/* gpio4 for SD, gpio3 for VDD_DSP */#ifdef CONFIG_PM		/* Enable LOW_PWR */		tps65013_set_low_pwr(ON);#endif	}#endif	return status;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/65fc50e50ff9f8b82c3756eccd7e7db6a267ffe9/tps65010.c/clean/drivers/i2c/chips/tps65010.c