Commit Graph

3082 Commits

Author SHA1 Message Date
Ralf Baechle
533330bf7f On CONFIG_64BIT_PHYS_ADDR, pfn always fits in 'unsigned long', but
pfn<<PAGE_SHIFT sometimes extends beyond.  The pte is big enough to hold
'long long', but the shift in pfn_pte() needs to do its calculation with
enough bits to hold the result.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:09 +01:00
Ralf Baechle
0952e2905c Fix parenthesis in macros.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:08 +01:00
Ralf Baechle
8b200ce4a6 Define cpu_icache_snoops_remote_store. This is slight abuse of something
which originally was meant for SMP cache managment but it can be argued
to apply on the 34K as well.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:07 +01:00
Ralf Baechle
3fd5646cac Add missing space.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:05 +01:00
Ralf Baechle
479a0e3e02 Support for CoreFPGA-3.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:02 +01:00
Ralf Baechle
23fbee9dd5 Support for Toshiba's RBHMA4500 eval board for the TX4938.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:57 +01:00
Pete Popov
bdf21b18b4 Philips PNX8550 support: MIPS32-like core with 2 Trimedias on it.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:54 +01:00
Ralf Baechle
e01402b115 More AP / SP bits for the 34K, the Malta bits and things. Still wants
a little polishing.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:53 +01:00
Ralf Baechle
86071b637d Cleanups.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:53 +01:00
Ralf Baechle
7e35952baa Move Origin crapola into a machine-specific header file.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:52 +01:00
Ralf Baechle
8f40611d2b Detect the MIPS R2 vectored interrupt, external interrupt controller
options and the precense of the MT ASE.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:51 +01:00
Ralf Baechle
699dbc90e8 Macros to access the register of processors using the new MIPS
Multithreading ASE, also know as MT ASE.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

diff --git a/include/asm-mips/mipsmtregs.h b/include/asm-mips/mipsmtregs.h
new file mode 100644
2005-10-29 19:31:51 +01:00
Pete Popov
f10fae0240 Fix the fixup_bigphys_addr compile problem.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:50 +01:00
Pete Popov
10f6567e63 Removed __ilog2 since it's no longer needed and conflicts with the
generic one.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:49 +01:00
Ralf Baechle
7a0fc58cd9 A few more macros to access MIPS R2 architecture registers.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:49 +01:00
Ralf Baechle
97fb5de194 Add EF_MIPS_ARCH_32R2 and EF_MIPS_ARCH_64R2 for tagging of R2 binaries.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:47 +01:00
Ralf Baechle
f039b5d366 Add a few more SHN_MIPS_* symbols from glibc.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:47 +01:00
Ralf Baechle
7db36c858c Add inotify syscalls for MIPS.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:47 +01:00
Ralf Baechle
cc61c1fede MIPS R2 instruction hazard handling.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:46 +01:00
Ralf Baechle
bbc7f22f6d Detect the 34K.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:45 +01:00
Ralf Baechle
ff88f8a3d2 Use ei / di MIPS32 R2 instructions if available.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:44 +01:00
Ralf Baechle
6590326505 Use clz / dclz on MIPS32 / MIPS64 processors.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:43 +01:00
Ralf Baechle
60080265a1 Define kmap_atomic_pfn() for MIPS.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:42 +01:00
Ralf Baechle
c0ec406c80 Fix endianess bugs.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:41 +01:00
Thiemo Seufer
04988d6fda Protect noat assembly with .set push/pop and make it somewhat readable.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Thiemo Seufer <ths@networkno.de>
2005-10-29 19:31:40 +01:00
Thiemo Seufer
9556ac2fa1 Fix get_saved_sp for 64bit address space. Simplify set_save_sp.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Thiemo Seufer <ths@networkno.de>
2005-10-29 19:31:39 +01:00
Thiemo Seufer
4552074577 IP30 Identification.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Thiemo Seufer <ths@networkno.de>
2005-10-29 19:31:39 +01:00
Ralf Baechle
6e760c8dae Rename CONFIG_CPU_MIPS{32,64} to CONFIG_CPU_MIPS{32|64}_R1.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:37 +01:00
Maciej W. Rozycki
a5fc9c0bbe Use physical addresses at the interface level, letting drivers remap
them as appropriate.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:35 +01:00
Maciej W. Rozycki
7d7ee22121 Prevent 64-bit constants from being cropped to 32 bits when used in C code.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:34 +01:00
Maciej W. Rozycki
c3455b0efc Inline ioremap() calls for constant addresses that map to KSEG1.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:34 +01:00
Ralf Baechle
7222424e2e More .set to keep 32-bit processors happy.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:33 +01:00
Maciej W. Rozycki
c4559f67b7 Always use ".set mips3" rather than select between "mips2" or "mips3"
for assembling ll/sc sequences to avoid problems with 64-bit
configurations.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:31 +01:00
Maciej W. Rozycki
64dac503e8 System-specific handling of bus errors for DECstation variations
supporting parity errors only for memory (Pmax/3min/Maxine).
Fixes for resources decoded by the KN04/KN05 MB ASIC.  Additional
clean-ups for the ECC handler.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:30 +01:00
Ralf Baechle
e20368d5df Get the thing to compile again ...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:28 +01:00
Maciej W. Rozycki
c6ad7b7d3c Use macros for the RM7k cp0.config bits instead of magic numbers.
Minor clean-ups.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:28 +01:00
Maciej W. Rozycki
260c96738c Mark __die() "noreturn" for real.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:26 +01:00
Maciej W. Rozycki
a76f9fe122 GCC 4.0.0 broke `attribute(("alias"))' -- resort to an assembly variant.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:24 +01:00
Maciej W. Rozycki
3bd4c902da Deal with the bloody KSEG vs CKSEG horror...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:23 +01:00
Ralf Baechle
02416dcf5a Redo RM9000 workaround which along with other DSP ASE changes was
causing some headache for debuggers knowing about signal frames.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:23 +01:00
Maciej W. Rozycki
aac8aa7717 Enable a suitable ISA for the assembler around ll/sc so that code
builds even for processors that don't support the instructions.
Plus minor formatting fixes.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:22 +01:00
Ralf Baechle
478489dd2c Remove dead code which was causing warnings.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:19 +01:00
Ralf Baechle
ac130ac494 Fix build with CONFIG_PRINTK disabled.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:18 +01:00
Ralf Baechle
e50c0a8fa6 Support the MIPS32 / MIPS64 DSP ASE.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:17 +01:00
Ralf Baechle
ffd099bd33 Fix build for CONFIG_BUG=n. Yes, bugs are now a compile time option ;-)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:17 +01:00
Ralf Baechle
fdb551a4c5 Bugs are now a configuration option.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:15 +01:00
Ralf Baechle
629c83f89b On MIPS the struct sigev preamble is only 8 bytes.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:15 +01:00
Ralf Baechle
4a99d1e25b Now that a struct is the only member left in struct
mips_fpu_emulator_stats cleanup that unnecessary nesting of structs.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:14 +01:00
Ralf Baechle
baee502ce2 Get rid of the eir struct mips_fpu_emulator_private member. It's
never initialized been initialized anywhere, just saved to and
restored from signal frames so nonsense anyway.  As neat side effect
of being shared between all processors it was also abusable as a
nice covert channel between processes.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:14 +01:00
Ralf Baechle
1d74f6bc85 __compute_return_epc() uses CFC1 instruction which might result in a
coprocessor unusable exception since the process can lose its fpu
context by preemption.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:13 +01:00
Ralf Baechle
4194318c39 Cleanup decoding of MIPSxx config registers.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:12 +01:00
Thiemo Seufer
ba5187dbb4 Better interface to run uncached cache setup code.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:11 +01:00
Pete Popov
7de8d23287 * use 'unsigned long' as address supplied to au_write[bwl]()
* remove two already unused and commented structures
* added an ULL suffix to several address constants that use bits 35-32

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:10 +01:00
Ralf Baechle
9447cbfc7a Fix D-cache aliasing problem in the PIO IDE driver potencially resulting
in the kernel or userspace seeing stale data.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:09 +01:00
Ralf Baechle
ecba36dad8 Fix a few build warnings.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:09 +01:00
Ralf Baechle
88de09f351 Need to include smp.h for the definition of smp_processor_id().
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:08 +01:00
Ralf Baechle
b63014ad2d Move sync into the delay slot here also.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:08 +01:00
Ralf Baechle
3c37026d43 NPTL, round one.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:06 +01:00
Ralf Baechle
38551576a3 Build fix for certain configurations.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:05 +01:00
Ralf Baechle
f03da6e28e Fix BogoMIPS display on UP and some minor cosmetical things.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:05 +01:00
Thiemo Seufer
ac5d8c022f Use fixed up pfn.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:03 +01:00
Pete Popov
3b495f2bb7 Au1100 FB driver uplift for 2.6.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Acked-by: Antonino Daplas <adaplas@pol.net>
2005-10-29 19:31:01 +01:00
Thiemo Seufer
1b3a6e975c Fix 64bit SMP TLB handler and stack frame handling, optimize 32bit SMP
TLB handlers a bit, match definitions in pgtable-{32,64}.h better.

Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:31:00 +01:00
Ralf Baechle
7c2740f1c1 HUB interrupts are allocated per node, not per slice. Make
manipulation of the interrupt mask register atomic by disabling
interrupts.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:59 +01:00
Ralf Baechle
127c6f6623 SECCOMP for MIPS.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:58 +01:00
Ralf Baechle
53de0d471f Reformat; cosmetic cleanups.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:57 +01:00
Ralf Baechle
1592dac241 Reformatting, remove debugging code.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:57 +01:00
Ralf Baechle
71e0e556db Multithreaded core dumps.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:56 +01:00
Ralf Baechle
77c728c224 Gcc 4.0 fixes.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:53 +01:00
Ralf Baechle
5eaf7a21be Use new txx9 serial driver.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:52 +01:00
Ralf Baechle
88d535b6b5 One definition of back_to_back_c0_hazard too much.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:50 +01:00
Ralf Baechle
fe00f943e0 Sparseify MIPS.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:50 +01:00
Ralf Baechle
5068debff2 New hazard handling function back_to_back_c0_hazard() to handle back to
back mtc0 / mfc0 pairs from the same coprocessor register.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:49 +01:00
Ralf Baechle
0f04afb595 ISOify.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:48 +01:00
Pete Popov
2d32ffa44a Moved irq_tab_alchemy to the board specific irqmap.c files.
Cleaned up a to of warnings in dbdma.c.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:48 +01:00
Pete Popov
e3ad1c23ba Base Au1200 2.6 support.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:47 +01:00
Ralf Baechle
0bd5d2e9ec Cleanup fpuemuprivate declarations.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:46 +01:00
Maciej W. Rozycki
65bda1a95d Switch SiByte drivers back to __raw_*() functions.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:44 +01:00
Maciej W. Rozycki
4912ba72d6 Define mem_*() I/O accessory functions that preserve byte addresses.
Add missing ____raw_*q() functions.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:43 +01:00
Ralf Baechle
1f82bdb11b Define MAP_BASE for IP27
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:42 +01:00
Ralf Baechle
c4ed38a0c6 Resurrect Cobalt support for 2.6.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:42 +01:00
Thiemo Seufer
049b13c358 Enable/disable irq's only if needed.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:41 +01:00
Thiemo Seufer
f29244a594 Fix compilation, and bring 32/64 bit variants more in line.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:40 +01:00
Thiemo Seufer
4e6a05fe5f Improved modules loader, more robust and works on 64bit kernels.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:39 +01:00
Steven J. Hill
7ee8798f37 Until I figure out why NFS filesystems are having problems with
the 'load_irix_binary' and having kernel faults, Irix support is
disabled. I suspect locking of some sort, but I will now have to
investigate further.

Static IRIX binaries are now being detected properly and are using the
ELF interpreter found in this file.

Signed-off-by: Steven J. Hill <sjhill@realitydiluted.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:39 +01:00
Ralf Baechle
a4f23e3dfc Allocate break code 513 to KDB.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:34 +01:00
Ralf Baechle
85b6e8184b Rewrite to avoid the use of $at. Unfortunately binutils 2.15 and CVS
binutils are broken and don't warn about this use of $at even though
gas is in .set noat mode so this for now is an accident waiting to
happen.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:32 +01:00
Ralf Baechle
c6e8b58771 Update MIPS to use the 4-level pagetable code thereby getting rid of
the compacrapability headers.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:31 +01:00
Ralf Baechle
26852d5cdb Fix ptrace aliasing issue in copy_from_user_page / copy_to_user_page.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:29 +01:00
Ralf Baechle
55a6feb671 Add a few more PrId vendor IDs.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:29 +01:00
Ralf Baechle
84fd089a42 Delete duplicate copy of fixrange_init.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:28 +01:00
Ralf Baechle
0efe27617e Provide functions to access cop0 config4-7 registers
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:25 +01:00
Ralf Baechle
e3c4807825 Define __raw_read_can_lock / __raw_write_can_lock.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:22 +01:00
Maciej W. Rozycki
6b12397954 Fix compilation; by Manish Lachwani.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:20 +01:00
Maciej W. Rozycki
aa0980b809 Fixes for system controllers for Atlas/Malta core cards.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:20 +01:00
Ralf Baechle
c83cfc9c94 Get rid of early_init. There's more need to make this form of
initialization actually useful and as is certainly unmergable with
upstream.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:30:18 +01:00
Linus Torvalds
955c503882 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev 2005-10-29 11:26:04 -07:00
Linus Torvalds
62d3af1b5f Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2005-10-29 11:25:16 -07:00
Kenneth Tan
c514e58cb8 [ARM] 3022/1: Missing peripheral devices memory mapping definition for IXP46X processor
Patch from Kenneth Tan

Defining IXP46X peripheral devices memory mapping definitions that have
been missed out:
o Peripheral virtual base address is being adjusted to allow more headroom to add extra peripheral device addresses
o Peripheral size is being increased to address the above needs
o Virtual address of expansion bus and PCI configuration register needs to be adjusted as new peripheral device memory space is overlapping with their virtual address space

Signed-off-by: Kenneth Tan <chong.yin.tan@intel.com>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-29 16:32:14 +01:00
Lennert Buytenhek
b4a1f67fbf [ARM] 3053/1: introduce ixp2000_reg_wrb (ixp2000_reg_write plus readback)
Patch from Lennert Buytenhek

Introduce ixp2000_reg_wrb, which is a variant of ixp2000_reg_write
that does a readback from the target register, to make sure that
the write has been flushed out of the write buffer.

Unlike the previous (ineffective) readback in ixp2000_reg_write, this
readback is followed by an instruction that depends on the value of
the readback so that the CPU actually stalls until the readback has
completed.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-29 16:28:28 +01:00
Lennert Buytenhek
ecbea7a2da [ARM] 3051/1: turn ixp2000_reg_read into an inline function
Patch from Lennert Buytenhek

Turn ixp2000_reg_read into an inline function.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-29 16:28:27 +01:00
Lennert Buytenhek
931db7d688 [ARM] 3050/1: remove ixp2000_reg_write erratum #66 workaround
Patch from Lennert Buytenhek

The workaround that we do for avoiding triggering ixp2400 erratum #66
involves mapping I/O pages using XCB=101 instead of XCB=000 so that we
prevent the I/O signal to the gasket from being asserted (which can
cause data corruption.)  But XCB=101 mappings are write-buffered while
mappings using XCB=000 are not, which is why if we use XCB=101 mappings
we do a readback for every CSR store in an attempt to make sure that
the store has been pushed out of the xscale core and the gasket.

Unfortunately, there are two issues with this:
- we do a readback for every CSR store, which is wrong, because the
  register we are writing to might have unwanted side-effects on read,
  for example, in the case of the scratchpad ring enqueue/dequeue
  registers; and
- the readback is totally ineffective in the way we currently do it,
  because we just issue a load but do not issue any instruction that
  depends on the return value of that load, so the xscale core does
  not wait for the load to complete before continuing.

See this linux-arm-kernel mailing list post for further information:
	http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2005-September/031314.html

This means that my ixp2400 boxes have been running for many months
without a working readback in ixp2000_reg_write, without any apparent
adverse effects.  Two of them have been running for a week now with
the actual readback deleted from ixp2000_reg_write, also without any
apparent ill effects.

So, because in its current form it does more harm than good, the
readback in ixp2000_reg_write should simply be killed, as the patch
below does.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-29 16:28:26 +01:00
Russell King
14e66f767f [ARM] Allow MTD device name to be passed via platform data
Allow SA1100 devices to pass the name of the flash device to the
SA1100 map driver.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-29 16:08:31 +01:00
Russell King
8c18fe2562 [ARM] Fix buggy __phys_to_pfn / __pfn_to_phys
Macro arguments should _always_ be surrounded by parentheses
when used to prevent unexpected problems with operator precedence.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-29 13:18:10 +01:00
Russell King
fb31690fba [ARM] Ensure machine information structures aren't optimised away
Since the machine information structures are now static, the
compiler might optimise them away.  Mark them with
__attribute_used__ to prevent this occuring.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-29 13:15:10 +01:00
Arnaldo Carvalho de Melo
fc228a04a4 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 2005-10-29 03:10:35 -02:00
Olaf Hering
146c98782b [PATCH] ppc64 boot: remove include from include/linux/zutil.h
zutil.h does not need errno.h

Signed-off-by: Olaf Hering <olh@suse.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-29 15:04:02 +10:00
Vitaly Bordug
1461b4ea2b [PATCH] ppc32: ppc_sys fixes for 8xx and 82xx
This patch fixes a numbers of issues regarding to that both 8xx and 82xx
began to use ppc_sys model:
	- Platform is now identified by default deviceless SOC, if no
BOARD_CHIP_NAME is specified in the bard-specific header. For the list
of supported names refer to (arch/ppc/syslib/) mpc8xx_sys.c and
mpc82xx_sys.c for 8xx and 82xx respectively.
	- Fixed a bug in identification by name - if the name was not found,
it returned -1 instead of default deviceless ppc_spec.
	- fixed devices amount in the 8xx platform system descriptions

Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-29 14:49:29 +10:00
Andy Fleming
b37665e0ba [PATCH] ppc32: 85xx PHY Platform Update
This patch updates the 85xx platform code to support the new PHY Layer.

Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Kumar Gala <Kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-29 14:42:28 +10:00
Olaf Hering
35e95e6399 [PATCH] ppc32: nvram driver for chrp
This implements a nvram acccess method, similar to
arch/ppc64/kernel/pSeries_nvram.c tested on CHRP B50.

Signed-off-by: Olaf Hering <olh@suse.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-29 14:35:00 +10:00
Roland Dreier
8b150478ae [PATCH] ppc: make phys_mem_access_prot() work with pfns instead of addresses
Change the phys_mem_access_prot() function to take a pfn instead of an
address.  This allows mmap64() to work on /dev/mem for addresses above 4G
on 32-bit architectures.  We start with a pfn in mmap_mem(), so there's no
need to convert to an address; in fact, it's actively bad, since the
conversion can overflow when the address is above 4G.

Similarly fix the ppc32 page_is_ram() function to avoid a conversion to an
address by directly comparing to max_pfn.  Working with max_pfn instead of
high_memory fixes page_is_ram() to give the right answer for highmem pages.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Cc: Anton Blanchard <anton@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-29 14:25:49 +10:00
Stephen Hemminger
360ac8e2f1 [ETH]: ether address compare
Expose faster ether compare for use by protocols and other
driver. And change name to be more consistent with other ether
address manipulation routines in same file

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
2005-10-29 02:23:58 -02:00
Linus Torvalds
8a212ab6b8 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2005-10-28 21:09:26 -07:00
Linus Torvalds
1f419cadff Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6 2005-10-28 21:08:14 -07:00
Arnaldo Carvalho de Melo
974f7bc578 Merge master.kernel.org:/pub/scm/linux/kernel/git/sridhar/lksctp-2.6 2005-10-28 23:35:02 -02:00
Andrew Morton
9a7834d06d [PATCH] USB: fix pm patches with CONFIG_PM off part 2
With CONFIG_PM=n:

drivers/built-in.o(.text+0x1098c): In function `hub_thread':
drivers/usb/core/hub.c:2673: undefined reference to `.dpm_runtime_resume'
drivers/built-in.o(.text+0x10998):drivers/usb/core/hub.c:2674: undefined reference to `.dpm_runtime_resume'

Please, never ever ever put extern decls into .c files.  Use the darn header
files :(

Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 16:47:52 -07:00
Alan Stern
4f62efe67f [PATCH] usbcore: Fix handling of sysfs strings and other attributes
This patch (as592) makes a few small improvements to the way device
strings are handled, and it fixes some bugs in a couple of other sysfs
attribute routines.  (Look at show_configuration_string() to see what I
mean.)

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 16:47:51 -07:00
Alan Stern
b724ae7796 [PATCH] usbcore: Wrap lines before column 80
I can't stand text lines that wrap-around in my 80-column windows.  This
patch (as589) makes cosmetic changes to a couple of source files.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 16:47:51 -07:00
Alan Stern
be69e5b190 [PATCH] usbcore: Improve endpoint sysfs file handling
This revised patch (as587b) improves the implementation of USB endpoint
sysfs files.  Instead of storing a whole bunch of attributes for every
single endpoint, each endpoint now gets its own kobject and they can
share a static list of attributes.  The number of extra fields added to
struct usb_host_endpoint has been reduced from 4 to 1.

The bEndpointAddress field is retained even though it is redundant (it
repeats the same information as the attributes' directory name).  The
code avoids calling kobject_register, to prevent generating unwanted
hotplug events.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 16:47:50 -07:00
Alan Stern
478a3bab8c [PATCH] USB: Always do usb-handoff
This revised patch (as586b) makes usb-handoff permanently true and no
longer a kernel boot parameter.  It also removes the piix3_usb quirk code;
that was nothing more than an early version of the USB handoff code
(written at a time when Intel's PIIX3 was about the only motherboard with
USB support).  And it adds identifiers for the three PCI USB controller
classes to pci_ids.h.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 16:47:49 -07:00
Pete Zaitcev
c36fc889b5 [PATCH] usb: Patch for USBDEVFS_IOCTL from 32-bit programs
Dell supplied me with the following test:

#include<stdio.h>
#include<errno.h>
#include<sys/ioctl.h>
#include<fcntl.h>
#include<linux/usbdevice_fs.h>

main(int argc,char*argv[])
{
   struct usbdevfs_hub_portinfo hubPortInfo = {0};
   struct usbdevfs_ioctl command = {0};
   command.ifno = 0;
   command.ioctl_code = USBDEVFS_HUB_PORTINFO;
   command.data = (void*)&hubPortInfo;
   int fd, ret;
   if(argc != 2) {
     fprintf(stderr,"Usage: %s /proc/bus/usb/<BusNo>/<HubID>\n",argv[0]);
     fprintf(stderr,"Example: %s /proc/bus/usb/001/001\n",argv[0]);
     exit(1);
   }
   errno = 0;
   fd = open(argv[1],O_RDWR);
   if(fd < 0) {
     perror("open failed:");
     exit(errno);
   }
   errno = 0;
   ret = ioctl(fd,USBDEVFS_IOCTL,&command);
   printf("IOCTL return status:%d\n",ret);
   if(ret<0) {
     perror("IOCTL failed:");
     close(fd);
     exit(3);
   } else {
       printf("IOCTL passed:Num of ports %d\n",hubPortInfo.nports);
       close(fd);
       exit(0);
   }
   return 0;
}

I have verified that it breaks if built in 32 bit mode on x86_64 and that
the patch below fixes it.

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 16:47:46 -07:00
Greg Kroah-Hartman
3099e75a7c [PATCH] USB: add notifier functions to the USB core for devices and busses
This should let us get rid of all of the different hooks in the USB core for
when something has changed.

Also, some other parts of the kernel have wanted to know this kind of
information at times.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 16:47:46 -07:00
Juha Yrj?l?
4e67185a7a [PATCH] add usb transceiver set_suspend() method
When a USB device is put into suspend mode, the current drawn from VBUS
has to be less than 500 uA. Some transceivers need to be put into a
special power-saving mode to accomplish this, and won't have a separate
OTG driver handling that.

This adds a suspend method to the "otg_transceiver" struct -- misnamed,
it's not only for OTG -- and calls it from the OMAP UDC driver.

Signed-off-by: Juha Yrj?l? <juha.yrjola@nokia.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 16:47:45 -07:00
David Brownell
5edbfb7c8a [PATCH] stop exporting two functions
The way we're looking at USB suspend lately doesn't expect drivers to
call usb_suspend_device() or usb_resume_device() directly; that'll
be implicit when no interfaces are in use.

This patch removes those APIs from visibility outside usbcore.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>

 drivers/usb/core/hub.c |   12 ++++--------
 drivers/usb/core/usb.h |    4 ++++
 include/linux/usb.h    |    5 -----
 3 files changed, 8 insertions(+), 13 deletions(-)
2005-10-28 16:47:41 -07:00
David Brownell
e9b7bd4ee7 [PATCH] one less word in struct device
This saves a word from "struct device" ... there's a refcounting mechanism
stub that's rather ineffective (the values are never even tested!), which
can safely be deleted.  With this patch it uses normal device refcounting,
so any potential users of the pm_parent mechanism will be more correct.
(That mechanism is actually unusable for now though; it does nothing.)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

 drivers/base/power/main.c |   26 +++-----------------------
 include/linux/pm.h        |    1 -
 2 files changed, 3 insertions(+), 24 deletions(-)
2005-10-28 16:47:39 -07:00
David Brownell
390a8c345e [PATCH] remove usb_suspend_device() parameter
This patch removes the extra usb_suspend_device() parameter.  The original
reason to pass that parameter was so that this routine could suspend any
active children.  A previous patch removed that functionality ... leaving
no reason to pass the parameter.  A close analogy is pci_set_power_state,
which doesn't need a pm_message_t either.

On the internal code path that comes through the driver model, the parameter
is now used to distinguish cases where USB devices need to "freeze" but not
suspend.   It also checks for an error case that's accessible through sysfs:
attempting to suspend a device before its interfaces (or for hubs, ports).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

 drivers/usb/core/hub.c         |   34 +++++++++++++++++++++-------------
 drivers/usb/core/usb.c         |   23 +++++++++++++++++++++--
 drivers/usb/host/ehci-hcd.c    |    2 +-
 drivers/usb/host/isp116x-hcd.c |    2 +-
 drivers/usb/host/ohci-pci.c    |    2 +-
 include/linux/usb.h            |    2 +-
 6 files changed, 46 insertions(+), 19 deletions(-)
2005-10-28 16:47:38 -07:00
Greg Kroah-Hartman
d6e5bcf4a7 [PATCH] devfs: Remove the mode field from usb_class_driver as it's no longer needed
Also fixes all drivers that set this field, and removes some other devfs
specfic USB logic.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

 drivers/usb/class/usblp.c           |    3 +--
 drivers/usb/core/file.c             |   19 ++++---------------
 drivers/usb/image/mdc800.c          |    3 +--
 drivers/usb/input/aiptek.c          |    2 +-
 drivers/usb/input/hiddev.c          |    3 +--
 drivers/usb/media/dabusb.c          |    3 +--
 drivers/usb/misc/auerswald.c        |    3 +--
 drivers/usb/misc/idmouse.c          |    5 ++---
 drivers/usb/misc/legousbtower.c     |    5 ++---
 drivers/usb/misc/rio500.c           |    3 +--
 drivers/usb/misc/sisusbvga/sisusb.c |    5 -----
 drivers/usb/misc/usblcd.c           |    9 ++++-----
 drivers/usb/usb-skeleton.c          |    3 +--
 include/linux/usb.h                 |    7 ++-----
 14 files changed, 22 insertions(+), 51 deletions(-)
2005-10-28 16:47:37 -07:00
Greg Kroah-Hartman
094f164957 [PATCH] USB: add endpoint information to sysfs
This patch adds endpoint information for both devices and interfaces to
sysfs.  Previously it was only possible to get the endpoint information
from usbfs, and never possible to get any information on endpoint 0.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

 drivers/usb/core/sysfs.c |  195 ++++++++++++++++++++++++++++++++++++++++++++++-
 include/linux/usb.h      |    4
 2 files changed, 197 insertions(+), 2 deletions(-)
2005-10-28 16:47:37 -07:00
Linus Torvalds
89fbb69c4f Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband 2005-10-28 16:47:34 -07:00
Roland Dreier
a4da0628ef Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2005-10-28 15:50:51 -07:00
Jeff Garzik
9dfb7808fb Merge branch 'master' 2005-10-28 18:50:09 -04:00
Jeff Garzik
596c96ba06 Merge branch 'master' 2005-10-28 18:48:57 -04:00
Grant Coady
2f028234f2 [PATCH] pci_ids: cleanup comments
pci_ids.h cleanup: convert // comment to /* comment */

Signed-off-by: Grant Coady <gcoady@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 15:37:02 -07:00
Andrew Morton
d10211b278 [PATCH] PCI: fix edac drivers for radisys 82600 borkage
I told you that the pci_ids.h cleanup was a bad idea ;)

Cc: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 15:37:01 -07:00
Grant Coady
b7924c38c9 [PATCH] pci_ids: remove non-referenced symbols from pci_ids.h
pci_ids.h cleanup: removed non-referenced symbols, compile tested
with 'make allmodconfig'

Signed-off-by: Grant Coady <gcoady@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

 include/linux/pci_ids.h |  540 ------------------------------------------------
 1 file changed, 540 deletions(-)
2005-10-28 15:36:59 -07:00
Grant Coady
b135c48150 [PATCH] pci_ids: remove duplicates from pci_ids.h
pci_ids.h cleanup: remove duplicated entries and change some defines to
explicit value rather than in terms of another constant, preparation for
removing unused symbols

Signed-off-by: Grant Coady <gcoady@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

 include/linux/pci_ids.h |   28 +++++++++-------------------
 1 file changed, 9 insertions(+), 19 deletions(-)
2005-10-28 15:36:59 -07:00
Brian King
e04b0ea2e0 [PATCH] PCI: Block config access during BIST
Some PCI adapters (eg.  ipr scsi adapters) have an exposure today in that they
issue BIST to the adapter to reset the card.  If, during the time it takes to
complete BIST, userspace attempts to access PCI config space, the host bus
bridge will master abort the access since the ipr adapter does not respond on
the PCI bus for a brief period of time when running BIST.  On PPC64 hardware,
this master abort results in the host PCI bridge isolating that PCI device
from the rest of the system, making the device unusable until Linux is
rebooted.  This patch is an attempt to close that exposure by introducing some
blocking code in the PCI code.  When blocked, writes will be humored and reads
will return the cached value.  Ben Herrenschmidt has also mentioned that he
plans to use this in PPC power management.

Signed-off-by: Brian King <brking@us.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

 drivers/pci/access.c    |   89 ++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/pci/pci-sysfs.c |   20 +++++-----
 drivers/pci/pci.h       |    7 +++
 drivers/pci/proc.c      |   28 +++++++--------
 drivers/pci/syscall.c   |   14 +++----
 include/linux/pci.h     |    7 +++
 6 files changed, 134 insertions(+), 31 deletions(-)
2005-10-28 15:36:58 -07:00
Tony Luck
fb5f329d58 Auto-update from upstream 2005-10-28 15:28:54 -07:00
Tony Luck
8496f2a451 Pull fix-slow-tlb-purge into release branch 2005-10-28 15:27:36 -07:00
Tony Luck
fac84ef267 Pull xpc-disengage into release branch 2005-10-28 15:27:03 -07:00
Ivan Skytte Jorgensen
eaa5c54dbe [SCTP] Rename SCTP specific control message flags.
Rename SCTP specific control message flags to use SCTP_ prefix rather than
MSG_ prefix as per the latest sctp sockets API draft.

Signed-off-by: Ivan Skytte Jorgensen <isj-sctp@i1.dk>
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
2005-10-28 15:10:00 -07:00
Tony Luck
c87ff94333 Pull sparsemem-v5 into release branch 2005-10-28 14:32:56 -07:00
Tony Luck
556902cd2d Pull remove-sn-bist-lock into release branch 2005-10-28 14:32:44 -07:00
Tony Luck
5833f1420b Pull new-efi-memmap into release branch 2005-10-28 14:32:30 -07:00
Greg Kroah-Hartman
a9d1b24d91 [PATCH] I2C: add i2c module alias for i2c drivers to use
This is the start of adding hotplug-like support for i2c devices.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 14:02:15 -07:00
Jean Delvare
585b3160f8 [PATCH] i2c: SMBus PEC support rewrite, 3 of 3
The new SMBus PEC implementation doesn't support PEC emulation on
non-PEC non-I2C SMBus masters, so we can drop all related code.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 14:02:14 -07:00
Jean Delvare
421ef47be2 [PATCH] i2c: SMBus PEC support rewrite, 2 of 3
This is my rewrite of the SMBus PEC support. The original
implementation was known to have bugs (credits go to Hideki Iwamoto
for reporting many of them recently), and was incomplete due to a
conceptual limitation.

The rewrite affects only software PEC. Hardware PEC needs very little
code and is mostly untouched.

Technically, both implementations differ in that the original one
was emulating PEC in software by modifying the contents of an
i2c_smbus_data union (changing the transaction to a different type),
while the new one works one level lower, on i2c_msg structures (working
on message contents). Due to the definition of the i2c_smbus_data union,
not all SMBus transactions could be handled (at least not without
changing the definition of this union, which would break user-space
compatibility), and those which could had to be implemented
individually. At the opposite, adding PEC to an i2c_msg structure
can be done on any SMBus transaction with common code.

Advantages of the new implementation:

* It's about twice as small (from ~136 lines before to ~70 now, only
  counting i2c-core, including blank and comment lines). The memory
  used by i2c-core is down by ~640 bytes (~3.5%).

