summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* fore200e: Convert over to pure OF driver.David S. Miller2008-08-292-232/+189
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* cs4231: Convert SBUS side to OF driver.David S. Miller2008-08-291-28/+50
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* alsa: Remove special SBUS dma support code.David S. Miller2008-08-294-56/+2
| | | | | | No longer used. Signed-off-by: David S. Miller <davem@davemloft.net>
* cs4231: Use SNDRV_DMA_TYPE_DEV instead of SNDRV_DMA_TYPE_SBUS.David S. Miller2008-08-291-3/+3
| | | | | | | SBUS layer now uses dma_*() interfaces, no need for special DMA code any longer. Signed-off-by: David S. Miller <davem@davemloft.net>
* dbri: Convert to pure OF driver.David S. Miller2008-08-291-32/+27
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* amd7930: Convert to pure OF driver.David S. Miller2008-08-291-63/+20
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* qlogicpti: Convert to pure OF driver.David S. Miller2008-08-292-54/+56
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sun_esp: Convert to pure OF driver.David S. Miller2008-08-291-72/+64
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* parport_sunbpp: Convert to pure OF driver.David S. Miller2008-08-291-27/+20
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sunqe: Convert to pure OF driver.David S. Miller2008-08-292-80/+71
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sunlance: Convert to pure OF driver.David S. Miller2008-08-291-47/+40
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sunhme: Convert to pure OF driver.David S. Miller2008-08-292-154/+97
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sunbmac: Convert to pure OF driver.David S. Miller2008-08-292-88/+70
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* myri_sbus: Convert to pure OF driver.David S. Miller2008-08-292-89/+69
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Move SBUS DMA attribute interfaces out of asm/sbus.hDavid S. Miller2008-08-2912-26/+54
| | | | | | | | | This is in preparation for the subsequent asm/sbus.h removal. Also, make these routines take a "struct device" or no arguments, as appropriate. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Convert all SBUS drivers to dma_*() interfaces.David S. Miller2008-08-2914-310/+206
| | | | | | | | | And all the SBUS dma interfaces are deleted. A private implementation remains inside of the 32-bit sparc port which exists only for the sake of the implementation of dma_*(). Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Implement more generic dma_*() interfaces.David S. Miller2008-08-295-6/+298
| | | | | | | | | These dispatch to either PCI or SBUS routines based upon the device bus type. This will allow us to let SBUS drivers call these routines. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Make mmu_{get,release}_*() take a struct device pointer.David S. Miller2008-08-294-53/+47
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Make SBUS DMA interfaces take struct device.David S. Miller2008-08-2916-156/+167
| | | | | | | This is the first step in converting all the SBUS drivers over to generic dma_*(). Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Propagate SBUS iommu archdata into real of_device objects.David S. Miller2008-08-291-4/+20
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Make IOMMU and IO-UNIT init work with device nodes.David S. Miller2008-08-295-40/+45
| | | | | | | | | | | And stick the iommu archdata pointer into the generic OF device tree of_device struct as well. We still have to pass the sbus_bus object down into the routines so that the SBUS bus objects get the iommu cookies set properly. After drivers get converted to being pure OF drivers, that can go away. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Kill SBUS DVMA layer.David S. Miller2008-08-2912-717/+246
| | | | | | | | | | | | | This thing was completely pointless. Just find the OF device in the parent of drivers that want to program this device, and map the DMA regs inside such drivers too. This also moves the dummy claim_dma_lock() and release_dma_lock() implementation to floppy_32.h, which makes it handle this issue just like floppy_64.h does. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Kill videopix SBUS driver.David S. Miller2008-08-298-1356/+0
| | | | | | | This has been marked BROKEN for a long time and it's more likely to get rewritten from scratch than to be fixed up and made usable. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Delete bare sbus char bpp driver, obsoleted by parport_sunbppDavid S. Miller2008-08-298-1141/+0
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Fix irq_of_parse_and_map() and irq_dispose_mapping().David S. Miller2008-08-253-6/+8
| | | | | | | | | | | | | | | Stephen Rothwell noticed that I committed an earlier version of the patch that didn't have two things fixed: 1) irq_of_parse_and_map() should return "unsigned int" not "int" and it should return zero for "no irq" 2) irq_dispose_mapping() should be an inline function, not a macro, for type checking With feedback and suggestions from Anton Vorontsov. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Use the cond_syscall()s in kernel/sys_ni.c instead of home-grown copy.David S. Miller2008-08-252-20/+2
| | | | | | | This also allows arch/sparc64/kernel/pci.c to be properly CONFIG_PCI conditional compiled in the Makefile. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Add JBUS UltraSPARC-IIIi support to memory controller driver.David S. Miller2008-08-251-83/+453
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Allow chmc to be built as a module.David S. Miller2008-08-244-2/+17
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Add generic interface for registering a dimm printing handler.David S. Miller2008-08-243-13/+79
| | | | | | | | | | | | | The way to do this varies by platform type and the exact memory controller the cpu uses. For Spitfire cpus we currently just use prom_getunumber() and hope that works. For Cheetah cpus we have a memory controller driver that can compute this information. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Use consistent chmc_ prefix in variables, types, and functions.David S. Miller2008-08-241-117/+120
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Convert UltraSPARC-III memory controller driver to OF driver probing.David S. Miller2008-08-241-41/+78
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* hwmon: Add Ultra45 workstation hwmon driver.David S. Miller2008-08-243-0/+328
| | | | | | | | This is a PIC16F747 based controller that monitors and consolidates the hardware access to various fan and temperature values reported by adr7462 and similar devices behind an I2C bus. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Kill duplicated sys_pause() implementation.David S. Miller2008-08-242-9/+1
| | | | | | | | | sys32_pause() is identical to the generically provided sys_pause() in kernel/signal.c Noticed by Christoph Hellwig. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Split syscall_trace() into two functions.David S. Miller2008-08-244-32/+30
| | | | | | | | Christoph Hellwig noticed that having both entry and exit logic in one function no longer makes sense, and having seperate ones simplifies things a lot. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Add GPIO layer support.David S. Miller2008-08-243-0/+48
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Implement irq_of_parse_and_map() and irq_dispose_mapping().David S. Miller2008-08-243-0/+30
| | | | | | | This allows more OF layer code to be shared between powerpc and sparc. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Add mutex for set property calls.David S. Miller2008-08-243-0/+14
| | | | | | | | | | | | | On some platforms, the I2C controller is shared between the OS and OBP. OBP uses this I2C controller to access the EEPROM, and thus is programmed when the kernel calls prom_setprop(). Wrap such calls with the new of_set_property_mutex. Relevant I2C bus drivers can grab this mutex around top-level I2C operations to provide the proper protection. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Add JBUS NUMA detection.David S. Miller2008-08-241-0/+40
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* Fix oops in acer_wmi driver (acer_wmi_init)Arjan van de Ven2008-08-231-0/+5
| | | | | | | | | | | | | | | The acer_wmi driver does a DMI scan for quirks, and then sets flags into the "interface" datastructure for some cases. However, the quirks happen real early before "interface" is per se initialized from NULL. The patch below 1) adds a NULL pointer check and 2) (re)runs the quirks at the end, when "interface" has it's final value. Reported-by: kerneloops.org Acked-by: Carlos Corbacho <carlos@strangeworlds.co.uk> CC: stable@vger.kernel.org Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds2008-08-2310-49/+149
|\ | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: ipv6: protocol for address routes icmp: icmp_sk() should not use smp_processor_id() in preemptible code pkt_sched: Fix qdisc list locking pkt_sched: Fix qdisc_watchdog() vs. dev_deactivate() race sctp: fix potential panics in the SCTP-AUTH API.
| * ipv6: protocol for address routesStephen Hemminger2008-08-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a problem spotted with zebra, but not sure if it is necessary a kernel problem. With IPV6 when an address is added to an interface, Zebra creates a duplicate RIB entry, one as a connected route, and other as a kernel route. When an address is added to an interface the RTN_NEWADDR message causes Zebra to create a connected route. In IPV4 when an address is added to an interface a RTN_NEWROUTE message is set to user space with the protocol RTPROT_KERNEL. Zebra ignores these messages, because it already has the connected route. The problem is that route created in IPV6 has route protocol == RTPROT_BOOT. Was this a design decision or a bug? This fixes it. Same patch applies to both net-2.6 and stable. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * icmp: icmp_sk() should not use smp_processor_id() in preemptible codeDenis V. Lunev2008-08-232-19/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass namespace into icmp_xmit_lock, obtain socket inside and return it as a result for caller. Thanks Alexey Dobryan for this report: Steps to reproduce: CONFIG_PREEMPT=y CONFIG_DEBUG_PREEMPT=y tracepath <something> BUG: using smp_processor_id() in preemptible [00000000] code: tracepath/3205 caller is icmp_sk+0x15/0x30 Pid: 3205, comm: tracepath Not tainted 2.6.27-rc4 #1 Call Trace: [<ffffffff8031af14>] debug_smp_processor_id+0xe4/0xf0 [<ffffffff80409405>] icmp_sk+0x15/0x30 [<ffffffff8040a17b>] icmp_send+0x4b/0x3f0 [<ffffffff8025a415>] ? trace_hardirqs_on_caller+0xd5/0x160 [<ffffffff8025a4ad>] ? trace_hardirqs_on+0xd/0x10 [<ffffffff8023a475>] ? local_bh_enable_ip+0x95/0x110 [<ffffffff804285b9>] ? _spin_unlock_bh+0x39/0x40 [<ffffffff8025a26c>] ? mark_held_locks+0x4c/0x90 [<ffffffff8025a4ad>] ? trace_hardirqs_on+0xd/0x10 [<ffffffff8025a415>] ? trace_hardirqs_on_caller+0xd5/0x160 [<ffffffff803e91b4>] ip_fragment+0x8d4/0x900 [<ffffffff803e7030>] ? ip_finish_output2+0x0/0x290 [<ffffffff803e91e0>] ? ip_finish_output+0x0/0x60 [<ffffffff803e6650>] ? dst_output+0x0/0x10 [<ffffffff803e922c>] ip_finish_output+0x4c/0x60 [<ffffffff803e92e3>] ip_output+0xa3/0xf0 [<ffffffff803e68d0>] ip_local_out+0x20/0x30 [<ffffffff803e753f>] ip_push_pending_frames+0x27f/0x400 [<ffffffff80406313>] udp_push_pending_frames+0x233/0x3d0 [<ffffffff804067d1>] udp_sendmsg+0x321/0x6f0 [<ffffffff8040d155>] inet_sendmsg+0x45/0x80 [<ffffffff803b967f>] sock_sendmsg+0xdf/0x110 [<ffffffff8024a100>] ? autoremove_wake_function+0x0/0x40 [<ffffffff80257ce5>] ? validate_chain+0x415/0x1010 [<ffffffff8027dc10>] ? __do_fault+0x140/0x450 [<ffffffff802597d0>] ? __lock_acquire+0x260/0x590 [<ffffffff803b9e55>] ? sockfd_lookup_light+0x45/0x80 [<ffffffff803ba50a>] sys_sendto+0xea/0x120 [<ffffffff80428e42>] ? _spin_unlock_irqrestore+0x42/0x80 [<ffffffff803134bc>] ? __up_read+0x4c/0xb0 [<ffffffff8024e0c6>] ? up_read+0x26/0x30 [<ffffffff8020b8bb>] system_call_fastpath+0x16/0x1b icmp6_sk() is similar. Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * pkt_sched: Fix qdisc list lockingJarek Poplawski2008-08-223-8/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since some qdiscs call qdisc_tree_decrease_qlen() (so qdisc_lookup()) without rtnl_lock(), adding and deleting from a qdisc list needs additional locking. This patch adds global spinlock qdisc_list_lock and wrapper functions for modifying the list. It is considered as a temporary solution until hfsc_dequeue(), netem_dequeue() and tbf_dequeue() (or qdisc_tree_decrease_qlen()) are redone. With feedback from Herbert Xu and David S. Miller. Signed-off-by: Jarek Poplawski <jarkao2@gmail.com> Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * pkt_sched: Fix qdisc_watchdog() vs. dev_deactivate() raceJarek Poplawski2008-08-213-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | dev_deactivate() can skip rescheduling of a qdisc by qdisc_watchdog() or other timer calling netif_schedule() after dev_queue_deactivate(). We prevent this checking aliveness before scheduling the timer. Since during deactivation the root qdisc is available only as qdisc_sleeping additional accessor qdisc_root_sleeping() is created. With feedback from Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Jarek Poplawski <jarkao2@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * sctp: fix potential panics in the SCTP-AUTH API.Vlad Yasevich2008-08-212-22/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All of the SCTP-AUTH socket options could cause a panic if the extension is disabled and the API is envoked. Additionally, there were some additional assumptions that certain pointers would always be valid which may not always be the case. This patch hardens the API and address all of the crash scenarios. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | removed unused #include <linux/version.h>'sAdrian Bunk2008-08-2367-72/+0
| | | | | | | | | | | | | | | | This patch lets the files using linux/version.h match the files that #include it. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6Linus Torvalds2008-08-221-4/+6
|\ \ | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: authenc - Avoid using clobbered request pointer
| * | crypto: authenc - Avoid using clobbered request pointerHerbert Xu2008-08-231-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Authenc works in two stages for encryption, it first encrypts and then computes an ICV. The context memory of the request is used by both operations. The problem is that when an asynchronous encryption completes, we will compute the ICV and then reread the context memory of the encryption to get the original request. It just happens that we have a buffer of 16 bytes in front of the request pointer, so ICVs of 16 bytes (such as SHA1) do not trigger the bug. However, any attempt to uses a larger ICV instantly kills the machine when the first asynchronous encryption is completed. This patch fixes this by saving the request pointer before we start the ICV computation. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* | | Merge branch 'for-linus' of ↵Linus Torvalds2008-08-222-3/+12
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Fix call of alc888_coef_init() ALSA: hda_intel: enable snoop for nvidia HDA controller
| * | | ALSA: hda - Fix call of alc888_coef_init()Takashi Iwai2008-08-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using init_hook to call alc888_coef_init() is problematic for configurations that already set another init_hook. Better to put it in alc_init() as is (although it looks a bit hackish). Signed-off-by: Takashi Iwai <tiwai@suse.de>