openwrt/staging/blogic.git
15 years agox86, apic: get rid of *_APIC_ID_MASK definitions
Ingo Molnar [Wed, 28 Jan 2009 14:08:53 +0000 (15:08 +0100)]
x86, apic: get rid of *_APIC_ID_MASK definitions

Impact: cleanup

Remove the *_APIC_ID_MASK subarch definitions and move them straight
to the genapic driver initialization code.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: refactor ->apic_id_mask & APIC_ID_MASK
Ingo Molnar [Wed, 28 Jan 2009 13:59:17 +0000 (14:59 +0100)]
x86, apic: refactor ->apic_id_mask & APIC_ID_MASK

- spread out the namespace on a per driver basis

 - get rid of wrapper macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: refactor ->get_apic_id() & GET_APIC_ID()
Ingo Molnar [Wed, 28 Jan 2009 13:08:38 +0000 (14:08 +0100)]
x86, apic: refactor ->get_apic_id() & GET_APIC_ID()

- spread out the namespace on a per driver basis

 - get rid of macro wrappers

 - small cleanups

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: consolidate the ->mps_oem_check() code
Ingo Molnar [Wed, 28 Jan 2009 12:44:32 +0000 (13:44 +0100)]
x86: consolidate the ->mps_oem_check() code

- spread out the mps_oem_check() namespace on a per APIC driver basis

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, mpparse: call the generic quirk handlers early
Ingo Molnar [Wed, 28 Jan 2009 12:54:56 +0000 (13:54 +0100)]
x86, mpparse: call the generic quirk handlers early

Call all the registered MPS quirk handlers early. These methods scan
low RAM typically for specific signatures so are safe to be called
early.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, smp: clean up mps_oem_check()
Ingo Molnar [Wed, 28 Jan 2009 12:47:42 +0000 (13:47 +0100)]
x86, smp: clean up mps_oem_check()

Impact: cleanup

 - allow NULL ->mps_oem_check() entries

 - clean up the code flow

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: refactor ->phys_pkg_id()
Ingo Molnar [Wed, 28 Jan 2009 12:24:54 +0000 (13:24 +0100)]
x86, apic: refactor ->phys_pkg_id()

Refactor the ->phys_pkg_id() methods:

 - namespace separation

 - macro wrapper removal

 - open-coded calls to the methods in the generic code

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: unify phys_pkg_id()
Ingo Molnar [Wed, 28 Jan 2009 12:31:22 +0000 (13:31 +0100)]
x86, apic: unify phys_pkg_id()

- unify the call signature of 64-bit to that of 32-bit

 - clean up the types all around

 - clean up namespace contamination

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, es7000: clean up es7000_enable_apic_mode()
Ingo Molnar [Wed, 28 Jan 2009 12:15:06 +0000 (13:15 +0100)]
x86, es7000: clean up es7000_enable_apic_mode()

- eliminate the needless es7000_enable_apic_mode() complication which
  was not apparent prior the namespace cleanups

- clean up the control flow in es7000_enable_apic_mode()

- other cleanups

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: refactor ->enable_apic_mode() subarch methods
Ingo Molnar [Wed, 28 Jan 2009 11:43:18 +0000 (12:43 +0100)]
x86: refactor ->enable_apic_mode() subarch methods

Only ES7000 has a real ->enable_apic_mode() method, the other
subarchitectures define it but keep it empty.

So mark the vector as NULL, extend the generic code to handle
NULL -setup_portio_remap() entries and remove all the empty
handlers.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: refactor ->check_phys_apicid_present() subarch methods
Ingo Molnar [Wed, 28 Jan 2009 11:43:18 +0000 (12:43 +0100)]
x86: refactor ->check_phys_apicid_present() subarch methods

- spread out the namespace to per driver methods

 - extend it to 64-bit as well so that we can use
   apic->check_phys_apicid_present() unconditionally

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: refactor ->setup_portio_remap() subarch methods
Ingo Molnar [Wed, 28 Jan 2009 11:43:18 +0000 (12:43 +0100)]
x86: refactor ->setup_portio_remap() subarch methods

Only NUMAQ has a real ->setup_portio_remap() method, the other
subarchitectures define it but keep it empty.

So mark the vector as NULL, extend the generic code to handle
NULL -setup_portio_remap() entries and remove all the empty
handlers.

Also move the NUMAQ method from the header file into the
 apic driver .c file.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: clean up ->apicid_to_cpu_present()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->apicid_to_cpu_present()

- separate the namespace

 - remove macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: clean up ->cpu_present_to_apicid()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->cpu_present_to_apicid()

- separate the namespace

 - remove macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: clean up ->cpu_to_logical_apicid()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->cpu_to_logical_apicid()

- separate the namespace

 - remove macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: clean up ->apicid_to_node()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->apicid_to_node()

- separate the namespace

 - remove macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: streamline the ->multi_timer_check() quirk
Ingo Molnar [Wed, 28 Jan 2009 06:17:26 +0000 (07:17 +0100)]
x86, apic: streamline the ->multi_timer_check() quirk

only NUMAQ uses this quirk: to prevent the timer IRQ from being added
on secondary nodes.

All other genapic templates can have a NULL ->multi_timer_check()
callback.

Also, extend the generic code to treat a NULL pointer accordingly.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: clean up ->setup_apic_routing()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->setup_apic_routing()

- separate the namespace

 - remove macros

 - remove namespace clash on 64-bit

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: clean up ->ioapic_phys_id_map()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->ioapic_phys_id_map()

- separate the namespace

 - remove macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: clean up ->init_apic_ldr()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->init_apic_ldr()

- separate the namespace

 - remove macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: clean up ->vector_allocation_domain()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->vector_allocation_domain()

- separate the namespace

 - remove macros

 - move the default vector-allocation-domain to mach-generic

 - fix whitespace damage

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: remove no_balance_irq and no_ioapic_check flags
Ingo Molnar [Wed, 28 Jan 2009 04:57:56 +0000 (05:57 +0100)]
x86, apic: remove no_balance_irq and no_ioapic_check flags

These flags are completely unused. (the in-kernel IRQ balancer has
been removed from the upstream kernel.)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: clean up check_apicid*() callbacks
Ingo Molnar [Wed, 28 Jan 2009 04:41:42 +0000 (05:41 +0100)]
x86, apic: clean up check_apicid*() callbacks

Clean up these methods - to make it clearer which function is
used in which case.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: rename genapic::apic_destination_logical to genapic::dest_logical
Ingo Molnar [Wed, 28 Jan 2009 04:29:25 +0000 (05:29 +0100)]
x86, apic: rename genapic::apic_destination_logical to genapic::dest_logical

This field name was unreasonably long - shorten it.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: clean up the APIC_DEST_LOGICAL logic
Ingo Molnar [Wed, 28 Jan 2009 04:13:04 +0000 (05:13 +0100)]
x86: clean up the APIC_DEST_LOGICAL logic

Impact: cleanup

The bigsmp and es7000 subarchitectures un-defined APIC_DEST_LOGICAL in
a rather nasty way by re-defining it to zero. That is infinitely
fragile and makes it very hard to see what to code really does in
a given context. The very same constant has different meanings and
values - depending on which subarch is enabled.

Untangle this mess by never undefining the constant, but instead
propagating the right values into the genapic driver templates.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: rename ->ESR_DISABLE to ->disable_esr
Ingo Molnar [Wed, 28 Jan 2009 04:08:44 +0000 (05:08 +0100)]
x86: rename ->ESR_DISABLE to ->disable_esr

the ->ESR_DISABLE shouting variant was used to enable the esr_disable
macro wrappers. Those ugly macros are removed now so we can rename
->ESR_DISABLE to ->disable_esr

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: clean up esr_disable() methods
Ingo Molnar [Wed, 28 Jan 2009 04:01:41 +0000 (05:01 +0100)]
x86: clean up esr_disable() methods

Impact: cleanup

Most subarchitectures want to disable the APIC ESR (Error Status Register),
because they generally have hardware hacks that wrap standard CPUs into
a bigger system and hence the APIC bus is quite non-standard and weirdnesses
(lockups) have been seen with ESR reporting.

Remove the esr_disable macros and put the desired flag into each
subarchitecture's genapic template directly.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: clean up / remove TARGET_CPUS
Ingo Molnar [Wed, 28 Jan 2009 03:32:51 +0000 (04:32 +0100)]
x86, apic: clean up / remove TARGET_CPUS

Impact: cleanup

use apic->target_cpus() directly instead of the TARGET_CPUS wrapper.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: clean up target_cpus methods
Ingo Molnar [Wed, 28 Jan 2009 03:30:40 +0000 (04:30 +0100)]
x86, apic: clean up target_cpus methods

Impact: cleanup

Clean up all the target_cpus() namespace overlap that exists
between bigsmp, es7000, mach-default, numaq and summit - by
separating the different functions into different names.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: remove IRQ_DEST_MODE
Ingo Molnar [Wed, 28 Jan 2009 03:24:16 +0000 (04:24 +0100)]
x86, apic: remove IRQ_DEST_MODE

Remove leftover definition.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: remove ES7000_IRQ_DELIVERY_MODE and ES7000_IRQ_DEST_MODE
Ingo Molnar [Wed, 28 Jan 2009 03:16:01 +0000 (04:16 +0100)]
x86, apic: remove ES7000_IRQ_DELIVERY_MODE and ES7000_IRQ_DEST_MODE

Impact: cleanup

They were only used in a single place and obscured the apic_es7000
driver template.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: remove BIGSMP_IRQ_DELIVERY_MODE and BIGSMP_IRQ_DEST_MODE
Ingo Molnar [Wed, 28 Jan 2009 03:16:01 +0000 (04:16 +0100)]
x86, apic: remove BIGSMP_IRQ_DELIVERY_MODE and BIGSMP_IRQ_DEST_MODE

Impact: cleanup

They were only used in a single place and obscured the apic_bigsmp
driver template.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: remove NUMAQ_IRQ_DELIVERY_MODE and NUMAQ_IRQ_DEST_MODE
Ingo Molnar [Wed, 28 Jan 2009 03:16:01 +0000 (04:16 +0100)]
x86, apic: remove NUMAQ_IRQ_DELIVERY_MODE and NUMAQ_IRQ_DEST_MODE

Impact: cleanup

They were only used in a single place and obscured the apic_numaq template.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: remove SUMMIT_IRQ_DELIVERY_MODE and SUMMIT_IRQ_DEST_MODE
Ingo Molnar [Wed, 28 Jan 2009 03:16:01 +0000 (04:16 +0100)]
x86, apic: remove SUMMIT_IRQ_DELIVERY_MODE and SUMMIT_IRQ_DEST_MODE