* Easier to validate, less tricky code. The code being common to all
  transactions by design, the risk that a bug can stay uncovered is
  lower.

* All SMBus transactions have PEC support in I2C emulation mode
  (providing the non-PEC transaction is also implemented). Transactions
  which have no emulation code right now will get PEC support for free
  when they finally get implemented.

* Allows for code simplifications in header files and bus drivers
  (patch follows).

Drawbacks (I guess there had to be at least one):

* PEC emulation for non-PEC capable non-I2C SMBus masters was dropped.
  It was based on SMBus tricks and doesn't quite fit in the new design.
  I don't think it's really a problem, as the benefit was certainly
  not worth the additional complexity, but it's only fair that I at
  least mention it.

Lastly, let's note that the new implementation does slightly affect
compatibility (both in kernel and user-space), but doesn't actually
break it. Some defines will be dropped, but the code can always be
changed in a way that will work with both the old and the new
implementations. It shouldn't be a problem as there doesn't seem to be
many users of SMBus PEC to date anyway.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 14:02:14 -07:00
Jean Delvare
b8095544bc [PATCH] i2c: SMBus PEC support rewrite, 1 of 3
Discard I2C_FUNC_SMBUS_*_PEC defines. i2c clients are not supposed to
check for PEC support of i2c bus drivers on individual SMBus
transactions, and i2c bus drivers are not supposed to advertise them.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 14:02:13 -07:00
Jean Delvare
eb00a28ae1 [PATCH] i2c: Drop unused parport i2c IDs
Drop unused i2c-over-parallel-port i2c IDs:
* I2C_HW_B_LPC was never actually used as far as I could search.
* I2C_HW_B_ELV and I2C_HW_B_VELLE are no more used since the
  introduction of the unified i2c-parport driver in Linux 2.6.2.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 14:02:13 -07:00
