All of lore.kernel.org
 help / color / mirror / Atom feed
* linux-next: Tree for Nov 9
From: Stephen Rothwell @ 2016-11-09  4:40 UTC (permalink / raw)
  To: linux-next; +Cc: linux-kernel

Hi all,

Changes since 20161108:

The drm-misc tree gained a build failure, so I used the version from
next-20161108.

The sound-asoc tree still had its build failure, so I used the version
from next-20161028.

The scsi-mkp tree gained conflicts against the block and scsi trees.

The rtc tree lost its build failure.

The akpm tree gained a conflict against the jc_docs tree.

Non-merge commits (relative to Linus' tree): 4645
 5193 files changed, 293049 insertions(+), 97254 deletions(-)

----------------------------------------------------------------------------

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" and checkout or reset to the new
master.

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 (with
CONFIG_BUILD_DOCSRC=n) for x86_64, a multi_v7_defconfig for arm and a
native build of tools/perf. After the final fixups (if any), I do an
x86_64 modules_install followed by builds for x86_64 allnoconfig,
powerpc allnoconfig (32 and 64 bit), ppc44x_defconfig, allyesconfig
(this fails its final link) and pseries_le_defconfig and i386, sparc
and sparc64 defconfig.

Below is a summary of the state of the merge.

I am currently merging 246 trees (counting Linus' and 35 trees of patches
pending for Linus' tree).

Stats about the size of the tree over time can be seen at
http://neuling.org/linux-next-size.html .

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.

-- 
Cheers,
Stephen Rothwell

$ git checkout master
$ git reset --hard stable
Merging origin/master (e3a00f68e426 Merge tag 'iommu-fixes-v4.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu)
Merging fixes/master (30066ce675d3 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6)
Merging kbuild-current/rc-fixes (4efca4ed05cb kbuild: modversions for EXPORT_SYMBOL() for asm)
Merging arc-current/for-curr (0a0a047def15 ARCv2: MCIP: Use IDU_M_DISTRI_DEST mode if there is only 1 destination core)
Merging arm-current/fixes (6127d124ee4e ARM: wire up new pkey syscalls)
Merging m68k-current/for-linus (7e251bb21ae0 m68k: Fix ndelay() macro)
Merging metag-fixes/fixes (35d04077ad96 metag: Only define atomic_dec_if_positive conditionally)
Merging powerpc-fixes/fixes (fb479e44a9e2 powerpc/64s: relocation, register save fixes for system reset interrupt)
Merging sparc/master (0c183d92b20b Merge tag 'spi-fix-v4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi)
Merging net/master (fd0285a39b1c fib_trie: Correct /proc/net/route off by one error)
Merging ipsec/master (7f92083eb58f vti6: flush x-netns xfrm cache when vti interface is removed)
Merging netfilter/master (b73b8a1ba598 netfilter: nft_dup: do not use sreg_dev if the user doesn't specify it)
Merging ipvs/master (b73b8a1ba598 netfilter: nft_dup: do not use sreg_dev if the user doesn't specify it)
Merging wireless-drivers/master (d3532ea6ce4e brcmfmac: avoid maybe-uninitialized warning in brcmf_cfg80211_start_ap)
Merging mac80211/master (269ebce4531b xen-netfront: cast grant table reference first to type int)
Merging sound-current/for-linus (6809cd682b82 ALSA: info: Return error for invalid read/write)
Merging pci-current/for-linus (16d917b130d7 PCI: Don't attempt to claim shadow copies of ROM)
Merging driver-core.current/driver-core-linus (bdacd1b426db driver core: fix smatch warning on dev->bus check)
Merging tty.current/tty-linus (a909d3e63699 Linux 4.9-rc3)
Merging usb.current/usb-linus (7309aa847ead cdc-acm: fix uninitialized variable)
Merging usb-gadget-fixes/fixes (fd9afd3cbe40 usb: gadget: u_ether: remove interrupt throttling)
Merging usb-serial-fixes/usb-linus (9bfef729a3d1 USB: serial: ftdi_sio: add support for TI CC3200 LaunchPad)
Merging usb-chipidea-fixes/ci-for-usb-stable (991d5add50a5 usb: chipidea: host: fix NULL ptr dereference during shutdown)
Merging phy/fixes (4320f9d4c183 phy: sun4i: check PMU presence when poking unknown bit of pmu)
Merging staging.current/staging-linus (68fae2f3df45 staging: nvec: remove managed resource from PS2 driver)
Merging char-misc.current/char-misc-linus (f6b2db084b65 vmbus: make sysfs names consistent with PCI)
Merging input-current/for-linus (324ae0958cab Input: psmouse - cleanup Focaltech code)
Merging crypto-current/master (6d4952d9d9d4 hwrng: core - Don't use a stack buffer in add_early_randomness())
Merging ide/master (797cee982eef Merge branch 'stable-4.8' of git://git.infradead.org/users/pcmoore/audit)
Merging rr-fixes/fixes (8244062ef1e5 modules: fix longstanding /proc/kallsyms vs module insertion race.)
Merging vfio-fixes/for-linus (05692d7005a3 vfio/pci: Fix integer overflows, bitmask check)
Merging kselftest-fixes/fixes (1001354ca341 Linux 4.9-rc1)
Merging backlight-fixes/for-backlight-fixes (68feaca0b13e backlight: pwm: Handle EPROBE_DEFER while requesting the PWM)
Merging ftrace-fixes/for-next-urgent (6224beb12e19 tracing: Have branch tracer use recursive field of task struct)
Merging mfd-fixes/for-mfd-fixes (51717929d835 mfd: intel_soc_pmic_bxtwc: Fix usbc interrupt)
Merging drm-intel-fixes/for-linux-next-fixes (54905ab5fe7a drm/i915: Limit Valleyview and earlier to only using mappable scanout)
Merging kbuild/for-next (fbcbee25745d Merge branches 'kbuild/kbuild' and 'kbuild/misc' into kbuild/for-next)
Merging asm-generic/master (de4be6b87b6b asm-generic: page.h: fix comment typo)
CONFLICT (content): Merge conflict in include/asm-generic/percpu.h
Merging arc/for-next (1001354ca341 Linux 4.9-rc1)
Merging arm/for-next (f167e1f561ae Merge branches 'fixes', 'misc', 'sa1100-base' and 'syscalls' into for-next)
Merging arm-perf/for-next/perf (1001354ca341 Linux 4.9-rc1)
Merging arm-soc/for-next (1e1ce567d3a6 ARM: SoC: Document merges)
Merging pinctrl/for-next (71891d6cdb66 Merge branch 'devel' into for-next)
Merging amlogic/for-next (8c8a1078e8a3 Merge branch 'v4.10/defconfig' into tmp/aml-rebuild)
Merging at91/at91-next (0f59c948faed Merge tag 'at91-ab-4.8-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into at91-next)
Merging bcm2835/for-next (391823c4373c Merge branch anholt/bcm2835-dt-64-next into for-next)
Merging berlin/berlin/for-next (5153351425c9 Merge branch 'berlin/dt' into berlin/for-next)
Merging cortex-m/for-next (f719a0d6a854 ARM: efm32: switch to vendor,device compatible strings)
Merging imx-mxs/for-next (e6e1aa531aa6 Merge branch 'zte/dt64' into for-next)
Merging keystone/next (fb2a68db621a Merge branch 'for_4.9/keystone_dts' into next)
Merging mvebu/for-next (2fb556b700c6 Merge branch 'mvebu/dt64-fix' into mvebu/for-next)
Merging omap/for-next (6e32e0eda2c9 Merge branch 'omap-for-v4.10/cpuidle' into for-next)
Merging omap-pending/for-next (c20c8f750d9f ARM: OMAP2+: hwmod: fix _idle() hwmod state sanity check sequence)
Merging qcom/for-next (c49806e0fa1e Merge branch 'arm64-for-5.0' into all-for-5.0)
Merging renesas/next (d31c50e214d9 Merge branch 'dt-for-v4.10' into next)
Merging rockchip/for-next (f9e4dfbd058c Merge branch 'v4.10-armsoc/dts32' into for-next)
Merging rpi/for-rpi-next (bc0195aad0da Linux 4.2-rc2)
Merging samsung/for-next (1a695a905c18 Linux 4.7-rc1)
Merging samsung-krzk/for-next (b33c7bb9d59c Merge branch 'next/dt' into for-next)
Merging tegra/for-next (817d74019bab Merge branch for-4.10/arm/defconfig into for-next)
Merging arm64/for-next/core (db68f3e7594a arm64: tlbflush.h: add __tlbi() macro)
Merging blackfin/for-linus (391e74a51ea2 eth: bf609 eth clock: add pclk clock for stmmac driver probe)
CONFLICT (content): Merge conflict in arch/blackfin/mach-common/pm.c
Merging c6x/for-linux-next (ca3060d39ae7 c6x: Use generic clkdev.h header)
Merging cris/for-next (c78874f116be tty: serial: make crisv10 explicitly non-modular)
Merging h8300/h8300-next (58c57526711f h8300: Add missing include file to asm/io.h)
Merging hexagon/linux-next (02cc2ccfe771 Revert "Hexagon: fix signal.c compile error")
Merging ia64/next (fbb0e4da96f4 ia64: salinfo: use a waitqueue instead a sema down/up combo)
Merging m68k/for-next (25ba49085c4f m68k/atari: Use seq_puts() in atari_get_hardware_list())
Merging m68knommu/for-next (98a87d21afd5 m68knommu: AMCORE board, add iMX i2c support)
Merging metag/for-next (f5d163aad31e metag: perf: fix build on Meta1)
Merging microblaze/next (52e9e6e05617 microblaze: pci: export isa_io_base to fix link errors)
Merging mips/mips-for-linux-next (3f56647d2d68 Merge branch '4.9-fixes' into mips-for-linux-next)
Merging nios2/for-next (476080a79367 nios2: use of_property_read_bool)
Merging parisc-hd/for-next (c8d2bc9bc39e Linux 4.8)
Merging powerpc/next (08bf75ba852e powerpc/mm/hash64: Fix might_have_hea() check)
Merging fsl/next (e0b80f00bb96 arch/powerpc: Add CONFIG_FSL_DPAA to corenetXX_smp_defconfig)
Merging mpc5xxx/next (39e69f55f857 powerpc: Introduce the use of the managed version of kzalloc)
Merging s390/features (847e0700121b s390: remove unneeded dependency for gen_facilities)
Merging sparc-next/master (9f935675d41a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input)
Merging sh/for-next (e61c10e468a4 sh: add device tree source for J2 FPGA on Mimas v2 board)
Merging tile/master (bf55d575234b tile: migrate exception table users off module.h and onto extable.h)
Merging uml/linux-next (dad223284407 um: Don't discard .text.exit section)
Merging unicore32/unicore32 (1ace5d1e3d4b unicore32-oldabi: add oldabi syscall interface)
Merging xtensa/xtensa-for-next (d4eccafcaf33 xtensa: clean up printk usage for boot/crash logging)
Merging befs/for-next (3c8a965ad630 befs: remove signatures from comments)
Merging btrfs/next (8b8b08cbfb90 Btrfs: fix delalloc accounting after copy_from_user faults)
Merging btrfs-kdave/for-next (2a782f537899 Merge branch 'for-next-next-4.9-20161108' into for-next-20161108)
Merging ceph/master (5130ccea7cf4 ceph: fix non static symbol warning)
Merging cifs/for-next (faad81c4f581 CIFS: iterate over posix acl xattr entry correctly in ACL_to_cifs_posix())
Merging configfs/for-next (42857cf512cb configfs: Return -EFBIG from configfs_write_bin_file.)
Merging ecryptfs/next (be280b25c328 ecryptfs: remove private bin2hex implementation)
Merging ext3/for_next (e952813e210b ext2: avoid bogus -Wmaybe-uninitialized warning)
Merging ext4/dev (d74f3d25289a ext4: add missing KERN_CONT to a few more debugging uses)
Merging f2fs/dev (751e1d334e73 f2fs: return directly if block has been removed from the victim)
Merging freevxfs/for-next (bf1bb4b460c8 freevxfs: update Kconfig information)
Merging fscache/fscache (d52bd54db8be Merge branch 'akpm' (patches from Andrew))
Merging fuse/for-next (0ce267ff95a0 fuse: fix root dentry initialization)
Merging gfs2/for-next (a3443cda5588 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security)
Merging jfs/jfs-next (240c5185c52d jfs: Simplify code)
Merging nfs/linux-next (14155cafeadd btrfs: assign error values to the correct bio structs)
Merging nfsd/nfsd-next (56094edd1797 sunrpc: GFP_KERNEL should be GFP_NOFS in crypto code)
Merging orangefs/for-next (dc0336214eb0 orangefs: clean up debugfs)
Merging overlayfs/overlayfs-next (b454c10e53ca ovl: split super.c)
Merging v9fs/for-next (a333e4bf2556 fs/9p: use fscache mutex rather than spinlock)
Merging ubifs/linux-next (a00052a296e5 ubifs: Fix regression in ubifs_readdir())
Merging xfs/for-next (84716639acc3 Merge branch 'xfs-4.10-misc-fixes-1' into for-next)
Merging file-locks/linux-next (07d9a380680d Linux 4.9-rc2)
Merging vfs/for-next (b26b5ef5ec7e Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs)
Merging vfs-jk/vfs (030b533c4fd4 fs: Avoid premature clearing of capabilities)
Merging vfs-miklos/next (c8d2bc9bc39e Linux 4.8)
Merging pci/next (1001354ca341 Linux 4.9-rc1)
Merging pstore/for-next/pstore (07d9a380680d Linux 4.9-rc2)
Merging hid/for-next (003ba7361116 Merge branch 'for-4.10/upstream' into for-next)
Merging i2c/i2c/for-next (bc33b0ca11e3 Linux 4.9-rc4)
Merging jdelvare-hwmon/master (08d27eb20666 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs)
Merging dmi/master (c8d2bc9bc39e Linux 4.8)
Merging hwmon-staging/hwmon-next (c2d95c252f65 hwmon: (adm1275) Enable adm1278 VOUT sampling)
Merging jc_docs/docs-next (d55003d86e0c USB: fix typo in documentation)
Merging v4l-dvb/master (778de0140232 Merge branch 'v4l_for_linus' into to_next)
Merging pm/linux-next (d6555d53674f Merge branch 'pm-cpufreq' into linux-next)
Merging idle/next (f55532a0c0b8 Linux 4.6-rc1)
Merging thermal/next (3105f234e0ab thermal/powerclamp: correct cpu support check)
Merging thermal-soc/next (c6935931c189 Linux 4.8-rc5)
Merging ieee1394/for-next (e9300a4b7bba firewire: net: fix fragmented datagram_size off-by-one)
Merging dlm/next (aa9f1012858b dlm: don't specify WQ_UNBOUND for the ast callback workqueue)
Merging swiotlb/linux-next (386744425e35 swiotlb: Make linux/swiotlb.h standalone includible)
Merging net-next/master (f5f99309fa74 sock: do not set sk_err in sock_dequeue_err_skb)
CONFLICT (content): Merge conflict in net/netlink/genetlink.c
Merging ipsec-next/master (2258d927a691 xfrm: remove unused helper)
Merging netfilter-next/master (08733a0cb7de netfilter: handle NF_REPEAT from nf_conntrack_in())
Merging ipvs-next/master (75a608d8d3b2 ipvs: Decrement ttl)
Merging wireless-drivers-next/master (3f8247c8c480 Merge tag 'iwlwifi-next-for-kalle-2016-10-25-2' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next)
Merging bluetooth/master (52069883235a Bluetooth: hci_qca: Use setup_timer Kernel API instead of init_timer)
Merging mac80211-next/master (17197236d62c enic: set skb->hash type properly)
Merging rdma/for-next (e37a79e5d4ca net/mlx5e: Add tc support for FWD rule with counter)
Merging rdma-leon/rdma-next (a909d3e63699 Linux 4.9-rc3)
Merging rdma-leon-test/testing/rdma-next (33b4f7c41bae Merge branch 'testing/queue-next' into testing/rdma-next)
CONFLICT (content): Merge conflict in drivers/infiniband/core/roce_gid_mgmt.c
Merging mtd/master (0e2ce9d3fcba Merge tag 'nand/fixes-for-4.9-rc3' of github.com:linux-nand/linux)
Merging l2-mtd/master (64ad46379fcf mtd: bcm47xxsflash: use uncached MMIO access for BCM53573)
Merging nand/nand/next (83f48f80de8a mtd: nand: socrates: use nand_scan() for nand_scan_ident/tail() combo)
Merging crypto/master (89277a7d0ed4 crypto: cryptd - Remove unused but set variable 'tfm')
Merging drm/drm-next (afdd548f742c Merge branch 'linux-4.10' of git://github.com/skeggsb/linux into drm-next)
Merging drm-panel/drm/panel/for-next (c96f566273bf drm/panel: Add JDI LT070ME05000 WUXGA DSI Panel)
Merging drm-intel/for-linux-next (71d5895aac0c drm/i915: avoid harmless empty-body warning)
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_display.c
Merging drm-tegra/drm/tegra/for-next (cc09cb6da9b0 drm/tegra: gem: Remove some dead code)
Merging drm-misc/topic/drm-misc (06d9f56f1d9a drm/msm: module param to dump state on error irq)
$ git reset --hard HEAD^
Merging next-20161108 version of drm-misc
Merging drm-exynos/exynos-drm/for-next (7d1e04231461 Merge tag 'usercopy-v4.8-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux)
Merging drm-msm/msm-next (7a3bcc0a8e2a drm/msm: bump kernel api version for explicit fencing)
Merging hdlcd/for-upstream/hdlcd (523d939ef98f Linux 4.7)
Merging mali-dp/for-upstream/mali-dp (e64053f05eb9 drm: mali-dp: Clear CVAL when leaving config mode)
Merging sunxi/sunxi/for-next (bc5952be2d42 Merge branch 'sunxi/dt64-for-4.10' into sunxi/for-next)
Merging kspp/for-next/kspp (07d9a380680d Linux 4.9-rc2)
Merging kconfig/for-next (5bcba792bb30 localmodconfig: Fix whitespace repeat count after "tristate")
Merging regmap/for-next (74e3368de87d Merge remote-tracking branches 'regmap/fix/header' and 'regmap/fix/macro' into regmap-linus)
Merging sound/for-next (4ce8e6a51abf ALSA: hda - Fix typo)
Merging sound-asoc/for-next (2fd876810ed6 Merge remote-tracking branch 'asoc/topic/wm9713' into asoc-next)
$ git reset --hard HEAD^
Merging next-20161028 version of sound-asoc
CONFLICT (content): Merge conflict in sound/soc/samsung/s3c24xx-i2s.c
[master 76d515f08f6e] next-20161028/sound-asoc
Merging modules/modules-next (a467a672cf09 MAINTAINERS: Begin module maintainer transition)
Merging input/next (8dd5e0b364e5 Input: da9063 - fix module autoload when registered via OF)
Merging block/for-next (abb87e497e06 Merge branch 'for-4.10/block' into for-next)
Merging lightnvm/for-next (b759d3ddb52f lightnvm: rrpc: split bios of size > 256kb)
Merging device-mapper/for-next (5c5eb3db2893 dm cache metadata: DM_CACHE_FEATURE_INCOMPAT_SEP_DIRTY_BITS)
Merging pcmcia/master (e8e68fd86d22 pcmcia: do not break rsrc_nonstatic when handling anonymous cards)
Merging mmc/next (22c55ad7026c mmc: sh_mobile_sdhi: Add r7s72100 support)
Merging kgdb/kgdb-next (7a6653fca500 kdb: Fix handling of kallsyms_symbol_next() return value)
Merging md/for-next (85c9ccd4f026 md/bitmap: Don't write bitmap while earlier writes might be in-flight)
Merging mfd/for-mfd-next (77f298a18ff8 mfd: sun4i-gpadc: Fix 'cast from pointer to integer of different size' warning)
Merging backlight/for-backlight-next (0c9501f823a4 backlight: pwm_bl: Handle gpio that can sleep)
Merging battery/for-next (44fccac4ff17 power: supply: lp8788: remove an unneeded NULL check)
Merging omap_dss2/for-next (c456a2f30de5 video: smscufx: remove unused variable)
Merging regulator/for-next (121c4e997cee Merge remote-tracking branches 'regulator/topic/arizona', 'regulator/topic/fixed' and 'regulator/topic/tps6507x' into regulator-next)
Merging security/next (07d9a380680d Linux 4.9-rc2)
Merging integrity/next (56078b570983 module: Fully remove the kernel_module_from_file hook)
Merging keys/keys-next (ed51e44e914c Merge branch 'keys-asym-keyctl' into keys-next)
Merging selinux/next (07d9a380680d Linux 4.9-rc2)
Merging tpmdd/next (7839a496de6d char: tpm: fix kerneldoc tpm2_unseal_trusted name typo)
Merging watchdog/master (39487f6688a5 watchdog: imx2_wdt: add pretimeout function support)
Merging iommu/next (bea64033dd7b iommu/vt-d: Fix dead-locks in disable_dmar_iommu() path)
Merging dwmw2-iommu/master (5b3c5c539eac iommu/vt-d: Fix PASID table allocation)
Merging vfio/next (61771468e0a5 vfio_pci: use pci_alloc_irq_vectors)
Merging trivial/for-next (380cc42d5a6c nvme: add missing \n to end of dev_warn message)
Merging audit/next (b4eb4f7f1a97 audit: less stack usage for /proc/*/loginuid)
Merging devicetree/for-next (87e5fc99b028 DT: irqchip: renesas-irqc: document R8A7743/5 support)
Merging mailbox/mailbox-for-next (a649244de727 dt-bindings: mailbox: Add Amlogic Meson MHU Bindings)
Merging spi/for-next (3ab554413ec4 Merge remote-tracking branches 'spi/topic/omap', 'spi/topic/rspi', 'spi/topic/spidev' and 'spi/topic/sunxi' into spi-next)
Merging tip/auto-latest (7f5aea355653 Merge branch 'x86/urgent')
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/i915_gem_shrinker.c
Merging clockevents/clockevents/next (1d661bf5327a clocksource/drivers/time-armada-370-xp: Fix return value check)
Merging edac/linux_next (12f0721c5a70 sb_edac: correctly fetch DIMM width on Ivy Bridge and Haswell)
Merging edac-amd/for-next (90e493d7d51c EDAC, altera: Disable IRQs while injecting SDRAM errors)
Merging irqchip/irqchip/for-next (0ccb54a7dba0 Merge branch 'irqchip/core' into irqchip/for-next)
Merging ftrace/for-next (f971cc9aabc2 tracing: Have max_latency be defined for HWLAT_TRACER as well)
Merging rcu/rcu/next (d011087a0402 torture: Update RCU test scenario documentation)
Merging kvm/linux-next (ad3610919e6f kvm: x86: avoid atomic operations on APICv vmentry)
Merging kvm-arm/next (0099b7701f52 KVM: arm/arm64: vgic: Don't flush/sync without a working vgic)
Merging kvm-mips/next (07d9a380680d Linux 4.9-rc2)
Merging kvm-ppc/kvm-ppc-next (c63517c2e381 KVM: PPC: Book3S: correct width in XER handling)
Merging kvm-ppc-paulus/kvm-ppc-next (fa73c3b25bd8 KVM: PPC: Book3s PR: Allow access to unprivileged MMCR2 register)
Merging kvms390/next (b0eb91ae630a Merge remote-tracking branch 'kvms390/s390forkvm' into kvms390next)
Merging xen-tip/linux-next (999c9af9e3a2 xen: make use of xenbus_read_unsigned() in xenbus)
Merging percpu/for-next (3ca45a46f8af percpu: ensure the requested alignment is power of two)
Merging workqueues/for-next (8bc4a0445596 Merge branch 'for-4.9' into for-4.10)
Merging drivers-x86/for-next (401df5ace9d6 intel_pmc_core: Add KBL CPUID support)
Merging chrome-platform/for-next (31b764171cb5 Revert "platform/chrome: chromeos_laptop: Add Leon Touch")
Merging hsi/for-next (7ac5d7b1a125 HSI: hsi_char.h: use __u32 from linux/types.h)
Merging leds/for-next (883d32ce3385 leds: core: Add support for poll()ing the sysfs brightness attr for changes.)
Merging ipmi/for-next (6f48ef64097b ipmi: Pick up slave address from SMBIOS on an ACPI device)
Merging driver-core/driver-core-next (baa8809f6097 PM / runtime: Optimize the use of device links)
Merging tty/tty-next (5131dcd78108 Merge 4.9-rc3 into tty-next)
CONFLICT (modify/delete): Documentation/VGA-softcursor.txt deleted in HEAD and modified in tty/tty-next. Version tty/tty-next of Documentation/VGA-softcursor.txt left in tree.
$ git rm -f Documentation/VGA-softcursor.txt
Merging usb/usb-next (11f107f708fd usb: storage: drop freezer.h usage)
Merging usb-gadget/next (a909d3e63699 Linux 4.9-rc3)
Merging usb-serial/usb-next (a98b69002a16 USB: serial: ch341: add debug output for chip version)
Merging usb-chipidea-next/ci-for-usb-next (c6900310b6cc usb: chipidea: imx: Disable internal 60Mhz clock with ULPI PHY)
Merging phy-next/next (7809cd2ce6ab phy: meson: add USB2 PHY support for Meson8b and GXBB)
Merging staging/staging-next (993403b97981 staging: lustre: fixed shadowed variable in socklnd_cb.c)
CONFLICT (content): Merge conflict in drivers/staging/wlan-ng/p80211netdev.c
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/i2c/trivial-devices.txt
Merging char-misc/char-misc-next (3372592a140d Drivers: hv: vmbus: On the read path cleanup the logic to interrupt the host)
Merging extcon/extcon-next (56182a830cbf extcon: usb-gpio: Add VBUS detection support)
Merging slave-dma/next (8d197083fd9f Merge branch 'topic/qcom' into next)
Merging cgroup/for-next (4221d2ce6e57 Merge branch 'for-4.9' into for-next)
Merging scsi/for-next (ce769f7be3c4 Merge branch 'misc' into for-next)
CONFLICT (content): Merge conflict in drivers/scsi/ufs/ufshcd.c
Merging scsi-mkp/for-next (4861ee15f2b7 scsi: ufs: Use the resource-managed function to add devfreq device)
CONFLICT (content): Merge conflict in drivers/scsi/ufs/ufshcd.c
CONFLICT (content): Merge conflict in drivers/scsi/ufs/ufs-qcom.c
Merging target-updates/for-next (291e3e51a34d target: fix spelling mistake: "limitiation" -> "limitation")
Merging target-merge/for-next-merge (2994a7518317 cxgb4: update Kconfig and Makefile)
Merging libata/for-next (a9d72eeb1308 Merge branch 'for-4.9-fixes' into for-next)
CONFLICT (content): Merge conflict in block/blk-core.c
Merging binfmt_misc/for-next (4af75df6a410 binfmt_misc: add F option description to documentation)
Merging vhost/linux-next (75bfa81bf089 virtio_ring: mark vring_dma_dev inline)
Merging remoteproc/for-next (7a6271a80cae remoteproc/wkup_m3: Use MODULE_DEVICE_TABLE to export alias)
CONFLICT (content): Merge conflict in drivers/remoteproc/remoteproc_core.c
Merging rpmsg/for-next (9641800e7ea2 Merge branches 'hwspinlock-next', 'rpmsg-next' and 'rproc-next' into for-next)
Merging gpio/for-next (b38b2dfcf2a3 Merge branch 'devel' into for-next)
Merging dma-mapping/dma-mapping-next (1001354ca341 Linux 4.9-rc1)
Merging pwm/for-next (dc8e6e1e8f2d Merge branch 'for-4.9/drivers' into for-next)
Merging dma-buf/for-next (194cad44c4e1 dma-buf/sync_file: improve Kconfig description for Sync Files)
CONFLICT (content): Merge conflict in drivers/dma-buf/Kconfig
Merging userns/for-next (2e41414828bb mm: Add a user_ns owner to mm_struct and fix ptrace permission checks)
Merging ktest/for-next (2dcd0af568b0 Linux 4.6)
Merging clk/clk-next (172ff5a22d4c clk: ti: make clk-dra7-atl explicitly non-modular)
Merging random/dev (59b8d4f1f5d2 random: use for_each_online_node() to iterate over NUMA nodes)
Merging aio/master (b562e44f507e Linux 4.5)
Merging kselftest/next (1001354ca341 Linux 4.9-rc1)
Merging y2038/y2038 (549eb7b22e24 AFS: Correctly use 64-bit time for UUID)
CONFLICT (content): Merge conflict in fs/afs/main.c
Merging luto-misc/next (2dcd0af568b0 Linux 4.6)
Merging borntraeger/linux-next (dcc37f904443 processor.h: remove cpu_relax_lowlatency)
Merging livepatching/for-next (2992ef29ae01 livepatch/module: make TAINT_LIVEPATCH module-specific)
Merging coresight/next (7f73c6f7d72a coresight: Add support for ARM Coresight STM-500)
Merging rtc/rtc-next (72d3d79f8da9 rtc: fix typos in Kconfig)
Merging hwspinlock/for-next (bd5717a4632c hwspinlock: qcom: Correct msb in regmap_field)
Merging nvdimm/libnvdimm-for-next (52e73eb2872c device-dax: fix percpu_ref_exit ordering)
Merging dax-misc/dax-misc (4d9a2c874667 dax: Remove i_mmap_lock protection)
Merging akpm-current/current (1b399f45323f ipc/shm.c: coding style fixes)
$ git checkout -b akpm remotes/origin/akpm/master
Applying: drivers/net/wireless/intel/iwlwifi/dvm/calib.c: simplfy min() expression
Applying: kexec_file: allow arch-specific memory walking for kexec_add_buffer
Applying: kexec_file: change kexec_add_buffer to take kexec_buf as argument
Applying: kexec_file: factor out kexec_locate_mem_hole from kexec_add_buffer
Applying: powerpc: change places using CONFIG_KEXEC to use CONFIG_KEXEC_CORE instead
Applying: powerpc: factor out relocation code in module_64.c
Applying: powerpc: implement kexec_file_load
Applying: powerpc: add functions to read ELF files of any endianness
Applying: powerpc: add support for loading ELF kernels with kexec_file_load
Applying: powerpc: add purgatory for kexec_file_load implementation
Applying: powerpc: enable CONFIG_KEXEC_FILE in powerpc server defconfigs
Applying: powerpc: ima: get the kexec buffer passed by the previous kernel
Applying: ima: on soft reboot, restore the measurement list
Applying: ima: permit duplicate measurement list entries
Applying: ima: maintain memory size needed for serializing the measurement list
Applying: powerpc: ima: send the kexec buffer to the next kernel
Applying: ima: on soft reboot, save the measurement list
Applying: ima: store the builtin/custom template definitions in a list
Applying: ima: support restoring multiple template formats
Applying: ima: define a canonical binary_runtime_measurements list format
CONFLICT (content): Merge conflict in Documentation/admin-guide/kernel-parameters.rst
Applying: ima: platform-independent hash value
Applying: ktest.pl: fix english
Applying: kernel/watchdog.c: move shared definitions to nmi.h
Applying: kernel/watchdog.c: move hardlockup detector to separate file
Applying: sparc: implement watchdog_nmi_enable and watchdog_nmi_disable
Merging akpm/master (96fdefe1fe93 sparc: implement watchdog_nmi_enable and watchdog_nmi_disable)

^ permalink raw reply

* cron job: media_tree daily build: ERRORS
From: Hans Verkuil @ 2016-11-09  4:40 UTC (permalink / raw)
  To: linux-media

This message is generated daily by a cron job that builds media_tree for
the kernels and architectures in the list below.

Results of the daily build of media_tree:

date:			Wed Nov  9 05:00:18 CET 2016
media-tree git hash:	bd676c0c04ec94bd830b9192e2c33f2c4532278d
media_build git hash:	dac8db4dd7fa3cc87715cb19ace554e080690b39
v4l-utils git hash:	788b674f3827607c09c31be11c91638f816aa6ae
gcc version:		i686-linux-gcc (GCC) 6.2.0
sparse version:		v0.5.0-3553-g78b2ea6
smatch version:		v0.5.0-3553-g78b2ea6
host hardware:		x86_64
host os:		4.7.0-164

linux-git-arm-at91: OK
linux-git-arm-davinci: OK
linux-git-arm-multi: OK
linux-git-arm-pxa: OK
linux-git-blackfin-bf561: OK
linux-git-i686: OK
linux-git-m32r: OK
linux-git-mips: OK
linux-git-powerpc64: OK
linux-git-sh: OK
linux-git-x86_64: OK
linux-2.6.36.4-i686: ERRORS
linux-2.6.37.6-i686: ERRORS
linux-2.6.38.8-i686: ERRORS
linux-2.6.39.4-i686: ERRORS
linux-3.0.60-i686: ERRORS
linux-3.1.10-i686: ERRORS
linux-3.2.37-i686: ERRORS
linux-3.3.8-i686: ERRORS
linux-3.4.27-i686: ERRORS
linux-3.5.7-i686: ERRORS
linux-3.6.11-i686: ERRORS
linux-3.7.4-i686: ERRORS
linux-3.8-i686: ERRORS
linux-3.9.2-i686: ERRORS
linux-3.10.1-i686: ERRORS
linux-3.11.1-i686: ERRORS
linux-3.13.11-i686: ERRORS
linux-3.14.9-i686: ERRORS
linux-3.15.2-i686: ERRORS
linux-3.16.7-i686: ERRORS
linux-3.17.8-i686: ERRORS
linux-3.18.7-i686: ERRORS
linux-3.19-i686: ERRORS
linux-4.0.9-i686: ERRORS
linux-4.1.33-i686: ERRORS
linux-4.2.8-i686: ERRORS
linux-4.3.6-i686: WARNINGS
linux-4.4.22-i686: WARNINGS
linux-4.5.7-i686: WARNINGS
linux-4.6.7-i686: WARNINGS
linux-4.7.5-i686: WARNINGS
linux-4.8-i686: WARNINGS
linux-4.9-rc1-i686: WARNINGS
linux-2.6.36.4-x86_64: ERRORS
linux-2.6.37.6-x86_64: ERRORS
linux-2.6.38.8-x86_64: ERRORS
linux-2.6.39.4-x86_64: ERRORS
linux-3.0.60-x86_64: ERRORS
linux-3.1.10-x86_64: ERRORS
linux-3.2.37-x86_64: ERRORS
linux-3.3.8-x86_64: ERRORS
linux-3.4.27-x86_64: ERRORS
linux-3.5.7-x86_64: ERRORS
linux-3.6.11-x86_64: ERRORS
linux-3.7.4-x86_64: ERRORS
linux-3.8-x86_64: ERRORS
linux-3.9.2-x86_64: ERRORS
linux-3.10.1-x86_64: ERRORS
linux-3.11.1-x86_64: ERRORS
linux-3.13.11-x86_64: ERRORS
linux-3.14.9-x86_64: ERRORS
linux-3.15.2-x86_64: ERRORS
linux-3.16.7-x86_64: ERRORS
linux-3.17.8-x86_64: ERRORS
linux-3.18.7-x86_64: ERRORS
linux-3.19-x86_64: ERRORS
linux-4.0.9-x86_64: ERRORS
linux-4.1.33-x86_64: ERRORS
linux-4.2.8-x86_64: ERRORS
linux-4.3.6-x86_64: WARNINGS
linux-4.4.22-x86_64: WARNINGS
linux-4.5.7-x86_64: WARNINGS
linux-4.6.7-x86_64: WARNINGS
linux-4.7.5-x86_64: WARNINGS
linux-4.8-x86_64: WARNINGS
linux-4.9-rc1-x86_64: WARNINGS
apps: WARNINGS
spec-git: OK
smatch: ERRORS
sparse: WARNINGS

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Wednesday.log

Full logs are available here:

http://www.xs4all.nl/~hverkuil/logs/Wednesday.tar.bz2

The Media Infrastructure API from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/index.html

^ permalink raw reply

* Re: support for partial irq affinity assignment V3
From: Jens Axboe @ 2016-11-09  4:38 UTC (permalink / raw)
  To: Christoph Hellwig, tglx; +Cc: linux-block, linux-pci, linux-kernel
In-Reply-To: <1478654107-7384-1-git-send-email-hch@lst.de>

On 11/08/2016 06:15 PM, Christoph Hellwig wrote:
> This series adds support for automatic interrupt assignment to devices
> that have a few vectors that are set aside for admin or config purposes
> and thus should not fall into the general per-cpu assginment pool.
>
> The first patch adds that support to the core IRQ and PCI/msi code,
> and the second is a small tweak to a block layer helper to make use
> of it.  I'd love to have both go into the same tree so that consumers
> of this (e.g. the virtio, scsi and rdma trees) only need to pull in
> one of these trees as dependency.

Series looks good to me, you can add my Acked-by to all of them.

-- 
Jens Axboe

^ permalink raw reply

* [PATCH] kbuild: be more careful about matching preprocessed asm ___EXPORT_SYMBOL
From: Nicholas Piggin @ 2016-11-09  4:34 UTC (permalink / raw)
  To: Michal Marek
  Cc: Nicholas Piggin, Philip Müller, Adam Borowski, linux-kbuild

The CRC code for asm exports grabs the preprocessed asm, finds the
___EXPORT_SYMBOL and turns those into EXPORT_SYMBOL in a C program
that can be preprocessed and parsed to create the CRC signatures from
the type.

The existing regex matching and replacement is too strict, and doesn't
deal well with whitespace among other things. The line
" EXPORT_SYMBOL(sym)" in a .S file would not match due to initial
whitespace, for example, which resulted in x86's ___preempt_schedule
failing to get CRCs.

Reported-by: Philip Müller <philm@manjaro.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
 scripts/Makefile.build | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 3e223c2..7675d11 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -332,8 +332,8 @@ cmd_gensymtypes_S =                                                         \
     (echo "\#include <linux/kernel.h>" ;                                    \
      echo "\#include <asm/asm-prototypes.h>" ;                              \
     $(CPP) $(a_flags) $< |                                                  \
-     grep ^___EXPORT_SYMBOL |                                               \
-     sed 's/___EXPORT_SYMBOL \([a-zA-Z0-9_]*\),.*/EXPORT_SYMBOL(\1);/' ) |  \
+     grep "\<___EXPORT_SYMBOL\>" |                                          \
+     sed 's/.*___EXPORT_SYMBOL[[:space:]]*\([a-zA-Z0-9_]*\)[[:space:]]*,.*/EXPORT_SYMBOL(\1);/' ) | \
     $(CPP) -D__GENKSYMS__ $(c_flags) -xc - |                                \
     $(GENKSYMS) $(if $(1), -T $(2))                                         \
      $(patsubst y,-s _,$(CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX))             \
-- 
2.10.2


^ permalink raw reply related

* [PATCH 09/11] mtd: nand: denali: return error code from nand_scan_ident/tail on error
From: Masahiro Yamada @ 2016-11-09  4:35 UTC (permalink / raw)
  To: linux-mtd
  Cc: Alan Cox, David Woodhouse, Jason Roberts, Chuanxiao Dong,
	Dinh Nguyen, Masahiro Yamada, linux-kernel, Boris Brezillon,
	Marek Vasut, Brian Norris, Richard Weinberger, David Woodhouse,
	Cyrille Pitchen
In-Reply-To: <1478666130-13413-1-git-send-email-yamada.masahiro@socionext.com>

The nand_scan_ident/tail() returns an appropriate error value when
it fails.  Use it instead of the fixed -ENXIO.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 drivers/mtd/nand/denali.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index f188a48..d482d8d 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -1474,10 +1474,9 @@ int denali_init(struct denali_nand_info *denali)
 	 * this is the first stage in a two step process to register
 	 * with the nand subsystem
 	 */
-	if (nand_scan_ident(mtd, denali->max_banks, NULL)) {
-		ret = -ENXIO;
+	ret = nand_scan_ident(mtd, denali->max_banks, NULL);
+	if (ret)
 		goto failed_req_irq;
-	}
 
 	/* allocate the right size buffer now */
 	devm_kfree(denali->dev, denali->buf.buf);
@@ -1580,10 +1579,9 @@ int denali_init(struct denali_nand_info *denali)
 	denali->nand.ecc.write_oob = denali_write_oob;
 	denali->nand.erase = denali_erase;
 
-	if (nand_scan_tail(mtd)) {
-		ret = -ENXIO;
+	ret = nand_scan_tail(mtd);
+	if (ret)
 		goto failed_req_irq;
-	}
 
 	ret = mtd_device_register(mtd, NULL, 0);
 	if (ret) {
-- 
1.9.1

^ permalink raw reply related

* [PATCH 10/11] mtd: nand: denali: remove unneeded parentheses
From: Masahiro Yamada @ 2016-11-09  4:35 UTC (permalink / raw)
  To: linux-mtd
  Cc: Alan Cox, David Woodhouse, Jason Roberts, Chuanxiao Dong,
	Dinh Nguyen, Masahiro Yamada, linux-kernel, Boris Brezillon,
	Marek Vasut, Brian Norris, Richard Weinberger, David Woodhouse,
	Cyrille Pitchen
In-Reply-To: <1478666130-13413-1-git-send-email-yamada.masahiro@socionext.com>

Remove parentheses surrounding the whole right side of an assignment.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 drivers/mtd/nand/denali.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index d482d8d..14e66ab 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -1510,16 +1510,16 @@ int denali_init(struct denali_nand_info *denali)
 	 * the real pagesize and anything necessery
 	 */
 	denali->devnum = ioread32(denali->flash_reg + DEVICES_CONNECTED);
-	denali->nand.chipsize <<= (denali->devnum - 1);
-	denali->nand.page_shift += (denali->devnum - 1);
+	denali->nand.chipsize <<= denali->devnum - 1;
+	denali->nand.page_shift += denali->devnum - 1;
 	denali->nand.pagemask = (denali->nand.chipsize >>
 						denali->nand.page_shift) - 1;
-	denali->nand.bbt_erase_shift += (denali->devnum - 1);
+	denali->nand.bbt_erase_shift += denali->devnum - 1;
 	denali->nand.phys_erase_shift = denali->nand.bbt_erase_shift;
-	denali->nand.chip_shift += (denali->devnum - 1);
-	mtd->writesize <<= (denali->devnum - 1);
-	mtd->oobsize <<= (denali->devnum - 1);
-	mtd->erasesize <<= (denali->devnum - 1);
+	denali->nand.chip_shift += denali->devnum - 1;
+	mtd->writesize <<= denali->devnum - 1;
+	mtd->oobsize <<= denali->devnum - 1;
+	mtd->erasesize <<= denali->devnum - 1;
 	mtd->size = denali->nand.numchips * denali->nand.chipsize;
 	denali->bbtskipbytes *= denali->devnum;
 
-- 
1.9.1

^ permalink raw reply related

* [PATCH 11/11] mtd: nand: denali: remove debug lines of __FILE__, __LINE__, __func__
From: Masahiro Yamada @ 2016-11-09  4:35 UTC (permalink / raw)
  To: linux-mtd
  Cc: Alan Cox, David Woodhouse, Jason Roberts, Chuanxiao Dong,
	Dinh Nguyen, Masahiro Yamada, linux-kernel, Boris Brezillon,
	Marek Vasut, Brian Norris, Richard Weinberger, David Woodhouse,
	Cyrille Pitchen
In-Reply-To: <1478666130-13413-1-git-send-email-yamada.masahiro@socionext.com>

Such debug lines might be useful when debugging the driver first,
but should be deleted from the upstream code.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 drivers/mtd/nand/denali.c | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index 14e66ab..e32e13c 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -181,9 +181,6 @@ static uint16_t denali_nand_reset(struct denali_nand_info *denali)
 {
 	int i;
 
-	dev_dbg(denali->dev, "%s, Line %d, Function: %s\n",
-		__FILE__, __LINE__, __func__);
-
 	for (i = 0; i < denali->max_banks; i++)
 		iowrite32(INTR_STATUS__RST_COMP | INTR_STATUS__TIME_OUT,
 		denali->flash_reg + INTR_STATUS(i));
@@ -233,9 +230,6 @@ static void nand_onfi_timing_set(struct denali_nand_info *denali,
 	uint16_t acc_clks;
 	uint16_t addr_2_data, re_2_we, re_2_re, we_2_re, cs_cnt;
 
-	dev_dbg(denali->dev, "%s, Line %d, Function: %s\n",
-		__FILE__, __LINE__, __func__);
-
 	en_lo = CEIL_DIV(Trp[mode], CLK_X);
 	en_hi = CEIL_DIV(Treh[mode], CLK_X);
 #if ONFI_BLOOM_TIME
@@ -480,9 +474,6 @@ static uint16_t denali_nand_timing_set(struct denali_nand_info *denali)
 	uint8_t maf_id, device_id;
 	int i;
 
-	dev_dbg(denali->dev, "%s, Line %d, Function: %s\n",
-			__FILE__, __LINE__, __func__);
-
 	/*
 	 * Use read id method to get device ID and other params.
 	 * For some NAND chips, controller can't report the correct
@@ -537,9 +528,6 @@ static uint16_t denali_nand_timing_set(struct denali_nand_info *denali)
 static void denali_set_intr_modes(struct denali_nand_info *denali,
 					uint16_t INT_ENABLE)
 {
-	dev_dbg(denali->dev, "%s, Line %d, Function: %s\n",
-		__FILE__, __LINE__, __func__);
-
 	if (INT_ENABLE)
 		iowrite32(1, denali->flash_reg + GLOBAL_INT_ENABLE);
 	else
-- 
1.9.1

^ permalink raw reply related

* [PATCH 00/11] mtd: nand: denali: first round of cleanups of Denali NAND driver
From: Masahiro Yamada @ 2016-11-09  4:35 UTC (permalink / raw)
  To: linux-mtd
  Cc: Alan Cox, David Woodhouse, Jason Roberts, Chuanxiao Dong,
	Dinh Nguyen, Masahiro Yamada, linux-kernel, Boris Brezillon,
	Marek Vasut, Brian Norris, Richard Weinberger, David Woodhouse,
	Cyrille Pitchen


I am tackling on this driver to use it for my SoCs.
The difficulty is a bunch of platform specific stuff
(more specifically, Intel MRST specific) is hard-coded in this driver.

I need lots of rework to utilize the driver for generic cases,
but at the same time, I found the driver code is really dirty,
lots of unused code, odd comments, etc.

The first thing I needed to do was to clean up the code.
My work is still under the way, but I decided to drop this series
for now.  I hope this series is easy to review, so I guess
splitting into a small chunks is better than a one-shot patch bomb.



Masahiro Yamada (11):
  mtd: nand: denali: remove unneeded <linux/slab.h> includes
  mtd: nand: denali: remove unused struct member denali_nand_info::idx
  mtd: nand: denali: remove bogus comment about interrupt handler setup
  mtd: nand: denali: remove detect_partition_feature()
  mtd: nand: denali: remove "Spectra:" prefix from printk strings
  mtd: nand: denali: remove unused struct member totalblks, blksperchip
  mtd: nand: denali: use managed devm_irq_request()
  mtd: nand: denali: return error code from devm_request_irq() on error
  mtd: nand: denali: return error code from nand_scan_ident/tail on
    error
  mtd: nand: denali: remove unneeded parentheses
  mtd: nand: denali: remove debug lines of __FILE__, __LINE__, __func__

 drivers/mtd/nand/denali.c     | 101 +++++++++---------------------------------
 drivers/mtd/nand/denali.h     |  12 -----
 drivers/mtd/nand/denali_dt.c  |   1 -
 drivers/mtd/nand/denali_pci.c |   1 -
 4 files changed, 21 insertions(+), 94 deletions(-)

-- 
1.9.1

^ permalink raw reply

* [PATCH 05/11] mtd: nand: denali: remove "Spectra:" prefix from printk strings
From: Masahiro Yamada @ 2016-11-09  4:35 UTC (permalink / raw)
  To: linux-mtd
  Cc: Alan Cox, David Woodhouse, Jason Roberts, Chuanxiao Dong,
	Dinh Nguyen, Masahiro Yamada, linux-kernel, Boris Brezillon,
	Marek Vasut, Brian Norris, Richard Weinberger, David Woodhouse,
	Cyrille Pitchen
In-Reply-To: <1478666130-13413-1-git-send-email-yamada.masahiro@socionext.com>

As far as I understood from the Kconfig menu deleted by commit
be7f39c5ecf5 ("Staging: delete spectra driver"), the "Spectra" is
specific to Intel Moorestown Platform.

The Denali NAND controller IP is used for various SoCs such as
Altera SOCFPGA, Socionext UniPhier, etc.  The platform specific
strings are not preferred in this driver.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

As an ARM-SoC developer, I only need denali.c and denali_dt.c.

I see some "Spectra:" in drivers/mtd/nand/denali_pci.c as well.
I was not quite sure if they are needed or not.
If desired, I can update this patch to remove them too.


 drivers/mtd/nand/denali.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index 80d3e26..78d795b 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -402,7 +402,7 @@ static void get_hynix_nand_para(struct denali_nand_info *denali,
 		break;
 	default:
 		dev_warn(denali->dev,
-			 "Spectra: Unknown Hynix NAND (Device ID: 0x%x).\n"
+			 "Unknown Hynix NAND (Device ID: 0x%x).\n"
 			 "Will use default parameter values instead.\n",
 			 device_id);
 	}
@@ -1458,7 +1458,7 @@ int denali_init(struct denali_nand_info *denali)
 	 */
 	if (request_irq(denali->irq, denali_isr, IRQF_SHARED,
 			DENALI_NAND_NAME, denali)) {
-		pr_err("Spectra: Unable to allocate IRQ\n");
+		dev_err(denali->dev, "Unable to request IRQ\n");
 		return -ENODEV;
 	}
 
@@ -1495,7 +1495,7 @@ int denali_init(struct denali_nand_info *denali)
 	/* Is 32-bit DMA supported? */
 	ret = dma_set_mask(denali->dev, DMA_BIT_MASK(32));
 	if (ret) {
-		pr_err("Spectra: no usable DMA configuration\n");
+		dev_err(denali->dev, "no usable DMA configuration\n");
 		goto failed_req_irq;
 	}
 
@@ -1503,7 +1503,7 @@ int denali_init(struct denali_nand_info *denali)
 			     mtd->writesize + mtd->oobsize,
 			     DMA_BIDIRECTIONAL);
 	if (dma_mapping_error(denali->dev, denali->buf.dma_buf)) {
-		dev_err(denali->dev, "Spectra: failed to map DMA buffer\n");
+		dev_err(denali->dev, "failed to map DMA buffer\n");
 		ret = -EIO;
 		goto failed_req_irq;
 	}
@@ -1598,8 +1598,7 @@ int denali_init(struct denali_nand_info *denali)
 
 	ret = mtd_device_register(mtd, NULL, 0);
 	if (ret) {
-		dev_err(denali->dev, "Spectra: Failed to register MTD: %d\n",
-				ret);
+		dev_err(denali->dev, "Failed to register MTD: %d\n", ret);
 		goto failed_req_irq;
 	}
 	return 0;
-- 
1.9.1

^ permalink raw reply related

* [PATCH 04/11] mtd: nand: denali: remove detect_partition_feature()
From: Masahiro Yamada @ 2016-11-09  4:35 UTC (permalink / raw)
  To: linux-mtd
  Cc: Alan Cox, David Woodhouse, Jason Roberts, Chuanxiao Dong,
	Dinh Nguyen, Masahiro Yamada, linux-kernel, Boris Brezillon,
	Marek Vasut, Brian Norris, Richard Weinberger, David Woodhouse,
	Cyrille Pitchen
In-Reply-To: <1478666130-13413-1-git-send-email-yamada.masahiro@socionext.com>

The denali->fwblks is set by detect_partition_feature(), but it is
not referenced from anywhere.  That means the struct member fwblks
and the whole of detect_partition_feature() are unneeded.

The comment block implies this function is only for Intel platforms.
I found drivers/staging/spectra used to exist, but it was deleted by
commit be7f39c5ecf5 ("Staging: delete spectra driver") 5 years ago.

So, I guess nobody would need this function any more.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 drivers/mtd/nand/denali.c | 29 -----------------------------
 drivers/mtd/nand/denali.h |  9 ---------
 2 files changed, 38 deletions(-)

diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index d6f1b29..80d3e26 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -473,33 +473,6 @@ static void detect_max_banks(struct denali_nand_info *denali)
 		denali->max_banks = 1 << (features & FEATURES__N_BANKS);
 }
 
-static void detect_partition_feature(struct denali_nand_info *denali)
-{
-	/*
-	 * For MRST platform, denali->fwblks represent the
-	 * number of blocks firmware is taken,
-	 * FW is in protect partition and MTD driver has no
-	 * permission to access it. So let driver know how many
-	 * blocks it can't touch.
-	 */
-	if (ioread32(denali->flash_reg + FEATURES) & FEATURES__PARTITION) {
-		if ((ioread32(denali->flash_reg + PERM_SRC_ID(1)) &
-			PERM_SRC_ID__SRCID) == SPECTRA_PARTITION_ID) {
-			denali->fwblks =
-			    ((ioread32(denali->flash_reg + MIN_MAX_BANK(1)) &
-			      MIN_MAX_BANK__MIN_VALUE) *
-			     denali->blksperchip)
-			    +
-			    (ioread32(denali->flash_reg + MIN_BLK_ADDR(1)) &
-			    MIN_BLK_ADDR__VALUE);
-		} else {
-			denali->fwblks = SPECTRA_START_BLOCK;
-		}
-	} else {
-		denali->fwblks = SPECTRA_START_BLOCK;
-	}
-}
-
 static uint16_t denali_nand_timing_set(struct denali_nand_info *denali)
 {
 	uint16_t status = PASS;
@@ -551,8 +524,6 @@ static uint16_t denali_nand_timing_set(struct denali_nand_info *denali)
 
 	find_valid_banks(denali);
 
-	detect_partition_feature(denali);
-
 	/*
 	 * If the user specified to override the default timings
 	 * with a specific ONFI mode, we apply those changes here.
diff --git a/drivers/mtd/nand/denali.h b/drivers/mtd/nand/denali.h
index 0ce7344..7c0800d 100644
--- a/drivers/mtd/nand/denali.h
+++ b/drivers/mtd/nand/denali.h
@@ -383,14 +383,6 @@
 #define CLK_X  5
 #define CLK_MULTI 4
 
-/* spectraswconfig.h */
-#define CMD_DMA 0
-
-#define SPECTRA_PARTITION_ID    0
-/**** Block Table and Reserved Block Parameters *****/
-#define SPECTRA_START_BLOCK     3
-#define NUM_FREE_BLOCKS_GATE    30
-
 /* KBV - Updated to LNW scratch register address */
 #define SCRATCH_REG_ADDR    CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR
 #define SCRATCH_REG_SIZE    64
@@ -470,7 +462,6 @@ struct denali_nand_info {
 	int irq;
 
 	uint32_t devnum;	/* represent how many nands connected */
-	uint32_t fwblks; /* represent how many blocks FW used */
 	uint32_t totalblks;
 	uint32_t blksperchip;
 	uint32_t bbtskipbytes;
-- 
1.9.1

^ permalink raw reply related

* [PATCH 02/11] mtd: nand: denali: remove unused struct member denali_nand_info::idx
From: Masahiro Yamada @ 2016-11-09  4:35 UTC (permalink / raw)
  To: linux-mtd
  Cc: Alan Cox, David Woodhouse, Jason Roberts, Chuanxiao Dong,
	Dinh Nguyen, Masahiro Yamada, linux-kernel, Boris Brezillon,
	Marek Vasut, Brian Norris, Richard Weinberger, David Woodhouse,
	Cyrille Pitchen
In-Reply-To: <1478666130-13413-1-git-send-email-yamada.masahiro@socionext.com>

The struct member "idx" was used as an index for debug_array long
ago, but the DEBUG_DENALI feature was removed by commit 7cfffac06ca0
("nand/denali: use dev_xx debug function to replace nand_dbg_print
and some printk").  Since then, this has been only initialized, but
never referenced.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 drivers/mtd/nand/denali.c | 2 --
 drivers/mtd/nand/denali.h | 1 -
 2 files changed, 3 deletions(-)

diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index 062d5b5..51ddb84 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -1436,8 +1436,6 @@ static int denali_ooblayout_free(struct mtd_info *mtd, int section,
 /* initialize driver data structures */
 static void denali_drv_init(struct denali_nand_info *denali)
 {
-	denali->idx = 0;
-
 	/* setup interrupt handler */
 	/*
 	 * the completion object will be used to notify
diff --git a/drivers/mtd/nand/denali.h b/drivers/mtd/nand/denali.h
index e7ab486..0ce7344 100644
--- a/drivers/mtd/nand/denali.h
+++ b/drivers/mtd/nand/denali.h
@@ -467,7 +467,6 @@ struct denali_nand_info {
 	spinlock_t irq_lock;
 	uint32_t irq_status;
 	int irq_debug_array[32];
-	int idx;
 	int irq;
 
 	uint32_t devnum;	/* represent how many nands connected */
-- 
1.9.1

^ permalink raw reply related

* [PATCH 07/11] mtd: nand: denali: use managed devm_irq_request()
From: Masahiro Yamada @ 2016-11-09  4:35 UTC (permalink / raw)
  To: linux-mtd
  Cc: Alan Cox, David Woodhouse, Jason Roberts, Chuanxiao Dong,
	Dinh Nguyen, Masahiro Yamada, linux-kernel, Boris Brezillon,
	Marek Vasut, Brian Norris, Richard Weinberger, David Woodhouse,
	Cyrille Pitchen
In-Reply-To: <1478666130-13413-1-git-send-email-yamada.masahiro@socionext.com>

Use the managed variant instead of request_irq() and free_irq().

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 drivers/mtd/nand/denali.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index 548278b..44e075a 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -575,7 +575,6 @@ static void denali_irq_init(struct denali_nand_info *denali)
 static void denali_irq_cleanup(int irqnum, struct denali_nand_info *denali)
 {
 	denali_set_intr_modes(denali, false);
-	free_irq(irqnum, denali);
 }
 
 static void denali_irq_enable(struct denali_nand_info *denali,
@@ -1456,8 +1455,8 @@ int denali_init(struct denali_nand_info *denali)
 	 * denali_isr register is done after all the hardware
 	 * initilization is finished
 	 */
-	if (request_irq(denali->irq, denali_isr, IRQF_SHARED,
-			DENALI_NAND_NAME, denali)) {
+	if (devm_request_irq(denali->dev, denali->irq, denali_isr, IRQF_SHARED,
+			     DENALI_NAND_NAME, denali)) {
 		dev_err(denali->dev, "Unable to request IRQ\n");
 		return -ENODEV;
 	}
-- 
1.9.1

^ permalink raw reply related

* [PATCH 01/11] mtd: nand: denali: remove unneeded <linux/slab.h> includes
From: Masahiro Yamada @ 2016-11-09  4:35 UTC (permalink / raw)
  To: linux-mtd
  Cc: Alan Cox, David Woodhouse, Jason Roberts, Chuanxiao Dong,
	Dinh Nguyen, Masahiro Yamada, linux-kernel, Boris Brezillon,
	Marek Vasut, Brian Norris, Richard Weinberger, David Woodhouse,
	Cyrille Pitchen
In-Reply-To: <1478666130-13413-1-git-send-email-yamada.masahiro@socionext.com>

The driver calls devm_kzalloc()/devm_kfree() to allocate/free memory.
They are declared in <linux/device.h>, not in <linux/slab.h>.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 drivers/mtd/nand/denali.c     | 1 -
 drivers/mtd/nand/denali_dt.c  | 1 -
 drivers/mtd/nand/denali_pci.c | 1 -
 3 files changed, 3 deletions(-)

diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index 7e2c650..062d5b5 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -21,7 +21,6 @@
 #include <linux/dma-mapping.h>
 #include <linux/wait.h>
 #include <linux/mutex.h>
-#include <linux/slab.h>
 #include <linux/mtd/mtd.h>
 #include <linux/module.h>
 
diff --git a/drivers/mtd/nand/denali_dt.c b/drivers/mtd/nand/denali_dt.c
index f821dc1..5607fcd 100644
--- a/drivers/mtd/nand/denali_dt.c
+++ b/drivers/mtd/nand/denali_dt.c
@@ -21,7 +21,6 @@
 #include <linux/platform_device.h>
 #include <linux/of.h>
 #include <linux/of_device.h>
-#include <linux/slab.h>
 
 #include "denali.h"
 
diff --git a/drivers/mtd/nand/denali_pci.c b/drivers/mtd/nand/denali_pci.c
index de31514..ac84323 100644
--- a/drivers/mtd/nand/denali_pci.c
+++ b/drivers/mtd/nand/denali_pci.c
@@ -14,7 +14,6 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/pci.h>
-#include <linux/slab.h>
 
 #include "denali.h"
 
-- 
1.9.1

^ permalink raw reply related

* [PATCH 08/11] mtd: nand: denali: return error code from devm_request_irq() on error
From: Masahiro Yamada @ 2016-11-09  4:35 UTC (permalink / raw)
  To: linux-mtd
  Cc: Alan Cox, David Woodhouse, Jason Roberts, Chuanxiao Dong,
	Dinh Nguyen, Masahiro Yamada, linux-kernel, Boris Brezillon,
	Marek Vasut, Brian Norris, Richard Weinberger, David Woodhouse,
	Cyrille Pitchen
In-Reply-To: <1478666130-13413-1-git-send-email-yamada.masahiro@socionext.com>

The devm_request_irq() returns an appropriate error value when it
fails.  Use it instead of the fixed -ENODEV.

While we are here, reword the comment to make it fit in a single
line, fixing the misspelling of "initialization".

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 drivers/mtd/nand/denali.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index 44e075a..f188a48 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -1451,14 +1451,12 @@ int denali_init(struct denali_nand_info *denali)
 	denali_hw_init(denali);
 	denali_drv_init(denali);
 
-	/*
-	 * denali_isr register is done after all the hardware
-	 * initilization is finished
-	 */
-	if (devm_request_irq(denali->dev, denali->irq, denali_isr, IRQF_SHARED,
-			     DENALI_NAND_NAME, denali)) {
+	/* request IRQ after all the hardware initialization is finished */
+	ret = devm_request_irq(denali->dev, denali->irq, denali_isr,
+			       IRQF_SHARED, DENALI_NAND_NAME, denali);
+	if (ret) {
 		dev_err(denali->dev, "Unable to request IRQ\n");
-		return -ENODEV;
+		return ret;
 	}
 
 	/* now that our ISR is registered, we can enable interrupts */
-- 
1.9.1

^ permalink raw reply related

* [PATCH 03/11] mtd: nand: denali: remove bogus comment about interrupt handler setup
From: Masahiro Yamada @ 2016-11-09  4:35 UTC (permalink / raw)
  To: linux-mtd
  Cc: Alan Cox, David Woodhouse, Jason Roberts, Chuanxiao Dong,
	Dinh Nguyen, Masahiro Yamada, linux-kernel, Boris Brezillon,
	Marek Vasut, Brian Norris, Richard Weinberger, David Woodhouse,
	Cyrille Pitchen
In-Reply-To: <1478666130-13413-1-git-send-email-yamada.masahiro@socionext.com>

The interrupt handler is setup in denali_init(), not in
denali_drv_init().  This comment is false.

Such a comment adds no value, so just delete it instead of move.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 drivers/mtd/nand/denali.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index 51ddb84..d6f1b29 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -1436,7 +1436,6 @@ static int denali_ooblayout_free(struct mtd_info *mtd, int section,
 /* initialize driver data structures */
 static void denali_drv_init(struct denali_nand_info *denali)
 {
-	/* setup interrupt handler */
 	/*
 	 * the completion object will be used to notify
 	 * the callee that the interrupt is done
-- 
1.9.1

^ permalink raw reply related

* [PATCH 06/11] mtd: nand: denali: remove unused struct member totalblks, blksperchip
From: Masahiro Yamada @ 2016-11-09  4:35 UTC (permalink / raw)
  To: linux-mtd
  Cc: Alan Cox, David Woodhouse, Jason Roberts, Chuanxiao Dong,
	Dinh Nguyen, Masahiro Yamada, linux-kernel, Boris Brezillon,
	Marek Vasut, Brian Norris, Richard Weinberger, David Woodhouse,
	Cyrille Pitchen
In-Reply-To: <1478666130-13413-1-git-send-email-yamada.masahiro@socionext.com>

The denali->blksperchip is set, but not referenced any more.  The
denali->totalblks is used only for calculating denali->blksperchip.
Both of them are unneeded.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 drivers/mtd/nand/denali.c | 8 --------
 drivers/mtd/nand/denali.h | 2 --
 2 files changed, 10 deletions(-)

diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index 78d795b..548278b 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -1573,14 +1573,6 @@ int denali_init(struct denali_nand_info *denali)
 	denali->nand.ecc.bytes *= denali->devnum;
 	denali->nand.ecc.strength *= denali->devnum;
 
-	/*
-	 * Let driver know the total blocks number and how many blocks
-	 * contained by each nand chip. blksperchip will help driver to
-	 * know how many blocks is taken by FW.
-	 */
-	denali->totalblks = mtd->size >> denali->nand.phys_erase_shift;
-	denali->blksperchip = denali->totalblks / denali->nand.numchips;
-
 	/* override the default read operations */
 	denali->nand.ecc.size = ECC_SECTOR_SIZE * denali->devnum;
 	denali->nand.ecc.read_page = denali_read_page;
diff --git a/drivers/mtd/nand/denali.h b/drivers/mtd/nand/denali.h
index 7c0800d..ea22191 100644
--- a/drivers/mtd/nand/denali.h
+++ b/drivers/mtd/nand/denali.h
@@ -462,8 +462,6 @@ struct denali_nand_info {
 	int irq;
 
 	uint32_t devnum;	/* represent how many nands connected */
-	uint32_t totalblks;
-	uint32_t blksperchip;
 	uint32_t bbtskipbytes;
 	uint32_t max_banks;
 };
-- 
1.9.1

^ permalink raw reply related

* Re: [PATCH 0/4] x86: enable User-Mode Instruction Prevention
From: Ricardo Neri @ 2016-11-09  4:31 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: Peter Zijlstra, Ingo Molnar, Thomas Gleixner, H. Peter Anvin,
	linux-kernel@vger.kernel.org, X86 ML, linux-doc@vger.kernel.org,
	Andy Lutomirski, Andrew Morton, Borislav Petkov, Brian Gerst,
	Chen Yucong, Chris Metcalf, Dave Hansen, Fenghua Yu, Huang Rui,
	Jiri Slaby, Jonathan Corbet, Michael S . Tsirkin, Paul Gortmaker,
	Ravi V . Shankar, Vlastimil Babka, Shuah Khan
In-Reply-To: <CALCETrV+c4Rw9zbB3=Jc2F6jtxib3prxNqMXgnUSyMc5QnU9fA@mail.gmail.com>

On Tue, 2016-11-08 at 07:34 -0800, Andy Lutomirski wrote:
> > Would it not be better to emulate these instructions for them? What
> way
> > we can verify they're not malicious.
> 
> Forget malice -- if they are really needed for some silly vm86-using
> program, let's trap them and emulate them so they return dummy values.
> 
> Also, keep in mind that vm86 is already effectively gated behind a
> sysctl for non-root.  I think the default should be that, if root has
> enabled vm86, it should work.

Then should I keep UMIP enabled by default and still provide an option
to disable it via a kernel parameter?

Also, a third option, umip=novm86 would "disable" UMIP in vm86 tasks.
Under the new approach (of emulating the impacted instructions), this
option, a #GP fault would still be generated but the actual values of
GDT/LDT/IDT/MSW would be passed to user space. Does this make sense?

Thanks and BR,
Ricardo

^ permalink raw reply

* [Buildroot] [PATCH 1/1] sdl: fix building on powerpc64 and powerpc64le
From: Sam Bobroff @ 2016-11-09  4:30 UTC (permalink / raw)
  To: buildroot
In-Reply-To: <99a8adb3-3fa3-7050-e31f-16d2ee67ea12@mind.be>

On Tue, Nov 08, 2016 at 01:24:04PM +0100, Arnout Vandecappelle wrote:
> 
> 
> On 08-11-16 06:10, Sam Bobroff wrote:
> > On Tue, Nov 08, 2016 at 02:04:31AM +0100, Arnout Vandecappelle wrote:
> >>
> >>
> >> On 07-11-16 22:51, Thomas Petazzoni wrote:
> >>> Also, are we going to need to patch libtool.m4 in each and every
> >>> package around? libtool.m4 from sdl is from libtool 2.2 which is not
> >>> _that_ old (by the standards of libtool upgrade speed, of course), so
> >>> we're likely to find many other packages in the same situation, aren't
> >>> we?
> > 
> > From the libtool git history it looks like the issue is fixed after
> > libtool 2.4.2.418.
> > 
> >>  Let me rephrase this.
> >>
> >>  You should actually update support/libtool/buildroot-libtool-v1.5.patch and
> >> support/libtool/buildroot-libtool-v2.2.patch which will fix all packages in one
> >> fell swoop. (That is, assuming that v2.4 is OK already.)
> > 
> > That sounds great, but that system seems to be set up to patch only
> > ltmain.sh, and the code that needs patching isn't there.
> > 
> > The change needs to be in aclocal/libtool.m4 
> 
>  Arg, my bad. I didn't look at the patch itself :-)
> 
> > but I can't patch that and
> > then propagate the change to configure, because AUTORECONF doesn't work
> > for that package. (Maybe it would work for other packages, but I suspect
> > there would be problems updating a single file on it's own.)
> 
>  For most packages, AUTORECONF works. But it's really not nice to have to
> autoreconf a large number of packages just because one platform which many
> people don't use is not supported...

Agreed.

> > I suppose I could try auto-patching configure and/or configure.in (or
> > .ac) along the same lines as ltmain.sh... what do you think?
> 
>  Autopatching configure.in/ac will not work because it's actually libtool.m4,
> right? You could autopatch that, but some packages will not bundly libtool.m4 I
> guess.

Yes, and I've discovered that if you patch libtool.m4, some packages
build systems detect that and launch their own re-autoconf, which
crashes.

It looks like any fix will have to be directly to configure after any
autoreconfig is finished :-(

>  Autopatching configure is going to be very hard I expect, because the location
> and context of the hunk to be patched is probably very volatile. But if it does
> work, it's probably the way to go. You would also have to patch libtool.m4 if it
> exists, to keep things consistent. And you'd probably want to ignore errors from
> patch.
> 
>  Otherwise, I'm afraid I don't see how we can solve this in a generic way...

Right, but it seems that although the hunk moves around a lot it's content
is still a large static chunk that's easily found. Since patch is happy
to patch anywhere (if all the context matches), it looks like patch will
handle that OK. Of course it will always fail on configure scripts that
are already new enough or have already been fixed manually (and it looks
like some packages have done that). And I never like ignoring errors.

I can think of a few ways to implement this in buildroot:

(a) Patch pkg-autotools.mk to find any files named 'configure' and try
to patch them, ignoring failures.

(b) As above but only patch files that match a magic pattern that
indicates they need patching (there does happen to be such a pattern in
this case).

(c) As above but only patch packages that set a package configuration
variable (something like FOO_PATCH_CONFIGURE=YES).

For (b) and (c), I could hard-code it to run a single patch (from
support/libtool/... or support/configure?) or I could make it a bit more
generic.

For (b) we could have a pattern file and a patch file, applying the
patch if configure contains the pattern, or for (c) the variable could
contain the patch file name (relative to support/something/?).  For
example, have FOO_PATCH_CONFIGURE=powerpc64.patch. I'm not
aware of any other need for this at the moment but it also seems nice to
keep the arch specific stuff somewhat separated out.

For (c) We (me) would need to tag every package that needed patching,
but that doesn't seem too bad if it's just one line. The package files
would also be a good record of which packages still need fixing.

How do those options sound? Any other suggestions?

Cheers,
Sam.

^ permalink raw reply

* Re: [PATCH v1 03/11] drivers: soc: hisi: Add support for Hisilicon Djtag driver
From: Anurup M @ 2016-11-09  4:28 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Tan Xiaojun, anurup.m, linux-kernel,
	mark.rutland, shyju.pv, gabriele.paoloni, john.garry, will.deacon,
	linuxarm, xuwei5, zhangshaokun, sanil.kumar, shiju.jose
In-Reply-To: <4657586.c5MJoh65Ux@wuerfel>



On Tuesday 08 November 2016 08:38 PM, Arnd Bergmann wrote:
> On Tuesday, November 8, 2016 7:16:30 PM CET Anurup M wrote:
>>>>>> If these are backwards compatible, just mark them as compatible in DT,
>>>>>> e.g. hip06 can use
>>>>>>
>>>>>>     compatible = "hisilicon,hip06-cpu-djtag-v1", "hisilicon,hip05-cpu-djtag-v1";
>>>>>>
>>>>>> so you can tell the difference if you need to, but the driver only has to
>>>>>> list the oldest one here.
>>>>>>
>>>>>> What is the difference between the cpu and io djtag interfaces?
>>>> On some chips like hip06, the djtag version is different for IO die.
>>> In what way? The driver doesn't seem to care about the difference.
>> There is  a difference in djtag version of CPU and IO die (in some chips).
>> For ex: in hip06 djtag for CPU is v1 and for IO is v2.
>> so they use different readwrite handlers djtag_readwrite_(v1/2).
>>
>> +       /* for hip06(D03) cpu die */
>> +       { .compatible = "hisilicon,hip06-cpu-djtag-v1",
>> +               .data = (void *)djtag_readwrite_v1 },
>> +       /* for hip06(D03) io die */
>> +       { .compatible = "hisilicon,hip06-io-djtag-v2",
>> +               .data = (void *)djtag_readwrite_v2 },
>>
>>
>> For the same djtag version, there is no difference in handling in the
>> driver.
> Right, but my point was about the compatibility with the older chips
> using the same IP block, marking the ones as compatible that actually
> use the same interface.
>
> I also see that the compatible strings have the version included in
> them, and you can probably drop them by requiring them only in the
> fallback:
>
> 	compatible = "hisilicon,hip05-cpu-djtag", "hisilicon,djtag-v1";
> 	compatible = "hisilicon,hip05-io-djtag", "hisilicon,djtag-v1";
> 	compatible = "hisilicon,hip06-cpu-djtag", "hisilicon,djtag-v1";
> 	compatible = "hisilicon,hip06-io-djtag", "hisilicon,djtag-v2";
> 	compatible = "hisilicon,hip07-cpu-djtag", "hisilicon,djtag-v2";
> 	compatible = "hisilicon,hip07-io-djtag", "hisilicon,djtag-v2";
>
> We want to have the first entry be as specific as possible, but
> the last (second) entry is the one that can be used by the driver
> for matching. When a future hip08/hip09/... chip uses an existing
> interface, you then don't have to update the driver.
Thanks. I had a similar thought on this. So as I have the version string 
in the
second entry "-v(1/2)".
I can use it in driver for matching. So i think  I will change it as below.
Please correct me if my understanding is wrong.

  static const struct of_device_id djtag_of_match[] = {
-       /* for hip05(D02) cpu die */
-       { .compatible = "hisilicon,hip05-cpu-djtag-v1",
+       /* for hisi djtag-v1 cpu die */
+       { .compatible = "hisilicon,hisi-cpu-djtag-v1",
                 .data = djtag_readwrite_v1 },
-       /* for hip05(D02) io die */
-       { .compatible = "hisilicon,hip05-io-djtag-v1",
+       /* for hisi djtag-v1 io die */
+       { .compatible = "hisilicon,hisi-io-djtag-v1",
                 .data = djtag_readwrite_v1 },
-       /* for hip06(D03) cpu die */
-       { .compatible = "hisilicon,hip06-cpu-djtag-v1",
-               .data = djtag_readwrite_v1 },
-       /* for hip06(D03) io die */
-       { .compatible = "hisilicon,hip06-io-djtag-v2",
-               .data = djtag_readwrite_v2 },
-       /* for hip07(D05) cpu die */
-       { .compatible = "hisilicon,hip07-cpu-djtag-v2",
+       /* for hisi djtag-v2 cpu die */
+       { .compatible = "hisilicon,hisi-cpu-djtag-v2",
                 .data = djtag_readwrite_v2 },
-       /* for hip07(D05) io die */
-       { .compatible = "hisilicon,hip07-io-djtag-v2",
+       /* for hisi djtag-v2 io die */
+       { .compatible = "hisilicon,hisi-io-djtag-v2",
                 .data = (djtag_readwrite_v2 },
         {},
  };

Thanks,
Anurup
> 	Arnd

^ permalink raw reply

* [PATCH v1 03/11] drivers: soc: hisi: Add support for Hisilicon Djtag driver
From: Anurup M @ 2016-11-09  4:28 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <4657586.c5MJoh65Ux@wuerfel>



On Tuesday 08 November 2016 08:38 PM, Arnd Bergmann wrote:
> On Tuesday, November 8, 2016 7:16:30 PM CET Anurup M wrote:
>>>>>> If these are backwards compatible, just mark them as compatible in DT,
>>>>>> e.g. hip06 can use
>>>>>>
>>>>>>     compatible = "hisilicon,hip06-cpu-djtag-v1", "hisilicon,hip05-cpu-djtag-v1";
>>>>>>
>>>>>> so you can tell the difference if you need to, but the driver only has to
>>>>>> list the oldest one here.
>>>>>>
>>>>>> What is the difference between the cpu and io djtag interfaces?
>>>> On some chips like hip06, the djtag version is different for IO die.
>>> In what way? The driver doesn't seem to care about the difference.
>> There is  a difference in djtag version of CPU and IO die (in some chips).
>> For ex: in hip06 djtag for CPU is v1 and for IO is v2.
>> so they use different readwrite handlers djtag_readwrite_(v1/2).
>>
>> +       /* for hip06(D03) cpu die */
>> +       { .compatible = "hisilicon,hip06-cpu-djtag-v1",
>> +               .data = (void *)djtag_readwrite_v1 },
>> +       /* for hip06(D03) io die */
>> +       { .compatible = "hisilicon,hip06-io-djtag-v2",
>> +               .data = (void *)djtag_readwrite_v2 },
>>
>>
>> For the same djtag version, there is no difference in handling in the
>> driver.
> Right, but my point was about the compatibility with the older chips
> using the same IP block, marking the ones as compatible that actually
> use the same interface.
>
> I also see that the compatible strings have the version included in
> them, and you can probably drop them by requiring them only in the
> fallback:
>
> 	compatible = "hisilicon,hip05-cpu-djtag", "hisilicon,djtag-v1";
> 	compatible = "hisilicon,hip05-io-djtag", "hisilicon,djtag-v1";
> 	compatible = "hisilicon,hip06-cpu-djtag", "hisilicon,djtag-v1";
> 	compatible = "hisilicon,hip06-io-djtag", "hisilicon,djtag-v2";
> 	compatible = "hisilicon,hip07-cpu-djtag", "hisilicon,djtag-v2";
> 	compatible = "hisilicon,hip07-io-djtag", "hisilicon,djtag-v2";
>
> We want to have the first entry be as specific as possible, but
> the last (second) entry is the one that can be used by the driver
> for matching. When a future hip08/hip09/... chip uses an existing
> interface, you then don't have to update the driver.
Thanks. I had a similar thought on this. So as I have the version string 
in the
second entry "-v(1/2)".
I can use it in driver for matching. So i think  I will change it as below.
Please correct me if my understanding is wrong.

  static const struct of_device_id djtag_of_match[] = {
-       /* for hip05(D02) cpu die */
-       { .compatible = "hisilicon,hip05-cpu-djtag-v1",
+       /* for hisi djtag-v1 cpu die */
+       { .compatible = "hisilicon,hisi-cpu-djtag-v1",
                 .data = djtag_readwrite_v1 },
-       /* for hip05(D02) io die */
-       { .compatible = "hisilicon,hip05-io-djtag-v1",
+       /* for hisi djtag-v1 io die */
+       { .compatible = "hisilicon,hisi-io-djtag-v1",
                 .data = djtag_readwrite_v1 },
-       /* for hip06(D03) cpu die */
-       { .compatible = "hisilicon,hip06-cpu-djtag-v1",
-               .data = djtag_readwrite_v1 },
-       /* for hip06(D03) io die */
-       { .compatible = "hisilicon,hip06-io-djtag-v2",
-               .data = djtag_readwrite_v2 },
-       /* for hip07(D05) cpu die */
-       { .compatible = "hisilicon,hip07-cpu-djtag-v2",
+       /* for hisi djtag-v2 cpu die */
+       { .compatible = "hisilicon,hisi-cpu-djtag-v2",
                 .data = djtag_readwrite_v2 },
-       /* for hip07(D05) io die */
-       { .compatible = "hisilicon,hip07-io-djtag-v2",
+       /* for hisi djtag-v2 io die */
+       { .compatible = "hisilicon,hisi-io-djtag-v2",
                 .data = (djtag_readwrite_v2 },
         {},
  };

Thanks,
Anurup
> 	Arnd

^ permalink raw reply

* Re: [PATCH 2/4] x86: Prepare vm86 tasks to handle User-Mode Instruction Prevention
From: Ricardo Neri @ 2016-11-09  4:26 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Andy Lutomirski, Ingo Molnar, Thomas Gleixner, H. Peter Anvin,
	linux-kernel@vger.kernel.org, X86 ML, linux-doc@vger.kernel.org,
	Andy Lutomirski, Andrew Morton, Borislav Petkov, Brian Gerst,
	Chen Yucong, Chris Metcalf, Dave Hansen, Fenghua Yu, Huang Rui,
	Jiri Slaby, Jonathan Corbet, Michael S . Tsirkin, Paul Gortmaker,
	Ravi V . Shankar, Shuah Khan, Vlastimil Babka
In-Reply-To: <20161108170034.GK3117@twins.programming.kicks-ass.net>

On Tue, 2016-11-08 at 18:00 +0100, Peter Zijlstra wrote:
> > > +       }
> > > +#endif
> > > +
> > 
> > NAK.  If this code is going to exist, it needs to be deeply buried
> in
> > some unlikely if statement that already exists.  There's no good
> > reason to penalize all context switches to support some nonsensical
> > vm86 use case.
> 
> Agreed, now if instead vm86 get to emulate these instructions, this
> all
> magically goes away..

Yes. I agree. I will rework the series and this should not be needed.

Thanks and BR,
Ricardo

^ permalink raw reply

* RE: [PATCH 1/2] gpio: xilinx: dt-binding: Add clock node
From: Shubhrajyoti Datta @ 2016-11-09  4:25 UTC (permalink / raw)
  To: Soren Brinkmann
  Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,
	michal.simek@xilinx.com
In-Reply-To: <20161108144846.GQ14444@xsjsorenbubuntu>


Hi Soren,

> -----Original Message-----
> From: Sören Brinkmann [mailto:soren.brinkmann@xilinx.com]
> Sent: Tuesday, November 08, 2016 8:19 PM
<snip>

> > +- clock-names: Input clock name
> 
> Clock names are driver specific and must be documented here.


Will do thanks.

> 
> >
> >
> >  Example:
> >  gpio: gpio@40000000 {
> >  	#gpio-cells = <2>;
> >  	compatible = "xlnx,xps-gpio-1.00.a";
> > +	clocks = <&clkc 15>;
> 
> Where are the clock-names?
Will add. 

> 
> 	Sören

^ permalink raw reply

* Re: [PATCH 0/4] x86: enable User-Mode Instruction Prevention
From: Ricardo Neri @ 2016-11-09  4:26 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: Andy Lutomirski, Peter Zijlstra, Ingo Molnar, H. Peter Anvin,
	linux-kernel@vger.kernel.org, X86 ML, linux-doc@vger.kernel.org,
	Andy Lutomirski, Andrew Morton, Borislav Petkov, Brian Gerst,
	Chen Yucong, Chris Metcalf, Dave Hansen, Fenghua Yu, Huang Rui,
	Jiri Slaby, Jonathan Corbet, Michael S . Tsirkin, Paul Gortmaker,
	Ravi V . Shankar, Vlastimil Babka, Shuah Khan
In-Reply-To: <alpine.DEB.2.20.1611081750360.3501@nanos>

On Tue, 2016-11-08 at 17:52 +0100, Thomas Gleixner wrote:
> On Tue, 8 Nov 2016, Andy Lutomirski wrote:
> > On Tue, Nov 8, 2016 at 5:16 AM, Peter Zijlstra <peterz@infradead.org> wrote:
> > > On Mon, Nov 07, 2016 at 10:12:09PM -0800, Ricardo Neri wrote:
> > >> There is a caveat, however. Certain applications running in virtual-8086
> > >> mode, such as DOSEMU[1] and Wine[2], want to utilize the SGDT, SIDT and
> > >> SLDT instructions for legitimate reasons. In order to keep such
> > >> applications working, UMIP must be disabled/enabled when entering/exiting
> > >> virtual-8086 mode.
> > >
> > > Would it not be better to emulate these instructions for them? What way
> > > we can verify they're not malicious.
> > 
> > Forget malice -- if they are really needed for some silly vm86-using
> > program, let's trap them and emulate them so they return dummy values.
> 
> handle_vm86_fault() already does instruction emulation, so adding the few
> bits there is the right thing to do. Then we just can enable UMIP
> unconditionally and be done with it.

Ah. I didn't think about that. It make sense to me. I will rework this
series with this approach.
> 
> Thanks,
> 
> 	tglx

^ permalink raw reply

* Re: [PATCH 1/4] x86/cpufeature: Add User-Mode Instruction Prevention definitions
From: Ricardo Neri @ 2016-11-09  4:25 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin,
	linux-kernel@vger.kernel.org, X86 ML, linux-doc@vger.kernel.org,
	Andy Lutomirski, Andrew Morton, Borislav Petkov, Brian Gerst,
	Chen Yucong, Chris Metcalf, Dave Hansen, Fenghua Yu, Huang Rui,
	Jiri Slaby, Jonathan Corbet, Michael S . Tsirkin, Paul Gortmaker,
	Peter Zijlstra, Ravi V . Shankar, Shuah Khan, Vlastimil Babka
In-Reply-To: <CALCETrXGFm8pFzn3qCr_k7n=9OUiKtFXRT0bg6TebnrxkTeMRQ@mail.gmail.com>

On Tue, 2016-11-08 at 07:32 -0800, Andy Lutomirski wrote:
> > diff --git a/arch/x86/include/asm/disabled-features.h
> b/arch/x86/include/asm/disabled-features.h
> > index 85599ad..4707445 100644
> > --- a/arch/x86/include/asm/disabled-features.h
> > +++ b/arch/x86/include/asm/disabled-features.h
> > @@ -16,6 +16,12 @@
> >  # define DISABLE_MPX   (1<<(X86_FEATURE_MPX & 31))
> >  #endif
> >
> > +#ifdef CONFIG_X86_INTEL_UMIP
> 
> ^^^^^
> 
> What's this?
> 
> Let's try to do this with a minimum of configuration.

My intention here is put in this file all the #if build configurations
so that I don't have to put them other files by using functions such as
cpu_feature_enable. Isn't this the intention of this file?

Thanks and BR,
Ricardo

^ permalink raw reply

* Re: Configure RAM size on iMX53 board
From: Jose Luis Zabalza @ 2016-11-09  4:23 UTC (permalink / raw)
  To: barebox
In-Reply-To: <20161108212434.gvlq5fy6vrbn2en5@pengutronix.de>

There is no form of detection. UBoot (a very old version) don't use
any CS1 address, except with the memtest command.
If memtest command is executed with 512MB version, UBoot hangs, as expected.
I set the mem kernel parameter using a environment variable and kernel
can reach CS1 memory.


2016-11-08 22:24 GMT+01:00 Sascha Hauer <s.hauer@pengutronix.de>:
> On Tue, Nov 08, 2016 at 09:51:36PM +0100, Jose Luis Zabalza wrote:
>> > So you have 512MiB on each chip select, so I assume that on the 512MiB
>> > board variants CS1 is not equipped.
>>
>> Yes, it is.
>>
>> >In that case you can in lowlevel.c
>> > test if you find SDRAM on CS1 and if not, disable the chip select
>> > completely in the SDRAM controller.
>>
>> OK. But how ? I enable CS0 and CS1 on DCD table. Is there any way to
>> tell barebox not to use CS1 ?
>>
>> > I am not sure how you can detect if there's SDRAM on CS1. I've seen
>> > situations in which the board just hangs if you access non existent RAM
>> > areas.
>>
>> I have tried it, but I have not be able to implement a code for
>> autodetect. If the code write or read a value on a position without
>> physical  chip, the microcontroller hangs. ????
>>
>> But it's not a problem. A solution is configure both CS and MMU. If
>> bootloader don't access to high positions, there is not problem. After
>> I set a environment variable with memory size and the mem kernel
>> parameter (or ATAG) does the rest.
>
> You said that both board variants work with the same U-Boot binary, how
> does it work there? Is there some detection mechanism or is it only some
> environment variable that you have to set manually?
>
> Sascha
>
> --
> Pengutronix e.K.                           |                             |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



-- 
jlz.3008  a t  gmail.com
Linux Counter 172551
https://linuxcounter.net/cert/172551.png

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply


This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.