Impact: cleanup

They were only used in a single place and obscured the apic_summit template.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: remove DEFAULT_IRQ_DELIVERY_MODE and DEFAULT_IRQ_DEST_MODE
Ingo Molnar [Wed, 28 Jan 2009 03:16:01 +0000 (04:16 +0100)]
x86, apic: remove DEFAULT_IRQ_DELIVERY_MODE and DEFAULT_IRQ_DEST_MODE

Impact: cleanup

They were only used in a single place and obscured the apic_default template.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, apic: remove IRQ_DEST_MODE / IRQ_DELIVERY_MODE
Ingo Molnar [Wed, 28 Jan 2009 03:09:58 +0000 (04:09 +0100)]
x86, apic: remove IRQ_DEST_MODE / IRQ_DELIVERY_MODE

Remove the wrapper macros IRQ_DEST_MODE and IRQ_DELIVERY_MODE.

The typical 32-bit and the 64-bit build all dereference via the genapic,
so it's pointless to hide that indirection via these ugly macros.

Furthermore, it also obscures subarchitecture details.

So replace it with apic->irq_dest_mode / etc. accesses.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, genapic: rename int_delivery_mode, et. al.
Ingo Molnar [Wed, 28 Jan 2009 03:02:31 +0000 (04:02 +0100)]
x86, genapic: rename int_delivery_mode, et. al.

int_delivery_mode is supposed to mean 'interrupt delivery mode', but
it's quite a misnomer as 'int' we usually think of as an integer type ...

The standard naming for such attributes is 'irq' - so rename the following
fields and macros:

 int_delivery_mode => irq_delivery_mode
 INT_DELIVERY_MODE => IRQ_DELIVERY_MODE
 int_dest_mode     => irq_dest_mode
 INT_DEST_MODE     => IRQ_DEST_MODE

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: clean up apic->apic_id_registered() methods
Ingo Molnar [Wed, 28 Jan 2009 02:43:47 +0000 (03:43 +0100)]
x86: clean up apic->apic_id_registered() methods

Impact: cleanup

x86 subarchitectures each defined a "apic_id_registered()" method,
which could be an inline function depending on which subarch we build
for, and which was also the name of a genapic field.

Untangle this namespace spaghetti by giving each of the instances
a separate name.

Also remove wrapper macro obfuscation.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: clean up apic->acpi_madt_oem_check methods
Ingo Molnar [Wed, 28 Jan 2009 02:43:47 +0000 (03:43 +0100)]
x86: clean up apic->acpi_madt_oem_check methods

Impact: refactor code

x86 subarchitectures each defined a "acpi_madt_oem_check()" method,
which could be an inline function, or an extern, or a static function,
and which was also the name of a genapic field.

Untangle this namespace spaghetti by setting ->acpi_madt_oem_check()
to NULL on those subarchitectures that have no detection quirks,
and rename the other ones (summit, es7000) that do.

Also change default_acpi_madt_oem_check() to handle NULL entries,
and clean its control flow up as well.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: remove APIC_INIT / APICFUNC / IPIFUNC
Ingo Molnar [Wed, 28 Jan 2009 02:18:13 +0000 (03:18 +0100)]
x86: remove APIC_INIT / APICFUNC / IPIFUNC

The APIC_INIT() / APICFUNC / IPIFUNC macros were ugly and obfuscated
the true identity of various APIC driver methods.

Now that they are not used anymore, remove them.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, genapic: cleanup 32-bit apic_summit template
Ingo Molnar [Wed, 28 Jan 2009 02:32:03 +0000 (03:32 +0100)]
x86, genapic: cleanup 32-bit apic_summit template

Clean up the APIC driver template:

 - order fields properly
 - use the macro names explicitly (so that they can be renamed later)
 - fill in NULL entries as well

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, genapic: cleanup 32-bit apic_es7000 template
Ingo Molnar [Wed, 28 Jan 2009 02:32:03 +0000 (03:32 +0100)]
x86, genapic: cleanup 32-bit apic_es7000 template

Clean up the APIC driver template:

 - order fields properly
 - use the macro names explicitly (so that they can be renamed later)
 - fill in NULL entries as well

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, genapic: cleanup 32-bit apic_numaq template
Ingo Molnar [Wed, 28 Jan 2009 02:32:03 +0000 (03:32 +0100)]
x86, genapic: cleanup 32-bit apic_numaq template

Clean up the APIC driver template:

 - order fields properly
 - use the macro names explicitly (so that they can be renamed later)
 - fill in NULL entries as well

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, genapic: cleanup 32-bit apic_bigsmp template
Ingo Molnar [Wed, 28 Jan 2009 02:32:03 +0000 (03:32 +0100)]
x86, genapic: cleanup 32-bit apic_bigsmp template

Clean up the APIC driver template:

 - order fields properly
 - use the macro names explicitly (so that they can be renamed later)
 - fill in NULL entries as well

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, genapic: cleanup 32-bit apic_default template
Ingo Molnar [Wed, 28 Jan 2009 02:32:03 +0000 (03:32 +0100)]
x86, genapic: cleanup 32-bit apic_default template

Clean up the APIC driver template:

 - order fields properly
 - use the macro names explicitly (so that they can be renamed later)
 - fill in NULL entries as well

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: clean up apic_x2apic_cluster
Ingo Molnar [Wed, 28 Jan 2009 01:37:01 +0000 (02:37 +0100)]
x86: clean up apic_x2apic_cluster

