d9d54540147336c75f81c36c342b3bfec0d4d60d |
|
30-Mar-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: sa11x0: fix build errors from DMA engine API updates The recent merge of the sa11x0 code into mainline had silent conflicts with further development of the DMA engine API, leading to build errors and warnings: drivers/net/irda/sa1100_ir.c: In function 'sa1100_irda_dma_start': drivers/net/irda/sa1100_ir.c:151: error: too few arguments to function 'chan->device->device_prep_slave_sg' drivers/dma/sa11x0-dma.c: In function 'sa11x0_dma_probe': drivers/dma/sa11x0-dma.c:950: warning: assignment from incompatible pointer type Fix these. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
d138dacb4b8255c02e4380ce2aadab758a99d2c1 |
|
13-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: add DMA support for SIR transmit mode As the DMA engine API allows DMA channels to be reconfigured on the fly, we can now support switching the DMA channel configuration to support SIR transmit DMA without needing to claim an additional physical DMA channel - thereby using up half the DMA channels just for one driver. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
bf95154ff6c84e04afd9ba7f2b54a4628beefdb9 |
|
13-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: convert sa11x0-ir driver to use DMA engine API Convert the sa11x0 IrDA driver to use the sa11x0 DMA engine driver rather than our own platform specific DMA API. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
3c500a35544d6270b127bce7d4c5a15ef454b9e2 |
|
12-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: split si->dev for IrDA transmit and receive buffers The sa11x0-ir device is not the device which is doing the DMA, the DMA is being performed by a separate DMA engine. Split the struct device associated with each DMA channel from the main struct device, but for the time being initialize it from the main struct device. This is another preparatory step to converting this driver to use the DMA engine API. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
04b7fc4dec4fcb61dbe022bbaffda8ea37c39430 |
|
12-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: fix size of SIR transmit buffer The SIR transmit buffer was being allocated as 4000 bytes. IrDA now has constants for the buffer sizes, and defines the maximum wrapped SIR packet to be 4269 bytes as indicated by IRDA_SIR_MAX_FRAME. Use this definition to allocate the transmit buffer instead. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
32273f50608e9b98116622e32187cbd139c09716 |
|
12-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: convert to use scatterlist DMA API Convert the sa11x0 IrDA driver to use the scatterlist DMA API. This is a preparatory patch for converting the driver to use the DMA engine API, which requires a struct scatterlist for every transfer. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
6a7f4911a470fede7d40746487fb1e4a95657efd |
|
08-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: get rid of si->hscr0 si->hscr0 is initialized to zero, and never changed. Get rid of this redundant variable. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
26f2bee1a3063ddd89f76a75b99adb32636f3513 |
|
08-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: move sa1100_irda_txdma_irq Move the FIR DMA transmit completion function along-side the other FIR protocol functions. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
a6b2ea66d630ad0687a1ac25d5a6afb282bd364a |
|
08-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: move SIR and FIR interrupt support Move the interrupt handlers to the SIR and FIR sections of the file. This improves the localization of the protocol handlers. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
374f77390ca99b401ee121616524ed32c54d5ad6 |
|
08-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: indirect handling of SIR and FIR interrupts Use the same method for doing this as we do for the tx_start functions. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
3d26db137ac3169623a132ea310d26af6a48bf88 |
|
08-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: split SIR and FIR tx functions Split the SIR and FIR transmit functions, as they behave differently. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
0e888ee31566c3f5071474ddd68457a7ad2ae5ac |
|
08-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: factor out speed checks Whenever we complete a transmit, we always check for a speed change. This check was open coded in several places. Provide a helper function to do this instead. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
cbe1d24fb70751ef14801338aa945e807ba63a90 |
|
08-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: move sa1100_irda_{startup,shutdown,suspend,resume} Places these functions in better locations in the file, near where they are used. This saves some tiresome paging up/down. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
ba84525bd9015e7dd20f7c97a2a96b0a238b0223 |
|
08-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: fix leak of tx skb Ensure that we unmap and free a pending transmit skb when the interface is stopped. We rearrange the code a little bit to give all places a similar layout when freeing the skb in both the completion and interface stop paths - this gives some consistency to the code. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
885767ca4ce0800c5d02eb66cc10a0494b7bf312 |
|
08-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: containerize DMA data Both the transmit and receive DMA store identical data: the skb, dma address, and the dma registers. Move this data into its own data structure. The following replacements were used: rxskb -> dma_rx.skb rxbuf_dma -> dma_rx.dma rxdma -> dma_rx.regs txskb -> dma_tx.skb txbuf_dma -> dma_tx.dma txdma -> dma_tx.regs Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
e556fdbde38f68d87f689473b112cc65ddacd6a4 |
|
08-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: obtain interrupt number from platform resources Convert the sa11x0-ir driver to obtain its interrupt number from the platform device resources, rather than via the asm/irq.h include. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
d32386086b4a250bd71125f8d760cfffada0e422 |
|
08-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: set netdev's parent struct device Add the missing SET_NETDEV_DEV() call to set the parent device correctly for this network interface. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
22f0bf96de1506081a8b18ad3e0d04d5add70a4a |
|
08-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: handle DMA mapping errors properly Handle DMA mapping errors in the rx skb allocation and tx paths. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
15877e9c8a12ced38ac31d8bf4f93f3634fbea3f |
|
08-Jan-2012 |
Russell King <rmk+kernel@arm.linux.org.uk> |
NET: sa11x0-ir: fix documentation bug Spell the module parameter correctly in comments. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
1ae5dc342ac78d7a42965fd1f323815f6f5ef2c1 |
|
10-May-2010 |
Eric Dumazet <eric.dumazet@gmail.com> |
net: trans_start cleanups Now that core network takes care of trans_start updates, dont do it in drivers themselves, if possible. Drivers can avoid one cache miss (on dev->trans_start) in their start_xmit() handler. Exceptions are NETIF_F_LLTX drivers Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
3ad2f3fbb961429d2aa627465ae4829758bc7e07 |
|
03-Feb-2010 |
Daniel Mack <daniel@caiaq.de> |
tree-wide: Assorted spelling fixes In particular, several occurances of funny versions of 'success', 'unknown', 'therefore', 'acknowledge', 'argument', 'achieve', 'address', 'beginning', 'desirable', 'separate' and 'necessary' are fixed. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Joe Perches <joe@perches.com> Cc: Junio C Hamano <gitster@pobox.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
91cd1756cbbe9ba8772e6a5908f20cee56019c0d |
|
13-Oct-2009 |
Dmitry Artamonow <mad_soft@inbox.ru> |
irda/sa1100_ir: check return value of startup hook Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Signed-off-by: David S. Miller <davem@davemloft.net>
|
4484b9c8b4976acee181d377f8ba571109d1a2be |
|
26-Aug-2009 |
Alexander Beregalov <a.beregalov@gmail.com> |
irda/sa1100_ir: fix broken netdev_ops conversion This patch is based on commit d2f3ad4 (pxaficp-ir: remove incorrect net_device_ops). Do the same for sa1100_ir. Untested. Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
6ed106549d17474ca17a16057f4c0ed4eba5a7ca |
|
23-Jun-2009 |
Patrick McHardy <kaber@trash.net> |
net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions This patch is the result of an automatic spatch transformation to convert all ndo_start_xmit() return values of 0 to NETDEV_TX_OK. Some occurences are missed by the automatic conversion, those will be handled in a seperate patch. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
|
bf98a82633b97fb638fcee0fae3c0de54d1f7b05 |
|
22-Apr-2009 |
Alexander Beregalov <a.beregalov@gmail.com> |
sa1100_ir: fix build breakage Fix simple typo. Caused by commit a1de966682551debbe690672e760487cc555c05f ("irda/sa1100_ir: convert to net_device_ops"). Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
f6a2629353718e588820b731af43a445b6f35648 |
|
16-Apr-2009 |
Alexander Beregalov <a.beregalov@gmail.com> |
irda: include etherdevice.h for eth_*() functions Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
a1de966682551debbe690672e760487cc555c05f |
|
15-Apr-2009 |
Alexander Beregalov <a.beregalov@gmail.com> |
irda/sa1100_ir: convert to net_device_ops Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
af0490810cfa159b4894ddecfc5eb2e4432fb976 |
|
06-Jan-2009 |
Stephen Hemminger <shemminger@vyatta.com> |
irda: convert to internal stats Convert IRDA drivers to use already existing net_device_stats structure in network device. This is a pre-cursor to conversion to net_device ops. Compile tested only. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
d281bc9d8a22419abc254f86a7fc268bb99914e1 |
|
02-Dec-2008 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
[ARM] fix missing includes for iop33x and sa1100_ir Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
4cf1653aa90c6320dc8032443b5e322820aa28b1 |
|
13-Nov-2008 |
Wang Chen <wangchen@cn.fujitsu.com> |
netdevice: safe convert to netdev_priv() #part-2 We have some reasons to kill netdev->priv: 1. netdev->priv is equal to netdev_priv(). 2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv. But we cann't kill netdev->priv, because so many drivers reference to it directly. This patch is a safe convert for netdev->priv to netdev_priv(netdev). Since all of the netdev->priv is only for read. But it is too big to be sent in one mail. I split it to 4 parts and make every part smaller than 100,000 bytes, which is max size allowed by vger. Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
babcda74e9d96bb58fd9c6c5112dbdbff169e695 |
|
04-Nov-2008 |
David S. Miller <davem@davemloft.net> |
drivers/net: Kill now superfluous ->last_rx stores. The generic packet receive code takes care of setting netdev->last_rx when necessary, for the sake of the bonding ARP monitor. Drivers need not do it any more. Some cases had to be skipped over because the drivers were making use of the ->last_rx value themselves. Signed-off-by: David S. Miller <davem@davemloft.net>
|
a09e64fbc0094e3073dbb09c3b4bfe4ab669244b |
|
05-Aug-2008 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach This just leaves include/asm-arm/plat-* to deal with. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
be509729356b7433f73df2b9a966674a437fbbc1 |
|
04-Aug-2008 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
[ARM] Remove asm/hardware.h, use asm/arch/hardware.h instead Remove includes of asm/hardware.h in addition to asm/arch/hardware.h. Then, since asm/hardware.h only exists to include asm/arch/hardware.h, update everything to directly include asm/arch/hardware.h and remove asm/hardware.h. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
72abb46101fb5c47a9592914adb221b430ff26bd |
|
18-Apr-2008 |
Kay Sievers <kay.sievers@vrfy.org> |
net drivers: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable network platform drivers, to re-enable auto loading. NOTE: didn't change drivers/net/fs_enet/fs_enet-main.c "old binding" support. That looks problematic in the first place (it even uses the ancient "struct device_driver" binding scheme for platform_bus!) and I suspect it will vanish soonish when arch/powerpc rules the world. Also, drivers/net/ne.c would have needed more thought to sort out. [akpm@linux-foundation.org: fix sgiseeq.c] [dbrownell@users.sourceforge.net: more drivers, registration fixes] Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Cc: Scott Wood <scottwood@freescale.com> Cc: Vitaly Bordug <vitb@kernel.crashing.org> Cc: Dale Farnsworth <dale@farnsworth.org> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Andrew Victor <andrew@sanpeople.com> Cc: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
|
459a98ed881802dee55897441bc7f77af614368e |
|
19-Mar-2007 |
Arnaldo Carvalho de Melo <acme@redhat.com> |
[SK_BUFF]: Introduce skb_reset_mac_header(skb) For the common, open coded 'skb->mac.raw = skb->data' operation, so that we can later turn skb->mac.raw into a offset, reducing the size of struct sk_buff in 64bit land while possibly keeping it as a pointer on 32bit. This one touches just the most simple case, next will handle the slightly more "complex" cases. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
7d12e780e003f93433d49ce78cfedf4b4c52adc5 |
|
05-Oct-2006 |
David Howells <dhowells@redhat.com> |
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: David Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
|
6ab3d5624e172c553004ecc862bfeac16d9d68b7 |
|
30-Jun-2006 |
Jörn Engel <joern@wohnheim.fh-wedel.de> |
Remove obsolete #include <linux/config.h> Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
|
5d9428de1a9785f10a4339f80b717be665ba51c7 |
|
02-Apr-2006 |
Eric Sesterhenn <snakebyte@gmx.de> |
BUG_ON() Conversion in drivers/net/ this changes if() BUG(); constructs to BUG_ON() which is cleaner, contains unlikely() and can better optimized away. Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
|
3ae5eaec1d2d9c0cf53745352e7d4b152810ba24 |
|
09-Nov-2005 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
[DRIVER MODEL] Convert platform drivers to use struct platform_driver This allows us to eliminate the casts in the drivers, and eventually remove the use of the device_driver function pointer methods for platform device drivers. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
|
d052d1beff706920e82c5d55006b08e256b5df09 |
|
29-Oct-2005 |
Russell King <rmk@dyn-67.arm.linux.org.uk> |
Create platform_device.h to contain all the platform device details. Convert everyone who uses platform_bus_type to include linux/platform_device.h. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
|
9480e307cd88ef09ec9294c7d97ebec18e6d2221 |
|
28-Oct-2005 |
Russell King <rmk@arm.linux.org.uk> |
[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>
|
05adc3b7458e97a1d0180828000207a403083389 |
|
17-Apr-2005 |
Pavel Machek <pavel@ucw.cz> |
[PATCH] u32 vs. pm_message_t fixes for drivers/net This fixes remaining u32s in drivers/ net. Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 |
|
17-Apr-2005 |
Linus Torvalds <torvalds@ppc970.osdl.org> |
Linux-2.6.12-rc2 Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
|