* Re: [PATCH] pinctrl: fix build when CONFIG_OF && !CONFIG_PINCTRL
From: Dong Aisheng @ 2012-04-05 6:41 UTC (permalink / raw)
To: Stephen Warren
Cc: linus.walleij, sfr, linux-kernel, linux-next, Stephen Warren
In-Reply-To: <1333511636-9987-1-git-send-email-swarren@wwwdotorg.org>
On Tue, Apr 03, 2012 at 09:53:56PM -0600, Stephen Warren wrote:
> From: Stephen Warren <swarren@nvidia.com>
>
> pinctrl/devicetree.c won't compile when !CONFIG_PINCTRL, since the
> pinctrl headers don't declare some types when !PINCTRL. Make sure
> pinctrl/Makefile only attempts to compile devicetree.c when OF &&
> PINCTRL.
>
> Signed-off-by: Stephen Warren <swarren@nvidia.com>
> ---
Acked-by: Dong Aisheng <dong.aisheng@linaro.org>
Regards
Dong Aisheng
> drivers/pinctrl/Makefile | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
> index 049c9fb..8e3c95a 100644
> --- a/drivers/pinctrl/Makefile
> +++ b/drivers/pinctrl/Makefile
> @@ -5,7 +5,9 @@ ccflags-$(CONFIG_DEBUG_PINCTRL) += -DDEBUG
> obj-$(CONFIG_PINCTRL) += core.o
> obj-$(CONFIG_PINMUX) += pinmux.o
> obj-$(CONFIG_PINCONF) += pinconf.o
> -obj-$(CONFIG_OF) += devicetree.o
> +ifeq ($(CONFIG_OF),y)
> +obj-$(CONFIG_PINCTRL) += devicetree.o
> +endif
> obj-$(CONFIG_GENERIC_PINCONF) += pinconf-generic.o
> obj-$(CONFIG_PINCTRL_PXA3xx) += pinctrl-pxa3xx.o
> obj-$(CONFIG_PINCTRL_MMP2) += pinctrl-mmp2.o
> --
> 1.7.5.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
^ permalink raw reply
* Re: linux-next: build failure after merge of the final tree (net-next tree related)
From: David Miller @ 2012-04-05 3:59 UTC (permalink / raw)
To: sfr
Cc: netdev, linux-next, linux-kernel, deepak.sikri, shiraz.hashim,
vikas.manocha, peppe.cavallaro
In-Reply-To: <20120405132515.e61465875407a452c1a6f78e@canb.auug.org.au>
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 5 Apr 2012 13:25:15 +1000
> After merging the final tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
>
> drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c: In function 'stmmac_probe_config_dt':
> drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c:53:7: error: 'struct plat_stmmacenet_data' has no member named 'pbl'
>
> Caused by commit 8327eb65e795 ("stmmac: re-work the internal GMAC DMA
> platf parameters"). Clearly I am missing something, because I can't see
> how that patch is correct since nothing ever assigns to the new dma_cfg
> pointer but it is dereferenced.
>
> I have added this patch to make it build today, but it is obviously not
> correct.
Sorry Stephen.
Giuseppe don't submit patches to me that don't even compile.
Please submit a proper fix to me for this _now_.
^ permalink raw reply
* linux-next: Tree for Apr 5
From: Stephen Rothwell @ 2012-04-05 3:31 UTC (permalink / raw)
To: linux-next; +Cc: LKML
[-- Attachment #1: Type: text/plain, Size: 26880 bytes --]
Hi all,
There will be no linux-next release until April 10 due to Easter holidays.
Changes since 20120404:
Tree removed: docs
The net-next tree gained a build failure for which I applied a patch.
The pinctrl tree still had its build failure so I used the version from
next-20120403.
----------------------------------------------------------------------------
I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/next/ ). If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one. You should use "git fetch" as mentioned in the FAQ on the wiki
(see below).
You can see which trees have been included by looking in the Next/Trees
file in the source. There are also quilt-import.log and merge.log files
in the Next directory. Between each merge, the tree was built with
a ppc64_defconfig for powerpc and an allmodconfig for x86_64. After the
final fixups (if any), it is also built with powerpc allnoconfig (32 and
64 bit), ppc44x_defconfig and allyesconfig (minus
CONFIG_PROFILE_ALL_BRANCHES - this fails its final link) and i386, sparc
and sparc64 defconfig. These builds also have
CONFIG_ENABLE_WARN_DEPRECATED, CONFIG_ENABLE_MUST_CHECK and
CONFIG_DEBUG_INFO disabled when necessary.
Below is a summary of the state of the merge.
We are up to 186 trees (counting Linus' and 26 trees of patches pending
for Linus' tree), more are welcome (even if they are currently empty).
Thanks to those who have contributed, and to those who haven't, please do.
Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next . If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.
Thanks to Randy Dunlap for doing many randconfig builds. And to Paul
Gortmaker for triage and bug fixes.
There is a wiki covering stuff to do with linux-next at
http://linux.f-seidel.de/linux-next/pmwiki/ . Thanks to Frank Seidel.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
$ git checkout master
$ git reset --hard stable
Merging origin/master (64ebe98 Merge tag 'pm-for-3.4-part-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm)
Merging fixes/master (b1a808f Merge branch 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi)
Merging kbuild-current/rc-fixes (0eb043d Subject: [PATCH] tags.sh: Add missing quotes)
Merging arm-current/fixes (6d00889 ARM: fix more fallout from 9f97da78bf (Disintegrate asm/system.h for ARM))
Merging m68k-current/for-linus (450aed7 m68k/q40: Add missing platform check before registering platform devices)
Merging powerpc-merge/merge (9b218f6 powerpc/eeh: Fix use of set_current_state() in eeh event handling set_current_state() wart)
Merging sparc/master (ca6f327 serial/sunzilog: fix keyboard on SUN SPARCstation)
Merging scsi-rc-fixes/master (41f8ad7 [SCSI] osd_uld: Bump MAX_OSD_DEVICES from 64 to 1,048,576)
Merging net/master (03f2eec stmmac: re-add IFF_UNICAST_FLT for dwmac1000)
Merging sound-current/for-linus (c578ae0 ALSA: fix isa/opti9xx module param type)
Merging pci-current/for-linus (4949be1 PCI: ignore pre-1.1 ASPM quirking when ASPM is disabled)
Merging wireless/master (de312db mac80211: fix oper channel timestamp updation)
Merging driver-core.current/driver-core-linus (dd775ae Linux 3.4-rc1)
Merging tty.current/tty-linus (dd775ae Linux 3.4-rc1)
Merging usb.current/usb-linus (dd775ae Linux 3.4-rc1)
Merging staging.current/staging-linus (dd775ae Linux 3.4-rc1)
Merging char-misc.current/char-misc-linus (dd775ae Linux 3.4-rc1)
Merging cpufreq-current/fixes (6139b65 Merge branch 'for_3.4/cpufreq' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into fixes)
Merging input-current/for-linus (d626dad Input: sentelic - filter taps in absolute mode)
Merging md-current/for-linus (5020ad7 md/raid1,raid10: don't compare excess byte during consistency check.)
Merging audit-current/for-linus (c158a35 audit: no leading space in audit_log_d_path prefix)
Merging crypto-current/master (5219a53 crypto: user - Fix size of netlink dump message)
Merging ide/master (0ab3d8b cy82c693: fix PCI device selection)
Merging dwmw2/master (244dc4e Merge git://git.infradead.org/users/dwmw2/random-2.6)
Merging irqdomain-current/irqdomain/merge (d4886bc irqdomain/powerpc: updated defconfigs for VIRQ_DEBUG rename)
Merging devicetree-current/devicetree/merge (31134ef dt: Linux DT usage model documentation)
Merging spi-current/spi/merge (cc4d22a spi/imx: mark base member in spi_imx_data as __iomem)
Merging gpio-current/gpio/merge (d7ce1db gpio/sodaville: Convert sodaville driver to new irqdomain API)
Merging arm/for-next (6d00889 ARM: fix more fallout from 9f97da78bf (Disintegrate asm/system.h for ARM))
Merging arm-perf/for-next/perf (c16fa4f Linux 3.3)
Merging davinci/davinci-next (fe0d422 Linux 3.0-rc6)
Merging samsung/next-samsung (9edb240 ARM: H1940/RX1950: Change default LED triggers)
Merging s5p/for-next (e62a334 Merge branch 'v3.4-cpufreq-exynos-fixes' into for-next)
Merging tegra/for-next (4a3398e gpio: tegra: Iterate over the correct number of banks)
Merging xilinx/arm-next (b85a3ef ARM: Xilinx: Adding Xilinx board support)
Merging blackfin/for-linus (0172c0a blackfin: gpio: fix compile error if !CONFIG_GPIOLIB)
Merging c6x/for-linux-next (fde7d90 Linux 3.3-rc7)
Merging cris/for-next (4d5914d cris/mm/fault.c: Port OOM changes to do_page_fault)
Merging quilt/hexagon (110b372 Remove unneeded include of version.h from arch/hexagon/include/asm/spinlock_types.h)
CONFLICT (content): Merge conflict in arch/hexagon/Kconfig
Merging ia64/next (16f2634 [IA64] Normalize return value of chip->irq_set_affinity() method)
Merging m68k/for-next (1a9268f scsi/atari: Make more functions static)
Merging m68knommu/for-next (de6bd4f m68k: merge the MMU and non-MMU signal.c code)
Merging microblaze/next (0dd90aa microblaze: Fix ret_from_fork declaration)
Merging mips/mips-for-linux-next (2fea377 Merge branch 'fixes-for-linus' into mips-for-linux-next)
Merging openrisc/for-upstream (fa8d9d7 OpenRISC: Remove memory_start/end prototypes)
Merging parisc/for-next (c60dc74 Merge branch 'fixes' into for-next)
Merging powerpc/next (0195c00 Merge tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system)
Merging 4xx/next (b5594a7 powerpc/44x: Add additional device support for APM821xx SoC and Bluestone board)
Merging mpc5xxx/next (7b6bb64 powerpc/5200: convert mpc5200 to use of_platform_populate())
Merging galak/next (fa1b42b powerpc/qe: Update the SNUM table for MPC8569 Rev2.0)
Merging s390/features (b7918da [S390] update default configuration)
Merging sparc-next/master (e9b57cc sparc: Use vsprintf extention %pf with builtin_return_address)
Merging tile/master (a6a18aa arch/tile: add descriptive text if the kernel reports a bad trap)
Merging unicore32/unicore32 (0994695 Merge branch 'akpm' (aka "Andrew's patch-bomb, take two"))
Merging ceph/master (c666601 rbd: move snap_rwsem to the device, rename to header_rwsem)
Merging cifs/master (e4b41fb Fix UNC parsing on mount)
Merging configfs/linux-next (b930c26 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs)
Merging ecryptfs/next (6cfd4b4 ecryptfs: remove the second argument of k[un]map_atomic())
CONFLICT (content): Merge conflict in fs/ecryptfs/ecryptfs_kernel.h
Merging ext3/for_next (c2d9fae ext2: Remove s_dirt handling)
Merging ext4/dev (9d547c3 vfs: remove unused superblock helpers)
Merging fuse/for-next (4273b79 fuse: O_DIRECT support for files)
Merging gfs2/master (dfa8511 GFS2: use depends instead of select in kconfig)
Merging logfs/master (cd8bfa9 logfs: initialize the number of iovecs in bio)
Merging nfs/linux-next (01627d9 Merge branch 'drm-fixes-intel' of git://people.freedesktop.org/~airlied/linux)
Merging nfsd/nfsd-next (797a9d7 nfsd: only register cld pipe notifier when CONFIG_NFSD_V4 is enabled)
Merging ocfs2/linux-next (9392557 ocfs2: avoid unaligned access to dqc_bitmap)
Merging omfs/for-next (976d167 Linux 3.1-rc9)
Merging squashfs/master (4b0180a Squashfs: add mount time sanity check for block_size and block_log match)
Merging v9fs/for-next (01627d9 Merge branch 'drm-fixes-intel' of git://people.freedesktop.org/~airlied/linux)
Merging ubifs/linux-next (dd775ae Linux 3.4-rc1)
Merging xfs/for-next (5a5881c xfs: add lots of attribute trace points)
Merging vfs/for-next (07c0c5d ext4: initialization of ext4_li_mtx needs to be done earlier)
Merging pci/linux-next (1488d51 PCI: Bjorn gets PCI hotplug too)
Merging hid/for-next (2c8cee0 Merge branches 'logitech', 'wacom' and 'waltop' into for-next)
Merging quilt/i2c (48a4675 Merge tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound)
Merging bjdooks-i2c/next-i2c (fc84fe1 Merge branch 'for_3.3/i2c/misc' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into for-33/i2c/omap)
CONFLICT (content): Merge conflict in drivers/i2c/busses/i2c-omap.c
Merging i2c-embedded/i2c-embedded/for-next (bbceeee i2c-eg20t: Remove write-only variables)
Merging quilt/jdelvare-hwmon (e3a9568 hwmon: Add MCP3021 ADC driver)
Merging hwmon-staging/hwmon-next (e0367870 hwmon: use module_pci_driver)
Merging v4l-dvb/master (2f6edcb Merge branch 'poll')
Merging kbuild/for-next (51cbc3e Merge branch 'kbuild/rc-fixes' into kbuild/for-next)
Merging kconfig/for-next (eae1c36 Merge branch 'kconfig/for-linus-2' into kconfig/for-next)
Merging libata/NEXT (b8cec3c pata_cmd64x: implement sff_irq_check() method)
Merging infiniband/for-next (dd775ae Linux 3.4-rc1)
Merging acpi/next (d326f44 Merge branch 'tboot' into release)
Merging cpupowerutils/master (f166033 cpupower tools: add install target to the debug tools' makefiles)
Merging ieee1394/for-next (19f8399 Merge branch 'iso-flush' into for-next)
Merging ubi/linux-next (cc83146 UBI: rename MOVE_CANCEL_BITFLIPS to MOVE_TARGET_BITFLIPS)
Merging dlm/next (1b189b8 dlm: last element of dlm_local_addr[] never used)
Merging scsi/master (6993169 [SCSI] ipr: Driver version 2.5.3)
Merging target-updates/for-next (187e70a ib_srpt: Fix srpt_handle_cmd send_ioctx->ioctx_kref leak on exception)
Merging target-merge/for-next-merge (06de5ee tcm_qla2xxx: Add >= 24xx series fabric module for target-core)
Merging ibft/linux-next (935a9fe ibft: Fix finding IBFT ACPI table on UEFI)
Merging isci/all (fbabacb Merge branches 'devel', 'rnc-devel' and 'fixes' into all)
Merging slave-dma/next (dd775ae Linux 3.4-rc1)
Merging dmaengine/next (3d9ea9e iop-adma: Corrected array overflow in RAID6 Xscale(R) test.)
Merging net-next/master (bd85661 stmmac: update the driver version March 2012)
Merging wireless-next/master (8a78335 usbnet: consider device busy at each recieved packet)
Merging bluetooth/master (e027b5c Bluetooth: Send correct address type for LTK)
Merging mtd/master (7b0e67f mtd: docg3 add protection against concurrency)
Merging l2-mtd/master (711ab3a sh: Use the plat_nand default partition parser)
Merging crypto/master (a0ea0f6 crypto: caam - add backward compatible string sec4.0)
Merging sound/for-next (c81486a Merge branch 'for-linus' into for-next)
Merging sound-asoc/for-next (16bf8c8 Merge branches 'for-3.4' and 'for-3.5' into asoc-next)
Merging cpufreq/next (a7b422c provide disable_cpufreq() function to disable the API.)
Merging quilt/rr (2a22b63 cpumask: remove old cpu_*_map.)
CONFLICT (content): Merge conflict in drivers/virtio/virtio_balloon.c
CONFLICT (content): Merge conflict in arch/arm/kernel/kprobes.c
Merging input/next (98a8413 Input: gameport - use module_gameport_driver)
Merging input-mt/for-next (7491f3d bcm5974: Add pointer and buttonpad properties)
Merging cgroup/for-next (48ddbe1 cgroup: make css->refcnt clearing on cgroup removal optional)
Merging block/for-next (f52b69f Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-sh)
Merging quilt/device-mapper (4b63eba This device-mapper target creates a read-only device that transparently validates the data on one underlying device against a pre-generated tree of cryptographic checksums stored on a second device.)
Merging embedded/master (4744b43 embedded: fix vc_translate operator precedence)
Merging firmware/master (6e03a20 firmware: speed up request_firmware(), v3)
Merging pcmcia/master (80af9e6 pcmcia at91_cf: fix raw gpio number usage)
Merging mmc/mmc-next (e7f9850 mmc: sdhci-dove: Fix compile error by including module.h)
Merging kgdb/kgdb-next (3751d3e x86,kgdb: Fix DEBUG_RODATA limitation using text_poke())
Merging slab/for-next (b80b6c0 Merge branch 'slab/next' into for-next)
Merging uclinux/for-next (5e442a4 Revert "proc: fix races against execve() of /proc/PID/fd**")
Merging md/for-next (bee6cd3 md/raid10: add reshape support)
Merging mfd/for-next (b8589e2 gpio/twl: Add DT support to gpio-twl4030 driver)
Merging battery/master (5cdd4d7 max17042_battery: Clean up interrupt handling)
Merging drm/drm-next (5466c7b drm/i915: use DDC_ADDR instead of hard-coding it)
Merging fbdev/fbdev-next (6bff98b Revert "video:uvesafb: Fix oops that uvesafb try to execute NX-protected page")
Merging viafb/viafb-next (838ac78 viafb: avoid refresh and mode lookup in set_par)
Merging omap_dss2/for-next (df01d53 OMAPDSS: APPLY: fix clearing shadow dirty flag with manual update)
Merging regulator/for-next (86f8c00 Merge branch 'regulator-drivers' into regulator-next)
Merging security/next (09f61cd Merge branch 'for-security' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor into next)
Merging selinux/master (ecf093d SELinux: add default_type statements)
Merging lblnet/master (7e27d6e Linux 2.6.35-rc3)
Merging watchdog/master (dd775ae Linux 3.4-rc1)
Merging dwmw2-iommu/master (c3b92c8 Linux 3.1)
Merging iommu/next (7de4730 Merge branches 'iommu/fixes', 'arm/tegra' and 'x86/amd' into next)
Merging osd/linux-next (72749a2 exofs: Cap on the memcpy() size)
Merging jc_docs/docs-next (5c050fb docs: update the development process document)
Merging trivial/for-next (a03abdc w1: fix slave driver registration error message)
CONFLICT (content): Merge conflict in drivers/net/ethernet/realtek/r8169.c
Merging audit/for-next (dcd6c92 Linux 3.3-rc1)
Merging pm/linux-next (c4772d1 PM / QoS: add pm_qos_update_request_timeout() API)
Merging apm/for-next (f283d22 APM: fix deadlock in APM_IOC_SUSPEND ioctl)
Merging fsnotify/for-next (1aec9c0 inotify: automatically restart syscalls)
Merging edac/linux_next (a4b4be3 edac: rename channel_info to rank_info)
Merging edac-amd/for-next (305f1c3 Merge branch '3.3-pci_device_id' into edac-for-next)
Merging devicetree/devicetree/next (0f22dd3 of: Only compile OF_DYNAMIC on PowerPC pseries and iseries)
Merging spi/spi/next (3d414f3 Merge branch 'spi' of git://gitorious.org/linus-tree/linus-tree into spi/next)
Merging tip/auto-latest (911bcb2 Merge branch 'linus')
CONFLICT (content): Merge conflict in Documentation/feature-removal-schedule.txt
Merging rcu/rcu/next (1cc8596 rcu: Stop spurious warnings from synchronize_sched_expedited)
Merging cputime/cputime (c3e0ef9 [S390] fix cputime overflow in uptime_proc_show)
Merging uprobes/for-next (0326f5a uprobes/core: Handle breakpoint and singlestep exceptions)
Merging kmemleak/kmemleak (d65b4e9 Linux 3.3-rc3)
Merging kvm/linux-next (5cd512a Merge tag 'powerpc-fixes' of git://github.com/paulusmack/linux into kvm-updates/3.4)
Merging oprofile/for-next (c16fa4f Linux 3.3)
Merging xen/upstream/xen (59e9a6b Merge branch 'upstream/ticketlock-cleanup' into upstream/xen)
CONFLICT (content): Merge conflict in arch/x86/include/asm/cmpxchg.h
Merging xen-two/linux-next (2faaa4d Merge branch 'stable/for-linus-3.4' into linux-next)
CONFLICT (content): Merge conflict in arch/x86/kernel/apic/io_apic.c
CONFLICT (content): Merge conflict in arch/x86/include/asm/io_apic.h
Merging xen-pvhvm/linux-next (b056b6a xen: suspend: remove xen_hvm_suspend)
Merging percpu/for-next (adb7950 percpu: fix __this_cpu_{sub,inc,dec}_return() definition)
Merging workqueues/for-next (e06ffa1 workqueue: use percpu allocator for cwq on UP)
Merging drivers-x86/linux-next (86924de acer-wmi: add quirk table for video backlight vendor mode)
Merging hwpoison/hwpoison (46e387b Merge branch 'hwpoison-hugepages' into hwpoison)
Merging sysctl/master (4e474a0 sysctl: protect poll() in entries that may go away)
Merging regmap/for-next (3a05a70 Merge tag 'topic/mmio' into regmap-next)
Merging hsi/for-next (43139a6 HSI: hsi_char: Update ioctl-number.txt)
Merging driver-core/driver-core-next (dd775ae Linux 3.4-rc1)
Merging tty/tty-next (dd775ae Linux 3.4-rc1)
Merging usb/usb-next (dd775ae Linux 3.4-rc1)
Merging staging/staging-next (dd775ae Linux 3.4-rc1)
Merging char-misc/char-misc-next (dd775ae Linux 3.4-rc1)
Merging tmem/linux-next (9c9fc31 Merge commit 'e22057c8599373e5caef0bc42bdb95d2a361ab0d' into linux-next)
Merging writeback/writeback-for-next (697e6fe writeback: Remove outdated comment)
Merging arm-dt/devicetree/arm-next (ede338f dt: add documentation of ARM dt boot interface)
Merging hwspinlock/linux-next (8b37fcf hwspinlock: add MAINTAINERS entries)
Merging pinctrl/for-next (8cfa831 pinctrl: replace list_*() with get_*_count())
$ git reset --hard HEAD^
Merging refs/next/20120403/pinctrl
Merging moduleh/for-sfr (ed93e94 ia64: populate the cmpxchg header with appropriate code)
Merging vhost/linux-next (437578b virtio-pci: switch to PM ops macro to initialise PM functions)
Merging kmap_atomic/kmap_atomic (317b6e1 feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal)
Merging modem-shm/for-next (3cff1cc caif_shm: Add CAIF driver for Shared memory for M7400)
Merging memblock/memblock-kill-early_node_map (7bd0b0f memblock: Reimplement memblock allocation using reverse free area iterator)
Merging remoteproc/for-next (e12bc14 remoteproc: s/big switch/lookup table/)
Merging irqdomain/irqdomain/next (409a6f6 Merge branch 'irqdomain-for-grant' of git://sources.calxeda.com/kernel/linux into irqdomain/next)
CONFLICT (content): Merge conflict in arch/arm/Kconfig
Merging gpio/gpio/next (c77c8a6 gpio/ep93xx: Remove unused inline function and useless pr_err message)
Merging arm-soc/for-next (4def39c Merge branch 'fixes' into for-next)
Merging kvmtool/master (dcf1396 tools/kvm: Fix compilation fallout from system.h split-up)
Merging dma-mapping/dma-mapping-next (64d70fe common: DMA-mapping: add NON-CONSISTENT attribute)
Merging dma-buf/for-next (9f28056 dma-buf: Correct dummy function declarations.)
CONFLICT (content): Merge conflict in include/linux/dma-buf.h
Merging ktest/for-next (648a182 ktest: Allow a test to override REBOOT_ON_SUCCESS)
Merging cpuidle-cons/cpuidle_consol_pull (203b52e SH: shmobile: Consolidate time keeping and irq enable)
CONFLICT (content): Merge conflict in include/linux/cpuidle.h
CONFLICT (content): Merge conflict in drivers/cpuidle/cpuidle.c
CONFLICT (content): Merge conflict in arch/arm/mach-shmobile/cpuidle.c
CONFLICT (content): Merge conflict in arch/arm/mach-davinci/cpuidle.c
CONFLICT (content): Merge conflict in arch/arm/mach-at91/cpuidle.c
CONFLICT (add/add): Merge conflict in arch/arm/include/asm/cpuidle.h
Merging scsi-post-merge/merge-base:master ()
$ git checkout akpm
Applying: proc: fix mount -t proc -o AAA
Applying: sysrq: use SEND_SIG_FORCED instead of force_sig()
Applying: fs/xattr.c: suppress page allocation failure warnings from sys_listxattr()
Applying: fs/xattr.c:listxattr(): fall back to vmalloc() if kmalloc() failed
Applying: fs-xattrc-listxattr-fall-back-to-vmalloc-if-kmalloc-failed-fix
Applying: fs/xattr.c:setxattr(): improve handling of allocation failures
Applying: drivers/rtc/rtc-88pm860x.c: fix rtc irq enable callback
Applying: hugetlbfs: remove unregister_filesystem() when initializing module
Applying: libfs: add simple_open()
Applying: scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()
Applying: simple_open: automatically convert to simple_open()
Applying: simple_open-automatically-convert-to-simple_open-checkpatch-fixes
Applying: alpha: use set_current_blocked() and block_sigmask()
Applying: MAINTAINERS: fix REMOTEPROC F: typo
Applying: MAINTAINERS: add entry for sparse checker
Applying: C6X: use set_current_blocked() and block_sigmask()
Applying: MAINTAINERS: update git url for ACPI
Applying: acerhdf: add support for Aspire 1410 BIOS v1.3314
Applying: acerhdf: add support for new hardware
Applying: acerhdf: lowered default temp fanon/fanoff values
Applying: arch/x86/platform/iris/iris.c: register a platform device and a platform driver
Applying: intel_mid_powerbtn: mark irq as IRQF_NO_SUSPEND
Applying: drivers/xen/Kconfig: fix Kconfig layout
Applying: arch/arm/mach-ux500/mbox-db5500.c: world-writable sysfs fifo file
Applying: avr32: don't mask signals in the error path
Applying: avr32: use set_current_blocked() in handle_signal/sys_rt_sigreturn
Applying: avr32: use block_sigmask()
Applying: m32r: use set_current_blocked() and block_sigmask()
Applying: m68k: use set_current_blocked() and block_sigmask()
Applying: mn10300: use set_current_blocked() and block_sigmask()
Applying: cris: use set_current_blocked() and block_sigmask()
Applying: cris: select GENERIC_ATOMIC64
Applying: x86: use this_cpu_xxx to replace percpu_xxx funcs
Applying: x86-use-this_cpu_xxx-to-replace-percpu_xxx-funcs-fix
Applying: x86: change percpu_read_stable() to this_cpu_read_stable()
Applying: net: use this_cpu_xxx replace percpu_xxx funcs
Applying: percpu: remove percpu_xxx() functions
Applying: percpu-remove-percpu_xxx-functions-fix
Applying: ia64: use set_current_blocked() and block_sigmask()
Applying: microblaze: don't reimplement force_sigsegv()
Applying: microblaze: no need to reset handler if SA_ONESHOT
Applying: microblaze: fix signal masking
Applying: microblaze: use set_current_blocked() and block_sigmask()
Applying: MIPS: use set_current_blocked() and block_sigmask()
Applying: score: don't mask signals if we fail to setup signal stack
Applying: score: use set_current_blocked() and block_sigmask()
Applying: h8300: use set_current_blocked() and block_sigmask()
Applying: unicore32: use block_sigmask()
Applying: blackfin: use set_current_blocked() and block_sigmask()
Applying: ocfs2: use find_last_bit()
Applying: ocfs2: use bitmap_weight()
Applying: parisc: use set_current_blocked() and block_sigmask()
Applying: vfs: increment iversion when a file is truncated
Applying: fs: symlink restrictions on sticky directories
Applying: fs: hardlink creation restrictions
Applying: brlocks/lglocks: cleanups
Applying: mm/memory_failure: let the compiler add the function name
Applying: mm: fix page-faults detection in swap-token logic
Applying: mm: add extra free kbytes tunable
Applying: mm-add-extra-free-kbytes-tunable-update
Applying: mm-add-extra-free-kbytes-tunable-update-checkpatch-fixes
Applying: memcg: fix/change behavior of shared anon at moving task
Applying: memcg swap: mem_cgroup_move_swap_account never needs fixup
Applying: memcg swap: use mem_cgroup_uncharge_swap()
Applying: mm/memcg: scanning_global_lru means mem_cgroup_disabled
Applying: mm/memcg: move reclaim_stat into lruvec
Applying: mm: push lru index into shrink_[in]active_list()
Applying: mm-push-lru-index-into-shrink_active_list-fix
Applying: mm: mark mm-inline functions as __always_inline
Applying: mm: remove lru type checks from __isolate_lru_page()
Applying: mm/memcg: kill mem_cgroup_lru_del()
Applying: mm/memcg: use vm_swappiness from target memory cgroup
Applying: security/keys/keyctl.c: suppress memory allocation failure warning
Applying: frv: use set_current_blocked() and block_sigmask()
Applying: um/kernel/trap.c: port OOM changes to handle_page_fault()
Applying: block: use lockdep_assert_held() for queue locking
Applying: sgi-xp: use lockdep_assert_held()
Applying: drivers/scsi/aha152x.c: remove broken usage of spin_is_locked()
Applying: XFS: fix lock ASSERT on UP
Applying: mm/huge_memory.c: use lockdep_assert_held()
Applying: futex: use lockdep_assert_held() for lock checking
Applying: drivers/net/irda/sir_dev.c: remove spin_is_locked()
Applying: drivers/net/ethernet/smsc/smsc911x.h: use lockdep_assert_held() instead of home grown buggy construct
Applying: spinlocks.txt: add a discussion on why spin_is_locked() is bad
Applying: spinlockstxt-add-a-discussion-on-why-spin_is_locked-is-bad-fix
Applying: include/linux/spinlock.h: add a kerneldoc comment to spin_is_locked() that discourages its use
Applying: checkpatch: check for spin_is_locked()
Applying: vsprintf: further optimize decimal conversion
Applying: vsprintf-further-optimize-decimal-conversion-v2
Applying: vsprintf-further-optimize-decimal-conversion-checkpatch-fixes
Applying: leds: add LED driver for lm3556 chip
Applying: leds-add-led-driver-for-lm3556-chip-fix-2
Applying: leds-add-led-driver-for-lm3556-chip-checkpatch-fixes
Applying: leds-add-led-driver-for-lm3556-chip-fix
Applying: checkpatch: suggest pr_<level> over printk(KERN_<LEVEL>
Applying: rtc/spear: add Device Tree probing capability
Applying: kmod: unexport call_usermodehelper_freeinfo()
Applying: kmod: convert two call sites to call_usermodehelper_fns()
Applying: kmod: move call_usermodehelper_fns() to .c file and unexport all it's helpers
Applying: kmod: avoid deadlock from recursive kmod call
Applying: ipc/sem.c: alternatives to preempt_disable()
Applying: rapidio: add DMA engine support for RIO data transfers
Applying: rapidio/tsi721: add DMA engine support
Applying: sysctl: make kernel.ns_last_pid control dependent on CHECKPOINT_RESTORE
Applying: fs, proc: introduce /proc/<pid>/task/<tid>/children entry
Applying: syscalls, x86: add __NR_kcmp syscall
Applying: syscalls-x86-add-__nr_kcmp-syscall-v8-fix
Applying: syscalls-x86-add-__nr_kcmp-syscall-v8-fix-2
Applying: c/r: procfs: add arg_start/end, env_start/end and exit_code members to /proc/$pid/stat
Applying: c/r: prctl: extend PR_SET_MM to set up more mm_struct entries
Applying: c/r: prctl: add ability to set new mm_struct::exe_file
Applying: c-r-prctl-add-ability-to-set-new-mm_struct-exe_file-v2
Applying: c/r: prctl: add ability to get clear_tid_address
Applying: c-r-prctl-add-ability-to-get-clear_tid_address-fix
Applying: ramoops: use pstore interface
Applying: ramoops: fix printk format warnings
Applying: notify_change(): check that i_mutex is held
Merging akpm (c2f5948 notify_change(): check that i_mutex is held)
Applying: stmmac: hack to make it build
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* linux-next: build failure after merge of the final tree (net-next tree related)
From: Stephen Rothwell @ 2012-04-05 3:25 UTC (permalink / raw)
To: David Miller, netdev
Cc: linux-next, linux-kernel, Deepak SIKRI, Shiraz Hashim,
Vikas Manocha, Giuseppe Cavallaro
[-- Attachment #1: Type: text/plain, Size: 1636 bytes --]
Hi all,
After merging the final tree, today's linux-next build (powerpc
allyesconfig) failed like this:
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c: In function 'stmmac_probe_config_dt':
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c:53:7: error: 'struct plat_stmmacenet_data' has no member named 'pbl'
Caused by commit 8327eb65e795 ("stmmac: re-work the internal GMAC DMA
platf parameters"). Clearly I am missing something, because I can't see
how that patch is correct since nothing ever assigns to the new dma_cfg
pointer but it is dereferenced.
I have added this patch to make it build today, but it is obviously not
correct.
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 5 Apr 2012 13:19:21 +1000
Subject: [PATCH] stmmac: hack to make it build
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
index 116529a..1e4d12d 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
@@ -50,7 +50,7 @@ static int __devinit stmmac_probe_config_dt(struct platform_device *pdev,
* once needed on other platforms.
*/
if (of_device_is_compatible(np, "st,spear600-gmac")) {
- plat->pbl = 8;
+/* plat->pbl = 8; */
plat->has_gmac = 1;
plat->pmt = 1;
}
--
1.7.10.rc3
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply related
* linux-next: triage for April 4, 2012
From: Paul Gortmaker @ 2012-04-05 2:53 UTC (permalink / raw)
To: linux-next; +Cc: linux-kernel, lethal
Seems arch=cris got revitalized; all the defconfigs are OK now.
http://marc.info/?l=linux-kernel&m=133345265304853&w=2
Looking at the error spew from allyes/modconfig it may be
unreasonable for these to ever work on cris. Going back to Jan
2009 shows nothing but fails. But there might be stuff in there
that can be fixed -- e.g. the kgdb error looks fixable.
------------
New breakage since last report:
<none>
Randconfig fails that may or may not be new (by their very nature):
i386: hpet.c: undefined ref to `arch_setup_hpet_msi' `destroy_irq'
http://kisskb.ellerman.id.au/kisskb/buildresult/6035160/
powerpc: asm/mpic_msgr.h: implicit decl 'get_hard_smp_processor_id'
http://kisskb.ellerman.id.au/kisskb/buildresult/6035238/
Builds that are fixed since last report:
ARM:collie_defconfig
cris: all fixed, but yesconfig allmodconfig.
Note: The randconfig fails are only listed once and not tracked
in the below listing.
I'm also not tracking the kallsyms extra pass stuff on ARM on
a per board basis anymore. It has nothing to do with the board.
Why? See: http://marc.info/?l=linux-next&m=133267456809502
------------------------------------------------
Latest results at:
http://kisskb.ellerman.id.au/kisskb/branch/9/
Failures as of April 4th, 2012:
===============================
AM33:asb2303_defconfig,asb2364_defconfig
when: Mar 15
why: cc1: error: unrecognized command line option '-mmem-funcs'
status: Possible fix from TonyB sent for review.
fix: http://marc.info/?l=linux-kernel&m=133185020313818&w=2
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5878400/
----------------
ARM:tct_hammer_defconfig,s3c2410_defconfig
when: Apr 1
why: missing "common.h"
status: fix pending, borkage probably masked by other global borkage.
fix:
ref: http://marc.info/?l=linux-next&m=133349249421262&w=2
ARM:netx_defconfig,pnx4008_defconfig
when: Mar 14
why: net/core/pktgen.c: can't find a register in class 'GENERAL_REGS'
status:
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5869486/
ref: https://lkml.org/lkml/2012/3/13/670
ARM:ixp4xx_defconfig
when: Oct 26
why: gpio.h: implicit declaration of function '__gpio_get_value'
status: fixed (Imre Kaloz) - but possibly needs rework?
fix: https://lkml.org/lkml/2012/2/8/288
ref: https://lkml.org/lkml/2012/2/8/287
ARM:raumfeld_defconfig
when: Nov 23
why: eeti_ts.c: implicit declaration of function 'irq_to_gpio'
status: perhaps broken since 2010? See ref below.
fix:
ref: http://www.gossamer-threads.com/lists/linux/kernel/1291618?do=post_view_threaded#1291618
ARM:arm-allnoconfig
when: forever
why: not supported
status: nothing pending, but patches accepted
fix: n/a
ref: https://lkml.org/lkml/2009/4/30/105
ref: http://lists.infradead.org/pipermail/linux-arm-kernel/2012-January/081218.html
----------------
AVR32:allnoconfig
when: May 26 2010, 20:49
why: at32_map_usart: undefined reference to `atmel_default_console_device'
status:
fix:
ref:
---------------
bfin: 50% of builds
when: Mar 31
why: "Error: pcrel too far BFD_RELOC_BFIN_10" from kernel/time/timekeeping.c
status: unknown, binutils issue?
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5981475/
---------------
cris:allyesconfig,allmodconfig
when: Apr 3
why: too many to list here
status:
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/6035250/
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/6035249/
----------------
frv:defconfig
when: Mar 15
why: undefined reference to `pci_cardbus_resource_alignment'
status:
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/6030067/
----------------
ia64:defconfig
when: Apr 2
why: processor_idle.c: implicit declaration of function 'halt'
status: bisected (PaulG) - fix pending from Len
fix:
ref: http://marc.info/?l=linux-ia64&m=133346998813009&w=2
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/6029643/
----------------
h8300:defconfig
when: Mar 15
why: time.c: implicit declaration of function 'get_irq_regs'
why: also seems gcc suffers an ICE
status: ICE bug lodged with gcc folks (TonyB)
fix:
ref: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52598
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5884668/
----------------
m32r:m32700ut.smp_defconfig
when: Mar 15
why: No rule to make target `arch/m32r/boot/compressed/vmlinux.bin
status:
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5884670/
----------------
m68k:allmodconfig
when: Mar 16
why: persistent_ram.c: implicit declaration of 'memblock_reserve'
status:
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5884324/
ref: http://www.spinics.net/lists/linux-next/msg19343.html
----------------
mips:allmodconfig
when:
why: driver_pci_host.c: implicit declaration of function 'pcibios_enable_device'
status: one of many fixes mips needs...
fix: http://marc.info/?l=linux-wireless&m=133272031621916&w=2
ref: http://patchwork.ozlabs.org/patch/148614/
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5807000/
----------------
parisc:allmodconfig
when:
why: include/linux/log2.h: implicit declaration of function 'fls'
status: reported by PaulG, WIP by David Howells
fix:
ref: https://lkml.org/lkml/2012/2/29/409
ref: https://lkml.org/lkml/2012/3/6/228
parisc64:a500_defconfig
when:
why: include/linux/log2.h: implicit declaration of function 'fls'
status: reported by PaulG, WIP by David Howells
fix:
ref: https://lkml.org/lkml/2012/2/29/409
ref: https://lkml.org/lkml/2012/3/6/228
------------------
powerpc:allyesconfig
when: May 18 2009, 22:11
why: fat ass kernel with everything simply won't link
status: need to fix build config to ignore the final link
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5806793/
------------------
sh4:***all-builds***
when: Feb 24, 17:38
why: include/linux/log2.h: implicit declaration of function 'fls'
status: fixes apparently in sh tree; needed in linux-next
fix:
ref: http://marc.info/?l=linux-next&m=133341117224552&w=2
ref: https://lkml.org/lkml/2012/2/29/409
ref: https://lkml.org/lkml/2012/3/6/228
------------------
um:um-defconfig
when: Sep 16 2010, 01:28
why: os-Linux/start_up.c: error: 'PTRACE_SETOPTIONS' undeclared
status: clearly broken forever, so does anyone care?
fix:
ref: http://kisskb.ellerman.id.au/kisskb/target/2979/
Cc:
Bcc:
Subject: sdf
Reply-To:
^ permalink raw reply
* Re: [PATCH 07/11] sh: fix several build failures from system.h fallout
From: Paul Gortmaker @ 2012-04-05 2:49 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: Paul Mundt, dhowells, torvalds, linux-kernel, linux-next
In-Reply-To: <20120403095754.a70f38eb70766580843debc7@canb.auug.org.au>
[sorry for empty mail, pilot error]
On Mon, Apr 2, 2012 at 7:57 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> I used to have sh-current and sh trees (and rmobile-current and rmobile)
> trees in linux-next, but they have not been resurrected since the
> kernel.org problems last year ...
>
> They were all branches of
> git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.git which is
> still listed in MAINTAINERS but does not exist :-(
>
> Paul M, to you have an alternate place I can fetch from?
Hi Paul M.
Is this the tree Stephen should be using in linux-next?
git://github.com/pmundt/linux-sh.git sh-latest
Thanks,
Paul G.
> --
> Cheers,
> Stephen Rothwell sfr@canb.auug.org.au
^ permalink raw reply
* Re: [PATCH 07/11] sh: fix several build failures from system.h fallout
From: Paul Gortmaker @ 2012-04-05 2:46 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: Paul Mundt, dhowells, torvalds, linux-kernel, linux-next
In-Reply-To: <20120403095754.a70f38eb70766580843debc7@canb.auug.org.au>
On Mon, Apr 2, 2012 at 7:57 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> On Mon, 2 Apr 2012 14:15:53 -0400 Paul Gortmaker <paul.gortmaker@windriver.com> wrote:
>>
>> On 12-04-01 09:00 PM, Paul Mundt wrote:
>>
>> > There's still more, but they've alreadly all been fixed up in my tree.
>>
>> OK, I can drop this one. Is that tree part of linux-next?
>
> I used to have sh-current and sh trees (and rmobile-current and rmobile)
> trees in linux-next, but they have not been resurrected since the
> kernel.org problems last year ...
>
> They were all branches of
> git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.git which is
> still listed in MAINTAINERS but does not exist :-(
>
> Paul M, to you have an alternate place I can fetch from?
> --
> Cheers,
> Stephen Rothwell sfr@canb.auug.org.au
^ permalink raw reply
* linux-next: build warning after merge of the sound-asoc tree
From: Stephen Rothwell @ 2012-04-05 1:03 UTC (permalink / raw)
To: Mark Brown, Liam Girdwood; +Cc: linux-next, linux-kernel, M R Swami Reddy
[-- Attachment #1: Type: text/plain, Size: 633 bytes --]
Hi all,
After merging the sound-asoc tree, today's linux-next build (x86_64
allmodconfig) produced this warning:
sound/soc/codecs/lm49453.c: In function 'lm49453_set_dai_fmt':
sound/soc/codecs/lm49453.c:1189:4: warning: overflow in implicit constant conversion [-Woverflow]
sound/soc/codecs/lm49453.c:1193:4: warning: overflow in implicit constant conversion [-Woverflow]
sound/soc/codecs/lm49453.c:1197:4: warning: overflow in implicit constant conversion [-Woverflow]
Introduced by commit dbf7a733f5fb (ASoC: Support TI LM49453 Audio driver"").
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* linux-next: Tree for Apr 4
From: Stephen Rothwell @ 2012-04-04 4:02 UTC (permalink / raw)
To: linux-next; +Cc: LKML
[-- Attachment #1: Type: text/plain, Size: 27317 bytes --]
Hi all,
Changes since 20120403:
Tree removed: kernel-doc
The sound-asoc tree lost its build failure.
The trivial tree gained a conflict against Linus' tree.
The pinctrl tree gained a build failure so I used the version from
next-20120403.
The akpm tree gained a conflict against the m68knommu tree.
----------------------------------------------------------------------------
I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/next/ ). If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one. You should use "git fetch" as mentioned in the FAQ on the wiki
(see below).
You can see which trees have been included by looking in the Next/Trees
file in the source. There are also quilt-import.log and merge.log files
in the Next directory. Between each merge, the tree was built with
a ppc64_defconfig for powerpc and an allmodconfig for x86_64. After the
final fixups (if any), it is also built with powerpc allnoconfig (32 and
64 bit), ppc44x_defconfig and allyesconfig (minus
CONFIG_PROFILE_ALL_BRANCHES - this fails its final link) and i386, sparc
and sparc64 defconfig. These builds also have
CONFIG_ENABLE_WARN_DEPRECATED, CONFIG_ENABLE_MUST_CHECK and
CONFIG_DEBUG_INFO disabled when necessary.
Below is a summary of the state of the merge.
We are up to 188 trees (counting Linus' and 26 trees of patches pending
for Linus' tree), more are welcome (even if they are currently empty).
Thanks to those who have contributed, and to those who haven't, please do.
Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next . If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.
Thanks to Randy Dunlap for doing many randconfig builds. And to Paul
Gortmaker for triage and bug fixes.
There is a wiki covering stuff to do with linux-next at
http://linux.f-seidel.de/linux-next/pmwiki/ . Thanks to Frank Seidel.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
$ git checkout master
$ git reset --hard stable
Merging origin/master (01627d9 Merge branch 'drm-fixes-intel' of git://people.freedesktop.org/~airlied/linux)
Merging fixes/master (b1a808f Merge branch 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi)
Merging kbuild-current/rc-fixes (0eb043d Subject: [PATCH] tags.sh: Add missing quotes)
Merging arm-current/fixes (6d00889 ARM: fix more fallout from 9f97da78bf (Disintegrate asm/system.h for ARM))
Merging m68k-current/for-linus (450aed7 m68k/q40: Add missing platform check before registering platform devices)
Merging powerpc-merge/merge (9b218f6 powerpc/eeh: Fix use of set_current_state() in eeh event handling set_current_state() wart)
Merging sparc/master (2533e82 sparc: pgtable_64: change include order)
Merging scsi-rc-fixes/master (41f8ad7 [SCSI] osd_uld: Bump MAX_OSD_DEVICES from 64 to 1,048,576)
Merging net/master (d96fc65 netfilter: nf_conntrack: fix count leak in error path of __nf_conntrack_alloc)
Merging sound-current/for-linus (c578ae0 ALSA: fix isa/opti9xx module param type)
Merging pci-current/for-linus (4949be1 PCI: ignore pre-1.1 ASPM quirking when ASPM is disabled)
Merging wireless/master (de312db mac80211: fix oper channel timestamp updation)
Merging driver-core.current/driver-core-linus (dd775ae Linux 3.4-rc1)
Merging tty.current/tty-linus (dd775ae Linux 3.4-rc1)
Merging usb.current/usb-linus (dd775ae Linux 3.4-rc1)
Merging staging.current/staging-linus (dd775ae Linux 3.4-rc1)
Merging char-misc.current/char-misc-linus (dd775ae Linux 3.4-rc1)
Merging cpufreq-current/fixes (6139b65 Merge branch 'for_3.4/cpufreq' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into fixes)
Merging input-current/for-linus (d626dad Input: sentelic - filter taps in absolute mode)
Merging md-current/for-linus (5020ad7 md/raid1,raid10: don't compare excess byte during consistency check.)
Merging audit-current/for-linus (c158a35 audit: no leading space in audit_log_d_path prefix)
Merging crypto-current/master (5219a53 crypto: user - Fix size of netlink dump message)
Merging ide/master (0ab3d8b cy82c693: fix PCI device selection)
Merging dwmw2/master (244dc4e Merge git://git.infradead.org/users/dwmw2/random-2.6)
Merging irqdomain-current/irqdomain/merge (d4886bc irqdomain/powerpc: updated defconfigs for VIRQ_DEBUG rename)
Merging devicetree-current/devicetree/merge (31134ef dt: Linux DT usage model documentation)
Merging spi-current/spi/merge (cc4d22a spi/imx: mark base member in spi_imx_data as __iomem)
Merging gpio-current/gpio/merge (d7ce1db5 gpio/sodaville: Convert sodaville driver to new irqdomain API)
Merging arm/for-next (6d00889 ARM: fix more fallout from 9f97da78bf (Disintegrate asm/system.h for ARM))
Merging arm-perf/for-next/perf (c16fa4f Linux 3.3)
Merging davinci/davinci-next (fe0d422 Linux 3.0-rc6)
Merging samsung/next-samsung (9edb240 ARM: H1940/RX1950: Change default LED triggers)
Merging s5p/for-next (dd775ae Linux 3.4-rc1)
Merging tegra/for-next (8c3ec84 ARM: tegra: Fix device tree AUXDATA for USB/EHCI)
Merging xilinx/arm-next (b85a3ef ARM: Xilinx: Adding Xilinx board support)
Merging blackfin/for-linus (0172c0a blackfin: gpio: fix compile error if !CONFIG_GPIOLIB)
Merging c6x/for-linux-next (fde7d90 Linux 3.3-rc7)
Merging cris/for-next (dfb73a0 cris:fix the wrong function declear)
Merging quilt/hexagon (110b372 Remove unneeded include of version.h from arch/hexagon/include/asm/spinlock_types.h)
CONFLICT (content): Merge conflict in arch/hexagon/Kconfig
Merging ia64/next (16f2634 [IA64] Normalize return value of chip->irq_set_affinity() method)
Merging m68k/for-next (1a9268f scsi/atari: Make more functions static)
Merging m68knommu/for-next (de6bd4f m68k: merge the MMU and non-MMU signal.c code)
Merging microblaze/next (0dd90aa microblaze: Fix ret_from_fork declaration)
Merging mips/mips-for-linux-next (2fea377 Merge branch 'fixes-for-linus' into mips-for-linux-next)
Merging openrisc/for-upstream (fa8d9d7 OpenRISC: Remove memory_start/end prototypes)
Merging parisc/for-next (c60dc74 Merge branch 'fixes' into for-next)
Merging powerpc/next (0195c00 Merge tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system)
Merging 4xx/next (b5594a7 powerpc/44x: Add additional device support for APM821xx SoC and Bluestone board)
Merging mpc5xxx/next (7b6bb64 powerpc/5200: convert mpc5200 to use of_platform_populate())
Merging galak/next (fa1b42b powerpc/qe: Update the SNUM table for MPC8569 Rev2.0)
Merging s390/features (b7918da [S390] update default configuration)
Merging sparc-next/master (e9b57cc sparc: Use vsprintf extention %pf with builtin_return_address)
Merging tile/master (a6a18aa arch/tile: add descriptive text if the kernel reports a bad trap)
Merging unicore32/unicore32 (0994695 Merge branch 'akpm' (aka "Andrew's patch-bomb, take two"))
Merging ceph/master (c666601 rbd: move snap_rwsem to the device, rename to header_rwsem)
Merging cifs/master (66189be CIFS: Fix VFS lock usage for oplocked files)
Merging configfs/linux-next (b930c26 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs)
Merging ecryptfs/next (6cfd4b4 ecryptfs: remove the second argument of k[un]map_atomic())
CONFLICT (content): Merge conflict in fs/ecryptfs/ecryptfs_kernel.h
Merging ext3/for_next (c2d9fae ext2: Remove s_dirt handling)
Merging ext4/dev (9d547c3 vfs: remove unused superblock helpers)
Merging fuse/for-next (4273b79 fuse: O_DIRECT support for files)
Merging gfs2/master (dfa8511 GFS2: use depends instead of select in kconfig)
Merging logfs/master (cd8bfa9 logfs: initialize the number of iovecs in bio)
Merging nfs/linux-next (01627d9 Merge branch 'drm-fixes-intel' of git://people.freedesktop.org/~airlied/linux)
Merging nfsd/nfsd-next (797a9d7 nfsd: only register cld pipe notifier when CONFIG_NFSD_V4 is enabled)
Merging ocfs2/linux-next (9392557 ocfs2: avoid unaligned access to dqc_bitmap)
Merging omfs/for-next (976d167 Linux 3.1-rc9)
Merging squashfs/master (4b0180a Squashfs: add mount time sanity check for block_size and block_log match)
Merging v9fs/for-next (5bdad93 9p: statfs should not override server f_type)
Merging ubifs/linux-next (dd775ae Linux 3.4-rc1)
Merging xfs/for-next (5a5881c xfs: add lots of attribute trace points)
Merging vfs/for-next (07c0c5d ext4: initialization of ext4_li_mtx needs to be done earlier)
Merging pci/linux-next (1488d51 PCI: Bjorn gets PCI hotplug too)
Merging hid/for-next (2c8cee0 Merge branches 'logitech', 'wacom' and 'waltop' into for-next)
Merging quilt/i2c (48a4675 Merge tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound)
Merging bjdooks-i2c/next-i2c (fc84fe1 Merge branch 'for_3.3/i2c/misc' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into for-33/i2c/omap)
CONFLICT (content): Merge conflict in drivers/i2c/busses/i2c-omap.c
Merging i2c-embedded/i2c-embedded/for-next (bbceeee i2c-eg20t: Remove write-only variables)
Merging quilt/jdelvare-hwmon (e3a9568 hwmon: Add MCP3021 ADC driver)
Merging hwmon-staging/hwmon-next (4646310 hwmon: use module_pci_driver)
Merging docs/docs-move (5c24d8b Merge branch 'docs/docbook/drm' of git://github.com/mfwitten/linux into docs-move)
Merging v4l-dvb/master (2f6edcb Merge branch 'poll')
Merging kbuild/for-next (51cbc3e Merge branch 'kbuild/rc-fixes' into kbuild/for-next)
Merging kconfig/for-next (eae1c36 Merge branch 'kconfig/for-linus-2' into kconfig/for-next)
Merging libata/NEXT (b8cec3c pata_cmd64x: implement sff_irq_check() method)
Merging infiniband/for-next (5ad19b0 Merge branches 'cma', 'cxgb3', 'cxgb4', 'ehca', 'iser', 'mad', 'nes', 'qib', 'srp' and 'srpt' into for-next)
Merging acpi/next (d326f44 Merge branch 'tboot' into release)
Merging cpupowerutils/master (f166033 cpupower tools: add install target to the debug tools' makefiles)
Merging ieee1394/for-next (19f8399 Merge branch 'iso-flush' into for-next)
Merging ubi/linux-next (cc83146 UBI: rename MOVE_CANCEL_BITFLIPS to MOVE_TARGET_BITFLIPS)
Merging dlm/next (1b189b8 dlm: last element of dlm_local_addr[] never used)
Merging scsi/master (6993169 [SCSI] ipr: Driver version 2.5.3)
Merging target-updates/for-next (187e70a ib_srpt: Fix srpt_handle_cmd send_ioctx->ioctx_kref leak on exception)
Merging target-merge/for-next-merge (06de5ee tcm_qla2xxx: Add >= 24xx series fabric module for target-core)
Merging ibft/linux-next (935a9fe ibft: Fix finding IBFT ACPI table on UEFI)
Merging isci/all (fbabacb Merge branches 'devel', 'rnc-devel' and 'fixes' into all)
Merging slave-dma/next (dd775ae Linux 3.4-rc1)
Merging dmaengine/next (3d9ea9e iop-adma: Corrected array overflow in RAID6 Xscale(R) test.)
Merging net-next/master (cc90cb3 net:phy:marvell: remove unnecessary code)
Merging wireless-next/master (8a78335 usbnet: consider device busy at each recieved packet)
Merging bluetooth/master (e027b5c Bluetooth: Send correct address type for LTK)
Merging mtd/master (7b0e67f mtd: docg3 add protection against concurrency)
Merging l2-mtd/master (711ab3a sh: Use the plat_nand default partition parser)
Merging crypto/master (a0ea0f6 crypto: caam - add backward compatible string sec4.0)
Merging sound/for-next (c81486a Merge branch 'for-linus' into for-next)
Merging sound-asoc/for-next (d5bcc90 Merge branch 'for-3.5' into asoc-next)
Merging cpufreq/next (a7b422c provide disable_cpufreq() function to disable the API.)
Merging quilt/rr (2a22b63 cpumask: remove old cpu_*_map.)
CONFLICT (content): Merge conflict in drivers/virtio/virtio_balloon.c
CONFLICT (content): Merge conflict in arch/arm/kernel/kprobes.c
Merging input/next (180623f Input: wacom - add Intuos5 multitouch sensor support)
Merging input-mt/for-next (7491f3d bcm5974: Add pointer and buttonpad properties)
Merging cgroup/for-next (48ddbe1 cgroup: make css->refcnt clearing on cgroup removal optional)
Merging block/for-next (f52b69f Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-sh)
Merging quilt/device-mapper (4b63eba This device-mapper target creates a read-only device that transparently validates the data on one underlying device against a pre-generated tree of cryptographic checksums stored on a second device.)
Merging embedded/master (4744b43 embedded: fix vc_translate operator precedence)
Merging firmware/master (6e03a20 firmware: speed up request_firmware(), v3)
Merging pcmcia/master (80af9e6 pcmcia at91_cf: fix raw gpio number usage)
Merging mmc/mmc-next (79a0760 Revert "mmc: sdhci-pci: Add MSI support")
Merging kgdb/kgdb-next (3751d3e x86,kgdb: Fix DEBUG_RODATA limitation using text_poke())
Merging slab/for-next (b80b6c0 Merge branch 'slab/next' into for-next)
Merging uclinux/for-next (5e442a4 Revert "proc: fix races against execve() of /proc/PID/fd**")
Merging md/for-next (bee6cd3 md/raid10: add reshape support)
Merging mfd/for-next (b8589e2 gpio/twl: Add DT support to gpio-twl4030 driver)
Merging battery/master (5cdd4d7 max17042_battery: Clean up interrupt handling)
Merging drm/drm-next (5466c7b drm/i915: use DDC_ADDR instead of hard-coding it)
Merging fbdev/fbdev-next (6bff98b Revert "video:uvesafb: Fix oops that uvesafb try to execute NX-protected page")
Merging viafb/viafb-next (838ac78 viafb: avoid refresh and mode lookup in set_par)
Merging omap_dss2/for-next (df01d53 OMAPDSS: APPLY: fix clearing shadow dirty flag with manual update)
Merging regulator/for-next (f06a885 Merge branch 'regulator-core' into regulator-next)
Merging security/next (09f61cd Merge branch 'for-security' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor into next)
Merging selinux/master (ecf093d SELinux: add default_type statements)
Merging lblnet/master (7e27d6e Linux 2.6.35-rc3)
Merging watchdog/master (dd775ae Linux 3.4-rc1)
Merging dwmw2-iommu/master (c3b92c8 Linux 3.1)
Merging iommu/next (7de4730 Merge branches 'iommu/fixes', 'arm/tegra' and 'x86/amd' into next)
Merging osd/linux-next (72749a2 exofs: Cap on the memcpy() size)
Merging jc_docs/docs-next (5c050fb docs: update the development process document)
Merging trivial/for-next (a03abdc w1: fix slave driver registration error message)
CONFLICT (content): Merge conflict in drivers/net/ethernet/realtek/r8169.c
Merging audit/for-next (dcd6c92 Linux 3.3-rc1)
Merging pm/linux-next (c4772d1 PM / QoS: add pm_qos_update_request_timeout() API)
Merging apm/for-next (f283d22 APM: fix deadlock in APM_IOC_SUSPEND ioctl)
Merging fsnotify/for-next (ef9bf3b fanotify: only destroy a mark if both its mask and its ignored_mask are cleared)
Merging edac/linux_next (a4b4be3 edac: rename channel_info to rank_info)
Merging edac-amd/for-next (305f1c3 Merge branch '3.3-pci_device_id' into edac-for-next)
Merging devicetree/devicetree/next (0f22dd3 of: Only compile OF_DYNAMIC on PowerPC pseries and iseries)
Merging spi/spi/next (3d414f3 Merge branch 'spi' of git://gitorious.org/linus-tree/linus-tree into spi/next)
Merging tip/auto-latest (3c14251 Merge branch 'x86/urgent')
CONFLICT (content): Merge conflict in Documentation/feature-removal-schedule.txt
Merging rcu/rcu/next (1cc8596 rcu: Stop spurious warnings from synchronize_sched_expedited)
Merging cputime/cputime (c3e0ef9 [S390] fix cputime overflow in uptime_proc_show)
Merging uprobes/for-next (0326f5a uprobes/core: Handle breakpoint and singlestep exceptions)
Merging kmemleak/kmemleak (d65b4e9 Linux 3.3-rc3)
Merging kvm/linux-next (5cd512a Merge tag 'powerpc-fixes' of git://github.com/paulusmack/linux into kvm-updates/3.4)
Merging oprofile/for-next (c16fa4f Linux 3.3)
Merging xen/upstream/xen (59e9a6b Merge branch 'upstream/ticketlock-cleanup' into upstream/xen)
CONFLICT (content): Merge conflict in arch/x86/include/asm/cmpxchg.h
Merging xen-two/linux-next (2faaa4d Merge branch 'stable/for-linus-3.4' into linux-next)
CONFLICT (content): Merge conflict in arch/x86/kernel/apic/io_apic.c
CONFLICT (content): Merge conflict in arch/x86/include/asm/io_apic.h
Merging xen-pvhvm/linux-next (b056b6a xen: suspend: remove xen_hvm_suspend)
Merging percpu/for-next (adb7950 percpu: fix __this_cpu_{sub,inc,dec}_return() definition)
Merging workqueues/for-next (e06ffa1 workqueue: use percpu allocator for cwq on UP)
Merging drivers-x86/linux-next (86924de acer-wmi: add quirk table for video backlight vendor mode)
Merging hwpoison/hwpoison (46e387b Merge branch 'hwpoison-hugepages' into hwpoison)
Merging sysctl/master (4e474a0 sysctl: protect poll() in entries that may go away)
Merging regmap/for-next (7f7cfb5 Merge tag 'regmap-export-sync-region' into regmap-next)
Merging hsi/for-next (43139a6 HSI: hsi_char: Update ioctl-number.txt)
Merging driver-core/driver-core-next (dd775ae Linux 3.4-rc1)
Merging tty/tty-next (dd775ae Linux 3.4-rc1)
Merging usb/usb-next (dd775ae Linux 3.4-rc1)
Merging staging/staging-next (dd775ae Linux 3.4-rc1)
Merging char-misc/char-misc-next (dd775ae Linux 3.4-rc1)
Merging tmem/linux-next (9c9fc31 Merge commit 'e22057c8599373e5caef0bc42bdb95d2a361ab0d' into linux-next)
Merging writeback/writeback-for-next (697e6fe writeback: Remove outdated comment)
Merging arm-dt/devicetree/arm-next (ede338f dt: add documentation of ARM dt boot interface)
Merging hwspinlock/linux-next (8b37fcf hwspinlock: add MAINTAINERS entries)
Merging pinctrl/for-next (8cfa831 pinctrl: replace list_*() with get_*_count())
$ git reset --hard HEAD^
Merging refs/next/20120403/pinctrl
Merging moduleh/for-sfr (ed93e94 ia64: populate the cmpxchg header with appropriate code)
Merging vhost/linux-next (437578b virtio-pci: switch to PM ops macro to initialise PM functions)
Merging kmap_atomic/kmap_atomic (317b6e1 feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal)
Merging modem-shm/for-next (3cff1cc caif_shm: Add CAIF driver for Shared memory for M7400)
Merging memblock/memblock-kill-early_node_map (7bd0b0f memblock: Reimplement memblock allocation using reverse free area iterator)
Merging remoteproc/for-next (e12bc14 remoteproc: s/big switch/lookup table/)
Merging irqdomain/irqdomain/next (409a6f6 Merge branch 'irqdomain-for-grant' of git://sources.calxeda.com/kernel/linux into irqdomain/next)
CONFLICT (content): Merge conflict in arch/arm/Kconfig
Merging gpio/gpio/next (c77c8a6 gpio/ep93xx: Remove unused inline function and useless pr_err message)
Merging arm-soc/for-next (4def39c Merge branch 'fixes' into for-next)
Merging kvmtool/master (dcf1396 tools/kvm: Fix compilation fallout from system.h split-up)
Merging dma-mapping/dma-mapping-next (64d70fe common: DMA-mapping: add NON-CONSISTENT attribute)
Merging dma-buf/for-next (9f28056 dma-buf: Correct dummy function declarations.)
CONFLICT (content): Merge conflict in include/linux/dma-buf.h
Merging ktest/for-next (648a182 ktest: Allow a test to override REBOOT_ON_SUCCESS)
Merging cpuidle-cons/cpuidle_consol_pull (203b52e SH: shmobile: Consolidate time keeping and irq enable)
CONFLICT (content): Merge conflict in include/linux/cpuidle.h
CONFLICT (content): Merge conflict in drivers/cpuidle/cpuidle.c
CONFLICT (content): Merge conflict in arch/arm/mach-shmobile/cpuidle.c
CONFLICT (content): Merge conflict in arch/arm/mach-davinci/cpuidle.c
CONFLICT (content): Merge conflict in arch/arm/mach-at91/cpuidle.c
CONFLICT (add/add): Merge conflict in arch/arm/include/asm/cpuidle.h
Merging scsi-post-merge/merge-base:master ()
$ git checkout akpm
Applying: proc: fix mount -t proc -o AAA
Applying: sysrq: use SEND_SIG_FORCED instead of force_sig()
Applying: fs/xattr.c: suppress page allocation failure warnings from sys_listxattr()
Applying: fs/xattr.c:listxattr(): fall back to vmalloc() if kmalloc() failed
Applying: fs-xattrc-listxattr-fall-back-to-vmalloc-if-kmalloc-failed-fix
Applying: fs/xattr.c:setxattr(): improve handling of allocation failures
Applying: drivers/rtc/rtc-88pm860x.c: fix rtc irq enable callback
Applying: hugetlbfs: remove unregister_filesystem() when initializing module
Applying: libfs: add simple_open()
Applying: scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()
Applying: simple_open: automatically convert to simple_open()
Applying: simple_open-automatically-convert-to-simple_open-checkpatch-fixes
Applying: alpha: use set_current_blocked() and block_sigmask()
Applying: MAINTAINERS: fix REMOTEPROC F: typo
Applying: MAINTAINERS: add entry for sparse checker
Applying: C6X: use set_current_blocked() and block_sigmask()
Applying: MAINTAINERS: update git url for ACPI
Applying: acerhdf: add support for Aspire 1410 BIOS v1.3314
Applying: acerhdf: add support for new hardware
Applying: acerhdf: lowered default temp fanon/fanoff values
Applying: arch/x86/platform/iris/iris.c: register a platform device and a platform driver
Applying: intel_mid_powerbtn: mark irq as IRQF_NO_SUSPEND
Applying: drivers/xen/Kconfig: fix Kconfig layout
Applying: arch/arm/mach-ux500/mbox-db5500.c: world-writable sysfs fifo file
Applying: avr32: don't mask signals in the error path
Applying: avr32: use set_current_blocked() in handle_signal/sys_rt_sigreturn
Applying: avr32: use block_sigmask()
Applying: m32r: use set_current_blocked() and block_sigmask()
Applying: m68k: use set_current_blocked() and block_sigmask()
CONFLICT (modify/delete): arch/m68k/kernel/signal_no.c deleted in HEAD and modified in m68k: use set_current_blocked() and block_sigmask(). Version m68k: use set_current_blocked() and block_sigmask() of arch/m68k/kernel/signal_no.c left in tree.
$ git rm -f arch/m68k/kernel/signal_no.c
Applying: mn10300: use set_current_blocked() and block_sigmask()
Applying: cris: use set_current_blocked() and block_sigmask()
Applying: cris: select GENERIC_ATOMIC64
Applying: x86: use this_cpu_xxx to replace percpu_xxx funcs
Applying: x86-use-this_cpu_xxx-to-replace-percpu_xxx-funcs-fix
Applying: x86: change percpu_read_stable() to this_cpu_read_stable()
Applying: net: use this_cpu_xxx replace percpu_xxx funcs
Applying: percpu: remove percpu_xxx() functions
Applying: percpu-remove-percpu_xxx-functions-fix
Applying: ia64: use set_current_blocked() and block_sigmask()
Applying: microblaze: don't reimplement force_sigsegv()
Applying: microblaze: no need to reset handler if SA_ONESHOT
Applying: microblaze: fix signal masking
Applying: microblaze: use set_current_blocked() and block_sigmask()
Applying: MIPS: use set_current_blocked() and block_sigmask()
Applying: score: don't mask signals if we fail to setup signal stack
Applying: score: use set_current_blocked() and block_sigmask()
Applying: h8300: use set_current_blocked() and block_sigmask()
Applying: unicore32: use block_sigmask()
Applying: blackfin: use set_current_blocked() and block_sigmask()
Applying: ocfs2: use find_last_bit()
Applying: ocfs2: use bitmap_weight()
Applying: parisc: use set_current_blocked() and block_sigmask()
Applying: vfs: increment iversion when a file is truncated
Applying: fs: symlink restrictions on sticky directories
Applying: fs: hardlink creation restrictions
Applying: brlocks/lglocks: cleanups
Applying: mm/memory_failure: let the compiler add the function name
Applying: mm: fix page-faults detection in swap-token logic
Applying: mm: add extra free kbytes tunable
Applying: mm-add-extra-free-kbytes-tunable-update
Applying: mm-add-extra-free-kbytes-tunable-update-checkpatch-fixes
Applying: memcg: fix/change behavior of shared anon at moving task
Applying: memcg swap: mem_cgroup_move_swap_account never needs fixup
Applying: memcg swap: use mem_cgroup_uncharge_swap()
Applying: mm/memcg: scanning_global_lru means mem_cgroup_disabled
Applying: mm/memcg: move reclaim_stat into lruvec
Applying: mm: push lru index into shrink_[in]active_list()
Applying: mm-push-lru-index-into-shrink_active_list-fix
Applying: mm: mark mm-inline functions as __always_inline
Applying: mm: remove lru type checks from __isolate_lru_page()
Applying: mm/memcg: kill mem_cgroup_lru_del()
Applying: mm/memcg: use vm_swappiness from target memory cgroup
Applying: security/keys/keyctl.c: suppress memory allocation failure warning
Applying: frv: use set_current_blocked() and block_sigmask()
Applying: um/kernel/trap.c: port OOM changes to handle_page_fault()
Applying: block: use lockdep_assert_held() for queue locking
Applying: sgi-xp: use lockdep_assert_held()
Applying: drivers/scsi/aha152x.c: remove broken usage of spin_is_locked()
Applying: XFS: fix lock ASSERT on UP
Applying: mm/huge_memory.c: use lockdep_assert_held()
Applying: futex: use lockdep_assert_held() for lock checking
Applying: drivers/net/irda/sir_dev.c: remove spin_is_locked()
Applying: drivers/net/ethernet/smsc/smsc911x.h: use lockdep_assert_held() instead of home grown buggy construct
Applying: spinlocks.txt: add a discussion on why spin_is_locked() is bad
Applying: spinlockstxt-add-a-discussion-on-why-spin_is_locked-is-bad-fix
Applying: include/linux/spinlock.h: add a kerneldoc comment to spin_is_locked() that discourages its use
Applying: checkpatch: check for spin_is_locked()
Applying: vsprintf: further optimize decimal conversion
Applying: vsprintf-further-optimize-decimal-conversion-v2
Applying: vsprintf-further-optimize-decimal-conversion-checkpatch-fixes
Applying: leds: add LED driver for lm3556 chip
Applying: leds-add-led-driver-for-lm3556-chip-fix-2
Applying: leds-add-led-driver-for-lm3556-chip-checkpatch-fixes
Applying: leds-add-led-driver-for-lm3556-chip-fix
Applying: checkpatch: suggest pr_<level> over printk(KERN_<LEVEL>
Applying: rtc/spear: add Device Tree probing capability
Applying: kmod: unexport call_usermodehelper_freeinfo()
Applying: kmod: convert two call sites to call_usermodehelper_fns()
Applying: kmod: move call_usermodehelper_fns() to .c file and unexport all it's helpers
Applying: kmod: avoid deadlock from recursive kmod call
Applying: ipc/sem.c: alternatives to preempt_disable()
Applying: rapidio: add DMA engine support for RIO data transfers
Applying: rapidio/tsi721: add DMA engine support
Applying: sysctl: make kernel.ns_last_pid control dependent on CHECKPOINT_RESTORE
Applying: fs, proc: introduce /proc/<pid>/task/<tid>/children entry
Applying: syscalls, x86: add __NR_kcmp syscall
Applying: syscalls-x86-add-__nr_kcmp-syscall-v8-fix
Applying: syscalls-x86-add-__nr_kcmp-syscall-v8-fix-2
Applying: c/r: procfs: add arg_start/end, env_start/end and exit_code members to /proc/$pid/stat
Applying: c/r: prctl: extend PR_SET_MM to set up more mm_struct entries
Applying: c/r: prctl: add ability to set new mm_struct::exe_file
Applying: c-r-prctl-add-ability-to-set-new-mm_struct-exe_file-v2
Applying: c/r: prctl: add ability to get clear_tid_address
Applying: c-r-prctl-add-ability-to-get-clear_tid_address-fix
Applying: ramoops: use pstore interface
Applying: ramoops: fix printk format warnings
Applying: notify_change(): check that i_mutex is held
Merging akpm (0d82415 notify_change(): check that i_mutex is held)
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: [PATCH v2] avr32: fix nop compile fails from system.h split up
From: David Howells @ 2012-04-04 4:01 UTC (permalink / raw)
To: Paul Gortmaker
Cc: dhowells, torvalds, linux-kernel, linux-next, Haavard Skinnemoen,
Hans-Christian Egtvedt
In-Reply-To: <1333494844-3802-1-git-send-email-paul.gortmaker@windriver.com>
Paul Gortmaker <paul.gortmaker@windriver.com> wrote:
> To fix:
>
> In file included from kernel/exit.c:61:
> arch/avr32/include/asm/mmu_context.h: In function 'enable_mmu':
> arch/avr32/include/asm/mmu_context.h:135: error: implicit
> declaration of function 'nop'
>
> It needs an include of the new file created in:
>
> commit ae473946586680b01c13975a3b674de23ad7c93e
>
> "Disintegrate asm/system.h for AVR32"
>
> But since that file only contains "nop", and since other
> arch already have precedent of putting nop in asm/barrier.h
> we should just delete the new file and put nop in barrier.h
>
> Suggested-by: David Howells <dhowells@redhat.com>
> Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
> Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Acked-by: David Howells <dhowells@redhat.com>
^ permalink raw reply
* [PATCH] pinctrl: fix build when CONFIG_OF && !CONFIG_PINCTRL
From: Stephen Warren @ 2012-04-04 3:53 UTC (permalink / raw)
To: linus.walleij; +Cc: sfr, linux-kernel, linux-next, Stephen Warren
From: Stephen Warren <swarren@nvidia.com>
pinctrl/devicetree.c won't compile when !CONFIG_PINCTRL, since the
pinctrl headers don't declare some types when !PINCTRL. Make sure
pinctrl/Makefile only attempts to compile devicetree.c when OF &&
PINCTRL.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
drivers/pinctrl/Makefile | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
index 049c9fb..8e3c95a 100644
--- a/drivers/pinctrl/Makefile
+++ b/drivers/pinctrl/Makefile
@@ -5,7 +5,9 @@ ccflags-$(CONFIG_DEBUG_PINCTRL) += -DDEBUG
obj-$(CONFIG_PINCTRL) += core.o
obj-$(CONFIG_PINMUX) += pinmux.o
obj-$(CONFIG_PINCONF) += pinconf.o
-obj-$(CONFIG_OF) += devicetree.o
+ifeq ($(CONFIG_OF),y)
+obj-$(CONFIG_PINCTRL) += devicetree.o
+endif
obj-$(CONFIG_GENERIC_PINCONF) += pinconf-generic.o
obj-$(CONFIG_PINCTRL_PXA3xx) += pinctrl-pxa3xx.o
obj-$(CONFIG_PINCTRL_MMP2) += pinctrl-mmp2.o
--
1.7.5.4
^ permalink raw reply related
* Re: linux-next: build failure after merge of the pinctrl tree
From: Stephen Warren @ 2012-04-04 3:43 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: Linus Walleij, linux-next, linux-kernel
In-Reply-To: <20120404124437.ff05ebcc4db98109d5fcee22@canb.auug.org.au>
On 04/03/2012 08:44 PM, Stephen Rothwell wrote:
> Hi Linus,
>
> After merging the pinctrl tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
>
> drivers/pinctrl/devicetree.c: In function 'dt_free_map':
> drivers/pinctrl/devicetree.c:44:42: error: dereferencing pointer to
> incomplete type drivers/pinctrl/devicetree.c:45:6: error:
> dereferencing pointer to incomplete type
> drivers/pinctrl/devicetree.c: In function 'dt_to_map_one_config':
> drivers/pinctrl/devicetree.c:140:21: error: dereferencing pointer
> to incomplete type drivers/pinctrl/devicetree.c:141:10: error:
> dereferencing pointer to incomplete type
> drivers/pinctrl/devicetree.c:146:11: error: dereferencing pointer
> to incomplete type
This doesn't repro for me with tegra_defconfig, which has both
CONFIG_PINCTRL and CONFIG_OF enabled.
I believe this happens because of the following in
drivers/pinctrl/Makefile:
obj-$(CONFIG_OF) += devicetree.o
On ppc64, CONFIG_OF is probably true, yet the rest of PINCTRL isn't
enabled, hence the headers that are included probably don't declare
all the types needed to compile that file.
In fact, the file shouldn't be compiled, since it's not needed if
!CONFIG_PINCTRL. So perhaps the Makefile should be more like:
ifeq ($(CONFIG_OF),y)
obj-$(CONFIG_PINCTRL) += devicetree.o
endif
(I see something similar to that in drivers/mmc/host/Makefile)
But, I notice the same construct in ./drivers/regulator/Makefile, and
I don't believe regulators are enabled for ppc64. Perhaps the
regulator headers always declare the types, so the issue doesn't come
up, although I daresay that perhaps the regulator file also shouldn't
be compiled when CONFIG_REGULATOR is off?
^ permalink raw reply
* linux-next: manual merge of the akpm tree with the m68knommu tree
From: Stephen Rothwell @ 2012-04-04 3:23 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-next, linux-kernel, Greg Ungerer, Matt Fleming
[-- Attachment #1: Type: text/plain, Size: 2241 bytes --]
Hi Andrew,
Today's linux-next merge of the akpm tree got a conflict in
arch/m68k/kernel/signal_no.c between commit de6bd4f40385 ("m68k: merge
the MMU and non-MMU signal.c code") from the m68knommu tree and commit
"m68k: use set_current_blocked() and block_sigmask()" from the akpm tree.
The former merged this file into arch/m68k/kernel/signal.c, git applied
the changes for arch/m68k/kernel/signal_mm.c in the akpm tree commit
there. The whole patch is now as below.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/arch/m68k/kernel/signal.c b/arch/m68k/kernel/signal.c
index 1747c70..c9f519f 100644
--- a/arch/m68k/kernel/signal.c
+++ b/arch/m68k/kernel/signal.c
@@ -230,12 +230,13 @@ static inline void push_cache(unsigned long vaddr)
asmlinkage int
sys_sigsuspend(int unused0, int unused1, old_sigset_t mask)
{
- mask &= _BLOCKABLE;
- spin_lock_irq(¤t->sighand->siglock);
+ sigset_t blocked;
+
current->saved_sigmask = current->blocked;
- siginitset(¤t->blocked, mask);
- recalc_sigpending();
- spin_unlock_irq(¤t->sighand->siglock);
+
+ mask &= _BLOCKABLE;
+ siginitset(&blocked, mask);
+ set_current_blocked(&blocked);
current->state = TASK_INTERRUPTIBLE;
schedule();
@@ -804,8 +805,7 @@ asmlinkage int do_sigreturn(unsigned long __unused)
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- current->blocked = set;
- recalc_sigpending();
+ set_current_blocked(&set);
if (restore_sigcontext(regs, &frame->sc, frame + 1))
goto badframe;
@@ -830,8 +830,7 @@ asmlinkage int do_rt_sigreturn(unsigned long __unused)
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- current->blocked = set;
- recalc_sigpending();
+ set_current_blocked(&set);
if (rt_restore_ucontext(regs, sw, &frame->uc))
goto badframe;
@@ -1150,10 +1149,7 @@ handle_signal(int sig, struct k_sigaction *ka, siginfo_t *info,
if (err)
return;
- sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
- if (!(ka->sa.sa_flags & SA_NODEFER))
- sigaddset(¤t->blocked,sig);
- recalc_sigpending();
+ block_sigmask(ka, sig);
if (test_thread_flag(TIF_DELAYED_TRACE)) {
regs->sr &= ~0x8000;
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply related
* linux-next: build failure after merge of the pinctrl tree
From: Stephen Rothwell @ 2012-04-04 2:44 UTC (permalink / raw)
To: Linus Walleij; +Cc: linux-next, linux-kernel, Stephen Warren
[-- Attachment #1: Type: text/plain, Size: 933 bytes --]
Hi Linus,
After merging the pinctrl tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:
drivers/pinctrl/devicetree.c: In function 'dt_free_map':
drivers/pinctrl/devicetree.c:44:42: error: dereferencing pointer to incomplete type
drivers/pinctrl/devicetree.c:45:6: error: dereferencing pointer to incomplete type
drivers/pinctrl/devicetree.c: In function 'dt_to_map_one_config':
drivers/pinctrl/devicetree.c:140:21: error: dereferencing pointer to incomplete type
drivers/pinctrl/devicetree.c:141:10: error: dereferencing pointer to incomplete type
drivers/pinctrl/devicetree.c:146:11: error: dereferencing pointer to incomplete type
Caused by commit 23289e6ecc6d ("pinctrl: core device tree mapping table
parsing support"). Missing includes?
I have used the version of the pinctrl tree from next-20120403 for today.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* linux-next: triage for April 3, 2012
From: Paul Gortmaker @ 2012-04-04 2:10 UTC (permalink / raw)
To: linux-next; +Cc: linux-kernel
This represents the state of the builds as of Tues. EST. Remember
that this report lags linux-next by ~24h so that builds can run.
Note that we are now also looking at some queued 3.5 content.
For system.h split, it seems today should be the last day it gets
additional mention as I think it is nearly all sorted now.
Fixes for parisc, bfin, or32 and mips are now upstream. I've only
got commits for alpha, avr32, and ia64 remaining. parisc[64]-modconfig
still needs a looking at, though.
SH4: We had about 50% pass on builds yesterday. A win vs. the
100% fail we've had for a long time. It is (briefly?) back
to 100% fail as I've dropped my sh4 patch and Stephen is getting
the tree info from PaulM who has a more complete fix series.
==============================================
New breakage since last report:
ARM:iop33x_defconfig (ignore it; kallsyms extra pass. Almost a virus!)
ARM:tct_hammer_defconfig,s3c2410_defconfig (missing "common.h")
Randconfig fails that may or may not be new (by their very nature):
i386: "make randconfig" went bezerk and stabbed itself in the eye.
http://kisskb.ellerman.id.au/kisskb/buildresult/6032573/
powerpc: mpc512x_shared.c: parameter 1 ('port') has incomplete type
http://kisskb.ellerman.id.au/kisskb/buildresult/6032653/
Builds that are fixed since last report:
alpha:defconfig
Note: The randconfig fails are only listed once and not tracked
in the below listing.
I'm also not tracking the kallsyms extra pass stuff on ARM on
a per board basis anymore. It has nothing to do with the board.
Why? See: http://marc.info/?l=linux-next&m=133267456809502
------------------------------------------------
Latest results at:
http://kisskb.ellerman.id.au/kisskb/branch/9/
Failures as of April 3rd, 2012:
===============================
AM33:asb2303_defconfig,asb2364_defconfig
when: Mar 15
why: cc1: error: unrecognized command line option '-mmem-funcs'
status: Possible fix from TonyB sent for review.
fix: http://marc.info/?l=linux-kernel&m=133185020313818&w=2
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5878400/
----------------
ARM:tct_hammer_defconfig,s3c2410_defconfig
when: Apr 1
why: missing "common.h"
status: fix pending, borkage probably masked by other global borkage.
fix:
ref: http://marc.info/?l=linux-next&m=133349249421262&w=2
ARM:netx_defconfig,pnx4008_defconfig
when: Mar 14
why: net/core/pktgen.c: can't find a register in class 'GENERAL_REGS'
status:
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5869486/
ref: https://lkml.org/lkml/2012/3/13/670
ARM:collie_defconfig
when: Feb 14
why: locomolcd.c: error: 'sa1100fb_lcd_power' undeclared
status: fixed (PaulG) - pending integration
fix: http://marc.info/?l=linux-next&m=133105157730749&w=2
ref: http://lists.infradead.org/pipermail/linux-arm-kernel/2012-April/092444.html
ARM:ixp4xx_defconfig
when: Oct 26
why: gpio.h: implicit declaration of function '__gpio_get_value'
status: fixed (Imre Kaloz) - but possibly needs rework?
fix: https://lkml.org/lkml/2012/2/8/288
ref: https://lkml.org/lkml/2012/2/8/287
ARM:raumfeld_defconfig
when: Nov 23
why: eeti_ts.c: implicit declaration of function 'irq_to_gpio'
status: perhaps broken since 2010? See ref below.
fix:
ref: http://www.gossamer-threads.com/lists/linux/kernel/1291618?do=post_view_threaded#1291618
ARM:arm-allnoconfig
when: forever
why: not supported
status: nothing pending, but patches accepted
fix: n/a
ref: https://lkml.org/lkml/2009/4/30/105
ref: http://lists.infradead.org/pipermail/linux-arm-kernel/2012-January/081218.html
----------------
AVR32:allnoconfig
when: May 26 2010, 20:49
why: at32_map_usart: undefined reference to `atmel_default_console_device'
status:
fix:
ref:
---------------
bfin: 50% of builds
when: Mar 31
why: "Error: pcrel too far BFD_RELOC_BFIN_10" from kernel/time/timekeeping.c
status: unknown, binutils issue?
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5981475/
---------------
cris:***all-builds***
when: Mar 25, 22:05
why: include/linux/types.h:25: error expected ... before 'ino_t'
status:
fix:
ref:
----------------
crisv32:***all-builds***
when: Mar 25, 22:05
why: include/linux/types.h:25: error expected ... before 'ino_t'
status:
fix:
ref:
----------------
frv:defconfig
when: Mar 15
why: undefined reference to `pci_cardbus_resource_alignment'
status:
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/6030067/
----------------
ia64:defconfig
when: Apr 2
why: processor_idle.c: implicit declaration of function 'halt'
status: bisected (PaulG) - fix pending from Len
fix:
ref: http://marc.info/?l=linux-ia64&m=133346998813009&w=2
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/6029643/
----------------
h8300:defconfig
when: Mar 15
why: time.c: implicit declaration of function 'get_irq_regs'
why: also seems gcc suffers an ICE
status: ICE bug lodged with gcc folks (TonyB)
fix:
ref: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52598
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5884668/
----------------
i386:allmodconfig
when: Mar 8, 20:41
why: ERROR: "mdfld_set_brightness" [drivers/gpu/drm/gma500/gma500_gfx.ko] undefined!
status:
fix:
ref: https://lkml.org/lkml/2012/3/24/122
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5878506/
----------------
m32r:m32700ut.smp_defconfig
when: Mar 15
why: No rule to make target `arch/m32r/boot/compressed/vmlinux.bin
status:
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5884670/
----------------
m68k:allmodconfig
when: Mar 16
why: persistent_ram.c: implicit declaration of 'memblock_reserve'
status:
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5884324/
ref: http://www.spinics.net/lists/linux-next/msg19343.html
----------------
mips:allmodconfig
when:
why: driver_pci_host.c: implicit declaration of function 'pcibios_enable_device'
status: one of many fixes mips needs...
fix: http://marc.info/?l=linux-wireless&m=133272031621916&w=2
ref: http://patchwork.ozlabs.org/patch/148614/
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5807000/
----------------
parisc:allmodconfig
when:
why: include/linux/log2.h: implicit declaration of function 'fls'
status: reported by PaulG, WIP by David Howells
fix:
ref: https://lkml.org/lkml/2012/2/29/409
ref: https://lkml.org/lkml/2012/3/6/228
parisc64:a500_defconfig
when:
why: include/linux/log2.h: implicit declaration of function 'fls'
status: reported by PaulG, WIP by David Howells
fix:
ref: https://lkml.org/lkml/2012/2/29/409
ref: https://lkml.org/lkml/2012/3/6/228
------------------
powerpc:allyesconfig
when: May 18 2009, 22:11
why: fat ass kernel with everything simply won't link
status: need to fix build config to ignore the final link
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5806793/
------------------
sh4:***all-builds***
when: Feb 24, 17:38
why: include/linux/log2.h: implicit declaration of function 'fls'
status: reported by PaulG, WIP by David Howells
fix:
ref: https://lkml.org/lkml/2012/2/29/409
ref: https://lkml.org/lkml/2012/3/6/228
------------------
um:um-defconfig
when: Sep 16 2010, 01:28
why: os-Linux/start_up.c: error: 'PTRACE_SETOPTIONS' undeclared
status: clearly broken forever, so does anyone care?
fix:
ref: http://kisskb.ellerman.id.au/kisskb/target/2979/
Cc:
Bcc:
Subject: sdf
Reply-To:
Cc:
Bcc:
Subject: a
Reply-To:
^ permalink raw reply
* linux-next: manual merge of the trivial tree with Linus' tree
From: Stephen Rothwell @ 2012-04-04 2:03 UTC (permalink / raw)
To: Jiri Kosina; +Cc: linux-next, linux-kernel, Justin P. Mattock, Francois Romieu
[-- Attachment #1: Type: text/plain, Size: 42648 bytes --]
Hi Jiri,
Today's linux-next merge of the trivial tree got a conflict in
drivers/net/ethernet/realtek/r8169.c between commit df43ac7831a0 ("r8169:
move rtl8169_open after rtl_task it depends on") from Linus' tree and
commit a9d7e794ea66 ("r8169.c: fix comment typo") from the trivial tree.
I fixed it up (see below) and can carry the fix as necessary.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc drivers/net/ethernet/realtek/r8169.c
index f545093,7f06508..0000000
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@@ -5529,771 -5390,823 +5529,771 @@@ static void rtl_task(struct work_struc
struct net_device *dev = tp->dev;
int i;
- rtnl_lock();
+ rtl_lock_work(tp);
- if (!netif_running(dev))
+ if (!netif_running(dev) ||
+ !test_bit(RTL_FLAG_TASK_ENABLED, tp->wk.flags))
goto out_unlock;
- rtl8169_hw_reset(tp);
-
- rtl8169_wait_for_quiescence(dev);
-
- for (i = 0; i < NUM_RX_DESC; i++)
- rtl8169_mark_to_asic(tp->RxDescArray + i, rx_buf_sz);
-
- rtl8169_tx_clear(tp);
- rtl8169_init_ring_indexes(tp);
+ for (i = 0; i < ARRAY_SIZE(rtl_work); i++) {
+ bool pending;
- rtl_hw_start(dev);
- netif_wake_queue(dev);
- rtl8169_check_link_status(dev, tp, tp->mmio_addr);
+ pending = test_and_clear_bit(rtl_work[i].bitnr, tp->wk.flags);
+ if (pending)
+ rtl_work[i].action(tp);
+ }
out_unlock:
- rtnl_unlock();
-}
-
-static void rtl8169_tx_timeout(struct net_device *dev)
-{
- rtl8169_schedule_work(dev, rtl8169_reset_task);
+ rtl_unlock_work(tp);
}
-static int rtl8169_xmit_frags(struct rtl8169_private *tp, struct sk_buff *skb,
- u32 *opts)
+static int rtl8169_poll(struct napi_struct *napi, int budget)
{
- struct skb_shared_info *info = skb_shinfo(skb);
- unsigned int cur_frag, entry;
- struct TxDesc * uninitialized_var(txd);
- struct device *d = &tp->pci_dev->dev;
-
- entry = tp->cur_tx;
- for (cur_frag = 0; cur_frag < info->nr_frags; cur_frag++) {
- const skb_frag_t *frag = info->frags + cur_frag;
- dma_addr_t mapping;
- u32 status, len;
- void *addr;
+ struct rtl8169_private *tp = container_of(napi, struct rtl8169_private, napi);
+ struct net_device *dev = tp->dev;
+ u16 enable_mask = RTL_EVENT_NAPI | tp->event_slow;
+ int work_done= 0;
+ u16 status;
- entry = (entry + 1) % NUM_TX_DESC;
+ status = rtl_get_events(tp);
+ rtl_ack_events(tp, status & ~tp->event_slow);
- txd = tp->TxDescArray + entry;
- len = skb_frag_size(frag);
- addr = skb_frag_address(frag);
- mapping = dma_map_single(d, addr, len, DMA_TO_DEVICE);
- if (unlikely(dma_mapping_error(d, mapping))) {
- if (net_ratelimit())
- netif_err(tp, drv, tp->dev,
- "Failed to map TX fragments DMA!\n");
- goto err_out;
- }
+ if (status & RTL_EVENT_NAPI_RX)
+ work_done = rtl_rx(dev, tp, (u32) budget);
- /* Anti gcc 2.95.3 bugware (sic) */
- status = opts[0] | len |
- (RingEnd * !((entry + 1) % NUM_TX_DESC));
+ if (status & RTL_EVENT_NAPI_TX)
+ rtl_tx(dev, tp);
- txd->opts1 = cpu_to_le32(status);
- txd->opts2 = cpu_to_le32(opts[1]);
- txd->addr = cpu_to_le64(mapping);
+ if (status & tp->event_slow) {
+ enable_mask &= ~tp->event_slow;
- tp->tx_skb[entry].len = len;
+ rtl_schedule_task(tp, RTL_FLAG_TASK_SLOW_PENDING);
}
- if (cur_frag) {
- tp->tx_skb[entry].skb = skb;
- txd->opts1 |= cpu_to_le32(LastFrag);
- }
+ if (work_done < budget) {
+ napi_complete(napi);
- return cur_frag;
+ rtl_irq_enable(tp, enable_mask);
+ mmiowb();
+ }
-err_out:
- rtl8169_tx_clear_range(tp, tp->cur_tx + 1, cur_frag);
- return -EIO;
+ return work_done;
}
-static inline void rtl8169_tso_csum(struct rtl8169_private *tp,
- struct sk_buff *skb, u32 *opts)
+static void rtl8169_rx_missed(struct net_device *dev, void __iomem *ioaddr)
{
- const struct rtl_tx_desc_info *info = tx_desc_info + tp->txd_version;
- u32 mss = skb_shinfo(skb)->gso_size;
- int offset = info->opts_offset;
+ struct rtl8169_private *tp = netdev_priv(dev);
- if (mss) {
- opts[0] |= TD_LSO;
- opts[offset] |= min(mss, TD_MSS_MAX) << info->mss_shift;
- } else if (skb->ip_summed == CHECKSUM_PARTIAL) {
- const struct iphdr *ip = ip_hdr(skb);
+ if (tp->mac_version > RTL_GIGA_MAC_VER_06)
+ return;
- if (ip->protocol == IPPROTO_TCP)
- opts[offset] |= info->checksum.tcp;
- else if (ip->protocol == IPPROTO_UDP)
- opts[offset] |= info->checksum.udp;
- else
- WARN_ON_ONCE(1);
- }
+ dev->stats.rx_missed_errors += (RTL_R32(RxMissed) & 0xffffff);
+ RTL_W32(RxMissed, 0);
}
-static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb,
- struct net_device *dev)
+static void rtl8169_down(struct net_device *dev)
{
struct rtl8169_private *tp = netdev_priv(dev);
- unsigned int entry = tp->cur_tx % NUM_TX_DESC;
- struct TxDesc *txd = tp->TxDescArray + entry;
void __iomem *ioaddr = tp->mmio_addr;
- struct device *d = &tp->pci_dev->dev;
- dma_addr_t mapping;
- u32 status, len;
- u32 opts[2];
- int frags;
- if (unlikely(TX_BUFFS_AVAIL(tp) < skb_shinfo(skb)->nr_frags)) {
- netif_err(tp, drv, dev, "BUG! Tx Ring full when queue awake!\n");
- goto err_stop_0;
- }
+ del_timer_sync(&tp->timer);
- if (unlikely(le32_to_cpu(txd->opts1) & DescOwn))
- goto err_stop_0;
+ napi_disable(&tp->napi);
+ netif_stop_queue(dev);
- len = skb_headlen(skb);
- mapping = dma_map_single(d, skb->data, len, DMA_TO_DEVICE);
- if (unlikely(dma_mapping_error(d, mapping))) {
- if (net_ratelimit())
- netif_err(tp, drv, dev, "Failed to map TX DMA!\n");
- goto err_dma_0;
- }
+ rtl8169_hw_reset(tp);
+ /*
+ * At this point device interrupts can not be enabled in any function,
+ * as netif_running is not true (rtl8169_interrupt, rtl8169_reset_task)
+ * and napi is disabled (rtl8169_poll).
+ */
+ rtl8169_rx_missed(dev, ioaddr);
- tp->tx_skb[entry].len = len;
- txd->addr = cpu_to_le64(mapping);
+ /* Give a racing hard_start_xmit a few cycles to complete. */
+ synchronize_sched();
- opts[1] = cpu_to_le32(rtl8169_tx_vlan_tag(tp, skb));
- opts[0] = DescOwn;
+ rtl8169_tx_clear(tp);
- rtl8169_tso_csum(tp, skb, opts);
+ rtl8169_rx_clear(tp);
- frags = rtl8169_xmit_frags(tp, skb, opts);
- if (frags < 0)
- goto err_dma_1;
- else if (frags)
- opts[0] |= FirstFrag;
- else {
- opts[0] |= FirstFrag | LastFrag;
- tp->tx_skb[entry].skb = skb;
- }
+ rtl_pll_power_down(tp);
+}
- txd->opts2 = cpu_to_le32(opts[1]);
+static int rtl8169_close(struct net_device *dev)
+{
+ struct rtl8169_private *tp = netdev_priv(dev);
+ struct pci_dev *pdev = tp->pci_dev;
- wmb();
+ pm_runtime_get_sync(&pdev->dev);
- /* Anti gcc 2.95.3 bugware (sic) */
- status = opts[0] | len | (RingEnd * !((entry + 1) % NUM_TX_DESC));
- txd->opts1 = cpu_to_le32(status);
+ /* Update counters before going down */
+ rtl8169_update_counters(dev);
- tp->cur_tx += frags + 1;
+ rtl_lock_work(tp);
+ clear_bit(RTL_FLAG_TASK_ENABLED, tp->wk.flags);
- wmb();
+ rtl8169_down(dev);
+ rtl_unlock_work(tp);
- RTL_W8(TxPoll, NPQ);
+ free_irq(pdev->irq, dev);
- if (TX_BUFFS_AVAIL(tp) < MAX_SKB_FRAGS) {
- netif_stop_queue(dev);
- smp_rmb();
- if (TX_BUFFS_AVAIL(tp) >= MAX_SKB_FRAGS)
- netif_wake_queue(dev);
- }
+ dma_free_coherent(&pdev->dev, R8169_RX_RING_BYTES, tp->RxDescArray,
+ tp->RxPhyAddr);
+ dma_free_coherent(&pdev->dev, R8169_TX_RING_BYTES, tp->TxDescArray,
+ tp->TxPhyAddr);
+ tp->TxDescArray = NULL;
+ tp->RxDescArray = NULL;
- return NETDEV_TX_OK;
+ pm_runtime_put_sync(&pdev->dev);
-err_dma_1:
- rtl8169_unmap_tx_skb(d, tp->tx_skb + entry, txd);
-err_dma_0:
- dev_kfree_skb(skb);
- dev->stats.tx_dropped++;
- return NETDEV_TX_OK;
+ return 0;
+}
-err_stop_0:
- netif_stop_queue(dev);
- dev->stats.tx_dropped++;
- return NETDEV_TX_BUSY;
+#ifdef CONFIG_NET_POLL_CONTROLLER
+static void rtl8169_netpoll(struct net_device *dev)
+{
+ struct rtl8169_private *tp = netdev_priv(dev);
+
+ rtl8169_interrupt(tp->pci_dev->irq, dev);
}
+#endif
-static void rtl8169_pcierr_interrupt(struct net_device *dev)
+static int rtl_open(struct net_device *dev)
{
struct rtl8169_private *tp = netdev_priv(dev);
+ void __iomem *ioaddr = tp->mmio_addr;
struct pci_dev *pdev = tp->pci_dev;
- u16 pci_status, pci_cmd;
-
- pci_read_config_word(pdev, PCI_COMMAND, &pci_cmd);
- pci_read_config_word(pdev, PCI_STATUS, &pci_status);
+ int retval = -ENOMEM;
- netif_err(tp, intr, dev, "PCI error (cmd = 0x%04x, status = 0x%04x)\n",
- pci_cmd, pci_status);
+ pm_runtime_get_sync(&pdev->dev);
/*
- * Rx and Tx desscriptors needs 256 bytes alignment.
- * The recovery sequence below admits a very elaborated explanation:
- * - it seems to work;
- * - I did not see what else could be done;
- * - it makes iop3xx happy.
- *
- * Feel free to adjust to your needs.
++ * Rx and Tx descriptors needs 256 bytes alignment.
+ * dma_alloc_coherent provides more.
*/
- if (pdev->broken_parity_status)
- pci_cmd &= ~PCI_COMMAND_PARITY;
- else
- pci_cmd |= PCI_COMMAND_SERR | PCI_COMMAND_PARITY;
+ tp->TxDescArray = dma_alloc_coherent(&pdev->dev, R8169_TX_RING_BYTES,
+ &tp->TxPhyAddr, GFP_KERNEL);
+ if (!tp->TxDescArray)
+ goto err_pm_runtime_put;
- pci_write_config_word(pdev, PCI_COMMAND, pci_cmd);
+ tp->RxDescArray = dma_alloc_coherent(&pdev->dev, R8169_RX_RING_BYTES,
+ &tp->RxPhyAddr, GFP_KERNEL);
+ if (!tp->RxDescArray)
+ goto err_free_tx_0;
- pci_write_config_word(pdev, PCI_STATUS,
- pci_status & (PCI_STATUS_DETECTED_PARITY |
- PCI_STATUS_SIG_SYSTEM_ERROR | PCI_STATUS_REC_MASTER_ABORT |
- PCI_STATUS_REC_TARGET_ABORT | PCI_STATUS_SIG_TARGET_ABORT));
+ retval = rtl8169_init_ring(dev);
+ if (retval < 0)
+ goto err_free_rx_1;
- /* The infamous DAC f*ckup only happens at boot time */
- if ((tp->cp_cmd & PCIDAC) && !tp->dirty_rx && !tp->cur_rx) {
- void __iomem *ioaddr = tp->mmio_addr;
+ INIT_WORK(&tp->wk.work, rtl_task);
- netif_info(tp, intr, dev, "disabling PCI DAC\n");
- tp->cp_cmd &= ~PCIDAC;
- RTL_W16(CPlusCmd, tp->cp_cmd);
- dev->features &= ~NETIF_F_HIGHDMA;
- }
+ smp_mb();
- rtl8169_hw_reset(tp);
+ rtl_request_firmware(tp);
- rtl8169_schedule_work(dev, rtl8169_reinit_task);
-}
+ retval = request_irq(pdev->irq, rtl8169_interrupt,
+ (tp->features & RTL_FEATURE_MSI) ? 0 : IRQF_SHARED,
+ dev->name, dev);
+ if (retval < 0)
+ goto err_release_fw_2;
-static void rtl8169_tx_interrupt(struct net_device *dev,
- struct rtl8169_private *tp,
- void __iomem *ioaddr)
-{
- unsigned int dirty_tx, tx_left;
+ rtl_lock_work(tp);
- dirty_tx = tp->dirty_tx;
- smp_rmb();
- tx_left = tp->cur_tx - dirty_tx;
+ set_bit(RTL_FLAG_TASK_ENABLED, tp->wk.flags);
- while (tx_left > 0) {
- unsigned int entry = dirty_tx % NUM_TX_DESC;
- struct ring_info *tx_skb = tp->tx_skb + entry;
- u32 status;
+ napi_enable(&tp->napi);
- rmb();
- status = le32_to_cpu(tp->TxDescArray[entry].opts1);
- if (status & DescOwn)
- break;
+ rtl8169_init_phy(dev, tp);
- rtl8169_unmap_tx_skb(&tp->pci_dev->dev, tx_skb,
- tp->TxDescArray + entry);
- if (status & LastFrag) {
- dev->stats.tx_packets++;
- dev->stats.tx_bytes += tx_skb->skb->len;
- dev_kfree_skb(tx_skb->skb);
- tx_skb->skb = NULL;
- }
- dirty_tx++;
- tx_left--;
- }
+ __rtl8169_set_features(dev, dev->features);
- if (tp->dirty_tx != dirty_tx) {
- tp->dirty_tx = dirty_tx;
- smp_wmb();
- if (netif_queue_stopped(dev) &&
- (TX_BUFFS_AVAIL(tp) >= MAX_SKB_FRAGS)) {
- netif_wake_queue(dev);
- }
- /*
- * 8168 hack: TxPoll requests are lost when the Tx packets are
- * too close. Let's kick an extra TxPoll request when a burst
- * of start_xmit activity is detected (if it is not detected,
- * it is slow enough). -- FR
- */
- smp_rmb();
- if (tp->cur_tx != dirty_tx)
- RTL_W8(TxPoll, NPQ);
- }
-}
+ rtl_pll_power_up(tp);
-static inline int rtl8169_fragmented_frame(u32 status)
-{
- return (status & (FirstFrag | LastFrag)) != (FirstFrag | LastFrag);
-}
+ rtl_hw_start(dev);
-static inline void rtl8169_rx_csum(struct sk_buff *skb, u32 opts1)
-{
- u32 status = opts1 & RxProtoMask;
+ netif_start_queue(dev);
- if (((status == RxProtoTCP) && !(opts1 & TCPFail)) ||
- ((status == RxProtoUDP) && !(opts1 & UDPFail)))
- skb->ip_summed = CHECKSUM_UNNECESSARY;
- else
- skb_checksum_none_assert(skb);
-}
+ rtl_unlock_work(tp);
-static struct sk_buff *rtl8169_try_rx_copy(void *data,
- struct rtl8169_private *tp,
- int pkt_size,
- dma_addr_t addr)
-{
- struct sk_buff *skb;
- struct device *d = &tp->pci_dev->dev;
+ tp->saved_wolopts = 0;
+ pm_runtime_put_noidle(&pdev->dev);
- data = rtl8169_align(data);
- dma_sync_single_for_cpu(d, addr, pkt_size, DMA_FROM_DEVICE);
- prefetch(data);
- skb = netdev_alloc_skb_ip_align(tp->dev, pkt_size);
- if (skb)
- memcpy(skb->data, data, pkt_size);
- dma_sync_single_for_device(d, addr, pkt_size, DMA_FROM_DEVICE);
+ rtl8169_check_link_status(dev, tp, ioaddr);
+out:
+ return retval;
- return skb;
+err_release_fw_2:
+ rtl_release_firmware(tp);
+ rtl8169_rx_clear(tp);
+err_free_rx_1:
+ dma_free_coherent(&pdev->dev, R8169_RX_RING_BYTES, tp->RxDescArray,
+ tp->RxPhyAddr);
+ tp->RxDescArray = NULL;
+err_free_tx_0:
+ dma_free_coherent(&pdev->dev, R8169_TX_RING_BYTES, tp->TxDescArray,
+ tp->TxPhyAddr);
+ tp->TxDescArray = NULL;
+err_pm_runtime_put:
+ pm_runtime_put_noidle(&pdev->dev);
+ goto out;
}
-static int rtl8169_rx_interrupt(struct net_device *dev,
- struct rtl8169_private *tp,
- void __iomem *ioaddr, u32 budget)
+static struct rtnl_link_stats64 *
+rtl8169_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats)
{
- unsigned int cur_rx, rx_left;
- unsigned int count;
+ struct rtl8169_private *tp = netdev_priv(dev);
+ void __iomem *ioaddr = tp->mmio_addr;
+ unsigned int start;
- cur_rx = tp->cur_rx;
- rx_left = NUM_RX_DESC + tp->dirty_rx - cur_rx;
- rx_left = min(rx_left, budget);
+ if (netif_running(dev))
+ rtl8169_rx_missed(dev, ioaddr);
- for (; rx_left > 0; rx_left--, cur_rx++) {
- unsigned int entry = cur_rx % NUM_RX_DESC;
- struct RxDesc *desc = tp->RxDescArray + entry;
- u32 status;
+ do {
+ start = u64_stats_fetch_begin_bh(&tp->rx_stats.syncp);
+ stats->rx_packets = tp->rx_stats.packets;
+ stats->rx_bytes = tp->rx_stats.bytes;
+ } while (u64_stats_fetch_retry_bh(&tp->rx_stats.syncp, start));
- rmb();
- status = le32_to_cpu(desc->opts1) & tp->opts1_mask;
- if (status & DescOwn)
- break;
- if (unlikely(status & RxRES)) {
- netif_info(tp, rx_err, dev, "Rx ERROR. status = %08x\n",
- status);
- dev->stats.rx_errors++;
- if (status & (RxRWT | RxRUNT))
- dev->stats.rx_length_errors++;
- if (status & RxCRC)
- dev->stats.rx_crc_errors++;
- if (status & RxFOVF) {
- rtl8169_schedule_work(dev, rtl8169_reset_task);
- dev->stats.rx_fifo_errors++;
- }
- rtl8169_mark_to_asic(desc, rx_buf_sz);
- } else {
- struct sk_buff *skb;
- dma_addr_t addr = le64_to_cpu(desc->addr);
- int pkt_size = (status & 0x00003fff) - 4;
+ do {
+ start = u64_stats_fetch_begin_bh(&tp->tx_stats.syncp);
+ stats->tx_packets = tp->tx_stats.packets;
+ stats->tx_bytes = tp->tx_stats.bytes;
+ } while (u64_stats_fetch_retry_bh(&tp->tx_stats.syncp, start));
- /*
- * The driver does not support incoming fragmented
- * frames. They are seen as a symptom of over-mtu
- * sized frames.
- */
- if (unlikely(rtl8169_fragmented_frame(status))) {
- dev->stats.rx_dropped++;
- dev->stats.rx_length_errors++;
- rtl8169_mark_to_asic(desc, rx_buf_sz);
- continue;
- }
+ stats->rx_dropped = dev->stats.rx_dropped;
+ stats->tx_dropped = dev->stats.tx_dropped;
+ stats->rx_length_errors = dev->stats.rx_length_errors;
+ stats->rx_errors = dev->stats.rx_errors;
+ stats->rx_crc_errors = dev->stats.rx_crc_errors;
+ stats->rx_fifo_errors = dev->stats.rx_fifo_errors;
+ stats->rx_missed_errors = dev->stats.rx_missed_errors;
- skb = rtl8169_try_rx_copy(tp->Rx_databuff[entry],
- tp, pkt_size, addr);
- rtl8169_mark_to_asic(desc, rx_buf_sz);
- if (!skb) {
- dev->stats.rx_dropped++;
- continue;
- }
+ return stats;
+}
- rtl8169_rx_csum(skb, status);
- skb_put(skb, pkt_size);
- skb->protocol = eth_type_trans(skb, dev);
+static void rtl8169_net_suspend(struct net_device *dev)
+{
+ struct rtl8169_private *tp = netdev_priv(dev);
- rtl8169_rx_vlan_tag(desc, skb);
+ if (!netif_running(dev))
+ return;
- napi_gro_receive(&tp->napi, skb);
+ netif_device_detach(dev);
+ netif_stop_queue(dev);
- dev->stats.rx_bytes += pkt_size;
- dev->stats.rx_packets++;
- }
+ rtl_lock_work(tp);
+ napi_disable(&tp->napi);
+ clear_bit(RTL_FLAG_TASK_ENABLED, tp->wk.flags);
+ rtl_unlock_work(tp);
- /* Work around for AMD plateform. */
- if ((desc->opts2 & cpu_to_le32(0xfffe000)) &&
- (tp->mac_version == RTL_GIGA_MAC_VER_05)) {
- desc->opts2 = 0;
- cur_rx++;
- }
- }
+ rtl_pll_power_down(tp);
+}
- count = cur_rx - tp->cur_rx;
- tp->cur_rx = cur_rx;
+#ifdef CONFIG_PM
- tp->dirty_rx += count;
+static int rtl8169_suspend(struct device *device)
+{
+ struct pci_dev *pdev = to_pci_dev(device);
+ struct net_device *dev = pci_get_drvdata(pdev);
- return count;
+ rtl8169_net_suspend(dev);
+
+ return 0;
}
-static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
+static void __rtl8169_resume(struct net_device *dev)
{
- struct net_device *dev = dev_instance;
struct rtl8169_private *tp = netdev_priv(dev);
- void __iomem *ioaddr = tp->mmio_addr;
- int handled = 0;
- int status;
-
- /* loop handling interrupts until we have no new ones or
- * we hit a invalid/hotplug case.
- */
- status = RTL_R16(IntrStatus);
- while (status && status != 0xffff) {
- status &= tp->intr_event;
- if (!status)
- break;
- handled = 1;
+ netif_device_attach(dev);
- /* Handle all of the error cases first. These will reset
- * the chip, so just exit the loop.
- */
- if (unlikely(!netif_running(dev))) {
- rtl8169_hw_reset(tp);
- break;
- }
+ rtl_pll_power_up(tp);
- if (unlikely(status & RxFIFOOver)) {
- switch (tp->mac_version) {
- /* Work around for rx fifo overflow */
- case RTL_GIGA_MAC_VER_11:
- netif_stop_queue(dev);
- rtl8169_tx_timeout(dev);
- goto done;
- default:
- break;
- }
- }
+ rtl_lock_work(tp);
+ napi_enable(&tp->napi);
+ set_bit(RTL_FLAG_TASK_ENABLED, tp->wk.flags);
+ rtl_unlock_work(tp);
- if (unlikely(status & SYSErr)) {
- rtl8169_pcierr_interrupt(dev);
- break;
- }
+ rtl_schedule_task(tp, RTL_FLAG_TASK_RESET_PENDING);
+}
- if (status & LinkChg)
- __rtl8169_check_link_status(dev, tp, ioaddr, true);
+static int rtl8169_resume(struct device *device)
+{
+ struct pci_dev *pdev = to_pci_dev(device);
+ struct net_device *dev = pci_get_drvdata(pdev);
+ struct rtl8169_private *tp = netdev_priv(dev);
- /* We need to see the lastest version of tp->intr_mask to
- * avoid ignoring an MSI interrupt and having to wait for
- * another event which may never come.
- */
- smp_rmb();
- if (status & tp->intr_mask & tp->napi_event) {
- RTL_W16(IntrMask, tp->intr_event & ~tp->napi_event);
- tp->intr_mask = ~tp->napi_event;
+ rtl8169_init_phy(dev, tp);
- if (likely(napi_schedule_prep(&tp->napi)))
- __napi_schedule(&tp->napi);
- else
- netif_info(tp, intr, dev,
- "interrupt %04x in poll\n", status);
- }
+ if (netif_running(dev))
+ __rtl8169_resume(dev);
- /* We only get a new MSI interrupt when all active irq
- * sources on the chip have been acknowledged. So, ack
- * everything we've seen and check if new sources have become
- * active to avoid blocking all interrupts from the chip.
- */
- RTL_W16(IntrStatus,
- (status & RxFIFOOver) ? (status | RxOverflow) : status);
- status = RTL_R16(IntrStatus);
- }
-done:
- return IRQ_RETVAL(handled);
+ return 0;
}
-static int rtl8169_poll(struct napi_struct *napi, int budget)
+static int rtl8169_runtime_suspend(struct device *device)
{
- struct rtl8169_private *tp = container_of(napi, struct rtl8169_private, napi);
- struct net_device *dev = tp->dev;
- void __iomem *ioaddr = tp->mmio_addr;
- int work_done;
+ struct pci_dev *pdev = to_pci_dev(device);
+ struct net_device *dev = pci_get_drvdata(pdev);
+ struct rtl8169_private *tp = netdev_priv(dev);
- work_done = rtl8169_rx_interrupt(dev, tp, ioaddr, (u32) budget);
- rtl8169_tx_interrupt(dev, tp, ioaddr);
+ if (!tp->TxDescArray)
+ return 0;
- if (work_done < budget) {
- napi_complete(napi);
+ rtl_lock_work(tp);
+ tp->saved_wolopts = __rtl8169_get_wol(tp);
+ __rtl8169_set_wol(tp, WAKE_ANY);
+ rtl_unlock_work(tp);
- /* We need for force the visibility of tp->intr_mask
- * for other CPUs, as we can loose an MSI interrupt
- * and potentially wait for a retransmit timeout if we don't.
- * The posted write to IntrMask is safe, as it will
- * eventually make it to the chip and we won't loose anything
- * until it does.
- */
- tp->intr_mask = 0xffff;
- wmb();
- RTL_W16(IntrMask, tp->intr_event);
- }
+ rtl8169_net_suspend(dev);
- return work_done;
+ return 0;
}
-static void rtl8169_rx_missed(struct net_device *dev, void __iomem *ioaddr)
+static int rtl8169_runtime_resume(struct device *device)
{
+ struct pci_dev *pdev = to_pci_dev(device);
+ struct net_device *dev = pci_get_drvdata(pdev);
struct rtl8169_private *tp = netdev_priv(dev);
- if (tp->mac_version > RTL_GIGA_MAC_VER_06)
- return;
+ if (!tp->TxDescArray)
+ return 0;
- dev->stats.rx_missed_errors += (RTL_R32(RxMissed) & 0xffffff);
- RTL_W32(RxMissed, 0);
+ rtl_lock_work(tp);
+ __rtl8169_set_wol(tp, tp->saved_wolopts);
+ tp->saved_wolopts = 0;
+ rtl_unlock_work(tp);
+
+ rtl8169_init_phy(dev, tp);
+
+ __rtl8169_resume(dev);
+
+ return 0;
}
-static void rtl8169_down(struct net_device *dev)
+static int rtl8169_runtime_idle(struct device *device)
{
+ struct pci_dev *pdev = to_pci_dev(device);
+ struct net_device *dev = pci_get_drvdata(pdev);
struct rtl8169_private *tp = netdev_priv(dev);
- void __iomem *ioaddr = tp->mmio_addr;
-
- del_timer_sync(&tp->timer);
- netif_stop_queue(dev);
-
- napi_disable(&tp->napi);
+ return tp->TxDescArray ? -EBUSY : 0;
+}
- spin_lock_irq(&tp->lock);
+static const struct dev_pm_ops rtl8169_pm_ops = {
+ .suspend = rtl8169_suspend,
+ .resume = rtl8169_resume,
+ .freeze = rtl8169_suspend,
+ .thaw = rtl8169_resume,
+ .poweroff = rtl8169_suspend,
+ .restore = rtl8169_resume,
+ .runtime_suspend = rtl8169_runtime_suspend,
+ .runtime_resume = rtl8169_runtime_resume,
+ .runtime_idle = rtl8169_runtime_idle,
+};
- rtl8169_hw_reset(tp);
- /*
- * At this point device interrupts can not be enabled in any function,
- * as netif_running is not true (rtl8169_interrupt, rtl8169_reset_task,
- * rtl8169_reinit_task) and napi is disabled (rtl8169_poll).
- */
- rtl8169_rx_missed(dev, ioaddr);
+#define RTL8169_PM_OPS (&rtl8169_pm_ops)
- spin_unlock_irq(&tp->lock);
+#else /* !CONFIG_PM */
- synchronize_irq(dev->irq);
+#define RTL8169_PM_OPS NULL
- /* Give a racing hard_start_xmit a few cycles to complete. */
- synchronize_sched(); /* FIXME: should this be synchronize_irq()? */
+#endif /* !CONFIG_PM */
- rtl8169_tx_clear(tp);
+static void rtl_wol_shutdown_quirk(struct rtl8169_private *tp)
+{
+ void __iomem *ioaddr = tp->mmio_addr;
- rtl8169_rx_clear(tp);
+ /* WoL fails with 8168b when the receiver is disabled. */
+ switch (tp->mac_version) {
+ case RTL_GIGA_MAC_VER_11:
+ case RTL_GIGA_MAC_VER_12:
+ case RTL_GIGA_MAC_VER_17:
+ pci_clear_master(tp->pci_dev);
- rtl_pll_power_down(tp);
+ RTL_W8(ChipCmd, CmdRxEnb);
+ /* PCI commit */
+ RTL_R8(ChipCmd);
+ break;
+ default:
+ break;
+ }
}
-static int rtl8169_close(struct net_device *dev)
+static void rtl_shutdown(struct pci_dev *pdev)
{
+ struct net_device *dev = pci_get_drvdata(pdev);
struct rtl8169_private *tp = netdev_priv(dev);
- struct pci_dev *pdev = tp->pci_dev;
+ struct device *d = &pdev->dev;
- pm_runtime_get_sync(&pdev->dev);
+ pm_runtime_get_sync(d);
- /* Update counters before going down */
- rtl8169_update_counters(dev);
+ rtl8169_net_suspend(dev);
- rtl8169_down(dev);
+ /* Restore original MAC address */
+ rtl_rar_set(tp, dev->perm_addr);
- free_irq(dev->irq, dev);
+ rtl8169_hw_reset(tp);
- dma_free_coherent(&pdev->dev, R8169_RX_RING_BYTES, tp->RxDescArray,
- tp->RxPhyAddr);
- dma_free_coherent(&pdev->dev, R8169_TX_RING_BYTES, tp->TxDescArray,
- tp->TxPhyAddr);
- tp->TxDescArray = NULL;
- tp->RxDescArray = NULL;
+ if (system_state == SYSTEM_POWER_OFF) {
+ if (__rtl8169_get_wol(tp) & WAKE_ANY) {
+ rtl_wol_suspend_quirk(tp);
+ rtl_wol_shutdown_quirk(tp);
+ }
- pm_runtime_put_sync(&pdev->dev);
+ pci_wake_from_d3(pdev, true);
+ pci_set_power_state(pdev, PCI_D3hot);
+ }
- return 0;
+ pm_runtime_put_noidle(d);
}
-static void rtl_set_rx_mode(struct net_device *dev)
+static void __devexit rtl_remove_one(struct pci_dev *pdev)
{
+ struct net_device *dev = pci_get_drvdata(pdev);
struct rtl8169_private *tp = netdev_priv(dev);
- void __iomem *ioaddr = tp->mmio_addr;
- unsigned long flags;
- u32 mc_filter[2]; /* Multicast hash filter */
- int rx_mode;
- u32 tmp = 0;
-
- if (dev->flags & IFF_PROMISC) {
- /* Unconditionally log net taps. */
- netif_notice(tp, link, dev, "Promiscuous mode enabled\n");
- rx_mode =
- AcceptBroadcast | AcceptMulticast | AcceptMyPhys |
- AcceptAllPhys;
- mc_filter[1] = mc_filter[0] = 0xffffffff;
- } else if ((netdev_mc_count(dev) > multicast_filter_limit) ||
- (dev->flags & IFF_ALLMULTI)) {
- /* Too many to filter perfectly -- accept all multicasts. */
- rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys;
- mc_filter[1] = mc_filter[0] = 0xffffffff;
- } else {
- struct netdev_hw_addr *ha;
- rx_mode = AcceptBroadcast | AcceptMyPhys;
- mc_filter[1] = mc_filter[0] = 0;
- netdev_for_each_mc_addr(ha, dev) {
- int bit_nr = ether_crc(ETH_ALEN, ha->addr) >> 26;
- mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31);
- rx_mode |= AcceptMulticast;
- }
+ if (tp->mac_version == RTL_GIGA_MAC_VER_27 ||
+ tp->mac_version == RTL_GIGA_MAC_VER_28 ||
+ tp->mac_version == RTL_GIGA_MAC_VER_31) {
+ rtl8168_driver_stop(tp);
}
- spin_lock_irqsave(&tp->lock, flags);
-
- tmp = (RTL_R32(RxConfig) & ~RX_CONFIG_ACCEPT_MASK) | rx_mode;
+ cancel_work_sync(&tp->wk.work);
- if (tp->mac_version > RTL_GIGA_MAC_VER_06) {
- u32 data = mc_filter[0];
+ unregister_netdev(dev);
- mc_filter[0] = swab32(mc_filter[1]);
- mc_filter[1] = swab32(data);
- }
+ rtl_release_firmware(tp);
- RTL_W32(MAR0 + 4, mc_filter[1]);
- RTL_W32(MAR0 + 0, mc_filter[0]);
+ if (pci_dev_run_wake(pdev))
+ pm_runtime_get_noresume(&pdev->dev);
- RTL_W32(RxConfig, tmp);
+ /* restore original MAC address */
+ rtl_rar_set(tp, dev->perm_addr);
- spin_unlock_irqrestore(&tp->lock, flags);
+ rtl_disable_msi(pdev, tp);
+ rtl8169_release_board(pdev, dev, tp->mmio_addr);
+ pci_set_drvdata(pdev, NULL);
}
-/**
- * rtl8169_get_stats - Get rtl8169 read/write statistics
- * @dev: The Ethernet Device to get statistics for
- *
- * Get TX/RX statistics for rtl8169
- */
-static struct net_device_stats *rtl8169_get_stats(struct net_device *dev)
+static const struct net_device_ops rtl_netdev_ops = {
+ .ndo_open = rtl_open,
+ .ndo_stop = rtl8169_close,
+ .ndo_get_stats64 = rtl8169_get_stats64,
+ .ndo_start_xmit = rtl8169_start_xmit,
+ .ndo_tx_timeout = rtl8169_tx_timeout,
+ .ndo_validate_addr = eth_validate_addr,
+ .ndo_change_mtu = rtl8169_change_mtu,
+ .ndo_fix_features = rtl8169_fix_features,
+ .ndo_set_features = rtl8169_set_features,
+ .ndo_set_mac_address = rtl_set_mac_address,
+ .ndo_do_ioctl = rtl8169_ioctl,
+ .ndo_set_rx_mode = rtl_set_rx_mode,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+ .ndo_poll_controller = rtl8169_netpoll,
+#endif
+
+};
+
+static const struct rtl_cfg_info {
+ void (*hw_start)(struct net_device *);
+ unsigned int region;
+ unsigned int align;
+ u16 event_slow;
+ unsigned features;
+ u8 default_ver;
+} rtl_cfg_infos [] = {
+ [RTL_CFG_0] = {
+ .hw_start = rtl_hw_start_8169,
+ .region = 1,
+ .align = 0,
+ .event_slow = SYSErr | LinkChg | RxOverflow | RxFIFOOver,
+ .features = RTL_FEATURE_GMII,
+ .default_ver = RTL_GIGA_MAC_VER_01,
+ },
+ [RTL_CFG_1] = {
+ .hw_start = rtl_hw_start_8168,
+ .region = 2,
+ .align = 8,
+ .event_slow = SYSErr | LinkChg | RxOverflow,
+ .features = RTL_FEATURE_GMII | RTL_FEATURE_MSI,
+ .default_ver = RTL_GIGA_MAC_VER_11,
+ },
+ [RTL_CFG_2] = {
+ .hw_start = rtl_hw_start_8101,
+ .region = 2,
+ .align = 8,
+ .event_slow = SYSErr | LinkChg | RxOverflow | RxFIFOOver |
+ PCSTimeout,
+ .features = RTL_FEATURE_MSI,
+ .default_ver = RTL_GIGA_MAC_VER_13,
+ }
+};
+
+/* Cfg9346_Unlock assumed. */
+static unsigned rtl_try_msi(struct rtl8169_private *tp,
+ const struct rtl_cfg_info *cfg)
{
- struct rtl8169_private *tp = netdev_priv(dev);
void __iomem *ioaddr = tp->mmio_addr;
- unsigned long flags;
+ unsigned msi = 0;
+ u8 cfg2;
- if (netif_running(dev)) {
- spin_lock_irqsave(&tp->lock, flags);
- rtl8169_rx_missed(dev, ioaddr);
- spin_unlock_irqrestore(&tp->lock, flags);
+ cfg2 = RTL_R8(Config2) & ~MSIEnable;
+ if (cfg->features & RTL_FEATURE_MSI) {
+ if (pci_enable_msi(tp->pci_dev)) {
+ netif_info(tp, hw, tp->dev, "no MSI. Back to INTx.\n");
+ } else {
+ cfg2 |= MSIEnable;
+ msi = RTL_FEATURE_MSI;
+ }
}
-
- return &dev->stats;
+ if (tp->mac_version <= RTL_GIGA_MAC_VER_06)
+ RTL_W8(Config2, cfg2);
+ return msi;
}
-static void rtl8169_net_suspend(struct net_device *dev)
+static int __devinit
+rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
{
- struct rtl8169_private *tp = netdev_priv(dev);
+ const struct rtl_cfg_info *cfg = rtl_cfg_infos + ent->driver_data;
+ const unsigned int region = cfg->region;
+ struct rtl8169_private *tp;
+ struct mii_if_info *mii;
+ struct net_device *dev;
+ void __iomem *ioaddr;
+ int chipset, i;
+ int rc;
- if (!netif_running(dev))
- return;
+ if (netif_msg_drv(&debug)) {
+ printk(KERN_INFO "%s Gigabit Ethernet driver %s loaded\n",
+ MODULENAME, RTL8169_VERSION);
+ }
- rtl_pll_power_down(tp);
+ dev = alloc_etherdev(sizeof (*tp));
+ if (!dev) {
+ rc = -ENOMEM;
+ goto out;
+ }
+
+ SET_NETDEV_DEV(dev, &pdev->dev);
+ dev->netdev_ops = &rtl_netdev_ops;
+ tp = netdev_priv(dev);
+ tp->dev = dev;
+ tp->pci_dev = pdev;
+ tp->msg_enable = netif_msg_init(debug.msg_enable, R8169_MSG_DEFAULT);
+
+ mii = &tp->mii;
+ mii->dev = dev;
+ mii->mdio_read = rtl_mdio_read;
+ mii->mdio_write = rtl_mdio_write;
+ mii->phy_id_mask = 0x1f;
+ mii->reg_num_mask = 0x1f;
+ mii->supports_gmii = !!(cfg->features & RTL_FEATURE_GMII);
+
+ /* disable ASPM completely as that cause random device stop working
+ * problems as well as full system hangs for some PCIe devices users */
+ pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 |
+ PCIE_LINK_STATE_CLKPM);
- netif_device_detach(dev);
- netif_stop_queue(dev);
-}
+ /* enable device (incl. PCI PM wakeup and hotplug setup) */
+ rc = pci_enable_device(pdev);
+ if (rc < 0) {
+ netif_err(tp, probe, dev, "enable failure\n");
+ goto err_out_free_dev_1;
+ }
-#ifdef CONFIG_PM
+ if (pci_set_mwi(pdev) < 0)
+ netif_info(tp, probe, dev, "Mem-Wr-Inval unavailable\n");
-static int rtl8169_suspend(struct device *device)
-{
- struct pci_dev *pdev = to_pci_dev(device);
- struct net_device *dev = pci_get_drvdata(pdev);
+ /* make sure PCI base addr 1 is MMIO */
+ if (!(pci_resource_flags(pdev, region) & IORESOURCE_MEM)) {
+ netif_err(tp, probe, dev,
+ "region #%d not an MMIO resource, aborting\n",
+ region);
+ rc = -ENODEV;
+ goto err_out_mwi_2;
+ }
- rtl8169_net_suspend(dev);
+ /* check for weird/broken PCI region reporting */
+ if (pci_resource_len(pdev, region) < R8169_REGS_SIZE) {
+ netif_err(tp, probe, dev,
+ "Invalid PCI region size(s), aborting\n");
+ rc = -ENODEV;
+ goto err_out_mwi_2;
+ }
- return 0;
-}
+ rc = pci_request_regions(pdev, MODULENAME);
+ if (rc < 0) {
+ netif_err(tp, probe, dev, "could not request regions\n");
+ goto err_out_mwi_2;
+ }
-static void __rtl8169_resume(struct net_device *dev)
-{
- struct rtl8169_private *tp = netdev_priv(dev);
+ tp->cp_cmd = RxChkSum;
- netif_device_attach(dev);
+ if ((sizeof(dma_addr_t) > 4) &&
+ !pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) && use_dac) {
+ tp->cp_cmd |= PCIDAC;
+ dev->features |= NETIF_F_HIGHDMA;
+ } else {
+ rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(32));
+ if (rc < 0) {
+ netif_err(tp, probe, dev, "DMA configuration failed\n");
+ goto err_out_free_res_3;
+ }
+ }
- rtl_pll_power_up(tp);
+ /* ioremap MMIO region */
+ ioaddr = ioremap(pci_resource_start(pdev, region), R8169_REGS_SIZE);
+ if (!ioaddr) {
+ netif_err(tp, probe, dev, "cannot remap MMIO, aborting\n");
+ rc = -EIO;
+ goto err_out_free_res_3;
+ }
+ tp->mmio_addr = ioaddr;
- rtl8169_schedule_work(dev, rtl8169_reset_task);
-}
+ if (!pci_is_pcie(pdev))
+ netif_info(tp, probe, dev, "not PCI Express\n");
-static int rtl8169_resume(struct device *device)
-{
- struct pci_dev *pdev = to_pci_dev(device);
- struct net_device *dev = pci_get_drvdata(pdev);
- struct rtl8169_private *tp = netdev_priv(dev);
+ /* Identify chip attached to board */
+ rtl8169_get_mac_version(tp, dev, cfg->default_ver);
- rtl8169_init_phy(dev, tp);
+ rtl_init_rxcfg(tp);
- if (netif_running(dev))
- __rtl8169_resume(dev);
+ rtl_irq_disable(tp);
- return 0;
-}
+ rtl_hw_reset(tp);
-static int rtl8169_runtime_suspend(struct device *device)
-{
- struct pci_dev *pdev = to_pci_dev(device);
- struct net_device *dev = pci_get_drvdata(pdev);
- struct rtl8169_private *tp = netdev_priv(dev);
+ rtl_ack_events(tp, 0xffff);
- if (!tp->TxDescArray)
- return 0;
+ pci_set_master(pdev);
- spin_lock_irq(&tp->lock);
- tp->saved_wolopts = __rtl8169_get_wol(tp);
- __rtl8169_set_wol(tp, WAKE_ANY);
- spin_unlock_irq(&tp->lock);
+ /*
+ * Pretend we are using VLANs; This bypasses a nasty bug where
+ * Interrupts stop flowing on high load on 8110SCd controllers.
+ */
+ if (tp->mac_version == RTL_GIGA_MAC_VER_05)
+ tp->cp_cmd |= RxVlan;
- rtl8169_net_suspend(dev);
+ rtl_init_mdio_ops(tp);
+ rtl_init_pll_power_ops(tp);
+ rtl_init_jumbo_ops(tp);
- return 0;
-}
+ rtl8169_print_mac_version(tp);
-static int rtl8169_runtime_resume(struct device *device)
-{
- struct pci_dev *pdev = to_pci_dev(device);
- struct net_device *dev = pci_get_drvdata(pdev);
- struct rtl8169_private *tp = netdev_priv(dev);
+ chipset = tp->mac_version;
+ tp->txd_version = rtl_chip_infos[chipset].txd_version;
- if (!tp->TxDescArray)
- return 0;
+ RTL_W8(Cfg9346, Cfg9346_Unlock);
+ RTL_W8(Config1, RTL_R8(Config1) | PMEnable);
+ RTL_W8(Config5, RTL_R8(Config5) & PMEStatus);
+ if ((RTL_R8(Config3) & (LinkUp | MagicPacket)) != 0)
+ tp->features |= RTL_FEATURE_WOL;
+ if ((RTL_R8(Config5) & (UWF | BWF | MWF)) != 0)
+ tp->features |= RTL_FEATURE_WOL;
+ tp->features |= rtl_try_msi(tp, cfg);
+ RTL_W8(Cfg9346, Cfg9346_Lock);
- spin_lock_irq(&tp->lock);
- __rtl8169_set_wol(tp, tp->saved_wolopts);
- tp->saved_wolopts = 0;
- spin_unlock_irq(&tp->lock);
+ if (rtl_tbi_enabled(tp)) {
+ tp->set_speed = rtl8169_set_speed_tbi;
+ tp->get_settings = rtl8169_gset_tbi;
+ tp->phy_reset_enable = rtl8169_tbi_reset_enable;
+ tp->phy_reset_pending = rtl8169_tbi_reset_pending;
+ tp->link_ok = rtl8169_tbi_link_ok;
+ tp->do_ioctl = rtl_tbi_ioctl;
+ } else {
+ tp->set_speed = rtl8169_set_speed_xmii;
+ tp->get_settings = rtl8169_gset_xmii;
+ tp->phy_reset_enable = rtl8169_xmii_reset_enable;
+ tp->phy_reset_pending = rtl8169_xmii_reset_pending;
+ tp->link_ok = rtl8169_xmii_link_ok;
+ tp->do_ioctl = rtl_xmii_ioctl;
+ }
- rtl8169_init_phy(dev, tp);
+ mutex_init(&tp->wk.mutex);
- __rtl8169_resume(dev);
+ /* Get MAC address */
+ for (i = 0; i < ETH_ALEN; i++)
+ dev->dev_addr[i] = RTL_R8(MAC0 + i);
+ memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
- return 0;
-}
+ SET_ETHTOOL_OPS(dev, &rtl8169_ethtool_ops);
+ dev->watchdog_timeo = RTL8169_TX_TIMEOUT;
-static int rtl8169_runtime_idle(struct device *device)
-{
- struct pci_dev *pdev = to_pci_dev(device);
- struct net_device *dev = pci_get_drvdata(pdev);
- struct rtl8169_private *tp = netdev_priv(dev);
+ netif_napi_add(dev, &tp->napi, rtl8169_poll, R8169_NAPI_WEIGHT);
- return tp->TxDescArray ? -EBUSY : 0;
-}
+ /* don't enable SG, IP_CSUM and TSO by default - it might not work
+ * properly for all devices */
+ dev->features |= NETIF_F_RXCSUM |
+ NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
-static const struct dev_pm_ops rtl8169_pm_ops = {
- .suspend = rtl8169_suspend,
- .resume = rtl8169_resume,
- .freeze = rtl8169_suspend,
- .thaw = rtl8169_resume,
- .poweroff = rtl8169_suspend,
- .restore = rtl8169_resume,
- .runtime_suspend = rtl8169_runtime_suspend,
- .runtime_resume = rtl8169_runtime_resume,
- .runtime_idle = rtl8169_runtime_idle,
-};
+ dev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
+ NETIF_F_RXCSUM | NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
+ dev->vlan_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
+ NETIF_F_HIGHDMA;
-#define RTL8169_PM_OPS (&rtl8169_pm_ops)
+ if (tp->mac_version == RTL_GIGA_MAC_VER_05)
+ /* 8110SCd requires hardware Rx VLAN - disallow toggling */
+ dev->hw_features &= ~NETIF_F_HW_VLAN_RX;
-#else /* !CONFIG_PM */
+ dev->hw_features |= NETIF_F_RXALL;
+ dev->hw_features |= NETIF_F_RXFCS;
-#define RTL8169_PM_OPS NULL
+ tp->hw_start = cfg->hw_start;
+ tp->event_slow = cfg->event_slow;
-#endif /* !CONFIG_PM */
+ tp->opts1_mask = (tp->mac_version != RTL_GIGA_MAC_VER_01) ?
+ ~(RxBOVF | RxFOVF) : ~0;
-static void rtl_wol_shutdown_quirk(struct rtl8169_private *tp)
-{
- void __iomem *ioaddr = tp->mmio_addr;
+ init_timer(&tp->timer);
+ tp->timer.data = (unsigned long) dev;
+ tp->timer.function = rtl8169_phy_timer;
- /* WoL fails with 8168b when the receiver is disabled. */
- switch (tp->mac_version) {
- case RTL_GIGA_MAC_VER_11:
- case RTL_GIGA_MAC_VER_12:
- case RTL_GIGA_MAC_VER_17:
- pci_clear_master(tp->pci_dev);
+ tp->rtl_fw = RTL_FIRMWARE_UNKNOWN;
- RTL_W8(ChipCmd, CmdRxEnb);
- /* PCI commit */
- RTL_R8(ChipCmd);
- break;
- default:
- break;
- }
-}
+ rc = register_netdev(dev);
+ if (rc < 0)
+ goto err_out_msi_4;
-static void rtl_shutdown(struct pci_dev *pdev)
-{
- struct net_device *dev = pci_get_drvdata(pdev);
- struct rtl8169_private *tp = netdev_priv(dev);
+ pci_set_drvdata(pdev, dev);
- rtl8169_net_suspend(dev);
+ netif_info(tp, probe, dev, "%s at 0x%p, %pM, XID %08x IRQ %d\n",
+ rtl_chip_infos[chipset].name, ioaddr, dev->dev_addr,
+ (u32)(RTL_R32(TxConfig) & 0x9cf0f8ff), pdev->irq);
+ if (rtl_chip_infos[chipset].jumbo_max != JUMBO_1K) {
+ netif_info(tp, probe, dev, "jumbo features [frames: %d bytes, "
+ "tx checksumming: %s]\n",
+ rtl_chip_infos[chipset].jumbo_max,
+ rtl_chip_infos[chipset].jumbo_tx_csum ? "ok" : "ko");
+ }
- /* Restore original MAC address */
- rtl_rar_set(tp, dev->perm_addr);
+ if (tp->mac_version == RTL_GIGA_MAC_VER_27 ||
+ tp->mac_version == RTL_GIGA_MAC_VER_28 ||
+ tp->mac_version == RTL_GIGA_MAC_VER_31) {
+ rtl8168_driver_start(tp);
+ }
- spin_lock_irq(&tp->lock);
+ device_set_wakeup_enable(&pdev->dev, tp->features & RTL_FEATURE_WOL);
- rtl8169_hw_reset(tp);
+ if (pci_dev_run_wake(pdev))
+ pm_runtime_put_noidle(&pdev->dev);
- spin_unlock_irq(&tp->lock);
+ netif_carrier_off(dev);
- if (system_state == SYSTEM_POWER_OFF) {
- if (__rtl8169_get_wol(tp) & WAKE_ANY) {
- rtl_wol_suspend_quirk(tp);
- rtl_wol_shutdown_quirk(tp);
- }
+out:
+ return rc;
- pci_wake_from_d3(pdev, true);
- pci_set_power_state(pdev, PCI_D3hot);
- }
+err_out_msi_4:
+ rtl_disable_msi(pdev, tp);
+ iounmap(ioaddr);
+err_out_free_res_3:
+ pci_release_regions(pdev);
+err_out_mwi_2:
+ pci_clear_mwi(pdev);
+ pci_disable_device(pdev);
+err_out_free_dev_1:
+ free_netdev(dev);
+ goto out;
}
static struct pci_driver rtl8169_pci_driver = {
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* [PATCH v2] avr32: fix nop compile fails from system.h split up
From: Paul Gortmaker @ 2012-04-03 23:14 UTC (permalink / raw)
To: dhowells
Cc: torvalds, linux-kernel, linux-next, Paul Gortmaker,
Haavard Skinnemoen, Hans-Christian Egtvedt
To fix:
In file included from kernel/exit.c:61:
arch/avr32/include/asm/mmu_context.h: In function 'enable_mmu':
arch/avr32/include/asm/mmu_context.h:135: error: implicit
declaration of function 'nop'
It needs an include of the new file created in:
commit ae473946586680b01c13975a3b674de23ad7c93e
"Disintegrate asm/system.h for AVR32"
But since that file only contains "nop", and since other
arch already have precedent of putting nop in asm/barrier.h
we should just delete the new file and put nop in barrier.h
Suggested-by: David Howells <dhowells@redhat.com>
Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
[v2: adopt dh's suggestion and assume new special_insns.h needs rm'ing]
diff --git a/arch/avr32/include/asm/barrier.h b/arch/avr32/include/asm/barrier.h
index 808001c..0961275 100644
--- a/arch/avr32/include/asm/barrier.h
+++ b/arch/avr32/include/asm/barrier.h
@@ -8,6 +8,8 @@
#ifndef __ASM_AVR32_BARRIER_H
#define __ASM_AVR32_BARRIER_H
+#define nop() asm volatile("nop")
+
#define mb() asm volatile("" : : : "memory")
#define rmb() mb()
#define wmb() asm volatile("sync 0" : : : "memory")
diff --git a/arch/avr32/include/asm/special_insns.h b/arch/avr32/include/asm/special_insns.h
deleted file mode 100644
index f922218..0000000
--- a/arch/avr32/include/asm/special_insns.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * Copyright (C) 2004-2006 Atmel Corporation
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-#ifndef __ASM_AVR32_SPECIAL_INSNS_H
-#define __ASM_AVR32_SPECIAL_INSNS_H
-
-#define nop() asm volatile("nop")
-
-#endif /* __ASM_AVR32_SPECIAL_INSNS_H */
--
1.7.9.1
^ permalink raw reply related
* Re: [PATCH] ARM: S3C24XX: fix missing common.h in mach-s3c24xx/
From: Paul Gortmaker @ 2012-04-03 22:33 UTC (permalink / raw)
To: Kukjin Kim; +Cc: linux-arm-kernel, linux-samsung-soc, linux-next
In-Reply-To: <1332980074-4614-1-git-send-email-kgene.kim@samsung.com>
Hi,
On Wed, Mar 28, 2012 at 8:14 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> This patch fixes missing mach-s3c24xx/common.h which has been
> lost when regarding s3c24xx directories merged.
Just checking that the updated version of this patch is headed
in for 3.4 -- we are still seeing the failure in linux-next builds
and it would be nice to close out the build regressions in there
as quickly as possible, since they tend to mask other regressions
from being seen.
Thanks,
Paul.
--
>
> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
> ---
> arch/arm/mach-s3c24xx/common.h | 23 +++++++++++++++++++++++
> 1 files changed, 23 insertions(+), 0 deletions(-)
> create mode 100644 arch/arm/mach-s3c24xx/common.h
>
> diff --git a/arch/arm/mach-s3c24xx/common.h b/arch/arm/mach-s3c24xx/common.h
> new file mode 100644
> index 0000000..a7cd62f
> --- /dev/null
> +++ b/arch/arm/mach-s3c24xx/common.h
> @@ -0,0 +1,23 @@
> +/*
> + * Copyright (c) 2012 Samsung Electronics Co., Ltd.
> + * http://www.samsung.com
> + *
> + * Common Header for S3C24XX SoCs
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +
> +#ifndef __ARCH_ARM_MACH_S3C24XX_COMMON_H
> +#define __ARCH_ARM_MACH_S3C24XX_COMMON_H
> +
> +#ifdef CONFIG_CPU_S3C2410
> +void s3c2410_restart(char mode, const char *cmd);
> +#endif
> +
> +#ifdef CONFIG_CPU_S3C244X
> +void s3c244x_restart(char mode, const char *cmd);
> +#endif
> +
> +#endif /* __ARCH_ARM_MACH_S3C24XX_COMMON_H */
> --
> 1.7.2.3
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply
* Re: linux-next: Tree for Apr 2 (uml)
From: Randy Dunlap @ 2012-04-03 15:28 UTC (permalink / raw)
To: Richard Weinberger; +Cc: Stephen Rothwell, linux-next, LKML
In-Reply-To: <4F79CCE1.4040709@nod.at>
On 04/02/2012 08:59 AM, Richard Weinberger wrote:
> On 02.04.2012 17:32, Randy Dunlap wrote:
>> On 04/01/2012 08:55 PM, Stephen Rothwell wrote:
>>
>>> Hi all,
>>>
>>> The merge window has closed, so -next is open for busniess.
>>>
>>> Changes since 20120330:
>>
>>
>>
>> uml defconfig on x86_64:
>>
>> CC arch/um/drivers/mconsole_kern.o
>> arch/um/drivers/mconsole_kern.c: In function 'stack_proc':
>> arch/um/drivers/mconsole_kern.c:707:2: error: implicit declaration of function 'switch_to'
>> make[2]: *** [arch/um/drivers/mconsole_kern.o] Error 1
>>
>>
>
> Already fixed:
> http://comments.gmane.org/gmane.linux.kernel/1274493
and linux-next still has this build error.
Can that patch show up in linux-next, please?
--
~Randy
^ permalink raw reply
* Re: [PATCH] ARM: fix lcd power build failure in collie_defconfig
From: Olof Johansson @ 2012-04-03 4:55 UTC (permalink / raw)
To: Paul Gortmaker; +Cc: linux-arm-kernel, linux-next, arm
In-Reply-To: <1333405037-3053-1-git-send-email-paul.gortmaker@windriver.com>
On Mon, Apr 02, 2012 at 06:17:17PM -0400, Paul Gortmaker wrote:
> Commit 086ada54abaa4316e8603f02410fe8ebc9ba2de1
>
> "FB: sa1100: remove global sa1100fb_.*_power function pointers"
>
> got rid of all instances but one in locomolcd.c -- which was
> conditional on CONFIG_SA1100_COLLIE. The associated .power
> field which replaces the global is populated in mach-sa1100/collie.c
> so move the assignment there, but make it conditional on the
> locomolcd support, so use CONFIG_BACKLIGHT_LOCOMO in that file.
>
> Cc: arm@kernel.org
> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Thanks, applied to fixes.
-Olof
^ permalink raw reply
* linux-next: Tree for Apr 3
From: Stephen Rothwell @ 2012-04-03 3:41 UTC (permalink / raw)
To: linux-next; +Cc: LKML
[-- Attachment #1: Type: text/plain, Size: 24535 bytes --]
Hi all,
The merge window has closed, so -next is open for business.
Changes since 20120402:
My fixes tree is empty again.
The tile tree lost its conflicts.
The l2-mtd tree lost its conflicts.
The sound-asoc tree lost its build failure but gained another so I used
the version from next-20130330.
The akpm tree lost a couple of patches that turned up in the
powerpc-merge tree.
----------------------------------------------------------------------------
I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/next/ ). If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one. You should use "git fetch" as mentioned in the FAQ on the wiki
(see below).
You can see which trees have been included by looking in the Next/Trees
file in the source. There are also quilt-import.log and merge.log files
in the Next directory. Between each merge, the tree was built with
a ppc64_defconfig for powerpc and an allmodconfig for x86_64. After the
final fixups (if any), it is also built with powerpc allnoconfig (32 and
64 bit), ppc44x_defconfig and allyesconfig (minus
CONFIG_PROFILE_ALL_BRANCHES - this fails its final link) and i386, sparc
and sparc64 defconfig. These builds also have
CONFIG_ENABLE_WARN_DEPRECATED, CONFIG_ENABLE_MUST_CHECK and
CONFIG_DEBUG_INFO disabled when necessary.
Below is a summary of the state of the merge.
We are up to 188 trees (counting Linus' and 26 trees of patches pending
for Linus' tree), more are welcome (even if they are currently empty).
Thanks to those who have contributed, and to those who haven't, please do.
Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next . If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.
Thanks to Randy Dunlap for doing many randconfig builds. And to Paul
Gortmaker for triage and bug fixes.
There is a wiki covering stuff to do with linux-next at
http://linux.f-seidel.de/linux-next/pmwiki/ . Thanks to Frank Seidel.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
$ git checkout master
$ git reset --hard stable
Merging origin/master (b1a808f Merge branch 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi)
Merging fixes/master (b1a808f Merge branch 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi)
Merging kbuild-current/rc-fixes (0eb043d Subject: [PATCH] tags.sh: Add missing quotes)
Merging arm-current/fixes (6d00889 ARM: fix more fallout from 9f97da78bf (Disintegrate asm/system.h for ARM))
Merging m68k-current/for-linus (450aed7 m68k/q40: Add missing platform check before registering platform devices)
Merging powerpc-merge/merge (9b218f6 powerpc/eeh: Fix use of set_current_state() in eeh event handling set_current_state() wart)
Merging sparc/master (2533e82 sparc: pgtable_64: change include order)
Merging scsi-rc-fixes/master (41f8ad7 [SCSI] osd_uld: Bump MAX_OSD_DEVICES from 64 to 1,048,576)
Merging net/master (2240eb4 sky2: dont overwrite settings for PHY Quick link)
Merging sound-current/for-linus (c578ae0 ALSA: fix isa/opti9xx module param type)
Merging pci-current/for-linus (4949be1 PCI: ignore pre-1.1 ASPM quirking when ASPM is disabled)
Merging wireless/master (de312db mac80211: fix oper channel timestamp updation)
Merging driver-core.current/driver-core-linus (dd775ae Linux 3.4-rc1)
Merging tty.current/tty-linus (dd775ae Linux 3.4-rc1)
Merging usb.current/usb-linus (dd775ae Linux 3.4-rc1)
Merging staging.current/staging-linus (dd775ae Linux 3.4-rc1)
Merging char-misc.current/char-misc-linus (dd775ae Linux 3.4-rc1)
Merging cpufreq-current/fixes (6139b65 Merge branch 'for_3.4/cpufreq' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into fixes)
Merging input-current/for-linus (f182394 Input: wacom - check for allocation failure in probe())
Merging md-current/for-linus (ecb178b md: Add judgement bb->unacked_exist in function md_ack_all_badblocks().)
Merging audit-current/for-linus (c158a35 audit: no leading space in audit_log_d_path prefix)
Merging crypto-current/master (5219a53 crypto: user - Fix size of netlink dump message)
Merging ide/master (0ab3d8b cy82c693: fix PCI device selection)
Merging dwmw2/master (244dc4e Merge git://git.infradead.org/users/dwmw2/random-2.6)
Merging irqdomain-current/irqdomain/merge (d4886bc irqdomain/powerpc: updated defconfigs for VIRQ_DEBUG rename)
Merging devicetree-current/devicetree/merge (31134ef dt: Linux DT usage model documentation)
Merging spi-current/spi/merge (cc4d22a spi/imx: mark base member in spi_imx_data as __iomem)
Merging gpio-current/gpio/merge (d7ce1db gpio/sodaville: Convert sodaville driver to new irqdomain API)
Merging arm/for-next (6d00889 ARM: fix more fallout from 9f97da78bf (Disintegrate asm/system.h for ARM))
Merging arm-perf/for-next/perf (c16fa4f Linux 3.3)
Merging davinci/davinci-next (fe0d422 Linux 3.0-rc6)
Merging samsung/next-samsung (9edb240 ARM: H1940/RX1950: Change default LED triggers)
Merging s5p/for-next (dd775ae Linux 3.4-rc1)
Merging tegra/for-next (8c3ec84 ARM: tegra: Fix device tree AUXDATA for USB/EHCI)
Merging xilinx/arm-next (b85a3ef ARM: Xilinx: Adding Xilinx board support)
Merging blackfin/for-linus (0172c0a blackfin: gpio: fix compile error if !CONFIG_GPIOLIB)
Merging c6x/for-linux-next (fde7d90 Linux 3.3-rc7)
Merging cris/for-next (ea78f5b CRIS: Update documentation)
Merging quilt/hexagon (110b372 Remove unneeded include of version.h from arch/hexagon/include/asm/spinlock_types.h)
CONFLICT (content): Merge conflict in arch/hexagon/Kconfig
Merging ia64/next (16f2634 [IA64] Normalize return value of chip->irq_set_affinity() method)
Merging m68k/for-next (1a9268f scsi/atari: Make more functions static)
Merging m68knommu/for-next (ae909ea m68knommu: factor more common ColdFire cpu reset code)
Merging microblaze/next (0dd90aa microblaze: Fix ret_from_fork declaration)
Merging mips/mips-for-linux-next (2fea377 Merge branch 'fixes-for-linus' into mips-for-linux-next)
Merging openrisc/for-upstream (fa8d9d7 OpenRISC: Remove memory_start/end prototypes)
Merging parisc/for-next (c60dc74 Merge branch 'fixes' into for-next)
Merging powerpc/next (0195c00 Merge tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system)
Merging 4xx/next (b5594a7 powerpc/44x: Add additional device support for APM821xx SoC and Bluestone board)
Merging mpc5xxx/next (7b6bb64 powerpc/5200: convert mpc5200 to use of_platform_populate())
Merging galak/next (fa1b42b powerpc/qe: Update the SNUM table for MPC8569 Rev2.0)
Merging s390/features (b7918da [S390] update default configuration)
Merging sparc-next/master (e9b57cc sparc: Use vsprintf extention %pf with builtin_return_address)
Merging tile/master (a6a18aa arch/tile: add descriptive text if the kernel reports a bad trap)
Merging unicore32/unicore32 (0994695 Merge branch 'akpm' (aka "Andrew's patch-bomb, take two"))
Merging ceph/master (c666601 rbd: move snap_rwsem to the device, rename to header_rwsem)
Merging cifs/master (66189be CIFS: Fix VFS lock usage for oplocked files)
Merging configfs/linux-next (b930c26 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs)
Merging ecryptfs/next (6cfd4b4 ecryptfs: remove the second argument of k[un]map_atomic())
CONFLICT (content): Merge conflict in fs/ecryptfs/ecryptfs_kernel.h
Merging ext3/for_next (c2d9fae ext2: Remove s_dirt handling)
Merging ext4/dev (9d547c3 vfs: remove unused superblock helpers)
Merging fuse/for-next (4273b79 fuse: O_DIRECT support for files)
Merging gfs2/master (dfa8511 GFS2: use depends instead of select in kconfig)
Merging logfs/master (dd775ae Linux 3.4-rc1)
Merging nfs/linux-next (b1a808f Merge branch 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi)
Merging nfsd/nfsd-next (797a9d7 nfsd: only register cld pipe notifier when CONFIG_NFSD_V4 is enabled)
Merging ocfs2/linux-next (9392557 ocfs2: avoid unaligned access to dqc_bitmap)
Merging omfs/for-next (976d167 Linux 3.1-rc9)
Merging squashfs/master (4b0180a Squashfs: add mount time sanity check for block_size and block_log match)
Merging v9fs/for-next (5bdad93 9p: statfs should not override server f_type)
Merging ubifs/linux-next (dd775ae Linux 3.4-rc1)
Merging xfs/for-next (5a5881c xfs: add lots of attribute trace points)
Merging vfs/for-next (07c0c5d ext4: initialization of ext4_li_mtx needs to be done earlier)
Merging pci/linux-next (1488d51 PCI: Bjorn gets PCI hotplug too)
Merging hid/for-next (d464c92 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid)
Merging quilt/i2c (48a4675 Merge tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound)
Merging bjdooks-i2c/next-i2c (fc84fe1 Merge branch 'for_3.3/i2c/misc' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into for-33/i2c/omap)
CONFLICT (content): Merge conflict in drivers/i2c/busses/i2c-omap.c
Merging i2c-embedded/i2c-embedded/for-next (bbceeee i2c-eg20t: Remove write-only variables)
Merging quilt/jdelvare-hwmon (e3a9568 hwmon: Add MCP3021 ADC driver)
Merging hwmon-staging/hwmon-next (3cd99d4 hwmon: (it87) Add support for IT8782F and IT8783E/F)
Merging quilt/kernel-doc (c16fa4f Linux 3.3)
Merging docs/docs-move (5c24d8b Merge branch 'docs/docbook/drm' of git://github.com/mfwitten/linux into docs-move)
Merging v4l-dvb/master (2f6edcb Merge branch 'poll')
Merging kbuild/for-next (51cbc3e Merge branch 'kbuild/rc-fixes' into kbuild/for-next)
Merging kconfig/for-next (eae1c36 Merge branch 'kconfig/for-linus-2' into kconfig/for-next)
Merging libata/NEXT (b8cec3c pata_cmd64x: implement sff_irq_check() method)
Merging infiniband/for-next (5ad19b0 Merge branches 'cma', 'cxgb3', 'cxgb4', 'ehca', 'iser', 'mad', 'nes', 'qib', 'srp' and 'srpt' into for-next)
Merging acpi/next (d326f44 Merge branch 'tboot' into release)
Merging cpupowerutils/master (f166033 cpupower tools: add install target to the debug tools' makefiles)
Merging ieee1394/for-next (19f8399 Merge branch 'iso-flush' into for-next)
Merging ubi/linux-next (cc83146 UBI: rename MOVE_CANCEL_BITFLIPS to MOVE_TARGET_BITFLIPS)
Merging dlm/next (1b189b8 dlm: last element of dlm_local_addr[] never used)
Merging scsi/master (6993169 [SCSI] ipr: Driver version 2.5.3)
Merging target-updates/for-next (187e70a ib_srpt: Fix srpt_handle_cmd send_ioctx->ioctx_kref leak on exception)
Merging target-merge/for-next-merge (06de5ee tcm_qla2xxx: Add >= 24xx series fabric module for target-core)
Merging ibft/linux-next (935a9fe ibft: Fix finding IBFT ACPI table on UEFI)
Merging isci/all (fbabacb Merge branches 'devel', 'rnc-devel' and 'fixes' into all)
Merging slave-dma/next (dd775ae Linux 3.4-rc1)
Merging dmaengine/next (3d9ea9e iop-adma: Corrected array overflow in RAID6 Xscale(R) test.)
Merging net-next/master (de8856d Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net)
Merging wireless-next/master (8a78335 usbnet: consider device busy at each recieved packet)
Merging bluetooth/master (e027b5c Bluetooth: Send correct address type for LTK)
Merging mtd/master (7b0e67f mtd: docg3 add protection against concurrency)
Merging l2-mtd/master (711ab3a sh: Use the plat_nand default partition parser)
Merging crypto/master (a0ea0f6 crypto: caam - add backward compatible string sec4.0)
Merging sound/for-next (c81486a Merge branch 'for-linus' into for-next)
Merging sound-asoc/for-next (5e7a266 Merge branch 'for-3.5' into asoc-next)
$ git reset --hard HEAD^
Merging refs/next/20120330/sound-asoc
Merging cpufreq/next (a7b422c provide disable_cpufreq() function to disable the API.)
Merging quilt/rr (2a22b63 cpumask: remove old cpu_*_map.)
CONFLICT (content): Merge conflict in drivers/virtio/virtio_balloon.c
CONFLICT (content): Merge conflict in arch/arm/kernel/kprobes.c
Merging input/next (131c713 Input: tegra-kbc - allocate pdata before using it)
Merging input-mt/for-next (7491f3d bcm5974: Add pointer and buttonpad properties)
Merging cgroup/for-next (48ddbe1 cgroup: make css->refcnt clearing on cgroup removal optional)
Merging block/for-next (f52b69f Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-sh)
Merging quilt/device-mapper (4b63eba This device-mapper target creates a read-only device that transparently validates the data on one underlying device against a pre-generated tree of cryptographic checksums stored on a second device.)
Merging embedded/master (4744b43 embedded: fix vc_translate operator precedence)
Merging firmware/master (6e03a20 firmware: speed up request_firmware(), v3)
Merging pcmcia/master (80af9e6 pcmcia at91_cf: fix raw gpio number usage)
Merging mmc/mmc-next (0460e47 mmc: omap_hsmmc: fix module re-insertion)
Merging kgdb/kgdb-next (3751d3e x86,kgdb: Fix DEBUG_RODATA limitation using text_poke())
Merging slab/for-next (b80b6c0 Merge branch 'slab/next' into for-next)
Merging uclinux/for-next (5e442a4 Revert "proc: fix races against execve() of /proc/PID/fd**")
Merging md/for-next (9d49d24 md/raid1,raid10: don't compare excess byte during consistency check.)
Merging mfd/for-next (b8589e2 gpio/twl: Add DT support to gpio-twl4030 driver)
Merging battery/master (5cdd4d7 max17042_battery: Clean up interrupt handling)
Merging drm/drm-next (5466c7b drm/i915: use DDC_ADDR instead of hard-coding it)
Merging fbdev/fbdev-next (6bff98b Revert "video:uvesafb: Fix oops that uvesafb try to execute NX-protected page")
Merging viafb/viafb-next (838ac78 viafb: avoid refresh and mode lookup in set_par)
Merging omap_dss2/for-next (df01d53 OMAPDSS: APPLY: fix clearing shadow dirty flag with manual update)
Merging regulator/for-next (7602609 Merge branches 'regulator-linus' and 'regulator-drivers' into regulator-next)
Merging security/next (09f61cd Merge branch 'for-security' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor into next)
Merging selinux/master (ecf093d SELinux: add default_type statements)
Merging lblnet/master (7e27d6e Linux 2.6.35-rc3)
Merging watchdog/master (dd775ae Linux 3.4-rc1)
Merging dwmw2-iommu/master (c3b92c8 Linux 3.1)
Merging iommu/next (7de4730 Merge branches 'iommu/fixes', 'arm/tegra' and 'x86/amd' into next)
Merging osd/linux-next (72749a2 exofs: Cap on the memcpy() size)
Merging jc_docs/docs-next (5c050fb docs: update the development process document)
Merging trivial/for-next (409a3e9 Email/web address change)
CONFLICT (content): Merge conflict in drivers/net/ethernet/realtek/r8169.c
Merging audit/for-next (dcd6c92 Linux 3.3-rc1)
Merging pm/linux-next (c4772d1 PM / QoS: add pm_qos_update_request_timeout() API)
Merging apm/for-next (b4a133d Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/apm)
Merging fsnotify/for-next (ef9bf3b fanotify: only destroy a mark if both its mask and its ignored_mask are cleared)
Merging edac/linux_next (a4b4be3 edac: rename channel_info to rank_info)
Merging edac-amd/for-next (305f1c3 Merge branch '3.3-pci_device_id' into edac-for-next)
Merging devicetree/devicetree/next (0f22dd3 of: Only compile OF_DYNAMIC on PowerPC pseries and iseries)
Merging spi/spi/next (3d414f3 Merge branch 'spi' of git://gitorious.org/linus-tree/linus-tree into spi/next)
Merging tip/auto-latest (1a7ac88 Merge branch 'linus')
CONFLICT (content): Merge conflict in Documentation/feature-removal-schedule.txt
Merging rcu/rcu/next (1cc8596 rcu: Stop spurious warnings from synchronize_sched_expedited)
Merging cputime/cputime (c3e0ef9 [S390] fix cputime overflow in uptime_proc_show)
Merging uprobes/for-next (0326f5a uprobes/core: Handle breakpoint and singlestep exceptions)
Merging kmemleak/kmemleak (d65b4e9 Linux 3.3-rc3)
Merging kvm/linux-next (cf9eeac KVM: Convert intx_mask_lock to spin lock)
Merging oprofile/for-next (c16fa4f Linux 3.3)
Merging xen/upstream/xen (59e9a6b Merge branch 'upstream/ticketlock-cleanup' into upstream/xen)
CONFLICT (content): Merge conflict in arch/x86/include/asm/cmpxchg.h
Merging xen-two/linux-next (2faaa4d Merge branch 'stable/for-linus-3.4' into linux-next)
CONFLICT (content): Merge conflict in arch/x86/kernel/apic/io_apic.c
CONFLICT (content): Merge conflict in arch/x86/include/asm/io_apic.h
Merging xen-pvhvm/linux-next (b056b6a xen: suspend: remove xen_hvm_suspend)
Merging percpu/for-next (adb7950 percpu: fix __this_cpu_{sub,inc,dec}_return() definition)
Merging workqueues/for-next (e06ffa1 workqueue: use percpu allocator for cwq on UP)
Merging drivers-x86/linux-next (86924de acer-wmi: add quirk table for video backlight vendor mode)
Merging hwpoison/hwpoison (46e387b Merge branch 'hwpoison-hugepages' into hwpoison)
Merging sysctl/master (4e474a0 sysctl: protect poll() in entries that may go away)
Merging regmap/for-next (315ea62 Merge tag 'regmap-3.4' into regmap-next)
Merging hsi/for-next (43139a6 HSI: hsi_char: Update ioctl-number.txt)
Merging driver-core/driver-core-next (dd775ae Linux 3.4-rc1)
Merging tty/tty-next (dd775ae Linux 3.4-rc1)
Merging usb/usb-next (dd775ae Linux 3.4-rc1)
Merging staging/staging-next (dd775ae Linux 3.4-rc1)
Merging char-misc/char-misc-next (dd775ae Linux 3.4-rc1)
Merging tmem/linux-next (9c9fc31 Merge commit 'e22057c8599373e5caef0bc42bdb95d2a361ab0d' into linux-next)
Merging writeback/writeback-for-next (697e6fe writeback: Remove outdated comment)
Merging arm-dt/devicetree/arm-next (ede338f dt: add documentation of ARM dt boot interface)
Merging hwspinlock/linux-next (8b37fcf hwspinlock: add MAINTAINERS entries)
Merging pinctrl/for-next (51dddfe ARM: u300: configure some pins as an example)
Merging moduleh/for-sfr (55ed7fb Merge branch 'system.h-fixes' into for-sfr)
Merging vhost/linux-next (437578b virtio-pci: switch to PM ops macro to initialise PM functions)
Merging kmap_atomic/kmap_atomic (317b6e1 feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal)
Merging modem-shm/for-next (3cff1cc caif_shm: Add CAIF driver for Shared memory for M7400)
Merging memblock/memblock-kill-early_node_map (7bd0b0f memblock: Reimplement memblock allocation using reverse free area iterator)
Merging remoteproc/for-next (e12bc14 remoteproc: s/big switch/lookup table/)
Merging irqdomain/irqdomain/next (409a6f6 Merge branch 'irqdomain-for-grant' of git://sources.calxeda.com/kernel/linux into irqdomain/next)
CONFLICT (content): Merge conflict in arch/arm/Kconfig
Merging gpio/gpio/next (c77c8a6 gpio/ep93xx: Remove unused inline function and useless pr_err message)
Merging arm-soc/for-next (8bcb15a Merge branch 'fixes' into for-next)
Merging kvmtool/master (dcf1396 tools/kvm: Fix compilation fallout from system.h split-up)
Merging dma-mapping/dma-mapping-next (64d70fe common: DMA-mapping: add NON-CONSISTENT attribute)
Merging dma-buf/for-next (9f28056 dma-buf: Correct dummy function declarations.)
CONFLICT (content): Merge conflict in include/linux/dma-buf.h
Merging ktest/for-next (648a182 ktest: Allow a test to override REBOOT_ON_SUCCESS)
Merging cpuidle-cons/cpuidle_consol_pull (203b52e SH: shmobile: Consolidate time keeping and irq enable)
CONFLICT (content): Merge conflict in include/linux/cpuidle.h
CONFLICT (content): Merge conflict in drivers/cpuidle/cpuidle.c
CONFLICT (content): Merge conflict in arch/arm/mach-shmobile/cpuidle.c
CONFLICT (content): Merge conflict in arch/arm/mach-davinci/cpuidle.c
CONFLICT (content): Merge conflict in arch/arm/mach-at91/cpuidle.c
CONFLICT (add/add): Merge conflict in arch/arm/include/asm/cpuidle.h
Merging scsi-post-merge/merge-base:master ()
$ git checkout akpm
Applying: net/netfilter/nf_conntrack_netlink.c: fix Oops on container destroy
Applying: acerhdf: add support for Aspire 1410 BIOS v1.3314
Applying: acerhdf: add support for new hardware
Applying: acerhdf: lowered default temp fanon/fanoff values
Applying: arch/x86/platform/iris/iris.c: register a platform device and a platform driver
Applying: intel_mid_powerbtn: mark irq as IRQF_NO_SUSPEND
Applying: arch/arm/mach-ux500/mbox-db5500.c: world-writable sysfs fifo file
Applying: avr32: don't mask signals in the error path
Applying: avr32: use set_current_blocked() in handle_signal/sys_rt_sigreturn
Applying: avr32: use block_sigmask()
Applying: x86: use this_cpu_xxx to replace percpu_xxx funcs
Applying: x86: change percpu_read_stable() to this_cpu_read_stable()
Applying: net: use this_cpu_xxx replace percpu_xxx funcs
Applying: percpu: remove percpu_xxx() functions
Applying: percpu-remove-percpu_xxx-functions-fix
Applying: ia64: use set_current_blocked() and block_sigmask()
Applying: microblaze: don't reimplement force_sigsegv()
Applying: microblaze: no need to reset handler if SA_ONESHOT
Applying: microblaze: fix signal masking
Applying: microblaze: use set_current_blocked() and block_sigmask()
Applying: MIPS: use set_current_blocked() and block_sigmask()
Applying: score: don't mask signals if we fail to setup signal stack
Applying: score: use set_current_blocked() and block_sigmask()
Applying: unicore32: use block_sigmask()
Applying: blackfin: use set_current_blocked() and block_sigmask()
Applying: ocfs2: use find_last_bit()
Applying: ocfs2: use bitmap_weight()
Applying: parisc: use set_current_blocked() and block_sigmask()
Applying: vfs: increment iversion when a file is truncated
Applying: brlocks/lglocks: cleanups
Applying: vfs: fix dup_mnt_ns
Applying: hugetlbfs: lockdep annotate root inode properly
Applying: libfs: add simple_open()
Applying: scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()
Applying: simple_open: automatically convert to simple_open()
Applying: simple_open-automatically-convert-to-simple_open-checkpatch-fixes
Applying: fs: symlink restrictions on sticky directories
Applying: fs-symlink-restrictions-on-sticky-directories-fix-2
Applying: fs: hardlink creation restrictions
Applying: fs-hardlink-creation-restrictions-fix
Applying: fs: hardlink creation restriction cleanup
Applying: mm: fix page-faults detection in swap-token logic
Applying: mm: add extra free kbytes tunable
Applying: mm-add-extra-free-kbytes-tunable-update
Applying: mm-add-extra-free-kbytes-tunable-update-checkpatch-fixes
Applying: frv: use set_current_blocked() and block_sigmask()
Applying: h8300: use set_current_blocked() and block_sigmask()
Applying: alpha: use set_current_blocked() and block_sigmask()
Applying: m32r: use set_current_blocked() and block_sigmask()
Applying: m68k: use set_current_blocked() and block_sigmask()
Applying: mn10300: use set_current_blocked() and block_sigmask()
Applying: C6X: use set_current_blocked() and block_sigmask()
Applying: cris: use set_current_blocked() and block_sigmask()
Applying: cris: select GENERIC_ATOMIC64
Applying: um/kernel/trap.c: port OOM changes to handle_page_fault()
Applying: ceph, cifs, nfs, fuse: boolean and / or confusion
Applying: MAINTAINERS: fix REMOTEPROC F: typo
Applying: checkpatch: suggest pr_<level> over printk(KERN_<LEVEL>
Applying: init/do_mounts.c: create /root if it does not exist
Applying: kmod: avoid deadlock from recursive kmod call
Applying: kmod-avoid-deadlock-by-recursive-kmod-call-fix
Applying: proc: clean up /proc/<pid>/environ handling
Applying: ipc/sem.c: alternatives to preempt_disable()
Applying: sysctl: make kernel.ns_last_pid control dependent on CHECKPOINT_RESTORE
Applying: fs, proc: introduce /proc/<pid>/task/<tid>/children entry
Applying: syscalls, x86: add __NR_kcmp syscall
Applying: syscalls-x86-add-__nr_kcmp-syscall-v8-fix
Applying: syscalls-x86-add-__nr_kcmp-syscall-v8-fix-2
Applying: c/r: procfs: add arg_start/end, env_start/end and exit_code members to /proc/$pid/stat
Applying: c/r: prctl: extend PR_SET_MM to set up more mm_struct entries
Applying: c/r: prctl: add ability to set new mm_struct::exe_file
Applying: c-r-prctl-add-ability-to-set-new-mm_struct-exe_file-v2
Applying: c/r: prctl: add ability to get clear_tid_address
Applying: c-r-prctl-add-ability-to-get-clear_tid_address-fix
Applying: ramoops: use pstore interface
Applying: ramoops: fix printk format warnings
Applying: notify_change(): check that i_mutex is held
Merging akpm (b488801 notify_change(): check that i_mutex is held)
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* linux-next: triage for April 2, 2012
From: Paul Gortmaker @ 2012-04-03 2:38 UTC (permalink / raw)
To: linux-next; +Cc: linux-kernel
This represents the state of the builds as of Monday. Note that
we are now also possibly looking at some queued 3.5 content.
Continuing from the prev. report, I'll just give an arch summary
with respect to the system.h status vs. repeating a bunch of
data for each defconfig.
Fixes were in for sparc, s390, ppc, m68k via their maintainers.
I expanded the patch queue I did Sunday to include alpha, so these
should be now sorted out:
alpha: include/linux/llist.h: asm/cmpxchg.h: No such file or directory
http://kisskb.ellerman.id.au/kisskb/buildresult/6000253/
or32: include/asm-generic/cmpxchg.h: error: expected ')' before 'u8'
http://kisskb.ellerman.id.au/kisskb/buildresult/6000411/
parisc: include/linux/llist.h: fatal: asm/cmpxchg.h: No such file or directory
http://kisskb.ellerman.id.au/kisskb/buildresult/6000168/
bfin: include/asm-generic/cmpxchg.h: error: redefinition of '__xchg'
http://kisskb.ellerman.id.au/kisskb/buildresult/6000322/
MIPS: system.h breakup wasn't tested on master with bug.h change.
http://kisskb.ellerman.id.au/kisskb/buildresult/6000165/
I added some Acked-by and dropped the sh/tile fixes in that series.
The avr32 nop fix I've left as is until I've got more info, but it
is at the end of the series now for ease of modification if needed.
Remaining arch:
ARM: looks a lot better. There are still some new fails that were
not there a couple of days ago, such as s3c2410_defconfig
and tct_hammer_defconfig -- to be fair, I don't know for
sure if these are system.h related since I've not yet
researched them in any detail. And the kallsyms extra
pass continues to appear at random due to alignment.
tile: This failure may briefly return as the fix is moving from my
tree to the tile tree:
http://kisskb.ellerman.id.au/kisskb/buildresult/6000412/
parisc[64]: The system.h dismantle was supposed to fix the error
implicit declaration of function 'fls' -- relating to an
include loop. But it still shows up in allmodconfig:
http://kisskb.ellerman.id.au/kisskb/buildresult/6029862/
SH4: We got about 50% pass on builds which was a win vs. the
100% fail we've had for a long time. It may briefly go back
to 100% fail as I've dropped my sh4 patch and Stephen is getting
the tree info from PaulM who has a more complete fix series.
Note wrt. the blackfin (Not specific to system.h):
We've gone from 100% fail to about 60% fail. It seems that
hiding behind other regressions was a "Error: pcrel too far
BFD_RELOC_BFIN_10" from kernel/time/timekeeping.c -- I see
that sfr & MikeF discussed this earlier; maybe needs revisit?
http://www.spinics.net/lists/linux-next/msg16154.html
==============================================
New breakage since last report:
ARM:pxa3xx_defconfig (ignore it; kallsyms extra pass)
ia64: processor_idle.c: implicit declaration of function 'halt'
Randconfig fails that may or may not be new (by their very nature):
i386: fs/binfmt_misc.o: copy_from_user_overflow' not provably correct
http://kisskb.ellerman.id.au/kisskb/buildresult/6029837/
powerpc: mpc512x_shared.c: parameter 1 ('port') has incomplete type
http://kisskb.ellerman.id.au/kisskb/buildresult/6029918/
Builds that are fixed since last report:
ARM:magician_defconfig
ARM:iop32x_defconfig,iop33x_defconfig
ARM:em_x270_defconfig
AVR32:defconfig
Note: The randconfig fails are only listed once and not tracked
in the below listing.
------------------------------------------------
Latest results at:
http://kisskb.ellerman.id.au/kisskb/branch/9/
Failures as of April 2nd, 2012:
===============================
AM33:asb2303_defconfig,asb2364_defconfig
when: Mar 15
why: cc1: error: unrecognized command line option '-mmem-funcs'
status: Possible fix from TonyB sent for review.
fix: http://marc.info/?l=linux-kernel&m=133185020313818&w=2
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5878400/
----------------
ARM:netx_defconfig,pnx4008_defconfig
when: Mar 14
why: net/core/pktgen.c: can't find a register in class 'GENERAL_REGS'
status:
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5869486/
ref: https://lkml.org/lkml/2012/3/13/670
ARM:collie_defconfig
when: Feb 14
why: locomolcd.c: error: 'sa1100fb_lcd_power' undeclared
status: fixed (PaulG) - pending integration
fix: http://marc.info/?l=linux-next&m=133105157730749&w=2
ref:
ARM:ixp4xx_defconfig
when: Oct 26
why: gpio.h: implicit declaration of function '__gpio_get_value'
status: fixed (Imre Kaloz) - but possibly needs rework?
fix: https://lkml.org/lkml/2012/2/8/288
ref: https://lkml.org/lkml/2012/2/8/287
ARM:raumfeld_defconfig
when: Nov 23
why: eeti_ts.c: implicit declaration of function 'irq_to_gpio'
status: perhaps broken since 2010? See ref below.
fix:
ref: http://www.gossamer-threads.com/lists/linux/kernel/1291618?do=post_view_threaded#1291618
ARM:arm-allnoconfig
when: forever
why: not supported
status: nothing pending, but patches accepted
fix: n/a
ref: https://lkml.org/lkml/2009/4/30/105
ref: http://lists.infradead.org/pipermail/linux-arm-kernel/2012-January/081218.html
----------------
AVR32:allnoconfig
when: May 26 2010, 20:49
why: at32_map_usart: undefined reference to `atmel_default_console_device'
status:
fix:
ref:
---------------
bfin: 50% of builds
when: Mar 31
why: "Error: pcrel too far BFD_RELOC_BFIN_10" from kernel/time/timekeeping.c
status: unknown, binutils issue?
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5981475/
---------------
cris:***all-builds***
when: Mar 25, 22:05
why: include/linux/types.h:25: error expected ... before 'ino_t'
status:
fix:
ref:
----------------
crisv32:***all-builds***
when: Mar 25, 22:05
why: include/linux/types.h:25: error expected ... before 'ino_t'
status:
fix:
ref:
----------------
frv:defconfig
when: Mar 15
why: undefined reference to `pci_cardbus_resource_alignment'
status:
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/6030067/
----------------
ia64:defconfig
when: Apr 2
why: processor_idle.c: implicit declaration of function 'halt'
status:
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/6029643/
----------------
h8300:defconfig
when: Mar 15
why: time.c: implicit declaration of function 'get_irq_regs'
why: also seems gcc suffers an ICE
status: ICE bug lodged with gcc folks (TonyB)
fix:
ref: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52598
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5884668/
----------------
i386:allmodconfig
when: Mar 8, 20:41
why: ERROR: "mdfld_set_brightness" [drivers/gpu/drm/gma500/gma500_gfx.ko] undefined!
status:
fix:
ref: https://lkml.org/lkml/2012/3/24/122
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5878506/
----------------
m32r:m32700ut.smp_defconfig
when: Mar 15
why: No rule to make target `arch/m32r/boot/compressed/vmlinux.bin
status:
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5884670/
----------------
m68k:allmodconfig
when: Mar 16
why: persistent_ram.c: implicit declaration of 'memblock_reserve'
status:
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5884324/
ref: http://www.spinics.net/lists/linux-next/msg19343.html
----------------
mips:allmodconfig
when:
why: driver_pci_host.c: implicit declaration of function 'pcibios_enable_device'
status: one of many fixes mips needs...
fix: http://marc.info/?l=linux-wireless&m=133272031621916&w=2
ref: http://patchwork.ozlabs.org/patch/148614/
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5807000/
----------------
parisc:allmodconfig
when:
why: include/linux/log2.h: implicit declaration of function 'fls'
status: reported by PaulG, WIP by David Howells
fix:
ref: https://lkml.org/lkml/2012/2/29/409
ref: https://lkml.org/lkml/2012/3/6/228
parisc64:a500_defconfig
when:
why: include/linux/log2.h: implicit declaration of function 'fls'
status: reported by PaulG, WIP by David Howells
fix:
ref: https://lkml.org/lkml/2012/2/29/409
ref: https://lkml.org/lkml/2012/3/6/228
------------------
powerpc:allyesconfig
when: May 18 2009, 22:11
why: fat ass kernel with everything simply won't link
status: need to fix build config to ignore the final link
fix:
ref: http://kisskb.ellerman.id.au/kisskb/buildresult/5806793/
------------------
sh4:***all-builds***
when: Feb 24, 17:38
why: include/linux/log2.h: implicit declaration of function 'fls'
status: reported by PaulG, WIP by David Howells
fix:
ref: https://lkml.org/lkml/2012/2/29/409
ref: https://lkml.org/lkml/2012/3/6/228
------------------
um:um-defconfig
when: Sep 16 2010, 01:28
why: os-Linux/start_up.c: error: 'PTRACE_SETOPTIONS' undeclared
status: clearly broken forever, so does anyone care?
fix:
ref: http://kisskb.ellerman.id.au/kisskb/target/2979/
Cc:
Bcc:
Subject: sdf
Reply-To:
^ permalink raw reply
* linux-next: build failure after merge of the sound-asoc tree
From: Stephen Rothwell @ 2012-04-03 1:26 UTC (permalink / raw)
To: Mark Brown, Liam Girdwood; +Cc: linux-next, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 487 bytes --]
Hi all,
After merging the sound-asoc tree, today's linux-next build (x86_64
allmodconfig) failed like this:
ERROR: "regcache_sync_region" [sound/soc/codecs/snd-soc-wm8962.ko] undefined!
Caused by commit 26b427a701f8 ("ASoC: wm8962: Implement DSP2
configuration initialisation"). regcache_sync_region() is not exported
to modules.
I have used the sound-asoc tree from next-20120330 again for today.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: [PATCH 07/11] sh: fix several build failures from system.h fallout
From: Stephen Rothwell @ 2012-04-02 23:57 UTC (permalink / raw)
To: Paul Gortmaker; +Cc: Paul Mundt, dhowells, torvalds, linux-kernel, linux-next
In-Reply-To: <4F79ECD9.6000108@windriver.com>
[-- Attachment #1: Type: text/plain, Size: 744 bytes --]
On Mon, 2 Apr 2012 14:15:53 -0400 Paul Gortmaker <paul.gortmaker@windriver.com> wrote:
>
> On 12-04-01 09:00 PM, Paul Mundt wrote:
>
> > There's still more, but they've alreadly all been fixed up in my tree.
>
> OK, I can drop this one. Is that tree part of linux-next?
I used to have sh-current and sh trees (and rmobile-current and rmobile)
trees in linux-next, but they have not been resurrected since the
kernel.org problems last year ...
They were all branches of
git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.git which is
still listed in MAINTAINERS but does not exist :-(
Paul M, to you have an alternate place I can fetch from?
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* [PATCH] ARM: fix lcd power build failure in collie_defconfig
From: Paul Gortmaker @ 2012-04-02 22:17 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-next, Paul Gortmaker, arm
Commit 086ada54abaa4316e8603f02410fe8ebc9ba2de1
"FB: sa1100: remove global sa1100fb_.*_power function pointers"
got rid of all instances but one in locomolcd.c -- which was
conditional on CONFIG_SA1100_COLLIE. The associated .power
field which replaces the global is populated in mach-sa1100/collie.c
so move the assignment there, but make it conditional on the
locomolcd support, so use CONFIG_BACKLIGHT_LOCOMO in that file.
Cc: arm@kernel.org
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
[ unchanged from original Mar6 send, just adding rmk ack ]
diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c
index 48885b7..c7f418b 100644
--- a/arch/arm/mach-sa1100/collie.c
+++ b/arch/arm/mach-sa1100/collie.c
@@ -313,6 +313,10 @@ static struct sa1100fb_mach_info collie_lcd_info = {
.lccr0 = LCCR0_Color | LCCR0_Sngl | LCCR0_Act,
.lccr3 = LCCR3_OutEnH | LCCR3_PixRsEdg | LCCR3_ACBsDiv(2),
+
+#ifdef CONFIG_BACKLIGHT_LOCOMO
+ .lcd_power = locomolcd_power
+#endif
};
static void __init collie_init(void)
diff --git a/arch/arm/mach-sa1100/include/mach/collie.h b/arch/arm/mach-sa1100/include/mach/collie.h
index 52acda7..f33679d 100644
--- a/arch/arm/mach-sa1100/include/mach/collie.h
+++ b/arch/arm/mach-sa1100/include/mach/collie.h
@@ -1,7 +1,7 @@
/*
* arch/arm/mach-sa1100/include/mach/collie.h
*
- * This file contains the hardware specific definitions for Assabet
+ * This file contains the hardware specific definitions for Collie
* Only include this file from SA1100-specific files.
*
* ChangeLog:
@@ -13,6 +13,7 @@
#ifndef __ASM_ARCH_COLLIE_H
#define __ASM_ARCH_COLLIE_H
+extern void locomolcd_power(int on);
#define COLLIE_SCOOP_GPIO_BASE (GPIO_MAX + 1)
#define COLLIE_GPIO_CHARGE_ON (COLLIE_SCOOP_GPIO_BASE + 0)
diff --git a/drivers/video/backlight/locomolcd.c b/drivers/video/backlight/locomolcd.c
index be20b5c..3a6d541 100644
--- a/drivers/video/backlight/locomolcd.c
+++ b/drivers/video/backlight/locomolcd.c
@@ -229,14 +229,7 @@ static struct locomo_driver poodle_lcd_driver = {
static int __init locomolcd_init(void)
{
- int ret = locomo_driver_register(&poodle_lcd_driver);
- if (ret)
- return ret;
-
-#ifdef CONFIG_SA1100_COLLIE
- sa1100fb_lcd_power = locomolcd_power;
-#endif
- return 0;
+ return locomo_driver_register(&poodle_lcd_driver);
}
static void __exit locomolcd_exit(void)
--
1.7.9.1
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox