aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-03-17Merge branch 'sh-latest' of ↵Linus Torvalds25-552/+1250
git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (34 commits) sh: Convert to generic show_interrupts. sh: Wire up new fhandle and clock_adjtime syscalls. sh: modify platform_device for sh_eth driver sh: add GETHER's platform_device in board-sh7757lcr sh: update sh7757lcr_defconfig sh: add platform_device of tmio_mmc and sh_mmcif to sh7757lcr sh: dmaengine support for SH7757 sh: add mmc clock in clock-sh7757 sh: add spi_board_info in sh7757lcr sh: add platform_device for SPI sh: add USB_ARCH_HAS_EHCI and OHCI for SH7757 sh: Rename cpuidle states to fit general conventions serial: sh-sci: fix deadlock when resuming from S3 sleep sh: Enable CONFIG_GCOV_PROFILE_ALL for sh sh: Fix up async PCIe probing on SMP. serial: sh-sci: Kill off the special earlyprintk device. serial: sh-sci: Use dev_name() for region reservations. serial: sh-sci: Fix up earlyprintk port mapping. serial: sh-sci: Limit early console to one device. serial: sh-sci: Fix up break timer scheduling race. ...
2011-03-17Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6Linus Torvalds17-1054/+787
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6: fbdev: sh_mobile_lcdc: Add YUV framebuffer support viafb: split pll configs up viafb: remove duplicated clock storage viafb: always return the best possible clock viafb: remove duplicated clock information fbdev: sh_mobile_lcdcfb: add backlight support viafb: factor lcd scaling parameters out viafb: strip some structures viafb: remove unused data_mode and device_type viafb: kill lcd_panel_id video via: make local variables static video via: fix iomem access video/via: drop deprecated (and unused) i2c_adapter.id
2011-03-17Merge branch 'drm-core-next' of ↵Linus Torvalds181-6429/+9262
git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (177 commits) drm/radeon: fixup refcounts in radeon dumb create ioctl. drm: radeon: *_cs_packet_parse_vline() cleanup radeon: merge list_del()/list_add_tail() to list_move_tail() drm: Retry i2c transfer of EDID block after failure drm/radeon/kms: fix typo in atom overscan setup drm: Hold the mode mutex whilst probing for sysfs status drm/nouveau: fix __nouveau_fence_wait performance drm/nv40: attempt to reserve just enough vram for all 32 channels drm/nv50: check for vm traps on every gr irq drm/nv50: decode vm faults some more drm/nouveau: add nouveau_enum_find() util function drm/nouveau: properly handle pushbuffer check failures drm/nvc0: remove vm hack forcing large/small pages to not share a PDE drm/i915: disable opregion lid detection for now. drm/i915: Only wait on a pending flip if we intend to write to the buffer drm/i915/dp: Sanity check eDP existence drm: add cap bit to denote if dumb ioctl is available or not. drm/core: add ioctl to query device/driver capabilities drm/radeon/kms: allow max clock of 340 Mhz on hdmi 1.3+ drm/radeon/kms: add cayman pci ids ...
2011-03-17sh: Convert to generic show_interrupts.Paul Mundt2-59/+3
Trivial conversion, simply encapsulate the NMI stats in the arch code. Signed-off-by: Paul Mundt <[email protected]>
2011-03-17sh: Wire up new fhandle and clock_adjtime syscalls.Paul Mundt4-2/+14
Signed-off-by: Paul Mundt <[email protected]>
2011-03-17sh: modify platform_device for sh_eth driverYoshihiro Shimoda3-0/+15
A new parameter is added to sh_eth_plat_data. And the sh_eth driver needs additional memory resource if a module has TSU. Signed-off-by: Yoshihiro Shimoda <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2011-03-17sh: add GETHER's platform_device in board-sh7757lcrYoshihiro Shimoda1-0/+93
This patch also modifies for ETHER's platform_device. Signed-off-by: Yoshihiro Shimoda <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2011-03-17Merge branch 'master' of ↵Paul Mundt4568-171064/+282969
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into sh-latest
2011-03-17drm/radeon: fixup refcounts in radeon dumb create ioctl.Dave Airlie1-3/+5
This was using old gem refcounting methods, fix it to be the same as the normal create ioctl. Signed-off-by: Dave Airlie <[email protected]>
2011-03-17drm: radeon: *_cs_packet_parse_vline() cleanupPaul Bolle3-42/+23
Simplify the way the return value is set a number of times (mostly on error). Signed-off-by: Paul Bolle <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2011-03-17radeon: merge list_del()/list_add_tail() to list_move_tail()Nicolas Kaiser1-4/+2
Merge list_del() + list_add_tail() to list_move_tail(). Signed-off-by: Nicolas Kaiser <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2011-03-16Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6Linus Torvalds47-1059/+1117
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (33 commits) sparc32: Fix might-be-used-uninitialized warning in do_sparc_fault(). sparc: Fix .size directive for do_int_load sparc64: Fix build errors with gcc-4.6.0 sparc32,sun4m: percpu and global register definitions moved to irq.h sparc32: introduce build_device_irq sparc32: introduce sparc_irq_config sparc32: fix build with leon or floppy enabled sparc: convert to clocksource_register_hz/khz sparc64: Sharpen address space randomization calculations. sparc32: irq_32.c cleanup sparc32, sun4d: add comment in empty statement in sun4d_request_irq() sparc32,sun4d: drop unused code in sun4d_distribute_irqs() sparc32,sun4d: irq, smp files cleanup sparc32,sun4m: irq, smp files cleanup sparc32,sun4c: irq file cleanup sparc32: add irq + smp declarations to headers sparc32: remove tick14.c sparc32/leon: FPU-FSR only available when FPU present SPARC/LEON: power down instruction different of different LEONs sparc32: added U-Boot build target: uImage ...
2011-03-16Merge branch 'mnt_devname' of ↵Linus Torvalds13-272/+316
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'mnt_devname' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: vfs: bury ->get_sb() nfs: switch NFS from ->get_sb() to ->mount() nfs: stop mangling ->mnt_devname on NFS vfs: new superblock methods to override /proc/*/mount{s,info} nfs: nfs_do_{ref,sub}mount() superblock argument is redundant nfs: make nfs_path() work without vfsmount nfs: store devname at disconnected NFS roots nfs: propagate devname to nfs{,4}_get_root()
2011-03-16Merge branch 'for-linus' of ↵Linus Torvalds16-34/+815
git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k/block: amiflop - Remove superfluous amiga_chip_alloc() cast m68k/atari: ARAnyM - Add support for network access m68k/atari: ARAnyM - Add support for console access m68k/atari: ARAnyM - Add support for block access m68k/atari: Initial ARAnyM support m68k: Kconfig - Remove unneeded "default n" m68k: Makefiles - Change to new flags variables m68k/amiga: Reclaim Chip RAM for PPC exception handlers m68k: Allow all kernel traps to be handled via exception fixups m68k: Use base_trap_init() to initialize vectors m68k: Add helper function handle_kernel_fault()
2011-03-16Merge branch 'remove' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds76-8400/+1
* 'remove' of master.kernel.org:/home/rmk/linux-2.6-arm: ARM: 6629/2: aaec2000: remove support for mach-aaec2000 ARM: lh7a40x: remove unmaintained platform support Fix up trivial conflicts in - arch/arm/mach-{aaec2000,lh7a40x}/include/mach/memory.h (removed) - drivers/usb/gadget/Kconfig (USB_[GADGET_]LH7A40X removed, others added)
2011-03-16Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds295-3388/+7683
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (91 commits) ARM: 6806/1: irq: introduce entry and exit functions for chained handlers ARM: 6781/1: Thumb-2: Work around buggy Thumb-2 short branch relocations in gas ARM: 6747/1: P2V: Thumb2 support ARM: 6798/1: aout-core: zero thread debug registers in a.out core dump ARM: 6796/1: Footbridge: Fix I/O mappings for NOMMU mode ARM: 6784/1: errata: no automatic Store Buffer drain on Cortex-A9 ARM: 6772/1: errata: possible fault MMU translations following an ASID switch ARM: 6776/1: mach-ux500: activate fix for errata 753970 ARM: 6794/1: SPEAr: Append UL to device address macros. ARM: 6793/1: SPEAr: Remove unused *_SIZE macros from spear*.h files ARM: 6792/1: SPEAr: Replace SIZE macro's with SZ_4K macros ARM: 6791/1: SPEAr3xx: Declare device structures after shirq code ARM: 6790/1: SPEAr: Clock Framework: Rename usbd clock and align apb_clk entry ARM: 6789/1: SPEAr3xx: Rename sdio to sdhci ARM: 6788/1: SPEAr: Include mach/hardware.h instead of mach/spear.h ARM: 6787/1: SPEAr: Reorder #includes in .h & .c files. ARM: 6681/1: SPEAr: add debugfs support to clk API ARM: 6703/1: SPEAr: update clk API support ARM: 6679/1: SPEAr: make clk API functions more generic ARM: 6737/1: SPEAr: formalized timer support ...
2011-03-16Merge branch 'for-linus' of ↵Linus Torvalds45-835/+1284
git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (41 commits) m68knommu: external interrupt support to ColdFire intc-simr controller m68knommu: external interrupt support to ColdFire intc-2 controller m68knommu: remove ColdFire CLOCK_DIV config option m68knommu: fix gpio warnings for ColdFire 5407 targets m68knommu: fix gpio warnings for ColdFire 532x targets m68knommu: fix gpio warnings for ColdFire 5307 targets m68knommu: fix gpio warnings for ColdFire 527x targets m68knommu: fix gpio warnings for ColdFire 5272 targets m68knommu: fix gpio warnings for ColdFire 5249 targets m68knommu: fix gpio warnings for ColdFire 523x targets m68knommu: fix gpio warnings for ColdFire 520x targets m68knommu: fix gpio warnings for ColdFire 5206e targets m68knommu: fix gpio warnings for ColdFire 5206 targets m68knommu: fixing compiler warnings m68knommu: limit interrupts supported by ColdFire intc-simr driver m68knommu: move some init code out of unmask routine for ColdFire intc-2 m68knommu: limit interrupts supported by ColdFire intc-2 driver m68knommu: add basic support for the ColdFire based FireBee board m68knommu: make ColdFire internal peripheral region configurable m68knommu: clean up definitions of ColdFire peripheral base registers ...
2011-03-16Merge branch 'release' of ↵Linus Torvalds19-3/+766
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] tioca: Fix assignment from incompatible pointer warnings [IA64] mca.c: Fix cast from integer to pointer warning [IA64] setup.c Typo fix "Architechtuallly" [IA64] Add CONFIG_MISC_DEVICES=y to configs that need it. [IA64] disable interrupts at end of ia64_mca_cpe_int_handler() [IA64] Add DMA_ERROR_CODE define. pstore: fix build warning for unused return value from sysfs_create_file pstore: X86 platform interface using ACPI/APEI/ERST pstore: new filesystem interface to platform persistent storage
2011-03-16sparc32: Fix might-be-used-uninitialized warning in do_sparc_fault().David S. Miller1-2/+1
When we try to handle vmalloc faults, we can take a code path which uses "code" before we actually set it. Amusingly gcc-3.3 notices this yet gcc-4.x does not. Reported-by: Bob Breuer <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc: Fix .size directive for do_int_loadBen Hutchings1-1/+1
gas used to accept (and ignore?) .size directives which referred to undefined symbols, as this does. In binutils 2.21 these are treated as errors. Signed-off-by: Ben Hutchings <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc64: Fix build errors with gcc-4.6.0David S. Miller11-35/+36
Most of the warnings emitted (we fail arch/sparc file builds with -Werror) were legitimate but harmless, however one case (n2_pcr_write) was a genuine bug. Based almost entirely upon a patch by Sam Ravnborg. Reported-by: Dennis Gilmore <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc32,sun4m: percpu and global register definitions moved to irq.hSam Ravnborg2-21/+30
entry.S access percpu + global data defined in sun4m_irq.c - so move the types to irq.h. This makes sparse happy and allow us to utilize asm-offsets later. Also updated a few comments in the sun4m_irq.c file. Signed-off-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc32: introduce build_device_irqSam Ravnborg4-54/+68
build_device_irq() is used to encapsulate the plaform specific details when we build an irq. For now the default is a simple 1:1 but sun4d differs. This patch refactors functionality - but does not change the existing functionality. Signed-off-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc32: introduce sparc_irq_configSam Ravnborg7-18/+25
sparc_irq_config is used to hold the platform specific irq setup. Signed-off-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc32: fix build with leon or floppy enabledSam Ravnborg4-15/+17
Add a few includes back required to build with floppy enabled Fix declaration of trapbase_cpu* so it is now consistent Signed-off-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc: convert to clocksource_register_hz/khzJohn Stultz1-3/+1
This converts the sparc clocksources to use clocksource_register_hz/khz Signed-off-by: John Stultz <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc64: Sharpen address space randomization calculations.David S. Miller1-8/+13
A recent patch to the x86 randomization code caused me to take a quick look at what we do on sparc64, and in doing so I noticed that we sometimes calculate a non-page-aligned randomization value and stick it into mmap_base. I also noticed that since I copied the logic over from PowerPC, the powerpc code has tweaked the randomization ranges in ways that would benefit us as well. For one thing, we should allow up to at least 8MB of randomization otherwise huge-page regions when HPAGE_SIZE is 4MB never randomize at all. And on the 64-bit side we were using up to 4GB. Tone it down to 1GB as 4GB can result in a lot of address space wastage. Finally, make sure all computations are unsigned. Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc32: irq_32.c cleanupSam Ravnborg1-137/+92
- drop filename in file header - drop unused includes - add KERN_* to printk - fix spaces => tabs - add spaces after reserved words - drop all externs, they are now in header files Signed-off-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc32, sun4d: add comment in empty statement in sun4d_request_irq()Sam Ravnborg1-1/+2
This looked like a bug to me. Add a comment so next reader is hopefully less confused. Signed-off-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc32,sun4d: drop unused code in sun4d_distribute_irqs()Sam Ravnborg1-47/+0
The preprocessor symbol was not defined and the code was therefore not in use. Signed-off-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc32,sun4d: irq, smp files cleanupSam Ravnborg2-197/+174
- drop filename in file header - drop unused includes - add description of sun4d interrupts (from davem) - add KERN_* to printk - fix spaces => tabs - add spaces after reserved words - fix indent of a whole code block in smp4d_boot_one_cpu() Note: two printk() was updated from debug to KERN_INFO in this code block - drop all externs, they are now in header files This is partly based on a patch from: David Miller <[email protected]> Signed-off-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc32,sun4m: irq, smp files cleanupSam Ravnborg2-158/+115
- drop filename in file header - drop unused includes - add description of sun4m interrupts (from davem) - add KERN_* to printk - fix spaces => tabs - add spaces after reserved words - drop all externs, they are now in header files This is partly based on a patch from: David Miller <[email protected]> Signed-off-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc32,sun4c: irq file cleanupSam Ravnborg1-37/+44
- drop filename in header - drop unused includes - add description of sun4c interrupts (from davem) - add spaces after reserved words This is partly based on a patch from: David Miller <[email protected]> Signed-off-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc32: add irq + smp declarations to headersSam Ravnborg5-13/+68
In preparation for cleaning up a number of files add declarations for irq and smp related data/functions to the relevant headers. This showed that the extern declaration of cputypval differed in the two files where it was used. As cputypval is defined like this: cputypval: .asciz "sun4c" the correct representation is a char array. Fix users to use the new declaration. Signed-off-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc32: remove tick14.cSam Ravnborg3-44/+0
The two methods included in tick14.c was nop because the static variable linux_lvl14 was always NULL. So remove the file and callers. Signed-off-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc32/leon: FPU-FSR only available when FPU presentDaniel Hellstrom1-1/+1
Signed-off-by: Daniel Hellstrom <[email protected]> Acked-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16SPARC/LEON: power down instruction different of different LEONsDaniel Hellstrom5-17/+97
The way a LEON is powered down is implemented differently depending on CHIP type. The AMBA Plug&Play system ID tells revision of GRLIB and CHIP. This is for example needed by the GR-LEON4-ITX board and the UT699. Previously the power down support for LEON was limited to SMP, now both SMP and UP systems use the instruction. Signed-off-by: Daniel Hellstrom <[email protected]> Acked-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc32: added U-Boot build target: uImageDaniel Hellstrom3-1/+66
This is only for LEON as u-boot for SPARC only supports LEON. Signed-off-by: Daniel Hellstrom <[email protected]> Acked-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc64: rename virt_irq => irq - IISam Ravnborg7-53/+53
The generic irq support uses the term 'irq' for the allocated irq number. Fix it so sparc64 use the same term for an irq as the generic irq support does. For a naive reader this is less confusing. Signed-off-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc64: rename virt_irq => irq - ISam Ravnborg2-80/+77
The generic irq support uses the term 'irq' for the allocated irq number. Fix it so sparc64 use the same term for an irq as the generic irq support does. For a naive reader this is less confusing. Signed-off-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc64: use up-to-data genirq functionsSam Ravnborg2-59/+61
Drop all uses of deprecated genirq features. The irq_set_affinity() call got a third paramter 'force' which is unused. For now genirq does not use this paramter and it is ignored by sparc. Signed-off-by: Sam Ravnborg <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Josip Rodin <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc64: use {get,set}_irq_data for handler_dataSam Ravnborg1-10/+10
{get,set}_irq_data uses the member "handler_data" in irq_data which fits the naem of the datatype. The change has no functional impact Signed-off-by: Sam Ravnborg <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc64: all pointers to irq_handler_data renamed to handler_dataSam Ravnborg1-39/+39
In preparation of moving to use irq_data.handler_data rename all pointers to irq_handler_data "handler_data". This will also prevent name clash when we introduce the new irq methods. Signed-off-by: Sam Ravnborg <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc: in handler_irq() rename irq parameter to pilSam Ravnborg3-21/+21
The generic irq support uses "irq" to identify the virtual irq number. To avoid confusion rename the argument to handler_irq() to pil to match the name of the parameter in the PCR register. Signed-off-by: Sam Ravnborg <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc64: fix direct access to irq_descSam Ravnborg1-7/+7
GENERIC_HARDIRQS_NO_DEPRECATED require us to access data via irq_data. No functional changes as data has same layout due to use of union Signed-off-by: Sam Ravnborg <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc: Fix sbus_alloc_coherent error handling.Kristoffer Glembo1-2/+2
Order of kfree and free_pages were swapped in the error handling. Signed-off-by: Kristoffer Glembo <[email protected]> Acked-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc: Make mmu_inval_dma_area take void * instead of unsigned long to ↵Kristoffer Glembo1-26/+27
minimize casts. Signed-off-by: Kristoffer Glembo <[email protected]> Acked-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc/leon: Make mmu_inval_dma_area flush dcache for LEONs without snooping ↵Kristoffer Glembo1-3/+7
enabled. Signed-off-by: Kristoffer Glembo <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc/leon: Add LEON dma_ops.Kristoffer Glembo1-5/+13
This patch sets the dma_ops structure for LEON. It reuses the pci32_dma_ops. Signed-off-by: Kristoffer Glembo <[email protected]> Acked-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-16sparc: Add pci32_unmap_page.Kristoffer Glembo1-0/+8
Signed-off-by: Kristoffer Glembo <[email protected]> Acked-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>