Jean Delvare
cd19cc4732 [PATCH] i2c: ID redefinition cleanups
Fix several redefinitions of i2c IDs. i2c IDs must not be defined
outside of i2c-id.h.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Henk Vergonet <henk@god.dyndns.org>
Acked-by: Mark McClelland <mark@alpha.dyndns.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 14:02:13 -07:00
Alessandro Zummo
4d4e5ce864 [PATCH] i2c: New Xicor X1205 RTC driver
New driver for the Xicor X1205 RTC chip.

Signed-off-by: Alessandro Zummo <alessandro.zummo@towertech.it>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 14:02:12 -07:00
Jean Delvare
30dac74697 [PATCH] i2c: Drop I2C_SMBUS_I2C_BLOCK_MAX
Drop I2C_SMBUS_I2C_BLOCK_MAX, use I2C_SMBUS_BLOCK_MAX instead.

I2C_SMBUS_I2C_BLOCK_MAX has always been defined to the same value as
I2C_SMBUS_BLOCK_MAX, and this will never change: setting it to a lower
value would make no sense, setting it to a higher value would break
i2c_smbus_data compatibility. There is no point in changing
i2c_smbus_data to support larger block transactions in SMBus mode, as
no SMBus hardware supports more than 32 byte blocks. Thus, for larger
transactions, direct I2C transfers are the way to go.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 14:02:10 -07:00
Jean Delvare
d3554b4a2f [PATCH] i2c: Drop unused per-i2c-algorithm adapter max
There are no more per-i2c-algorithm adapter max. Last time there were
was in July 1999.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 14:02:10 -07:00
Jean Delvare
80ce3b7d0f [PATCH] i2c: Drop out-of-date, colliding ioctl definitions
Delete 2 out-of-date, colliding ioctl defines. I2C_UDELAY and
I2C_MDELAY are supposed to be used by i2c-algo-bit, but actually
aren't (and I suspect never were). Moreover, their values are the same
as I2C_FUNCS and I2C_SLAVE_FORCE, respectively, which *are* widely
used.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 14:02:09 -07:00
Jean Delvare
31ec5bc571 [PATCH] i2c: Fix misplaced i2c.h comment
Fix a misplaced comment in i2c.h. Spotted by Hideki Iwamoto.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 14:02:09 -07:00
Jean Delvare
bf813b314a [PATCH] i2c: Drop useless CVS revision IDs
CVS revision IDs are totally useless and irrelevant by now.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 14:02:09 -07:00
Hideki Iwamoto
332bf92b33 [PATCH] i2c: Fix union i2c_smbus_data definition
The i2c_smbus_data union block member has a comment stating that an
extra byte is required for SMBus Block Process Call transactions. This
has been true for three weeks around June 2002, but no more since, so
it is about time that we drop this comment and fix the definition.