- reorder fields so that they appear in struct genapic field ordering

- add zero-initialized fields too so that it's apparent which functionality
  is default / missing.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: clean up apic_x2apic_phys
Ingo Molnar [Wed, 28 Jan 2009 01:37:01 +0000 (02:37 +0100)]
x86: clean up apic_x2apic_phys

- reorder fields so that they appear in struct genapic field ordering

- add zero-initialized fields too so that it's apparent which functionality
  is default / missing.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: clean up apic_x2apic_uv_x
Ingo Molnar [Wed, 28 Jan 2009 01:37:01 +0000 (02:37 +0100)]
x86: clean up apic_x2apic_uv_x

- reorder fields so that they appear in struct genapic field ordering

- add zero-initialized fields too so that it's apparent which functionality
  is default / missing.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: clean up genapic_phys_flat
Ingo Molnar [Wed, 28 Jan 2009 01:37:01 +0000 (02:37 +0100)]
x86: clean up genapic_phys_flat

- reorder fields so that they appear in struct genapic field ordering

- add zero-initialized fields too so that it's apparent which functionality
  is default / missing.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: clean up genapic_flat
Ingo Molnar [Wed, 28 Jan 2009 01:37:01 +0000 (02:37 +0100)]
x86: clean up genapic_flat

- reorder fields so that they appear in struct genapic field ordering

- add zero-initialized fields too so that it's apparent which functionality
  is default / missing.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86: rename 'genapic' to 'apic'
Ingo Molnar [Tue, 27 Jan 2009 23:14:11 +0000 (00:14 +0100)]
x86: rename 'genapic' to 'apic'

Rename genapic-> to apic-> references because in a future chagne we'll
open-code all the indirect calls (instead of obscuring them via macros),
so we want this reference to be as short as possible.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, genapic: provide IPI callbacks unconditionally
Ingo Molnar [Tue, 27 Jan 2009 22:54:23 +0000 (23:54 +0100)]
x86, genapic: provide IPI callbacks unconditionally

64-bit x86 uses the IPI callbacks even on UP - so provide them
generally.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, genapic: cleanups
Ingo Molnar [Tue, 27 Jan 2009 22:23:22 +0000 (23:23 +0100)]
x86, genapic: cleanups

Unify genapic.h some more.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, genapic: finish unification
Ingo Molnar [Tue, 27 Jan 2009 22:15:06 +0000 (23:15 +0100)]
x86, genapic: finish unification

Unify remaining bits of genapic_32/64.h.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, genapic: unify struct genapic
Ingo Molnar [Tue, 27 Jan 2009 22:12:02 +0000 (23:12 +0100)]
x86, genapic: unify struct genapic

Move over the (now identical) struct genapic definitions from
genapic_32/64.h to genapic.h.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, genapic: refactor genapic_32.h
Ingo Molnar [Tue, 27 Jan 2009 22:07:42 +0000 (23:07 +0100)]
x86, genapic: refactor genapic_32.h

Impact: pre unification cleanup

Make genapic_32.h similar to genapic_64.h: reorder fields, unify types
and bring in new entries.

No existing functionality is affected.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agox86, genapic: refactor genapic_64.h
Ingo Molnar [Tue, 27 Jan 2009 22:07:42 +0000 (23:07 +0100)]
x86, genapic: refactor genapic_64.h

Impact: pre unification cleanup

Make genapic_64.h similar to genapic_32.h: reorder fields, unify types
and bring in new entries.

No existing functionality is affected.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
15 years agoMerge branches 'x86/asm', 'x86/cleanups', 'x86/cpudetect', 'x86/debug', 'x86/doc...
Ingo Molnar [Wed, 28 Jan 2009 22:13:53 +0000 (23:13 +0100)]
Merge branches 'x86/asm', 'x86/cleanups', 'x86/cpudetect', 'x86/debug', 'x86/doc', 'x86/header-fixes', 'x86/mm', 'x86/paravirt', 'x86/pat', 'x86/setup-v2', 'x86/subarch', 'x86/uaccess' and 'x86/urgent' into x86/core

15 years agoMerge branch 'core/percpu' into x86/core
Ingo Molnar [Wed, 28 Jan 2009 22:12:55 +0000 (23:12 +0100)]
Merge branch 'core/percpu' into x86/core

Conflicts:
kernel/irq/handle.c

15 years agoLinux 2.6.29-rc3
Linus Torvalds [Wed, 28 Jan 2009 18:49:30 +0000 (10:49 -0800)]
Linux 2.6.29-rc3

