linux/include
Alan Stern 55c527187c [PATCH] USB: Consider power budget when choosing configuration
This patch (as609) changes the way we keep track of power budgeting for
USB hubs and devices, and it updates the choose_configuration routine to
take this information into account.  (This is something we should have
been doing all along.)  A new field in struct usb_device holds the amount
of bus current available from the upstream port, and the usb_hub structure
keeps track of the current available for each downstream port.

Two new rules for configuration selection are added:

	Don't select a self-powered configuration when only bus power
	is available.

	Don't select a configuration requiring more bus power than is
	available.

However the first rule is #if-ed out, because I found that the internal
hub in my HP USB keyboard claims that its only configuration is
self-powered.  The rule would prevent the configuration from being chosen,
leaving the hub & keyboard unconfigured.  Since similar descriptor errors
may turn out to be fairly common, it seemed wise not to include a rule
that would break automatic configuration unnecessarily for such devices.

The second rule may also trigger unnecessarily, although this should be
less common.  More likely it will annoy people by sometimes failing to
accept configurations that should never have been chosen in the first
place.

The patch also changes usbcore's reaction when no configuration is
suitable.  Instead of raising an error and rejecting the device, now
the core will simply leave the device unconfigured.  People can always
work around such problems by installing configurations manually through
sysfs.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-04 13:48:34 -08:00
..
acpi [ACPI] increase owner_id limit to 64 from 32 2005-12-21 04:52:16 -05:00
asm-alpha [PATCH] mm: fill arch atomic64 gaps 2005-11-23 16:08:39 -08:00
asm-arm [PATCH] USB: pxa27x OHCI - Separate platform code from main driver 2006-01-04 13:48:28 -08:00
asm-arm26 [PATCH] atomic: inc_not_zero 2005-11-13 18:14:16 -08:00
asm-cris [PATCH] atomic: inc_not_zero 2005-11-13 18:14:16 -08:00
asm-frv [PATCH] FRV: Make the FRV arch work again 2005-11-28 14:42:23 -08:00
asm-generic Merge x86-64 update from Andi 2005-11-14 19:56:02 -08:00
asm-h8300 [PATCH] atomic: inc_not_zero 2005-11-13 18:14:16 -08:00
asm-i386 [PATCH] Avoid namespace pollution in <asm/param.h> 2006-01-02 08:38:38 -08:00
asm-ia64 [PATCH] x86_64/ia64 : Fix compilation error for node_to_first_cpu 2005-12-24 12:30:22 -08:00
asm-m32r [PATCH] m32r: M3A-2170(Mappi-III) IDE support 2005-11-28 14:42:24 -08:00
asm-m68k [PATCH] atomic: inc_not_zero 2005-11-13 18:14:16 -08:00
asm-m68knommu [PATCH] atomic: inc_not_zero 2005-11-13 18:14:16 -08:00
asm-mips [PATCH] ide: AU1200 IDE update 2005-12-15 02:17:46 +01:00
asm-parisc [PARISC] Always spinlock tlb flush operations to ensure preempt safety 2005-11-17 16:44:14 -05:00
asm-powerpc [PATCH] powerpc: Add missing icache flushes for hugepages 2005-12-09 16:30:48 +11:00
asm-ppc [PATCH] ppc: ppc4xx_dma DMA_MODE_{READ,WRITE} fix 2005-12-16 14:43:05 -08:00
asm-s390 [PATCH] atomic: inc_not_zero 2005-11-13 18:14:16 -08:00
asm-sh [PATCH] atomic: inc_not_zero 2005-11-13 18:14:16 -08:00
asm-sh64 [PATCH] atomic: inc_not_zero 2005-11-13 18:14:16 -08:00
asm-sparc [PATCH] sun4c_memerr_reg __iomem annotations 2005-12-15 10:01:29 -08:00
asm-sparc64 [PATCH] sparc: convert IO remapping to VM_PFNMAP 2005-11-28 14:35:36 -08:00
asm-um [PATCH] uml: eliminate anonymous union and clean up symlink lossage 2005-11-22 09:13:41 -08:00
asm-v850 [PATCH] v850: use generic hardirq code 2005-11-15 08:59:20 -08:00
asm-x86_64 [PATCH] Avoid namespace pollution in <asm/param.h> 2006-01-02 08:38:38 -08:00
asm-xtensa [PATCH] atomic: inc_not_zero 2005-11-13 18:14:16 -08:00
keys [PATCH] Keys: Export user-defined keyring operations 2005-10-30 17:37:22 -08:00
linux [PATCH] USB: Consider power budget when choosing configuration 2006-01-04 13:48:34 -08:00
math-emu
media [PATCH] V4L/DVB: (3086c) Whitespaces cleanups part 4 2005-12-12 08:57:44 -08:00
mtd [MTD] user-abi: Clean up trailing white spaces 2005-11-07 14:43:11 +01:00
net [IPV6] mcast: Fix multiple issues in MLDv2 reports. 2005-12-27 14:03:00 -08:00
pcmcia [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
rdma [IB] uverbs: have kernel return QP capabilities 2005-11-10 10:22:50 -08:00
rxrpc [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
scsi [SCSI] fix for fc transport recursion problem. 2005-12-15 19:22:14 -08:00
sound [ALSA] version 1.0.10rc3 2005-11-07 14:35:14 +01:00
video [PATCH] drivers/video: Replace custom macro with isdigit() 2005-09-13 08:22:33 -07:00