From: Hideki Iwamoto <h-iwamoto@kit.hi-ho.ne.jp>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

 include/linux/i2c.h |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
2005-10-28 14:02:07 -07:00
Jesper Juhl
b4558ea93d drivers/net: Remove pointless checks for NULL prior to calling kfree() 2005-10-28 16:53:13 -04:00
Pantelis Antoniou
48257c4f16 Add fs_enet ethernet network driver, for several embedded platforms. 2005-10-28 16:25:58 -04:00
Tony Luck
a1e78db3f5 Pull define-node-cleanup into release branch 2005-10-28 13:24:06 -07:00
Tony Luck
fbbb0bd1f6 Pull sn_pci_legacy_read-write into release branch 2005-10-28 13:23:50 -07:00
Linus Torvalds
84860bf064 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2005-10-28 13:09:47 -07:00
Michael Chan
a4e2b34784 [PATCH] tg3: add 5714/5715 support
Add complete support for 5714/5715. These chips are very similar to
5780 so the changes are very trivial. A TG3_FLG2_5780_CLASS flag is
added to identify these chips.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:07:29 -04:00
Ananda Raju
e89e9cf539 [IPv4/IPv6]: UFO Scatter-gather approach
Attached is kernel patch for UDP Fragmentation Offload (UFO) feature.

