ohci->power_budget = 250; 
ohci_to_hcd(ohci)->power_budget = 250; 
static int omap_start_hc(struct ohci_hcd *ohci, struct platform_device *pdev){	struct omap_usb_config	*config = pdev->dev.platform_data;	int			need_transceiver = (config->otg != 0);	int			ret;	dev_dbg(&pdev->dev, "starting USB Controller\n");	if (config->otg) {		ohci_to_hcd(ohci)->self.otg_port = config->otg;		/* default/minimum OTG power budget:  8 mA */		ohci->power_budget = 8;	}	/* boards can use OTG transceivers in non-OTG modes */	need_transceiver = need_transceiver			|| machine_is_omap_h2() || machine_is_omap_h3();	if (cpu_is_omap16xx())		ocpi_enable();#ifdef	CONFIG_ARCH_OMAP_OTG	if (need_transceiver) {		ohci->transceiver = otg_get_transceiver();		if (ohci->transceiver) {			int	status = otg_set_host(ohci->transceiver,						&ohci_to_hcd(ohci)->self);			dev_dbg(&pdev->dev, "init %s transceiver, status %d\n",					ohci->transceiver->label, status);			if (status) {				if (ohci->transceiver)					put_device(ohci->transceiver->dev);				return status;			}		} else {			dev_err(&pdev->dev, "can't find transceiver\n");			return -ENODEV;		}	}#endif	omap_ohci_clock_power(1);	if (cpu_is_omap1510()) {		omap_1510_local_bus_power(1);		omap_1510_local_bus_init();	}	if ((ret = ohci_init(ohci)) < 0)		return ret;	/* board-specific power switching and overcurrent support */	if (machine_is_omap_osk() || machine_is_omap_innovator()) {		u32	rh = roothub_a (ohci);		/* power switching (ganged by default) */		rh &= ~RH_A_NPS;		/* TPS2045 switch for internal transceiver (port 1) */		if (machine_is_omap_osk()) {			ohci->power_budget = 250;			rh &= ~RH_A_NOCP;			/* gpio9 for overcurrent detction */			omap_cfg_reg(W8_1610_GPIO9);			omap_request_gpio(9);			omap_set_gpio_direction(9, 1 /* IN */);			/* for paranoia's sake:  disable USB.PUEN */			omap_cfg_reg(W4_USB_HIGHZ);		}		ohci_writel(ohci, rh, &ohci->regs->roothub.a);		distrust_firmware = 0;	}	/* FIXME khubd hub requests should manage power switching */	omap_ohci_transceiver_power(1);	/* board init will have already handled HMC and mux setup.	 * any external transceiver should already be initialized	 * too, so all configured ports use the right signaling now.	 */	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/bc96c0ad1ed0c938fefc0423aa99f086c5a2a1ea/ohci-omap.c/buggy/drivers/usb/host/ohci-omap.c