15 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Linus Torvalds [Wed, 28 Jan 2009 17:01:42 +0000 (09:01 -0800)]
Merge branch 'merge' of git://git./linux/kernel/git/benh/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
  powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code
  powerpc/pseries: Correct VIO bus accounting problem in CMO env.
  powerpc: More printing warning fixes for the l64 to ll64 conversion
  powerpc: Remove arch/ppc cruft from Kconfig
  powerpc: Printing fix for l64 to ll64 conversion: phyp_dump.c
  powerpc/embedded6xx: Update defconfigs
  powerpc/8xx: Update defconfigs
  powerpc/86xx: Update defconfigs
  powerpc/83xx: Update defconfigs
  powerpc/85xx: Update defconfigs
  powerpc/mpc8313erdb: fix kernel panic because mdio device is not probed
  powerpc/4xx: Update multi-board PowerPC 4xx defconfigs
  powerpc/44x: Update PowerPC 44x defconfigs
  powerpc/40x: Update PowerPC 40x defconfigs
  powerpc/85xx: Fix typo in mpc8572ds dts
  powerpc/44x: Warp patches for the new NDFC driver
  powerpc/4xx: DTS: Add Add'l SDRAM0 Compatible and Interrupt Info

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
Linus Torvalds [Wed, 28 Jan 2009 16:41:57 +0000 (08:41 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/gerg/m68knommu

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
  m68knommu: fix 5329 ColdFire periphal addressing
  uclinux: add process name to allocation error message
  m68knommu: correct the mii calculations for 532x ColdFire FEC
  m68knommu: add ColdFire M532x to the FEC configuration options
  m68knommu: fix syscall restarting
  m68knommu: remove the obsolete and long unused comempci chip support
  m68knommu: remove the no longer used PCI support option
  m68knommu: remove obsolete and unused eLIA board
  m68knommu: set NO_DMA
  m68knommu: fix cache flushing for the 527x ColdFire processors
  m68knommu: fix ColdFire 5272 serial baud rates in mcf.c
  m68knommu: use one exist from execption

15 years agodmi: Fix build breakage
Kumar Gala [Wed, 28 Jan 2009 06:07:20 +0000 (00:07 -0600)]
dmi: Fix build breakage

Commit d7b1956fed33d30c4815e848fd7a143722916868 ("DMI: Introduce
dmi_first_match to make the interface more flexible") introduced compile
errors like the following when !CONFIG_DMI

    drivers/ata/sata_sil.c: In function 'sil_broken_system_poweroff':
    drivers/ata/sata_sil.c:713: error: implicit declaration of function 'dmi_first_match'
    drivers/ata/sata_sil.c:713: warning: initialization makes pointer from integer without a cast

We just need a dummy version of dmi_first_match() to fix this all up.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agodrm: Rip out the racy, unused vblank signal code.
Eric Anholt [Wed, 28 Jan 2009 05:19:41 +0000 (21:19 -0800)]
drm: Rip out the racy, unused vblank signal code.

Schedule a vblank signal, kill the process, and we'll go walking over freed
memory.  Given that no open-source userland exists using this, nor have I
ever heard of a consumer, just let this code die.

Signed-off-by: Eric Anholt <eric@anholt.net>
Requested-by: Linus Torvalds <torvalds@linux-foundation.org>
Acked-by: Dave Airlie <airlied@linux.ie>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agopowerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code
Gerhard Pircher [Fri, 23 Jan 2009 06:51:28 +0000 (06:51 +0000)]
powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code

_PAGE_COHERENT is now always set in _PAGE_RAM resp. PAGE_KERNEL.
Thus it has to be masked out, if the BAT mapping should be non
cacheable or CPU_FTR_NEED_COHERENT is not set.

This will work on normal SMP setups because we force-set
CPU_FTR_NEED_COHERENT as part of CPU_FTR_COMMON on SMP.

Signed-off-by: Gerhard Pircher <gerhard_pircher@gmx.net>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc/pseries: Correct VIO bus accounting problem in CMO env.
Robert Jennings [Thu, 22 Jan 2009 09:40:00 +0000 (09:40 +0000)]
powerpc/pseries: Correct VIO bus accounting problem in CMO env.

In the VIO bus code the wrappers for dma alloc_coherent and free_coherent
calls are rounding to IOMMU_PAGE_SIZE.  Taking a look at the underlying
calls, the actual mapping is promoted to PAGE_SIZE.  Changing the
rounding in these two functions fixes under-reporting the entitlement
used by the system.  Without this change, the system could run out of
entitlement before it believes it has and incur mapping failures at the
firmware level.

Also in the VIO bus code, the wrapper for dma map_sg is not exiting in
an error path where it should.  Rather than fall through to code for the
success case, this patch adds the return that is needed in the error path.

Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: More printing warning fixes for the l64 to ll64 conversion
Stephen Rothwell [Wed, 21 Jan 2009 13:16:28 +0000 (13:16 +0000)]
powerpc: More printing warning fixes for the l64 to ll64 conversion

These are all powerpc specific drivers.

res.start in fsl_elbc_nand.c needs to be cast since it may be either 32
or 64 bit.  Thanks to Scott Wood for noticing.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Arnd Bergmann <arnd@arndb.de> call_edac bits in particular
Acked-by: Olof Johansson <olof@lixom.net> pasemi_nand peices
Acked-by: Scott Wood <scottwood@freescale.com> fsl_elbc fixes
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: Remove arch/ppc cruft from Kconfig
Josh Boyer [Tue, 20 Jan 2009 05:16:36 +0000 (05:16 +0000)]
powerpc: Remove arch/ppc cruft from Kconfig

Remove some leftover cruft from the arch/ppc days

Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: Printing fix for l64 to ll64 conversion: phyp_dump.c
Stephen Rothwell [Sun, 18 Jan 2009 23:33:38 +0000 (23:33 +0000)]
powerpc: Printing fix for l64 to ll64 conversion: phyp_dump.c

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agoMerge commit 'jwb/jwb-merge' into merge
Benjamin Herrenschmidt [Wed, 28 Jan 2009 06:15:34 +0000 (17:15 +1100)]
Merge commit 'jwb/jwb-merge' into merge

Manual merge of:
arch/powerpc/configs/44x/warp_defconfig

15 years agoMerge commit 'kumar/kumar-merge' into merge
Benjamin Herrenschmidt [Wed, 28 Jan 2009 06:14:54 +0000 (17:14 +1100)]
Merge commit 'kumar/kumar-merge' into merge

15 years agosmackfs load append mode fix
Casey Schaufler [Wed, 28 Jan 2009 03:56:30 +0000 (19:56 -0800)]
smackfs load append mode fix

Given just how hard it is to find the code that uses MAY_APPEND
it's probably not a big surprise that this went unnoticed for so
long. The Smack rules loading code is incorrectly setting the
MAY_READ bit when MAY_APPEND is requested.

Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
Reviewed-by: James Morris <jmorris@namei.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Wed, 28 Jan 2009 00:08:04 +0000 (16:08 -0800)]
Merge git://git./linux/kernel/git/gregkh/usb-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (36 commits)
  USB: Driver for Freescale QUICC Engine USB Host Controller
  USB: option: add QUANTA HSDPA Data Card device ids
  USB: storage: Add another unusual_dev for off-by-one bug
  USB: unusual_dev: usb-storage needs to ignore a device
  USB: GADGET: fix !x & y
  USB: new id for ti_usb_3410_5052 driver
  USB: cdc-acm: Add another conexant modem to the quirks
  USB: 'option' driver - onda device MT503HS has wrong id
  USB: Remove ZTE modem from unusual_devices
  USB: storage: support of Dane-Elec MediaTouch USB device
  USB: usbmon: Implement compat_ioctl
  USB: add kernel-doc for wusb_dev in struct usb_device
  USB: ftdi_sio driver support of bar code scanner from Diebold
  USB: ftdi_sio: added Alti-2 VID and Neptune 3 PID
  USB: cp2101 device
  USB: usblp.c: add USBLP_QUIRK_BIDIR to Brother HL-1440
  USB: remove vernier labpro from ldusb
  USB: CDC-ACM quirk for MTK GPS
  USB: cdc-acm: support some gps data loggers
  USB: composite: Fix bug: low byte of w_index is the usb interface number not the whole 2 bytes of w_index
  ...

15 years agoUSB: Driver for Freescale QUICC Engine USB Host Controller
Anton Vorontsov [Sat, 10 Jan 2009 02:03:21 +0000 (05:03 +0300)]
USB: Driver for Freescale QUICC Engine USB Host Controller

This patch adds support for the FHCI USB controller, as found
in the Freescale MPC836x and MPC832x processors. It can support
Full or Low speed modes.

Quite a lot the hardware is doing by itself (SOF generation, CRC
generation and checking), though scheduling and retransmission is on
software's shoulders.

This controller does not integrate the root hub, so this driver also
fakes one-port hub. External hub is required to support more than
one device.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: option: add QUANTA HSDPA Data Card device ids
Alex.Cheng@quantatw.com [Thu, 22 Jan 2009 08:01:57 +0000 (16:01 +0800)]
USB: option: add QUANTA HSDPA Data Card device ids

This patch adds the support  for the QUANTA Q101 series HSDPA Data Card.
With the vendor and product IDs are set properly,
the data card can be detected and works fine.

Signed-off-by: Alex Cheng <alex.cheng@quantatw.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: storage: Add another unusual_dev for off-by-one bug
Phil Dibowitz [Tue, 20 Jan 2009 22:42:52 +0000 (23:42 +0100)]
USB: storage: Add another unusual_dev for off-by-one bug

Argosy has released another device with the off-by-one sector. This is a
harddrive with an internal cardreader which is affected.

Based on a patch written by Martijn Hijdra <martijn.hijdra@gmail.com>

Signed-off-by: Phil Dibowitz <phil@ipom.com>
Cc: Martijn Hijdra <martijn.hijdra@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: unusual_dev: usb-storage needs to ignore a device
Phil Dibowitz [Tue, 20 Jan 2009 22:48:36 +0000 (23:48 +0100)]
USB: unusual_dev: usb-storage needs to ignore a device

This patch adds an unusual_devs entry for a Sony Ericsson modem. Like many
other modems, we have to ignore the storage device in order to access the
modem.

At this time usb_modeswitch does not work with this device.

Reported-by: The Solutor <thesolutor@gmail.com>.
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: GADGET: fix !x & y
Roel Kluin [Sat, 17 Jan 2009 15:52:17 +0000 (16:52 +0100)]
USB: GADGET: fix !x & y

! has a higher precedence than &

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: new id for ti_usb_3410_5052 driver
Oliver Neukum [Mon, 12 Jan 2009 12:31:16 +0000 (13:31 +0100)]
USB: new id for ti_usb_3410_5052 driver

This adds a new device id

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: cdc-acm: Add another conexant modem to the quirks
Alan Cox [Sun, 11 Jan 2009 19:53:10 +0000 (19:53 +0000)]
USB: cdc-acm: Add another conexant modem to the quirks

Another Conexant, another device with the same quirk

Signed-off-by: Alan Cox <alan@redhat.com>
Acked-by: Oliver Neukum <oliver@neukum.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: 'option' driver - onda device MT503HS has wrong id
Marcel Sebek [Sun, 28 Dec 2008 13:06:50 +0000 (14:06 +0100)]
USB: 'option' driver - onda device MT503HS has wrong id

While trying to make GSM modem Onda MT503HS working, I found a mismatch
between device id in the driver code (0x0200) and id in the lsusb
output (0x2000).

This patch fixed it for me, but I don't know if the original device id was
also correct and the new ID should be added instead of replacing the
old one.

Signed-off-by: Marcel Sebek <sebek64@post.cz>
Acked-by: Domenico Riccio <domenico.riccio@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: Remove ZTE modem from unusual_devices
Phil Dibowitz [Sun, 11 Jan 2009 17:46:20 +0000 (18:46 +0100)]
USB: Remove ZTE modem from unusual_devices

The ZTE modem entry causes usb-storage to ignore the device, but for some
versions of the device, usb-storage mode is required to get to modem ode. For
both kinds the tool: http://www.draisberghof.de/usb_modeswitch/ should work.

Note that the various versions of the device have the same ProductId,
VendorId, and bcdDevice number, so we cannot have the entry for some and not
others.

Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: storage: support of Dane-Elec MediaTouch USB device
Jean-Baptiste Onofre [Sat, 20 Dec 2008 19:11:55 +0000 (20:11 +0100)]
USB: storage: support of Dane-Elec MediaTouch USB device

This adds another unusual_devs.h entry for a device that can't handle more
than 64k reads/writes in a single command.

Signed-off-by: Jean-Baptiste Onofre <jb@nanthrax.net>
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: usbmon: Implement compat_ioctl
Pete Zaitcev [Sat, 20 Dec 2008 19:56:08 +0000 (12:56 -0700)]
USB: usbmon: Implement compat_ioctl

Running a 32-bit usbmon(8) on 2.6.28-rc9 produces the following:
ioctl32(usbmon:28563): Unknown cmd fd(3) cmd(400c9206){t:ffffff92;sz:12} arg(ffd3f458) on /dev/usbmon0

It happens because the compatibility mode was implemented for 2.6.18
and not updated for the fsops.compat_ioctl API.

This patch relocates the pieces from under #ifdef CONFIG_COMPAT into
compat_ioctl with no other changes except one new whitespace.

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: add kernel-doc for wusb_dev in struct usb_device
Inaky Perez-Gonzalez [Thu, 8 Jan 2009 20:52:19 +0000 (12:52 -0800)]
USB: add kernel-doc for wusb_dev in struct usb_device

Reported by Randy Dunlap from a warning on the v2.6.29 merge window.

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Cc: David Vrabel <david.vrabel@csr.com>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: ftdi_sio driver support of bar code scanner from Diebold
Mhayk Whandson [Fri, 9 Jan 2009 10:48:16 +0000 (06:48 -0400)]
USB: ftdi_sio driver support of bar code scanner from Diebold

Added the product id of bcs(bar code scanner) from Diebold Procomp Brazil.

Signed-off-by: Mhayk Whandson <eu@mhayk.com.br>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: ftdi_sio: added Alti-2 VID and Neptune 3 PID
Robie Basak [Mon, 12 Jan 2009 23:05:59 +0000 (23:05 +0000)]
USB: ftdi_sio: added Alti-2 VID and Neptune 3 PID

This patch adds the vendor and product ID for the Alti-2 Neptune 3
(http://www.alti-2.com) which uses the FTDI chip.

Signed-off-by: Robie Basak <rb-oss-1@justgohome.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: cp2101 device
Tomasz K [Sun, 4 Jan 2009 11:47:11 +0000 (12:47 +0100)]
USB: cp2101 device

My girl use modem GSM (EDGE) Commanader 2 on iPlus Polsih provider,

PLEASE add this vendor=0x10C4 and product=0x822B to USB serial driver cp2101.c

From: Tomasz K <eros81@o2.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: usblp.c: add USBLP_QUIRK_BIDIR to Brother HL-1440
Brandon Philips [Mon, 5 Jan 2009 16:30:39 +0000 (08:30 -0800)]
USB: usblp.c: add USBLP_QUIRK_BIDIR to Brother HL-1440

My Brother HL-1440 would print one document before CUPS would stop
printing with the error "Printer not connected; will retry in 30
seconds...". I traced this down to the CUPS usb backend getting an EIO
out of usblp on the IOCNR_GET_DEVICE_ID IOCTL. Adding the
USBLP_QUIRK_BIDIR fixes the problem but is it the right solution?

output from strace /usr/lib/cups/backend/usb after printing a document
(Note: SNDCTL_DSP_SYNC == IOCNR_GET_DEVICE_ID):

before patch

open("/dev/usb/lp0", O_RDWR|O_EXCL)     = 3
ioctl(3, SNDCTL_DSP_SYNC, 0x7fff2478cef0) = -1 EIO (Input/output error)

after patch

open("/dev/usb/lp0", O_RDWR|O_EXCL)     = 3
ioctl(3, SNDCTL_DSP_SYNC, 0x7fffb8d474c0) = 0

Possibly related bug: https://bugs.launchpad.net/ubuntu/+source/cupsys/+bug/35638

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: remove vernier labpro from ldusb
sware [Wed, 7 Jan 2009 23:35:55 +0000 (15:35 -0800)]
USB: remove vernier labpro from ldusb

Labpro device is in both ldusb and vstusb device tables.
Should only be a vstusb device.

Signed-off-by: stephen ware <stephen.ware@eqware.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: CDC-ACM quirk for MTK GPS
Andrew Lunn [Tue, 23 Dec 2008 16:31:23 +0000 (17:31 +0100)]
USB: CDC-ACM quirk for MTK GPS

This patch adds a device quirk for a MediaTek Inc GPS chipset. The
device implements USB CDC ACM, but is missing the union descriptor, so
the ACM class driver fails to probe the device.

I've tested this patch with an iBlue A+ GPS which uses this chipset
and using kernel 2.6.28-rc9.

Signed-off-by: Andrew Lunn, <andrew@lunn.ch>
Acked-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: cdc-acm: support some gps data loggers
James A. Treacy [Sun, 25 Jan 2009 04:37:43 +0000 (23:37 -0500)]
USB: cdc-acm: support some gps data loggers

Below is a patch which allows a number of GPS loggers to work
under linux. It is known to support the i-Blue 747 (all models),
i-Blue 757, Qstarz BT-Q1000, i.Trek Z1, Konet BGL-32, and the Holux
M-241.

From: James A. Treacy <treacy@debian.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: composite: Fix bug: low byte of w_index is the usb interface number not the...
Bryan Wu [Wed, 7 Jan 2009 16:21:19 +0000 (00:21 +0800)]
USB: composite: Fix bug: low byte of w_index is the usb interface number not the whole 2 bytes of w_index

In some usb gadget driver, for example usb audio class device, the high
byte of w_index is the entity id and low byte is the interface number.
If we use the 2 bytes of w_index as the array number, we will get a
wrong pointer or NULL pointer.

This patch fixes this issue.

Signed-off-by: Bryan Wu <cooloney@kernel.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: composite: Fix bug: should test set_alt function pointer before use it
Bryan Wu [Wed, 7 Jan 2009 16:21:18 +0000 (00:21 +0800)]
USB: composite: Fix bug: should test set_alt function pointer before use it

Signed-off-by: Bryan Wu <cooloney@kernel.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: musb: Kconfig fix
David Brownell [Mon, 26 Jan 2009 10:05:43 +0000 (02:05 -0800)]
USB: musb: Kconfig fix

The Blackfin MUSB Kconfig text didn't properly parenthesise its
dependencies.  This was visible in non-Blackfin configs by the
way the user interfaces lost track of dependencies, when doing
a bunch of test builds.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: musb cppi dma fix
Swaminathan S [Sun, 25 Jan 2009 01:57:37 +0000 (17:57 -0800)]
USB: musb cppi dma fix

Initializes the actual_len field to 0 before every DMA transaction.

Signed-off-by: Swaminathan S <swami.iyer@ti.com>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: musb cppi bugfixes
Hugo Villeneuve [Sun, 25 Jan 2009 01:57:30 +0000 (17:57 -0800)]
USB: musb cppi bugfixes

These compilation errors are related to incorrect
debugging macro and variable names and generated the
following errors:

  drivers/usb/musb/cppi_dma.c:437:5: warning: "MUSB_DEBUG" is not defined
  drivers/usb/musb/cppi_dma.c: In function 'cppi_next_rx_segment':
  drivers/usb/musb/cppi_dma.c:884: error: 'debug' undeclared (first use in this function)

Signed-off-by: Hugo Villeneuve <hugo@hugovil.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: musb uses endpoint functions
Julia Lawall [Sun, 25 Jan 2009 01:57:24 +0000 (17:57 -0800)]
USB: musb uses endpoint functions

This set of patches introduces calls to the following set of functions:

usb_endpoint_dir_in(epd)
usb_endpoint_dir_out(epd)
usb_endpoint_is_bulk_in(epd)
usb_endpoint_is_bulk_out(epd)
usb_endpoint_is_int_in(epd)
usb_endpoint_is_int_out(epd)
usb_endpoint_num(epd)
usb_endpoint_type(epd)
usb_endpoint_xfer_bulk(epd)
usb_endpoint_xfer_control(epd)
usb_endpoint_xfer_int(epd)
usb_endpoint_xfer_isoc(epd)

In some cases, introducing one of these functions is not possible, and it
just replaces an explicit integer value by one of the following constants:

USB_ENDPOINT_XFER_BULK
USB_ENDPOINT_XFER_CONTROL
USB_ENDPOINT_XFER_INT
USB_ENDPOINT_XFER_ISOC

An extract of the semantic patch that makes these changes is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@r1@ struct usb_endpoint_descriptor *epd; @@

- ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) ==
- \(USB_ENDPOINT_XFER_CONTROL\|0\))
+ usb_endpoint_xfer_control(epd)

@r5@ struct usb_endpoint_descriptor *epd; @@

- ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) ==
-  \(USB_DIR_IN\|0x80\))
+ usb_endpoint_dir_in(epd)

@inc@
@@

#include <linux/usb.h>

@depends on !inc && (r1||r5)@
@@

+ #include <linux/usb.h>
  #include <linux/usb/...>
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: musb: tusb6010 buildfix
Kalle Valo [Sun, 25 Jan 2009 01:57:15 +0000 (17:57 -0800)]
USB: musb: tusb6010 buildfix

drivers/usb/musb/tusb6010_omap.c:18:26: error: asm/arch/dma.h:
  No such file or directory
drivers/usb/musb/tusb6010_omap.c:19:26: error: asm/arch/mux.h:
  No such file or directory

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: musb free_irq bugfix
Ajay Kumar Gupta [Sun, 25 Jan 2009 01:56:39 +0000 (17:56 -0800)]
USB: musb free_irq bugfix

Fixes insert module failure as free_irq() was not
done in previous rmmod.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>