1. This patch incorporate the review comments by Jeff Garzik.
2. Renamed USO as UFO (UDP Fragmentation Offload)
3. udp sendfile support with UFO

This patches uses scatter-gather feature of skb to generate large UDP
datagram. Below is a "how-to" on changes required in network device
driver to use the UFO interface.

UDP Fragmentation Offload (UFO) Interface:
-------------------------------------------
UFO is a feature wherein the Linux kernel network stack will offload the
IP fragmentation functionality of large UDP datagram to hardware. This
will reduce the overhead of stack in fragmenting the large UDP datagram to
MTU sized packets

1) Drivers indicate their capability of UFO using
dev->features |= NETIF_F_UFO | NETIF_F_HW_CSUM | NETIF_F_SG

NETIF_F_HW_CSUM is required for UFO over ipv6.

2) UFO packet will be submitted for transmission using driver xmit routine.
UFO packet will have a non-zero value for

"skb_shinfo(skb)->ufo_size"

skb_shinfo(skb)->ufo_size will indicate the length of data part in each IP
fragment going out of the adapter after IP fragmentation by hardware.

skb->data will contain MAC/IP/UDP header and skb_shinfo(skb)->frags[]
contains the data payload. The skb->ip_summed will be set to CHECKSUM_HW
indicating that hardware has to do checksum calculation. Hardware should
compute the UDP checksum of complete datagram and also ip header checksum of
each fragmented IP packet.

For IPV6 the UFO provides the fragment identification-id in
skb_shinfo(skb)->ip6_frag_id. The adapter should use this ID for generating
IPv6 fragments.

Signed-off-by: Ananda Raju <ananda.raju@neterion.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (forwarded)
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
2005-10-28 16:30:00 -02:00
Tony Luck
c85749e6d1 Pull hp-machvec into release branch 2005-10-28 11:15:25 -07:00
Tony Luck
0d9136fdbc Pull altix-mmr into release branch 2005-10-28 11:15:08 -07:00
Tony Luck
9189674026 Pull altix-fpga-reset into release branch 2005-10-28 11:14:47 -07:00
Arnaldo Carvalho de Melo
de5144164f Merge master.kernel.org:/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6 2005-10-28 15:49:24 -02:00
Marcel Holtmann
6516455d3b [Bluetooth] Make more functions static
This patch makes another bunch of functions static.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2005-10-28 19:20:48 +02:00
Marcel Holtmann
408c1ce271 [Bluetooth] Move CRC table into RFCOMM core
This patch moves rfcomm_crc_table[] into the RFCOMM core, because there
is no need to keep it in a separate file.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2005-10-28 19:20:36 +02:00
Greg KH
6fbfddcb52 Merge ../bleed-2.6 2005-10-28 10:13:16 -07:00
Linus Torvalds
8ed5759043 Merge branch 'forlinus' of git://parisc-linux.org/home/kyle/git/parisc-2.6 2005-10-28 10:08:46 -07:00
Russell King
9480e307cd [PATCH] DRIVER MODEL: Get rid of the obsolete tri-level suspend/resume callbacks
In PM v1, all devices were called at SUSPEND_DISABLE level.  Then
all devices were called at SUSPEND_SAVE_STATE level, and finally
SUSPEND_POWER_DOWN level.  However, with PM v2, to maintain
compatibility for platform devices, I arranged for the PM v2
suspend/resume callbacks to call the old PM v1 suspend/resume
callbacks three times with each level in order so that existing
drivers continued to work.

Since this is obsolete infrastructure which is no longer necessary,
we can remove it.  Here's an (untested) patch to do exactly that.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:56 -07:00
Greg Kroah-Hartman
ea9f240bd8 [PATCH] INPUT: rename input_dev_class to input_class to be correct.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:55 -07:00
Greg Kroah-Hartman
b0fdfebb20 [PATCH] INPUT: remove the input_class structure, as it is unused.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:55 -07:00
Greg Kroah-Hartman
23d5090161 [PATCH] INPUT: export input_dev_class so that input drivers can use it.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:54 -07:00
Dmitry Torokhov
d19fbe8a76 [PATCH] Input: prepare to sysfs integration
Input: prepare to sysfs integration

Add struct class_device to input_dev; add input_allocate_dev()
to dynamically allocate input devices; dynamically allocated
devices are automatically registered with sysfs.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:52 -07:00
Greg Kroah-Hartman
74be227f72 [PATCH] Driver Core: document struct class_device properly
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:52 -07:00
Greg Kroah-Hartman
51d172d5f3 [PATCH] Driver Core: add the ability for class_device structures to be nested
This patch allows struct class_device to be nested, so that another
struct class_device can be the parent of a new one, instead of only
having the struct class be the parent.  This will allow us to
(hopefully) fix up the input and video class subsystem mess.

But please people, don't go crazy and start making huge trees of class
devices, you should only need 2 levels deep to get everything to work
(remember to use a class_interface to get notification of a new class
device being added to the system.)

Oh, this also allows us to have the possibility of potentially, someday,
moving /sys/block into /sys/class.  The main hindrance is that pesky
/dev numberspace issue...

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:51 -07:00
Kay Sievers
a7fd67062e [PATCH] add sysfs attr to re-emit device hotplug event
A "coldplug + udevstart" can be simple like this:
  for i in /sys/block/*/*/uevent; do echo 1 > $i; done
  for i in /sys/class/*/*/uevent; do echo 1 > $i; done
  for i in /sys/bus/*/devices/*/uevent; do echo 1 > $i; done

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:51 -07:00
Dmitry Torokhov
d8539d81ae [PATCH] Driver core: pass interface to class interface methods
Driver core: pass interface to class intreface methods

Pass interface as argument to add() and remove() class interface
methods. This way a subsystem can implement generic add/remove
handlers and then call interface-specific ones.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:51 -07:00
Dmitry Torokhov
7bd7b09142 [PATCH] I2O: remove i2o_device_class
I2O: cleanup - remove i2o_device_class

I2O devices reside on their own bus so there should be no reason
to also have i2c_device class that mirros i2o bus.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:51 -07:00
Greg Kroah-Hartman
607cf4d9aa [PATCH] I2O: Clean up some pretty bad driver model abuses in the i2o code
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:51 -07:00
David Brownell
0ac85241eb [PATCH] driver model wakeup flags
This is a refresh of an earlier patch to add "wakeup" support to the
PM core model.  This provides per-device bus-neutral control of the
use of wakeup events.

  * "struct device_pm_info" has two bits that are initialized as
    part of setting up the enclosing struct device:
      - "can_wakeup", reflecting hardware capabilities
      - "may_wakeup", the policy setting (when CONFIG_PM)

  * There's a writeable sysfs "wakeup" file, with one of two values:
      - "enabled", when the policy is to allow wakeup
      - "disabled", when the policy is not to allow it
      - "" if the device can't currently issue wakeups

By default, wakeup is enabled on all devices that support it.  If its
driver doesn't support it ... treat it as a bug.  :)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:50 -07:00
Jeff Garzik
96b88fb850 Merge branch 'master' 2005-10-28 12:31:34 -04:00
Linus Torvalds
27d1097d39 Merge master.kernel.org:/home/rmk/linux-2.6-mmc 2005-10-28 09:25:21 -07:00
Linus Torvalds
83928e17b9 Merge master.kernel.org:/home/rmk/linux-2.6-arm
Minor manual fixups for gfp_t clashes.
2005-10-28 09:24:22 -07:00
Kyle McMartin
210cc679fa Auto-update from upstream 2005-10-28 12:18:07 -04:00
Linus Torvalds
5fadd053d9 Merge branch 'upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev 2005-10-28 09:06:50 -07:00
Linus Torvalds
e5dfa9282f Merge branch 'upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2005-10-28 09:05:25 -07:00
Linus Torvalds
5dd962494f Merge branch 'elevator-switch' of git://brick.kernel.dk/data/git/linux-2.6-block
Manual fixup for trivial "gfp_t" changes.
2005-10-28 08:56:34 -07:00
Linus Torvalds
28d721e24c Merge branch 'generic-dispatch' of git://brick.kernel.dk/data/git/linux-2.6-block 2005-10-28 08:53:49 -07:00
Linus Torvalds
0ee40c6628 Merge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block 2005-10-28 08:53:00 -07:00
Bellido Nicolas
049eb3298a [ARM] 3041/1: AAEC-2000 - CLCD controller platform glue
Patch from Bellido Nicolas

The AAEC-2000 has an ARM PrimeCell PL110 Color LCD Controller.
This patch contains the platform glue that will be used by specific boards.

Signed-off-by: Nicolas Bellido <ml@acolin.be>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-28 16:51:44 +01:00
Bellido Nicolas
4a91ca2eb6 [ARM] 3039/1: AAEC-2000 - Add MTD support
Patch from Bellido Nicolas

This adds platform code for MTD devices on AAEC-2000.

Signed-off-by: Nicolas Bellido <ml@acolin.be>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-28 16:51:42 +01:00
Bellido Nicolas
f0904e2936 [ARM] 3038/1: AAEC-2000 - Proper includes in hardware.h
Patch from Bellido Nicolas

linux/config.h is not necessary in hardware.h, while asm/sizes.h and asm/arch//aaec2000.h will be used later.

Signed-off-by: Nicolas Bellido <ml@acolin.be>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-28 16:51:41 +01:00
Bellido Nicolas
4028ef4cc1 [ARM] 3037/1: AAED-2000 - Add defines for GPIO registers on external port.
Patch from Bellido Nicolas

The AAED-2000 board has GPIO pins on an external port.
This patch adds the defines, and do the necessary mapping.

Signed-off-by: Nicolas Bellido <ml@acolin.be>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-28 16:51:40 +01:00
Bellido Nicolas
13b1d677d2 [ARM] 3036/1: AAEC-2000 - Add defines for GPIO registers
Patch from Bellido Nicolas

Add defines for GPIO registers on the AAEC-2000 processor.

Signed-off-by: Nicolas Bellido <ml@acolin.be>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-28 16:51:40 +01:00
Linus Torvalds
236fa08168 Merge master.kernel.org:/pub/scm/linux/kernel/git/acme/net-2.6.15 2005-10-28 08:50:37 -07:00
Nicolas Pitre
6f475c0133 [ARM] 2897/2: PXA2xx IRDA support
Patch from Nicolas Pitre

This is the PXA2xx common IRDA driver, plus platform support
for Lubbock and Mainstone.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Acked-by: Jean Tourrilhes <jt@hpl.hp.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-28 16:39:33 +01:00