2014-01-06 09:40:42

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: Tree for Jan 06

Hi all,

This tree fails (more than usual) the powerpc allyesconfig build.

Changes since 20131224:

Dropped tree: sh (complex merge conflicts against very old commits)

The arm-soc tree gained a conflict against the arm tree.

The imx-mxs tree gained conflicts against the arm-soc tree.

The powerpc tree lost its build failure but gained another that I left
broken.

The sh tree gained conflicts against the arm-soc tree.

The thermal tree gained a conflict against the pm tree.

The net-next tree gained conflicts against the net tree and a build
failure for which I reverted a commit.

The mmc tree still had its build failure so I used the version from
next-20131212.

The block tree gained a conflict against the f2fs tree.

The regulator tree gained a build failure for which I reverted a commit.

The spi tree gained a build failure so I used the version from
next-20131224.

The tip tree gained a conflict against the pm tree.

The akpm-current tree lost its its build failures but gained another for
which I applied a patch.

Non-merge commits (relative to Linus' tree): 6675
6588 files changed, 337915 insertions(+), 170173 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" 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 and a
multi_v7_defconfig for arm. 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, sparc64 and arm 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.

I am currently merging 210 trees (counting Linus' and 29 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.

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 [email protected]

$ git checkout master
$ git reset --hard stable
Merging origin/master (d11739e6d83d Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc)
Merging fixes/master (b0031f227e47 Merge tag 's2mps11-build' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator)
Merging kbuild-current/rc-fixes (19514fc665ff arm, kbuild: make "make install" not depend on vmlinux)
Merging arc-current/for-curr (1e01c7eb7c43 ARC: Allow conditional multiple inclusion of uapi/asm/unistd.h)
Merging arm-current/fixes (0a5ccc86507f ARM: 7933/1: rename ioremap_cached to ioremap_cache)
Merging m68k-current/for-linus (77a42796786c m68k: Remove deprecated IRQF_DISABLED)
Merging metag-fixes/fixes (3b2f64d00c46 Linux 3.11-rc2)
Merging powerpc-merge/merge (f991db1cf1bd Merge remote-tracking branch 'agust/merge' into merge)
Merging sparc/master (16932237f297 Revert "sparc64: Fix __copy_{to,from}_user_inatomic defines.")
Merging net/master (a02bdd423d84 qlcnic: Fix bug in Tx completion path)
Merging ipsec/master (965cdea82569 dccp: catch failed request_module call in dccp_probe init)
Merging sound-current/for-linus (150116bcfbd9 ALSA: hiface: Fix typo in 352800 rate definition)
Merging pci-current/for-linus (f0b75693cbb2 MAINTAINERS: Add DesignWare, i.MX6, Armada, R-Car PCI host maintainers)
Merging wireless/master (b7e047358449 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth)
Merging driver-core.current/driver-core-linus (413541dd66d5 Linux 3.13-rc5)
Merging tty.current/tty-linus (413541dd66d5 Linux 3.13-rc5)
Merging usb.current/usb-linus (413541dd66d5 Linux 3.13-rc5)
Merging staging.current/staging-linus (413541dd66d5 Linux 3.13-rc5)
Merging char-misc.current/char-misc-linus (319e2e3f63c3 Linux 3.13-rc4)
Merging input-current/for-linus (8e2f2325b73f Input: xpad - add new USB IDs for Logitech F310 and F710)
Merging md-current/for-linus (d47648fcf061 raid5: avoid finding "discard" stripe)
Merging crypto-current/master (efb753b8e013 crypto: ixp4xx - Fix kernel compile error)
Merging ide/master (c2f7d1e103ef ide: pmac: remove unnecessary pci_set_drvdata())
Merging dwmw2/master (5950f0803ca9 pcmcia: remove RPX board stuff)
Merging sh-current/sh-fixes-for-linus (44033109e99c SH: Convert out[bwl] macros to inline functions)
Merging devicetree-current/devicetree/merge (6f041e99fc7b of: Fix NULL dereference in unflatten_and_copy())
Merging rr-fixes/fixes (7122c3e9154b scripts/link-vmlinux.sh: only filter kernel symbols for arm)
Merging mfd-fixes/master (73beb63d290f mfd: rtsx_pcr: Disable interrupts before cancelling delayed works)
Merging vfio-fixes/for-linus (239a87020b26 Merge branch 'for-joerg/arm-smmu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into for-linus)
Merging drm-intel-fixes/for-linux-next-fixes (a885b3ccc74d drm/i915: Use the correct GMCH_CTRL register for Sandybridge+)
Merging asm-generic/master (fb9de7ebc3a2 xtensa: Use generic asm/mmu.h for nommu)
Merging arc/for-next (d8e8c7dda11f ARC: [SMP] optimize IPI send and receive)
Merging arm/for-next (7969c5824e60 Merge branches 'amba', 'fixes', 'kees', 'misc' and 'unstable/sa11x0' into for-next)
Merging arm-perf/for-next/perf (6ce4eac1f600 Linux 3.13-rc1)
Merging arm-soc/for-next (12043f0aeb54 Merge branch 'next/dt' into for-next)
CONFLICT (content): Merge conflict in arch/arm/Kconfig.debug
Merging bcm2835/for-next (413541dd66d5 Linux 3.13-rc5)
Merging cortex-m/for-next (f41bfc9423aa Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4)
Merging ep93xx/ep93xx-for-next (bfb0709fd17b Merge branch 'ep93xx-fixes' into ep93xx-for-next)
Merging imx-mxs/for-next (52bfd188eccf ARM: dts: imx6qdl-sabresd: Add PFUZE100 support)
CONFLICT (content): Merge conflict in arch/arm/boot/dts/imx6q-sabrelite.dts
CONFLICT (content): Merge conflict in arch/arm/boot/dts/imx51-apf51.dts
CONFLICT (content): Merge conflict in arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi
Merging ixp4xx/next (19f949f52599 Linux 3.8)
Merging msm/for-next (81cf1e061d00 ARM: msm: Rename msm devicetrees to have standard 'qcom' prefix)
Merging mvebu/for-next (6da7d0ea74e4 Merge branch 'mvebu/dt' into for-next)
Merging renesas/next (540c9e6bfdc2 Merge branch 'dt3' into next)
Merging samsung/for-next (8109c477487a Merge branch 'v3.14-next/dt-exynos-3' into for-next)
Merging tegra/for-next (95e770a5ad96 Merge branch for-3.14/defconfig into for-next)
Merging arm64/for-next/core (4e5e1eb89f48 arm64: dts: Reduce size of virtio block device for foundation model)
Merging blackfin/for-linus (36855dcfc980 blackfin: fix build warning for unused variable)
Merging c6x/for-linux-next (546153d75a48 c6x: fix build failure caused by cache.h)
Merging cris/for-next (be8cb7f42ab9 CRIS: drop unused Kconfig symbols)
Merging hexagon/linux-next (de44443a45e3 HEXAGON: Remove non existent reference to GENERIC_KERNEL_EXECVE & GENERIC_KERNEL_THREAD)
Merging ia64/next (d52eefb47d4e ia64/xen: Remove Xen support for ia64)
Merging m68k/for-next (a16f9a42a557 m68k: Update defconfigs for v3.13-rc1)
Merging m68knommu/for-next (a695b9c8911e m68k : Kill CONFIG_MTD_PARTITIONS)
Merging metag/for-next (40979d327c99 metag: topology: export 'cpu_core_map')
Merging microblaze/next (a1dd107fcafa microblaze: Remove duplicate declarations of _stext[] and _etext[])
Merging mips/mips-for-linux-next (6ca0bf323c14 Merge branch '3.13-fixes' into mips-for-linux-next)
Merging openrisc/for-upstream (60a9dd5a10a1 openrisc: Use get_signal() signal_setup_done())
Merging parisc/for-next (6c700d71f7fa [PARISC] hpux: Remove obsolete regs parameter from do_execve() in hpux_execve())
Merging parisc-hd/for-next (e6a3420e24e0 parisc: fix aio cache flushing bug)
Merging powerpc/next (dece8ada993e Merge branch 'merge' into next)
Merging mpc5xxx/next (8c699054e995 powerpc/512x: dts: add MPC5125 clock specs)
CONFLICT (content): Merge conflict in arch/powerpc/boot/dts/mpc5125twr.dts
Merging galak/next (9e2ecdbba3b0 powerpc/fsl-booke: add the reg prop for pci bridge device node for T4/B4)
Merging s390/features (91f3e3eaba44 s390/zcrypt: add support for EP11 coprocessor cards)
Merging sh/sh-latest (37284bd93103 Merge branches 'sh/hw-breakpoints' and 'sh/serial-of' into sh-latest)
CONFLICT (content): Merge conflict in include/linux/serial_sci.h
CONFLICT (content): Merge conflict in drivers/tty/serial/sh-sci.c
CONFLICT (content): Merge conflict in arch/sh/kernel/cpu/sh2a/Makefile
$ git merge --abort
Merging sparc-next/master (049ffa8ab33a Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux)
Merging tile/master (5e01dc7b26d9 Linux 3.12)
Merging unicore32/unicore32 (c284464658ac arch/unicore32: remove CONFIG_EXPERIMENTAL)
Merging xtensa/for_next (d30841d27218 xtensa: ISS: avoid simple_strtoul usage)
Merging btrfs/next (91aef86f3b8a Btrfs: rename btrfs_start_all_delalloc_inodes)
Merging ceph/master (8eb4efb091c8 ceph: implement readv/preadv for sync operation)
Merging cifs/for-next (f1e3268126a3 cifs: set FILE_CREATED)
Merging configfs/linux-next (b930c26416c4 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs)
Merging ecryptfs/next (9e78d14a9f64 Use %pd in eCryptFS)
Merging ext3/for_next (4ea7772f828a udf: Fix lockdep warning from udf_symlink())
Merging ext4/dev (27e25f8135e5 ext4: standardize error handling in ext4_da_write_inline_data_begin())
Merging f2fs/dev (6872490b7fba f2fs: avoid to read inline data except first page)
Merging fscache/fscache (7c604e5d6e56 FS-Cache: Fix handling of an attempt to store a page that is now beyond EOF)
Merging fuse/for-next (ce128de6260f fuse: writepages: protect secondary requests from fuse file release)
Merging gfs2/master (70d4ee94b370 GFS2: Use only a single address space for rgrps)
Merging jfs/jfs-next (0439e091e3b1 jfs: fix xattr value size overflow in __jfs_setxattr)
Merging logfs/master (339466142b3f Fix the call to BUG() caused by no free segment found)
Merging nfs/linux-next (16a6ddc70920 point to the right include file in a comment (left over from a9004abc3))
Merging nfsd/nfsd-next (8ef667140c52 NFSD: Don't start lockd when only NFSv4 is running)
Merging omfs/for-next (976d167615b6 Linux 3.1-rc9)
Merging squashfs/master (6d565409503f Squashfs: fix failure to unlock pages on decompress error)
Merging v9fs/for-next (f94741fd2832 net/9p: remove virtio default hack and set appropriate bits instead)
Merging ubifs/linux-next (c23e9b75ccd0 UBIFS: remove invalid warn msg with tst_recovery enabled)
Merging xfs/for-next (324bb26144e9 Merge branch 'xfs-for-linus-v3.13-rc5' into for-next)
Merging vfs/for-next (27ac0ffeac80 locks: break delegations on any attribute modification)
Merging pci/next (79bf7fc51118 Merge branch 'pci/misc' into next)
Merging hid/for-next (ffdfc05fda01 Merge branch 'for-3.14/sony' into for-next)
Merging i2c/i2c/for-next (168e722dcb9a i2c: xilinx: Use devm_* functions)
Merging jdelvare-hwmon/master (68d5516b35c7 hwmon: (it87) Print proper names for the IT8771E and IT8772E)
Merging hwmon-staging/hwmon-next (b17276b13b38 hwmon: (nct6775) Re-enable logical device mapping for NCT6791 during resume)
Merging v4l-dvb/master (bb79fe3ca2ad Merge branch 'patchwork' into to_next)
Merging kbuild/for-next (f49d7fb6de61 Merge branches 'kbuild/kbuild' and 'kbuild/misc' into kbuild/for-next)
Merging kconfig/for-next (4eae518d4b01 localmodconfig: Fix localyesconfig to set to 'y' not 'm')
Merging libata/for-next (421f2c8280ec Merge branch 'for-3.14' into for-next)
Merging pstore/master (bd08ec33b5c2 pstore/ram: Restore ecc information block)
Merging pm/linux-next (631645e5ad31 Merge branch 'acpi-ac')
Merging idle/next (1ae2a8af4228 tools/power turbostat: run on HSX)
Merging apm/for-next (fb9d78aca709 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/apm)
Merging cpupowerutils/master (f16603386b38 cpupower tools: add install target to the debug tools' makefiles)
Merging thermal/next (201531c2777e Merge branches 'misc', 'soc', 'soc-eduardo' and 'int3404-thermal' of .git into next)
CONFLICT (content): Merge conflict in drivers/cpufreq/Kconfig
Merging ieee1394/for-next (ce027ed98fd1 firewire: sbp2: bring back WRITE SAME support)
Merging ubi/linux-next (ae0d14695566 UBI: Add some asserts to ubi_attach_fastmap())
Merging dlm/next (ece35848c184 dlm: set zero linger time on sctp socket)
Merging swiotlb/linux-next (91fec0f562bd swiotlb: update format)
Merging slave-dma/next (087a45b74e02 Merge branch 'for-linus' into next)
CONFLICT (content): Merge conflict in arch/arm/boot/dts/imx53.dtsi
CONFLICT (content): Merge conflict in arch/arm/boot/dts/imx51.dtsi
Merging dmaengine/next (77873803363c net_dma: mark broken)
Merging net-next/master (a1d4b03a076d Merge branch 'bgmac')
CONFLICT (content): Merge conflict in net/ipv6/ip6_vti.c
CONFLICT (content): Merge conflict in net/ipv6/ip6_tunnel.c
CONFLICT (content): Merge conflict in drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
[master 88dc6cd94575] Revert "macvlan: unify macvlan_pcpu_stats and vlan_pcpu_stats"
Merging ipsec-next/master (2f3ea9a95c58 xfrm: checkpatch erros with inline keyword position)
Merging wireless-next/master (c8bf40ad4f8f wireless: delete non-required instances of include <linux/init.h>)
Merging bluetooth/master (81cac64ba258 Bluetooth: Deal with USB devices that are faking CSR vendor)
Merging infiniband/for-next (d8a0f63e2a7b Merge branches 'cxgb4', 'flowsteer', 'misc', 'ocrdma' and 'usnic' into for-next)
Merging mtd/master (802eee95bde7 Linux 3.13-rc6)
Merging l2-mtd/master (276176226564 mtd: bcm47xxpart: alternative MAGIC for board_data partition)
Merging crypto/master (d16b87003ff4 crypto: drivers - Sort drivers/crypto/Makefile)
Merging drm/drm-next (fe3c703c3d80 drm/dp: Clarify automated test constant and add constant for FAUX test pattern)
CONFLICT (content): Merge conflict in drivers/staging/imx-drm/imx-drm-core.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_pm.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/drm_stub.c
Merging drm-intel/for-linux-next (d8ccba866356 drm/i915: grab a pages pin count for preallocate stolen)
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_pm.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_ddi.c
Merging drm-tegra/drm/for-next (81239c6f7972 drm/tegra: fix compile w/ CONFIG_DYNAMIC_DEBUG)
Merging sound/for-next (b8bab04829ab ALSA: compress: update struct snd_codec_desc for sample rate)
CONFLICT (content): Merge conflict in sound/soc/fsl/fsl_ssi.c
Merging sound-asoc/for-next (2cde51fbd0f3 Merge remote-tracking branches 'asoc/topic/ad1836', 'asoc/topic/ad193x', 'asoc/topic/adav80x', 'asoc/topic/adsp', 'asoc/topic/ak4641', 'asoc/topic/ak4642', 'asoc/topic/arizona', 'asoc/topic/atmel', 'asoc/topic/au1x', 'asoc/topic/axi', 'asoc/topic/bcm2835', 'asoc/topic/blackfin', 'asoc/topic/cs4271', 'asoc/topic/cs42l52', 'asoc/topic/da7210', 'asoc/topic/davinci', 'asoc/topic/ep93xx', 'asoc/topic/fsl', 'asoc/topic/fsl-mxs', 'asoc/topic/generic', 'asoc/topic/hdmi', 'asoc/topic/jack', 'asoc/topic/jz4740', 'asoc/topic/max98090', 'asoc/topic/mxs', 'asoc/topic/omap', 'asoc/topic/pxa', 'asoc/topic/rcar', 'asoc/topic/s6000', 'asoc/topic/sai', 'asoc/topic/samsung', 'asoc/topic/sgtl5000', 'asoc/topic/spear', 'asoc/topic/ssm2518', 'asoc/topic/ssm2602', 'asoc/topic/tegra', 'asoc/topic/tlv320aic3x', 'asoc/topic/twl6040', 'asoc/topic/txx9', 'asoc/topic/uda1380', 'asoc/topic/width', 'asoc/topic/wm8510', 'asoc/topic/wm8523', 'asoc/topic/wm8580', 'asoc/topic/wm8711', 'asoc/topic/wm8728', 'asoc/topic/wm8731', 'asoc/topic/wm8741', 'asoc/topic/wm8750', 'asoc/topic/wm8753', 'asoc/topic/wm8776', 'asoc/topic/wm8804', 'asoc/topic/wm8900', 'asoc/topic/wm8901', 'asoc/topic/wm8940', 'asoc/topic/wm8962', 'asoc/topic/wm8974', 'asoc/topic/wm8985', 'asoc/topic/wm8988', 'asoc/topic/wm8990', 'asoc/topic/wm8991', 'asoc/topic/wm8994', 'asoc/topic/wm8995', 'asoc/topic/wm9081' and 'asoc/topic/x86' into asoc-next)
Merging modules/modules-next (74e22fac8858 module.h: Remove unnecessary semicolon)
CONFLICT (add/add): Merge conflict in Documentation/module-signing.txt
Merging virtio/virtio-next (7d2dddda5c92 virtio: pci: remove unnecessary pci_set_drvdata())
Merging input/next (7abf38d6d13c Input: twl4030-keypad - add device tree support)
Merging input-mt/for-next (5e01dc7b26d9 Linux 3.12)
Merging cgroup/for-next (51cd0751d46f Merge branch 'for-3.14' into for-next)
Merging block/for-next (c94566e6fd6f Merge branch 'for-3.14/drivers' into for-next)
CONFLICT (content): Merge conflict in include/trace/events/f2fs.h
CONFLICT (content): Merge conflict in fs/f2fs/segment.c
CONFLICT (content): Merge conflict in fs/f2fs/data.c
Merging device-mapper/for-next (3b1e77ef973f dm cache policy mq: introduce three promotion threshold tunables)
CONFLICT (content): Merge conflict in drivers/md/dm-thin.c
Merging embedded/master (4744b43431e8 embedded: fix vc_translate operator precedence)
Merging firmware/master (6e03a201bbe8 firmware: speed up request_firmware(), v3)
Merging pcmcia/master (80af9e6d7ae6 pcmcia at91_cf: fix raw gpio number usage)
Merging mmc/mmc-next (82793a517714 mmc: sh_mmcif: Fix compilation warning on 64-bit platforms)
$ git reset --hard HEAD^
Merging next-20131212 version of mmc
Merging kgdb/kgdb-next (6bedf31c25dd kdb: Remove unhandled ssb command)
CONFLICT (content): Merge conflict in kernel/debug/debug_core.h
Merging slab/for-next (8afb1474db47 slub: Fix calculation of cpu slabs)
Merging uclinux/for-next (6dbe51c251a3 Linux 3.9-rc1)
Merging md/for-next (6d183de40771 md/raid5: fix newly-broken locking in get_active_stripe.)
Merging mfd/master (90b128ed1557 Merge tag 'mfd-lee-3.13-3' of git://git.linaro.org/people/ljones/mfd)
Merging mfd-lj/for-mfd-next (6a48ec837ea1 mfd: rtsx: Add support for card reader rtl8402)
Merging battery/master (26740dbb50f2 max17042_battery: Add IRQF_ONESHOT flag to use default irq handler)
Merging fbdev/for-next (718b90ac4c21 video: xilinxfb: Simplify error path)
Merging viafb/viafb-next (838ac785d521 viafb: avoid refresh and mode lookup in set_par)
Merging omap_dss2/for-next (46ac29568e63 video: vt8500: fix error handling in probe())
Merging regulator/for-next (7b3c5ea1cf75 Merge remote-tracking branches 'regulator/topic/ab8500', 'regulator/topic/act8865', 'regulator/topic/anatop', 'regulator/topic/arizona', 'regulator/topic/as3722', 'regulator/topic/db8500', 'regulator/topic/gpio', 'regulator/topic/lp3971', 'regulator/topic/lp3972', 'regulator/topic/max14577', 'regulator/topic/max77693', 'regulator/topic/pcf50633', 'regulator/topic/pfuze100', 'regulator/topic/s2mps11', 'regulator/topic/s5m8767', 'regulator/topic/stw481x-vmmc', 'regulator/topic/tps51632', 'regulator/topic/tps65910' and 'regulator/topic/wm831x' into regulator-next)
[master 11885dc8d5b1] Revert "regulator: act8865: register all regulators regardless of how many are used"
Merging security/next (4482a44f6a32 Smack: File receive audit correction)
Merging selinux/master (465954cd649a selinux: selinux_setprocattr()->ptrace_parent() needs rcu_read_lock())
CONFLICT (content): Merge conflict in security/selinux/hooks.c
Merging lblnet/master (07bc9dc1b01b Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc)
Merging watchdog/master (d145823746e9 watchdog: davinci: reuse driver for keystone arch)
Merging dwmw2-iommu/master (e5d0c874391a Merge tag 'iommu-updates-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu)
Merging iommu/next (e6ca48d995e4 Merge branches 'iommu/fixes', 'tracing', 'core', 'arm/tegra' and 'x86/vt-d' into next)
Merging vfio/next (d10999016f41 vfio: Convert control interface to misc driver)
Merging osd/linux-next (861d66601acd exofs: don't leak io_state and pages on read error)
Merging jc_docs/docs-next (5c050fb96380 docs: update the development process document)
Merging trivial/for-next (97e81acd31de IXP4xx: remove '1 &&' from a condition check in ixp4xx_restart())
CONFLICT (content): Merge conflict in drivers/gpu/drm/qxl/Kconfig
Merging audit/master (fc582aef7dcc Merge tag 'v3.12')
Merging fsnotify/for-next (1ca39ab9d21a inotify: automatically restart syscalls)
Merging devicetree/devicetree/next (355e62f5ad12 of/irq: Fix potential buffer overflow)
Merging dt-rh/for-next (1b50b0c3330e Merge branch 'for-3.14' into for-next)
Merging spi/for-next (55aa46f0f5a1 Merge remote-tracking branches 'spi/topic/ath79', 'spi/topic/atmel', 'spi/topic/bcm2835', 'spi/topic/bcm63xx', 'spi/topic/bcm63xx-hsspi', 'spi/topic/coldfire', 'spi/topic/davinci', 'spi/topic/dw', 'spi/topic/falcon', 'spi/topic/fsl-espi', 'spi/topic/gpio', 'spi/topic/mpc512x', 'spi/topic/msiof', 'spi/topic/nuc900', 'spi/topic/omap', 'spi/topic/orion', 'spi/topic/pci', 'spi/topic/qspi', 'spi/topic/rcar', 'spi/topic/rspi', 'spi/topic/s3c24xx', 'spi/topic/s3c64xx', 'spi/topic/sc18is602', 'spi/topic/tegra114', 'spi/topic/tegra20-sflash', 'spi/topic/tegra20-slink', 'spi/topic/txx9' and 'spi/topic/xcomm' into spi-next)
CONFLICT (content): Merge conflict in drivers/spi/spi-mpc512x-psc.c
$ git reset --hard HEAD^
Merging next-20131224 version of spi
CONFLICT (content): Merge conflict in drivers/spi/spi-mpc512x-psc.c
[master e0d6ad20367d] next-20131224/spi
Merging tip/auto-latest (66fa28e2bb4a Merge branch 'x86/ras')
CONFLICT (content): Merge conflict in drivers/acpi/acpi_extlog.c
Merging clockevents/clockevents/next (98aefbe72ec6 Merge branch 'clockevents/for-Simon-3.13-rc2' into clockevents/3.14)
CONFLICT (content): Merge conflict in drivers/clocksource/clksrc-of.c
Merging edac/linux_next (3e45588825c1 cell_edac: fix missing of_node_put)
Merging edac-amd/for-next (90ed4988b8c0 e752x_edac: Fix pci_dev usage count)
Merging ftrace/for-next (b7e0bf341f6c tracing/uprobes: Add @+file_offset fetch method)
Merging rcu/rcu/next (0d3c55bc9fd5 Merge branches 'doc.2013.12.03a', 'fixes.2013.12.12a', 'rcutorture.2013.12.03a' and 'sparse.2013.12.12a' into HEAD)
Merging uprobes/for-next (0326f5a94dde uprobes/core: Handle breakpoint and singlestep exceptions)
Merging kvm/linux-next (989c6b34f6a9 KVM: MMU: handle invalid root_hpa at __direct_map)
Merging kvm-arm/kvm-arm-next (478a8237f656 arm: KVM: Don't return PSCI_INVAL if waitqueue is inactive)
Merging kvm-ppc/kvm-ppc-next (27025a602cb9 powerpc: kvm: optimize "sc 1" as fast return)
Merging oprofile/for-next (6ce4eac1f600 Linux 3.13-rc1)
Merging fw-nohz/nohz/next (74876a98a87a printk: Wake up klogd using irq_work)
Merging xen-tip/linux-next (5d4cffc887a8 Merge branch 'devel/for-linus-3.14' into linux-next)
Merging percpu/for-next (b1a0fbfdde65 percpu: fix spurious sparse warnings from DEFINE_PER_CPU())
Merging workqueues/for-next (4e8b22bd1a37 workqueue: fix pool ID allocation leakage and remove BUILD_BUG_ON() in init_workqueues)
Merging drivers-x86/linux-next (a80e1053aaa3 x86, wmi fix modalias_show return values)
Merging chrome-platform/for-next (2b8454a75b90 platform/chrome: unregister platform driver/device when module exit)
Merging sysctl/master (4e474a00d7ff sysctl: protect poll() in entries that may go away)
Merging regmap/for-next (057c2d5071eb Merge remote-tracking branch 'regmap/topic/ack' into regmap-next)
Merging hsi/for-next (43139a61fc68 HSI: hsi_char: Update ioctl-number.txt)
Merging leds/for-next (4776dc54b071 leds: replace list_for_each with list_for_each_entry)
Merging driver-core/driver-core-next (eb4c69033fd1 Revert "kobject: introduce kobj_completion")
Merging tty/tty-next (b86b75ec57c3 Merge 3.13-rc5 into tty-next)
Merging usb/usb-next (bd6383c81d5f USB: oti6858: switch to generic TIOCMIWAIT implementation)
Merging usb-gadget/next (836a2164491b usb: phy: keystone: remove redundant return value check of platform_get_resource())
Merging staging/staging-next (a6e8e3a470bf Merge tag 'iio-for-3.14b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next)
CONFLICT (content): Merge conflict in drivers/staging/imx-drm/imx-drm-core.c
Merging char-misc/char-misc-next (a45a0258d1f8 GenWQE: Accidently casting to u32 where u64 is required)
Merging scsi/for-next (81286dea29d1 Merge branch 'fixes' into for-next)
Merging target-updates/for-next (d79dc4525ad5 target: Convert inquiry temporary buffer to heap memory)
CONFLICT (content): Merge conflict in drivers/target/target_core_tpg.c
Merging target-merge/for-next-merge (374b105797c3 Linux 3.13-rc3)
Merging writeback/writeback-for-next (f9b0e058cbd0 writeback: Fix data corruption on NFS)
Merging hwspinlock/linux-next (8b37fcfc9b34 hwspinlock: add MAINTAINERS entries)
Merging pinctrl/for-next (44a45b55a727 pinctrl: sh-pfc: ARM: Constify pins and cfg_regs arrays)
Merging vhost/linux-next (d3d665a654a3 vhost-scsi: whitespace tweak)
Merging remoteproc/for-next (b9777859ec01 remoteproc: fix kconfig dependencies for VIRTIO)
Merging rpmsg/for-next (397944df3290 rpmsg: fix kconfig dependencies for VIRTIO)
Merging gpio/for-next (b10b45c0a17b gpio: tb10x: Remove redundant of_match_ptr helper)
Merging dma-mapping/dma-mapping-next (5e01dc7b26d9 Linux 3.12)
Merging pwm/for-next (82569e5b2236 pwm: tiehrpwm: use dev_err() instead of pr_err())
Merging dma-buf/for-next (17b2112f332d Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc)
Merging userns/for-next (41301ae78a99 vfs: Fix a regression in mounting proc)
Merging ktest/for-next (298a0d1d5750 ktest: Add documentation of CLOSE_CONSOLE_SIGNAL)
Merging signal/for-next (20b4fb485227 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs)
Merging clk/clk-next (dbdf6ff51e3c Merge branch 'clk-next-unregister' into clk-next)
Merging random/dev (a9f069e38cc3 random: use the architectural HWRNG for the SHA's IV in extract_buf())
Merging lzo-update/lzo-update (42b775abafaf lib/lzo: huge LZO decompression speedup on ARM by using unaligned access)
Merging arm64-hugepages/for-next/hugepages (af07484863e0 ARM64: mm: THP support.)
Merging aio/master (8e321fefb0e6 aio/migratepages: make aio migrate pages sane)
Merging akpm-current/current (28d6b6dd3443 ipc: change kern_ipc_perm.deleted type to bool)
CONFLICT (content): Merge conflict in mm/mlock.c
CONFLICT (content): Merge conflict in mm/memcontrol.c
Applying: ARM: change further appearance of arm_dma_zone_size to phys_addr_t
$ git checkout -b akpm remotes/origin/akpm/master
Applying: kernel/kexec.c: use vscnprintf() instead of vsnprintf() in vmcoreinfo_append_str()
Applying: softirq: use ffs() in __do_softirq()
Applying: softirq: convert printks to pr_<level>
Applying: softirq: use const char * const for softirq_to_name, whitespace neatening
Applying: mm/migrate.c: fix set cpupid on page migration twice against thp
Applying: mm/migrate.c: fix setting of cpupid on page migration twice against normal page
Applying: zsmalloc: move it under mm
Applying: zram: promote zram from staging
Applying: drivers/w1/w1_int.c: call put_device if device_register fails
Applying: drivers/video/backlight/lcd.c: call put_device if device_register fails
Applying: drivers/net/phy/mdio_bus.c: call put_device on device_register() failure
Applying: checkpatch.pl: check for function declarations without arguments
Applying: mm: add strictlimit knob
Merging akpm/master (13b2a39ba72d mm: add strictlimit knob)


Attachments:
(No filename) (27.55 kB)
(No filename) (836.00 B)
Download all attachments

2014-01-06 19:51:44

by Randy Dunlap

[permalink] [raw]
Subject: Re: linux-next: Tree for Jan 06 (hwmon/lm75.c)

On 01/06/14 01:40, Stephen Rothwell wrote:
> Hi all,
>
> This tree fails (more than usual) the powerpc allyesconfig build.
>
> Changes since 20131224:
>


on i386:

drivers/built-in.o: In function `lm75_remove':
lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
drivers/built-in.o: In function `lm75_probe':
lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'



Full randconfig file is attached.

--
~Randy


Attachments:
config-r6025 (71.42 kB)

2014-01-06 20:32:14

by Guenter Roeck

[permalink] [raw]
Subject: Re: linux-next: Tree for Jan 06 (hwmon/lm75.c)

On Mon, Jan 06, 2014 at 11:51:36AM -0800, Randy Dunlap wrote:
> On 01/06/14 01:40, Stephen Rothwell wrote:
> > Hi all,
> >
> > This tree fails (more than usual) the powerpc allyesconfig build.
> >
> > Changes since 20131224:
> >
>
>
> on i386:
>
> drivers/built-in.o: In function `lm75_remove':
> lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
> drivers/built-in.o: In function `lm75_probe':
> lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'
>

AFAICS that is a dependency problem in thermal code.
CONFIG_THERMAL=m defines the symbols, but CONFIG_SENSORS_LM75=y.

Up to the thermal folks to fix; if the code ends up in mainline we'll have to
revert the patch introducing the calls to the lm75 driver (and the tmp102 driver
which has the same issue).

Another oddity is the help text to THERMAL_OF, which states that it supports
reading and parsing thermal data definitions out of dt but fails to mention
that it also provides the above API functions.

Guenter

>
>
> Full randconfig file is attached.
>
> --
> ~Randy

> #
> # Automatically generated file; DO NOT EDIT.
> # Linux/i386 3.13.0-rc7 Kernel Configuration
> #
> # CONFIG_64BIT is not set
> CONFIG_X86_32=y
> CONFIG_X86=y
> CONFIG_INSTRUCTION_DECODER=y
> CONFIG_OUTPUT_FORMAT="elf32-i386"
> CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
> CONFIG_LOCKDEP_SUPPORT=y
> CONFIG_STACKTRACE_SUPPORT=y
> CONFIG_HAVE_LATENCYTOP_SUPPORT=y
> CONFIG_MMU=y
> CONFIG_NEED_SG_DMA_LENGTH=y
> CONFIG_GENERIC_ISA_DMA=y
> CONFIG_GENERIC_HWEIGHT=y
> CONFIG_ARCH_MAY_HAVE_PC_FDC=y
> CONFIG_RWSEM_XCHGADD_ALGORITHM=y
> CONFIG_GENERIC_CALIBRATE_DELAY=y
> CONFIG_ARCH_HAS_CPU_RELAX=y
> CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
> CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
> CONFIG_HAVE_SETUP_PER_CPU_AREA=y
> CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
> CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
> CONFIG_ARCH_HIBERNATION_POSSIBLE=y
> CONFIG_ARCH_SUSPEND_POSSIBLE=y
> CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
> CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
> # CONFIG_ZONE_DMA32 is not set
> # CONFIG_AUDIT_ARCH is not set
> CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
> CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
> CONFIG_X86_32_LAZY_GS=y
> CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
> CONFIG_ARCH_SUPPORTS_UPROBES=y
> CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
> CONFIG_CONSTRUCTORS=y
> CONFIG_IRQ_WORK=y
> CONFIG_BUILDTIME_EXTABLE_SORT=y
>
> #
> # General setup
> #
> CONFIG_BROKEN_ON_SMP=y
> CONFIG_INIT_ENV_ARG_LIMIT=32
> CONFIG_CROSS_COMPILE=""
> CONFIG_COMPILE_TEST=y
> CONFIG_LOCALVERSION=""
> CONFIG_LOCALVERSION_AUTO=y
> CONFIG_HAVE_KERNEL_GZIP=y
> CONFIG_HAVE_KERNEL_BZIP2=y
> CONFIG_HAVE_KERNEL_LZMA=y
> CONFIG_HAVE_KERNEL_XZ=y
> CONFIG_HAVE_KERNEL_LZO=y
> CONFIG_HAVE_KERNEL_LZ4=y
> # CONFIG_KERNEL_GZIP is not set
> # CONFIG_KERNEL_BZIP2 is not set
> # CONFIG_KERNEL_LZMA is not set
> # CONFIG_KERNEL_XZ is not set
> # CONFIG_KERNEL_LZO is not set
> CONFIG_KERNEL_LZ4=y
> CONFIG_DEFAULT_HOSTNAME="(none)"
> # CONFIG_SWAP is not set
> CONFIG_SYSVIPC=y
> CONFIG_POSIX_MQUEUE=y
> CONFIG_FHANDLE=y
> CONFIG_AUDIT=y
> # CONFIG_AUDITSYSCALL is not set
>
> #
> # IRQ subsystem
> #
> CONFIG_GENERIC_IRQ_PROBE=y
> CONFIG_GENERIC_IRQ_SHOW=y
> CONFIG_IRQ_DOMAIN=y
> CONFIG_IRQ_DOMAIN_DEBUG=y
> CONFIG_IRQ_FORCED_THREADING=y
> CONFIG_SPARSE_IRQ=y
> CONFIG_CLOCKSOURCE_WATCHDOG=y
> CONFIG_KTIME_SCALAR=y
> CONFIG_GENERIC_CLOCKEVENTS=y
> CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
> CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
> CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
> CONFIG_GENERIC_CMOS_UPDATE=y
>
> #
> # Timers subsystem
> #
> CONFIG_TICK_ONESHOT=y
> CONFIG_NO_HZ_COMMON=y
> # CONFIG_HZ_PERIODIC is not set
> CONFIG_NO_HZ_IDLE=y
> # CONFIG_NO_HZ is not set
> CONFIG_HIGH_RES_TIMERS=y
>
> #
> # CPU/Task time and stats accounting
> #
> CONFIG_TICK_CPU_ACCOUNTING=y
> # CONFIG_IRQ_TIME_ACCOUNTING is not set
> # CONFIG_BSD_PROCESS_ACCT is not set
> # CONFIG_TASKSTATS is not set
>
> #
> # RCU Subsystem
> #
> CONFIG_TREE_PREEMPT_RCU=y
> CONFIG_PREEMPT_RCU=y
> CONFIG_RCU_STALL_COMMON=y
> CONFIG_RCU_FANOUT=32
> CONFIG_RCU_FANOUT_LEAF=16
> # CONFIG_RCU_FANOUT_EXACT is not set
> CONFIG_TREE_RCU_TRACE=y
> # CONFIG_RCU_BOOST is not set
> # CONFIG_RCU_NOCB_CPU is not set
> CONFIG_IKCONFIG=y
> CONFIG_LOG_BUF_SHIFT=17
> CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
> CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
> CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
> CONFIG_CGROUPS=y
> CONFIG_CGROUP_DEBUG=y
> # CONFIG_CGROUP_FREEZER is not set
> # CONFIG_CGROUP_DEVICE is not set
> CONFIG_CPUSETS=y
> CONFIG_PROC_PID_CPUSET=y
> # CONFIG_CGROUP_CPUACCT is not set
> CONFIG_RESOURCE_COUNTERS=y
> # CONFIG_MEMCG is not set
> CONFIG_CGROUP_HUGETLB=y
> CONFIG_CGROUP_PERF=y
> CONFIG_CGROUP_SCHED=y
> CONFIG_FAIR_GROUP_SCHED=y
> CONFIG_CFS_BANDWIDTH=y
> # CONFIG_RT_GROUP_SCHED is not set
> CONFIG_BLK_CGROUP=y
> # CONFIG_DEBUG_BLK_CGROUP is not set
> CONFIG_CHECKPOINT_RESTORE=y
> CONFIG_NAMESPACES=y
> # CONFIG_UTS_NS is not set
> CONFIG_IPC_NS=y
> # CONFIG_USER_NS is not set
> # CONFIG_PID_NS is not set
> CONFIG_NET_NS=y
> CONFIG_UIDGID_STRICT_TYPE_CHECKS=y
> CONFIG_SCHED_AUTOGROUP=y
> # CONFIG_SYSFS_DEPRECATED is not set
> # CONFIG_RELAY is not set
> CONFIG_BLK_DEV_INITRD=y
> CONFIG_INITRAMFS_SOURCE=""
> CONFIG_RD_GZIP=y
> # CONFIG_RD_BZIP2 is not set
> # CONFIG_RD_LZMA is not set
> CONFIG_RD_XZ=y
> # CONFIG_RD_LZO is not set
> # CONFIG_RD_LZ4 is not set
> CONFIG_CC_OPTIMIZE_FOR_SIZE=y
> CONFIG_ANON_INODES=y
> CONFIG_HAVE_UID16=y
> CONFIG_SYSCTL_EXCEPTION_TRACE=y
> CONFIG_HAVE_PCSPKR_PLATFORM=y
> CONFIG_EXPERT=y
> # CONFIG_UID16 is not set
> CONFIG_KALLSYMS=y
> CONFIG_KALLSYMS_ALL=y
> CONFIG_PRINTK=y
> # CONFIG_BUG is not set
> CONFIG_ELF_CORE=y
> CONFIG_PCSPKR_PLATFORM=y
> CONFIG_BASE_FULL=y
> # CONFIG_FUTEX is not set
> # CONFIG_EPOLL is not set
> # CONFIG_SIGNALFD is not set
> # CONFIG_TIMERFD is not set
> CONFIG_EVENTFD=y
> CONFIG_SHMEM=y
> CONFIG_AIO=y
> CONFIG_EMBEDDED=y
> CONFIG_HAVE_PERF_EVENTS=y
> CONFIG_PERF_USE_VMALLOC=y
>
> #
> # Kernel Performance Events And Counters
> #
> CONFIG_PERF_EVENTS=y
> CONFIG_DEBUG_PERF_USE_VMALLOC=y
> CONFIG_VM_EVENT_COUNTERS=y
> # CONFIG_COMPAT_BRK is not set
> # CONFIG_SLAB is not set
> # CONFIG_SLUB is not set
> CONFIG_SLOB=y
> CONFIG_PROFILING=y
> CONFIG_TRACEPOINTS=y
> CONFIG_OPROFILE=y
> # CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
> CONFIG_HAVE_OPROFILE=y
> CONFIG_OPROFILE_NMI_TIMER=y
> # CONFIG_KPROBES is not set
> CONFIG_JUMP_LABEL=y
> CONFIG_UPROBES=y
> # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
> CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
> CONFIG_ARCH_USE_BUILTIN_BSWAP=y
> CONFIG_HAVE_IOREMAP_PROT=y
> CONFIG_HAVE_KPROBES=y
> CONFIG_HAVE_KRETPROBES=y
> CONFIG_HAVE_OPTPROBES=y
> CONFIG_HAVE_KPROBES_ON_FTRACE=y
> CONFIG_HAVE_ARCH_TRACEHOOK=y
> CONFIG_HAVE_DMA_ATTRS=y
> CONFIG_HAVE_DMA_CONTIGUOUS=y
> CONFIG_GENERIC_SMP_IDLE_THREAD=y
> CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
> CONFIG_HAVE_DMA_API_DEBUG=y
> CONFIG_HAVE_HW_BREAKPOINT=y
> CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
> CONFIG_HAVE_USER_RETURN_NOTIFIER=y
> CONFIG_HAVE_PERF_EVENTS_NMI=y
> CONFIG_HAVE_PERF_REGS=y
> CONFIG_HAVE_PERF_USER_STACK_DUMP=y
> CONFIG_HAVE_ARCH_JUMP_LABEL=y
> CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
> CONFIG_HAVE_CMPXCHG_LOCAL=y
> CONFIG_HAVE_CMPXCHG_DOUBLE=y
> CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
> CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
> CONFIG_SECCOMP_FILTER=y
> CONFIG_HAVE_CC_STACKPROTECTOR=y
> # CONFIG_CC_STACKPROTECTOR is not set
> CONFIG_CC_STACKPROTECTOR_NONE=y
> # CONFIG_CC_STACKPROTECTOR_REGULAR is not set
> # CONFIG_CC_STACKPROTECTOR_STRONG is not set
> CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
> CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
> CONFIG_HAVE_ARCH_SOFT_DIRTY=y
> CONFIG_MODULES_USE_ELF_REL=y
> CONFIG_CLONE_BACKWARDS=y
> CONFIG_OLD_SIGSUSPEND3=y
> CONFIG_OLD_SIGACTION=y
>
> #
> # GCOV-based kernel profiling
> #
> CONFIG_GCOV_KERNEL=y
> # CONFIG_GCOV_PROFILE_ALL is not set
> # CONFIG_GCOV_FORMAT_AUTODETECT is not set
> # CONFIG_GCOV_FORMAT_3_4 is not set
> CONFIG_GCOV_FORMAT_4_7=y
> CONFIG_HAVE_GENERIC_DMA_COHERENT=y
> CONFIG_RT_MUTEXES=y
> CONFIG_BASE_SMALL=0
> CONFIG_SYSTEM_TRUSTED_KEYRING=y
> CONFIG_MODULES=y
> # CONFIG_MODULE_FORCE_LOAD is not set
> # CONFIG_MODULE_UNLOAD is not set
> # CONFIG_MODVERSIONS is not set
> # CONFIG_MODULE_SRCVERSION_ALL is not set
> # CONFIG_MODULE_SIG is not set
> CONFIG_BLOCK=y
> # CONFIG_LBDAF is not set
> CONFIG_BLK_DEV_BSG=y
> CONFIG_BLK_DEV_BSGLIB=y
> # CONFIG_BLK_DEV_INTEGRITY is not set
> CONFIG_BLK_DEV_THROTTLING=y
> CONFIG_BLK_CMDLINE_PARSER=y
>
> #
> # Partition Types
> #
> # CONFIG_PARTITION_ADVANCED is not set
> CONFIG_MSDOS_PARTITION=y
> CONFIG_EFI_PARTITION=y
>
> #
> # IO Schedulers
> #
> CONFIG_IOSCHED_NOOP=y
> CONFIG_IOSCHED_DEADLINE=m
> CONFIG_IOSCHED_CFQ=y
> # CONFIG_CFQ_GROUP_IOSCHED is not set
> # CONFIG_DEFAULT_CFQ is not set
> CONFIG_DEFAULT_NOOP=y
> CONFIG_DEFAULT_IOSCHED="noop"
> CONFIG_ASN1=m
> CONFIG_UNINLINE_SPIN_UNLOCK=y
> CONFIG_FREEZER=y
>
> #
> # Processor type and features
> #
> CONFIG_ZONE_DMA=y
> # CONFIG_SMP is not set
> CONFIG_X86_MPPARSE=y
> # CONFIG_X86_EXTENDED_PLATFORM is not set
> CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
> CONFIG_X86_32_IRIS=m
> # CONFIG_SCHED_OMIT_FRAME_POINTER is not set
> # CONFIG_HYPERVISOR_GUEST is not set
> CONFIG_NO_BOOTMEM=y
> CONFIG_MEMTEST=y
> # CONFIG_M486 is not set
> # CONFIG_M586 is not set
> CONFIG_M586TSC=y
> # CONFIG_M586MMX is not set
> # CONFIG_M686 is not set
> # CONFIG_MPENTIUMII is not set
> # CONFIG_MPENTIUMIII is not set
> # CONFIG_MPENTIUMM is not set
> # CONFIG_MPENTIUM4 is not set
> # CONFIG_MK6 is not set
> # CONFIG_MK7 is not set
> # CONFIG_MK8 is not set
> # CONFIG_MCRUSOE is not set
> # CONFIG_MEFFICEON is not set
> # CONFIG_MWINCHIPC6 is not set
> # CONFIG_MWINCHIP3D is not set
> # CONFIG_MELAN is not set
> # CONFIG_MGEODEGX1 is not set
> # CONFIG_MGEODE_LX is not set
> # CONFIG_MCYRIXIII is not set
> # CONFIG_MVIAC3_2 is not set
> # CONFIG_MVIAC7 is not set
> # CONFIG_MCORE2 is not set
> # CONFIG_MATOM is not set
> # CONFIG_X86_GENERIC is not set
> CONFIG_X86_INTERNODE_CACHE_SHIFT=5
> CONFIG_X86_L1_CACHE_SHIFT=5
> CONFIG_X86_PPRO_FENCE=y
> CONFIG_X86_F00F_BUG=y
> CONFIG_X86_ALIGNMENT_16=y
> CONFIG_X86_TSC=y
> CONFIG_X86_MINIMUM_CPU_FAMILY=4
> # CONFIG_PROCESSOR_SELECT is not set
> CONFIG_CPU_SUP_INTEL=y
> CONFIG_CPU_SUP_CYRIX_32=y
> CONFIG_CPU_SUP_AMD=y
> CONFIG_CPU_SUP_CENTAUR=y
> CONFIG_CPU_SUP_TRANSMETA_32=y
> CONFIG_CPU_SUP_UMC_32=y
> # CONFIG_HPET_TIMER is not set
> # CONFIG_DMI is not set
> CONFIG_NR_CPUS=1
> # CONFIG_PREEMPT_NONE is not set
> # CONFIG_PREEMPT_VOLUNTARY is not set
> CONFIG_PREEMPT=y
> CONFIG_PREEMPT_COUNT=y
> CONFIG_X86_UP_APIC=y
> CONFIG_X86_UP_IOAPIC=y
> CONFIG_X86_LOCAL_APIC=y
> CONFIG_X86_IO_APIC=y
> CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
> CONFIG_X86_MCE=y
> CONFIG_X86_MCE_INTEL=y
> # CONFIG_X86_MCE_AMD is not set
> # CONFIG_X86_ANCIENT_MCE is not set
> CONFIG_X86_MCE_THRESHOLD=y
> CONFIG_X86_MCE_INJECT=y
> CONFIG_X86_THERMAL_VECTOR=y
> # CONFIG_VM86 is not set
> CONFIG_TOSHIBA=m
> # CONFIG_I8K is not set
> # CONFIG_X86_REBOOTFIXUPS is not set
> CONFIG_MICROCODE=y
> # CONFIG_MICROCODE_INTEL is not set
> CONFIG_MICROCODE_AMD=y
> CONFIG_MICROCODE_OLD_INTERFACE=y
> # CONFIG_MICROCODE_INTEL_EARLY is not set
> CONFIG_MICROCODE_AMD_EARLY=y
> CONFIG_MICROCODE_EARLY=y
> # CONFIG_X86_MSR is not set
> CONFIG_X86_CPUID=m
> # CONFIG_NOHIGHMEM is not set
> CONFIG_HIGHMEM4G=y
> # CONFIG_HIGHMEM64G is not set
> CONFIG_VMSPLIT_3G=y
> # CONFIG_VMSPLIT_3G_OPT is not set
> # CONFIG_VMSPLIT_2G is not set
> # CONFIG_VMSPLIT_2G_OPT is not set
> # CONFIG_VMSPLIT_1G is not set
> CONFIG_PAGE_OFFSET=0xC0000000
> CONFIG_HIGHMEM=y
> CONFIG_ARCH_FLATMEM_ENABLE=y
> CONFIG_ARCH_SPARSEMEM_ENABLE=y
> CONFIG_ARCH_SELECT_MEMORY_MODEL=y
> CONFIG_ILLEGAL_POINTER_VALUE=0
> CONFIG_SELECT_MEMORY_MODEL=y
> CONFIG_FLATMEM_MANUAL=y
> # CONFIG_SPARSEMEM_MANUAL is not set
> CONFIG_FLATMEM=y
> CONFIG_FLAT_NODE_MEM_MAP=y
> CONFIG_SPARSEMEM_STATIC=y
> CONFIG_HAVE_MEMBLOCK=y
> CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
> CONFIG_ARCH_DISCARD_MEMBLOCK=y
> CONFIG_MEMORY_ISOLATION=y
> # CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
> CONFIG_PAGEFLAGS_EXTENDED=y
> CONFIG_SPLIT_PTLOCK_CPUS=4
> CONFIG_COMPACTION=y
> CONFIG_MIGRATION=y
> # CONFIG_PHYS_ADDR_T_64BIT is not set
> CONFIG_ZONE_DMA_FLAG=1
> CONFIG_BOUNCE=y
> CONFIG_VIRT_TO_BUS=y
> # CONFIG_KSM is not set
> CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
> CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
> CONFIG_MEMORY_FAILURE=y
> # CONFIG_TRANSPARENT_HUGEPAGE is not set
> CONFIG_CROSS_MEMORY_ATTACH=y
> CONFIG_NEED_PER_CPU_KM=y
> # CONFIG_CLEANCACHE is not set
> # CONFIG_CMA is not set
> # CONFIG_ZBUD is not set
> CONFIG_ZSMALLOC=y
> CONFIG_PGTABLE_MAPPING=y
> # CONFIG_HIGHPTE is not set
> # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
> CONFIG_X86_RESERVE_LOW=64
> CONFIG_MATH_EMULATION=y
> # CONFIG_MTRR is not set
> # CONFIG_ARCH_RANDOM is not set
> CONFIG_X86_SMAP=y
> CONFIG_SECCOMP=y
> CONFIG_HZ_100=y
> # CONFIG_HZ_250 is not set
> # CONFIG_HZ_300 is not set
> # CONFIG_HZ_1000 is not set
> CONFIG_HZ=100
> CONFIG_SCHED_HRTICK=y
> CONFIG_KEXEC=y
> # CONFIG_CRASH_DUMP is not set
> CONFIG_PHYSICAL_START=0x1000000
> CONFIG_RELOCATABLE=y
> CONFIG_RANDOMIZE_BASE=y
> CONFIG_RANDOMIZE_BASE_MAX_OFFSET=0x20000000
> CONFIG_X86_NEED_RELOCS=y
> CONFIG_PHYSICAL_ALIGN=0x200000
> CONFIG_COMPAT_VDSO=y
> # CONFIG_CMDLINE_BOOL is not set
> CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
>
> #
> # Power management and ACPI options
> #
> CONFIG_SUSPEND=y
> CONFIG_SUSPEND_FREEZER=y
> CONFIG_PM_SLEEP=y
> CONFIG_PM_AUTOSLEEP=y
> # CONFIG_PM_WAKELOCKS is not set
> # CONFIG_PM_RUNTIME is not set
> CONFIG_PM=y
> CONFIG_PM_DEBUG=y
> CONFIG_PM_ADVANCED_DEBUG=y
> CONFIG_PM_SLEEP_DEBUG=y
> # CONFIG_PM_TRACE_RTC is not set
> # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
> # CONFIG_SFI is not set
> CONFIG_X86_APM_BOOT=y
> CONFIG_APM=y
> # CONFIG_APM_IGNORE_USER_SUSPEND is not set
> CONFIG_APM_DO_ENABLE=y
> # CONFIG_APM_DISPLAY_BLANK is not set
> # CONFIG_APM_ALLOW_INTS is not set
>
> #
> # CPU Frequency scaling
> #
> CONFIG_CPU_FREQ=y
> CONFIG_CPU_FREQ_GOV_COMMON=y
> CONFIG_CPU_FREQ_STAT=y
> # CONFIG_CPU_FREQ_STAT_DETAILS is not set
> # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
> # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
> CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
> # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
> # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
> # CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set
> CONFIG_CPU_FREQ_GOV_POWERSAVE=y
> CONFIG_CPU_FREQ_GOV_USERSPACE=y
> # CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
> CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
>
> #
> # x86 CPU frequency scaling drivers
> #
> # CONFIG_X86_INTEL_PSTATE is not set
> CONFIG_X86_POWERNOW_K6=y
> CONFIG_X86_POWERNOW_K7=y
> # CONFIG_X86_SPEEDSTEP_CENTRINO is not set
> CONFIG_X86_SPEEDSTEP_ICH=y
> # CONFIG_X86_SPEEDSTEP_SMI is not set
> # CONFIG_X86_P4_CLOCKMOD is not set
> # CONFIG_X86_CPUFREQ_NFORCE2 is not set
> CONFIG_X86_LONGRUN=m
>
> #
> # shared options
> #
> CONFIG_X86_SPEEDSTEP_LIB=y
> CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
>
> #
> # CPU Idle
> #
> # CONFIG_CPU_IDLE is not set
> # CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
>
> #
> # Bus options (PCI etc.)
> #
> # CONFIG_PCI is not set
> CONFIG_ISA_DMA_API=y
> # CONFIG_ISA is not set
> # CONFIG_SCx200 is not set
> CONFIG_OLPC=y
> CONFIG_ALIX=y
> CONFIG_NET5501=y
> # CONFIG_PCCARD is not set
> CONFIG_X86_SYSFB=y
>
> #
> # Executable file formats / Emulations
> #
> CONFIG_BINFMT_ELF=y
> CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
> # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
> CONFIG_BINFMT_SCRIPT=m
> CONFIG_HAVE_AOUT=y
> CONFIG_BINFMT_AOUT=m
> CONFIG_BINFMT_MISC=y
> CONFIG_COREDUMP=y
> CONFIG_HAVE_ATOMIC_IOMAP=y
> CONFIG_NET=y
>
> #
> # Networking options
> #
> CONFIG_PACKET=y
> # CONFIG_PACKET_DIAG is not set
> CONFIG_UNIX=y
> # CONFIG_UNIX_DIAG is not set
> CONFIG_XFRM=y
> CONFIG_XFRM_ALGO=y
> CONFIG_XFRM_USER=m
> CONFIG_XFRM_SUB_POLICY=y
> CONFIG_XFRM_MIGRATE=y
> CONFIG_XFRM_IPCOMP=y
> CONFIG_NET_KEY=m
> # CONFIG_NET_KEY_MIGRATE is not set
> CONFIG_INET=y
> # CONFIG_IP_MULTICAST is not set
> # CONFIG_IP_ADVANCED_ROUTER is not set
> CONFIG_IP_ROUTE_CLASSID=y
> CONFIG_IP_PNP=y
> # CONFIG_IP_PNP_DHCP is not set
> # CONFIG_IP_PNP_BOOTP is not set
> # CONFIG_IP_PNP_RARP is not set
> # CONFIG_NET_IPIP is not set
> CONFIG_NET_IPGRE_DEMUX=m
> CONFIG_NET_IP_TUNNEL=m
> CONFIG_NET_IPGRE=m
> # CONFIG_SYN_COOKIES is not set
> CONFIG_NET_IPVTI=m
> # CONFIG_INET_AH is not set
> CONFIG_INET_ESP=y
> CONFIG_INET_IPCOMP=y
> CONFIG_INET_XFRM_TUNNEL=y
> CONFIG_INET_TUNNEL=y
> CONFIG_INET_XFRM_MODE_TRANSPORT=m
> CONFIG_INET_XFRM_MODE_TUNNEL=m
> CONFIG_INET_XFRM_MODE_BEET=y
> CONFIG_INET_LRO=y
> CONFIG_INET_DIAG=y
> CONFIG_INET_TCP_DIAG=y
> CONFIG_INET_UDP_DIAG=m
> # CONFIG_TCP_CONG_ADVANCED is not set
> CONFIG_TCP_CONG_CUBIC=y
> CONFIG_DEFAULT_TCP_CONG="cubic"
> # CONFIG_TCP_MD5SIG is not set
> # CONFIG_IPV6 is not set
> CONFIG_NETLABEL=y
> CONFIG_NETWORK_SECMARK=y
> CONFIG_NETWORK_PHY_TIMESTAMPING=y
> # CONFIG_NETFILTER is not set
> CONFIG_IP_DCCP=y
> CONFIG_INET_DCCP_DIAG=y
>
> #
> # DCCP CCIDs Configuration
> #
> # CONFIG_IP_DCCP_CCID2_DEBUG is not set
> CONFIG_IP_DCCP_CCID3=y
> # CONFIG_IP_DCCP_CCID3_DEBUG is not set
> CONFIG_IP_DCCP_TFRC_LIB=y
>
> #
> # DCCP Kernel Hacking
> #
> CONFIG_IP_DCCP_DEBUG=y
> CONFIG_IP_SCTP=m
> CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
> # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
> # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
> CONFIG_SCTP_COOKIE_HMAC_MD5=y
> CONFIG_SCTP_COOKIE_HMAC_SHA1=y
> CONFIG_RDS=m
> # CONFIG_RDS_TCP is not set
> # CONFIG_RDS_DEBUG is not set
> # CONFIG_TIPC is not set
> CONFIG_ATM=y
> CONFIG_ATM_CLIP=y
> # CONFIG_ATM_CLIP_NO_ICMP is not set
> CONFIG_ATM_LANE=m
> CONFIG_ATM_MPOA=y
> # CONFIG_ATM_BR2684 is not set
> CONFIG_L2TP=m
> CONFIG_L2TP_DEBUGFS=m
> CONFIG_L2TP_V3=y
> # CONFIG_L2TP_IP is not set
> CONFIG_L2TP_ETH=y
> CONFIG_STP=y
> CONFIG_BRIDGE=y
> CONFIG_BRIDGE_IGMP_SNOOPING=y
> CONFIG_BRIDGE_VLAN_FILTERING=y
> CONFIG_VLAN_8021Q=y
> # CONFIG_VLAN_8021Q_GVRP is not set
> # CONFIG_VLAN_8021Q_MVRP is not set
> CONFIG_DECNET=y
> # CONFIG_DECNET_ROUTER is not set
> CONFIG_LLC=y
> # CONFIG_LLC2 is not set
> CONFIG_IPX=m
> CONFIG_IPX_INTERN=y
> # CONFIG_ATALK is not set
> # CONFIG_X25 is not set
> CONFIG_LAPB=m
> # CONFIG_PHONET is not set
> CONFIG_IEEE802154=m
> CONFIG_MAC802154=m
> CONFIG_NET_SCHED=y
>
> #
> # Queueing/Scheduling
> #
> CONFIG_NET_SCH_CBQ=y
> CONFIG_NET_SCH_HTB=m
> # CONFIG_NET_SCH_HFSC is not set
> # CONFIG_NET_SCH_ATM is not set
> CONFIG_NET_SCH_PRIO=y
> CONFIG_NET_SCH_MULTIQ=m
> CONFIG_NET_SCH_RED=y
> CONFIG_NET_SCH_SFB=m
> CONFIG_NET_SCH_SFQ=m
> CONFIG_NET_SCH_TEQL=y
> CONFIG_NET_SCH_TBF=m
> CONFIG_NET_SCH_GRED=y
> # CONFIG_NET_SCH_DSMARK is not set
> CONFIG_NET_SCH_NETEM=m
> CONFIG_NET_SCH_DRR=m
> # CONFIG_NET_SCH_MQPRIO is not set
> # CONFIG_NET_SCH_CHOKE is not set
> CONFIG_NET_SCH_QFQ=m
> CONFIG_NET_SCH_CODEL=y
> # CONFIG_NET_SCH_FQ_CODEL is not set
> CONFIG_NET_SCH_FQ=y
> # CONFIG_NET_SCH_HHF is not set
> CONFIG_NET_SCH_PLUG=y
>
> #
> # Classification
> #
> CONFIG_NET_CLS=y
> CONFIG_NET_CLS_BASIC=y
> CONFIG_NET_CLS_TCINDEX=y
> CONFIG_NET_CLS_ROUTE4=y
> # CONFIG_NET_CLS_FW is not set
> CONFIG_NET_CLS_U32=y
> # CONFIG_CLS_U32_PERF is not set
> CONFIG_CLS_U32_MARK=y
> # CONFIG_NET_CLS_RSVP is not set
> CONFIG_NET_CLS_RSVP6=y
> CONFIG_NET_CLS_FLOW=m
> CONFIG_NET_CLS_CGROUP=y
> CONFIG_NET_CLS_BPF=y
> # CONFIG_NET_EMATCH is not set
> # CONFIG_NET_CLS_ACT is not set
> CONFIG_NET_CLS_IND=y
> CONFIG_NET_SCH_FIFO=y
> CONFIG_DCB=y
> # CONFIG_DNS_RESOLVER is not set
> CONFIG_BATMAN_ADV=y
> CONFIG_BATMAN_ADV_BLA=y
> CONFIG_BATMAN_ADV_DAT=y
> CONFIG_BATMAN_ADV_NC=y
> # CONFIG_BATMAN_ADV_DEBUG is not set
> CONFIG_OPENVSWITCH=m
> # CONFIG_OPENVSWITCH_GRE is not set
> CONFIG_VSOCKETS=m
> CONFIG_NETLINK_MMAP=y
> CONFIG_NETLINK_DIAG=m
> CONFIG_NET_MPLS_GSO=y
> # CONFIG_HSR is not set
> # CONFIG_NETPRIO_CGROUP is not set
> CONFIG_NET_RX_BUSY_POLL=y
> CONFIG_BQL=y
>
> #
> # Network testing
> #
> # CONFIG_NET_DROP_MONITOR is not set
> # CONFIG_HAMRADIO is not set
> CONFIG_CAN=y
> CONFIG_CAN_RAW=m
> CONFIG_CAN_BCM=y
> # CONFIG_CAN_GW is not set
>
> #
> # CAN Device Drivers
> #
> # CONFIG_CAN_VCAN is not set
> # CONFIG_CAN_SLCAN is not set
> CONFIG_CAN_DEV=m
> # CONFIG_CAN_CALC_BITTIMING is not set
> CONFIG_CAN_LEDS=y
> CONFIG_CAN_MCP251X=m
> # CONFIG_CAN_GRCAN is not set
> CONFIG_CAN_SJA1000=m
> CONFIG_CAN_SJA1000_ISA=m
> CONFIG_CAN_SJA1000_PLATFORM=m
> CONFIG_CAN_SJA1000_OF_PLATFORM=m
> # CONFIG_CAN_C_CAN is not set
> # CONFIG_CAN_CC770 is not set
> CONFIG_CAN_SOFTING=m
> # CONFIG_CAN_DEBUG_DEVICES is not set
> CONFIG_IRDA=y
>
> #
> # IrDA protocols
> #
> CONFIG_IRLAN=y
> # CONFIG_IRCOMM is not set
> CONFIG_IRDA_ULTRA=y
>
> #
> # IrDA options
> #
> # CONFIG_IRDA_CACHE_LAST_LSAP is not set
> CONFIG_IRDA_FAST_RR=y
> # CONFIG_IRDA_DEBUG is not set
>
> #
> # Infrared-port device drivers
> #
>
> #
> # SIR device drivers
> #
> # CONFIG_IRTTY_SIR is not set
>
> #
> # Dongle support
> #
>
> #
> # FIR device drivers
> #
> CONFIG_NSC_FIR=m
> # CONFIG_WINBOND_FIR is not set
> CONFIG_SMC_IRCC_FIR=y
> CONFIG_ALI_FIR=m
> # CONFIG_VIA_FIR is not set
> CONFIG_BT=y
> # CONFIG_BT_RFCOMM is not set
> CONFIG_BT_BNEP=m
> # CONFIG_BT_BNEP_MC_FILTER is not set
> CONFIG_BT_BNEP_PROTO_FILTER=y
> CONFIG_BT_HIDP=y
>
> #
> # Bluetooth device drivers
> #
> CONFIG_BT_HCIUART=y
> CONFIG_BT_HCIUART_H4=y
> CONFIG_BT_HCIUART_BCSP=y
> # CONFIG_BT_HCIUART_ATH3K is not set
> # CONFIG_BT_HCIUART_LL is not set
> # CONFIG_BT_HCIUART_3WIRE is not set
> CONFIG_BT_HCIVHCI=m
> # CONFIG_BT_MRVL is not set
> CONFIG_AF_RXRPC=y
> CONFIG_AF_RXRPC_DEBUG=y
> CONFIG_RXKAD=m
> CONFIG_WIRELESS=y
> CONFIG_WEXT_CORE=y
> CONFIG_CFG80211=y
> CONFIG_NL80211_TESTMODE=y
> CONFIG_CFG80211_DEVELOPER_WARNINGS=y
> # CONFIG_CFG80211_REG_DEBUG is not set
> CONFIG_CFG80211_CERTIFICATION_ONUS=y
> CONFIG_CFG80211_DEFAULT_PS=y
> CONFIG_CFG80211_DEBUGFS=y
> # CONFIG_CFG80211_INTERNAL_REGDB is not set
> CONFIG_CFG80211_WEXT=y
> # CONFIG_LIB80211 is not set
> CONFIG_MAC80211=m
> CONFIG_MAC80211_HAS_RC=y
> CONFIG_MAC80211_RC_PID=y
> # CONFIG_MAC80211_RC_MINSTREL is not set
> CONFIG_MAC80211_RC_DEFAULT_PID=y
> CONFIG_MAC80211_RC_DEFAULT="pid"
> CONFIG_MAC80211_MESH=y
> # CONFIG_MAC80211_LEDS is not set
> # CONFIG_MAC80211_DEBUGFS is not set
> # CONFIG_MAC80211_MESSAGE_TRACING is not set
> CONFIG_MAC80211_DEBUG_MENU=y
> CONFIG_MAC80211_NOINLINE=y
> # CONFIG_MAC80211_VERBOSE_DEBUG is not set
> # CONFIG_MAC80211_MLME_DEBUG is not set
> # CONFIG_MAC80211_STA_DEBUG is not set
> CONFIG_MAC80211_HT_DEBUG=y
> # CONFIG_MAC80211_IBSS_DEBUG is not set
> CONFIG_MAC80211_PS_DEBUG=y
> CONFIG_MAC80211_MPL_DEBUG=y
> CONFIG_MAC80211_MPATH_DEBUG=y
> # CONFIG_MAC80211_MHWMP_DEBUG is not set
> # CONFIG_MAC80211_MESH_SYNC_DEBUG is not set
> # CONFIG_MAC80211_MESH_CSA_DEBUG is not set
> # CONFIG_MAC80211_MESH_PS_DEBUG is not set
> CONFIG_MAC80211_TDLS_DEBUG=y
> # CONFIG_WIMAX is not set
> # CONFIG_RFKILL is not set
> CONFIG_NET_9P=y
> CONFIG_NET_9P_DEBUG=y
> CONFIG_CAIF=y
> # CONFIG_CAIF_DEBUG is not set
> # CONFIG_CAIF_NETDEV is not set
> CONFIG_CAIF_USB=y
> CONFIG_CEPH_LIB=m
> CONFIG_CEPH_LIB_PRETTYDEBUG=y
> # CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
> CONFIG_NFC=m
> CONFIG_NFC_DIGITAL=m
> CONFIG_NFC_NCI=m
> CONFIG_NFC_NCI_SPI=y
> CONFIG_NFC_HCI=m
> # CONFIG_NFC_SHDLC is not set
>
> #
> # Near Field Communication (NFC) devices
> #
> # CONFIG_NFC_SIM is not set
> CONFIG_NFC_PN544=m
> CONFIG_NFC_MICROREAD=m
>
> #
> # Device Drivers
> #
>
> #
> # Generic Driver Options
> #
> CONFIG_UEVENT_HELPER_PATH=""
> # CONFIG_DEVTMPFS is not set
> CONFIG_STANDALONE=y
> CONFIG_PREVENT_FIRMWARE_BUILD=y
> CONFIG_FW_LOADER=y
> CONFIG_FIRMWARE_IN_KERNEL=y
> CONFIG_EXTRA_FIRMWARE=""
> CONFIG_FW_LOADER_USER_HELPER=y
> CONFIG_DEBUG_DRIVER=y
> CONFIG_DEBUG_DEVRES=y
> # CONFIG_SYS_HYPERVISOR is not set
> # CONFIG_GENERIC_CPU_DEVICES is not set
> CONFIG_REGMAP=y
> CONFIG_REGMAP_I2C=y
> CONFIG_REGMAP_SPI=y
> CONFIG_REGMAP_IRQ=y
> # CONFIG_DMA_SHARED_BUFFER is not set
>
> #
> # Bus devices
> #
> CONFIG_CONNECTOR=y
> CONFIG_PROC_EVENTS=y
> CONFIG_MTD=y
> # CONFIG_MTD_TESTS is not set
> # CONFIG_MTD_REDBOOT_PARTS is not set
> CONFIG_MTD_CMDLINE_PARTS=m
> CONFIG_MTD_OF_PARTS=y
> CONFIG_MTD_AR7_PARTS=y
>
> #
> # User Modules And Translation Layers
> #
> CONFIG_MTD_BLKDEVS=y
> CONFIG_MTD_BLOCK=m
> # CONFIG_MTD_BLOCK_RO is not set
> CONFIG_FTL=m
> CONFIG_NFTL=y
> # CONFIG_NFTL_RW is not set
> CONFIG_INFTL=m
> # CONFIG_RFD_FTL is not set
> CONFIG_SSFDC=y
> CONFIG_SM_FTL=m
> CONFIG_MTD_OOPS=y
>
> #
> # RAM/ROM/Flash chip drivers
> #
> CONFIG_MTD_CFI=y
> CONFIG_MTD_JEDECPROBE=y
> CONFIG_MTD_GEN_PROBE=y
> # CONFIG_MTD_CFI_ADV_OPTIONS is not set
> CONFIG_MTD_MAP_BANK_WIDTH_1=y
> CONFIG_MTD_MAP_BANK_WIDTH_2=y
> CONFIG_MTD_MAP_BANK_WIDTH_4=y
> # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
> # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
> # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
> CONFIG_MTD_CFI_I1=y
> CONFIG_MTD_CFI_I2=y
> # CONFIG_MTD_CFI_I4 is not set
> # CONFIG_MTD_CFI_I8 is not set
> # CONFIG_MTD_CFI_INTELEXT is not set
> CONFIG_MTD_CFI_AMDSTD=y
> CONFIG_MTD_CFI_STAA=m
> CONFIG_MTD_CFI_UTIL=y
> CONFIG_MTD_RAM=m
> CONFIG_MTD_ROM=m
> # CONFIG_MTD_ABSENT is not set
>
> #
> # Mapping drivers for chip access
> #
> CONFIG_MTD_COMPLEX_MAPPINGS=y
> # CONFIG_MTD_PHYSMAP is not set
> # CONFIG_MTD_PHYSMAP_OF is not set
> CONFIG_MTD_SC520CDP=y
> # CONFIG_MTD_NETSC520 is not set
> CONFIG_MTD_TS5500=y
> CONFIG_MTD_AMD76XROM=y
> CONFIG_MTD_ICHXROM=m
> # CONFIG_MTD_NETtel is not set
> CONFIG_MTD_L440GX=m
> CONFIG_MTD_GPIO_ADDR=m
> # CONFIG_MTD_PLATRAM is not set
> # CONFIG_MTD_LATCH_ADDR is not set
>
> #
> # Self-contained MTD device drivers
> #
> CONFIG_MTD_DATAFLASH=m
> CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y
> # CONFIG_MTD_DATAFLASH_OTP is not set
> CONFIG_MTD_M25P80=y
> CONFIG_MTD_SST25L=y
> CONFIG_MTD_SLRAM=m
> CONFIG_MTD_PHRAM=y
> CONFIG_MTD_MTDRAM=y
> CONFIG_MTDRAM_TOTAL_SIZE=4096
> CONFIG_MTDRAM_ERASE_SIZE=128
> CONFIG_MTDRAM_ABS_POS=0
> # CONFIG_MTD_BLOCK2MTD is not set
>
> #
> # Disk-On-Chip Device Drivers
> #
> CONFIG_MTD_DOCG3=m
> CONFIG_BCH_CONST_M=14
> CONFIG_BCH_CONST_T=4
> CONFIG_MTD_NAND_ECC=y
> CONFIG_MTD_NAND_ECC_SMC=y
> CONFIG_MTD_NAND=y
> CONFIG_MTD_NAND_BCH=y
> CONFIG_MTD_NAND_ECC_BCH=y
> # CONFIG_MTD_SM_COMMON is not set
> CONFIG_MTD_NAND_DENALI=m
> CONFIG_MTD_NAND_GPIO=y
> CONFIG_MTD_NAND_IDS=y
> CONFIG_MTD_NAND_DISKONCHIP=y
> # CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
> CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
> # CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
> # CONFIG_MTD_NAND_DOCG4 is not set
> CONFIG_MTD_NAND_CS553X=y
> # CONFIG_MTD_NAND_NANDSIM is not set
> CONFIG_MTD_NAND_PLATFORM=m
> CONFIG_MTD_NAND_SH_FLCTL=m
> CONFIG_MTD_ONENAND=m
> # CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
> # CONFIG_MTD_ONENAND_GENERIC is not set
> CONFIG_MTD_ONENAND_OTP=y
> # CONFIG_MTD_ONENAND_2X_PROGRAM is not set
>
> #
> # LPDDR flash memory drivers
> #
> # CONFIG_MTD_LPDDR is not set
> # CONFIG_MTD_UBI is not set
> CONFIG_OF=y
>
> #
> # Device Tree and Open Firmware support
> #
> CONFIG_OF_SELFTEST=y
> CONFIG_OF_PROMTREE=y
> CONFIG_OF_ADDRESS=y
> CONFIG_OF_IRQ=y
> CONFIG_OF_MTD=y
> CONFIG_PARPORT=y
> CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
> # CONFIG_PARPORT_PC is not set
> # CONFIG_PARPORT_GSC is not set
> CONFIG_PARPORT_AX88796=y
> # CONFIG_PARPORT_1284 is not set
> CONFIG_PARPORT_NOT_PC=y
> # CONFIG_BLK_DEV is not set
>
> #
> # Misc devices
> #
> CONFIG_SENSORS_LIS3LV02D=m
> CONFIG_AD525X_DPOT=y
> # CONFIG_AD525X_DPOT_I2C is not set
> # CONFIG_AD525X_DPOT_SPI is not set
> CONFIG_DUMMY_IRQ=y
> CONFIG_ICS932S401=y
> # CONFIG_ATMEL_SSC is not set
> CONFIG_ENCLOSURE_SERVICES=y
> CONFIG_APDS9802ALS=y
> # CONFIG_ISL29003 is not set
> CONFIG_ISL29020=m
> CONFIG_SENSORS_TSL2550=y
> CONFIG_SENSORS_BH1780=m
> CONFIG_SENSORS_BH1770=m
> # CONFIG_SENSORS_APDS990X is not set
> CONFIG_HMC6352=m
> CONFIG_DS1682=m
> CONFIG_TI_DAC7512=m
> CONFIG_BMP085=y
> # CONFIG_BMP085_I2C is not set
> CONFIG_BMP085_SPI=y
> CONFIG_USB_SWITCH_FSA9480=y
> CONFIG_LATTICE_ECP3_CONFIG=y
> CONFIG_SRAM=y
> CONFIG_C2PORT=m
> # CONFIG_C2PORT_DURAMAR_2150 is not set
>
> #
> # EEPROM support
> #
> # CONFIG_EEPROM_AT24 is not set
> CONFIG_EEPROM_AT25=y
> # CONFIG_EEPROM_LEGACY is not set
> CONFIG_EEPROM_MAX6875=m
> CONFIG_EEPROM_93CX6=y
> CONFIG_EEPROM_93XX46=m
>
> #
> # Texas Instruments shared transport line discipline
> #
> # CONFIG_TI_ST is not set
> CONFIG_SENSORS_LIS3_SPI=m
> # CONFIG_SENSORS_LIS3_I2C is not set
>
> #
> # Altera FPGA firmware download module
> #
> CONFIG_ALTERA_STAPL=y
>
> #
> # Intel MIC Host Driver
> #
>
> #
> # Intel MIC Card Driver
> #
> CONFIG_HAVE_IDE=y
> # CONFIG_IDE is not set
>
> #
> # SCSI device support
> #
> CONFIG_SCSI_MOD=y
> # CONFIG_RAID_ATTRS is not set
> CONFIG_SCSI=y
> CONFIG_SCSI_DMA=y
> # CONFIG_SCSI_TGT is not set
> # CONFIG_SCSI_NETLINK is not set
>
> #
> # SCSI support type (disk, tape, CD-ROM)
> #
> # CONFIG_BLK_DEV_SD is not set
> CONFIG_CHR_DEV_ST=y
> # CONFIG_CHR_DEV_OSST is not set
> # CONFIG_BLK_DEV_SR is not set
> CONFIG_CHR_DEV_SG=m
> # CONFIG_CHR_DEV_SCH is not set
> CONFIG_SCSI_ENCLOSURE=y
> CONFIG_SCSI_MULTI_LUN=y
> # CONFIG_SCSI_CONSTANTS is not set
> CONFIG_SCSI_LOGGING=y
> # CONFIG_SCSI_SCAN_ASYNC is not set
>
> #
> # SCSI Transports
> #
> # CONFIG_SCSI_SPI_ATTRS is not set
> # CONFIG_SCSI_FC_ATTRS is not set
> # CONFIG_SCSI_ISCSI_ATTRS is not set
> CONFIG_SCSI_SAS_ATTRS=y
> CONFIG_SCSI_SAS_LIBSAS=m
> # CONFIG_SCSI_SAS_ATA is not set
> # CONFIG_SCSI_SAS_HOST_SMP is not set
> CONFIG_SCSI_SRP_ATTRS=m
> # CONFIG_SCSI_LOWLEVEL is not set
> CONFIG_SCSI_DH=m
> CONFIG_SCSI_DH_RDAC=m
> CONFIG_SCSI_DH_HP_SW=m
> # CONFIG_SCSI_DH_EMC is not set
> # CONFIG_SCSI_DH_ALUA is not set
> CONFIG_SCSI_OSD_INITIATOR=y
> # CONFIG_SCSI_OSD_ULD is not set
> CONFIG_SCSI_OSD_DPRINT_SENSE=1
> CONFIG_SCSI_OSD_DEBUG=y
> CONFIG_ATA=m
> # CONFIG_ATA_NONSTANDARD is not set
> CONFIG_ATA_VERBOSE_ERROR=y
> # CONFIG_SATA_PMP is not set
>
> #
> # Controllers with non-SFF native interface
> #
> # CONFIG_SATA_AHCI_PLATFORM is not set
> CONFIG_ATA_SFF=y
>
> #
> # SFF controllers with custom DMA interface
> #
> # CONFIG_ATA_BMDMA is not set
>
> #
> # PIO-only SFF controllers
> #
> CONFIG_PATA_PLATFORM=m
> # CONFIG_PATA_OF_PLATFORM is not set
>
> #
> # Generic fallback / legacy drivers
> #
> # CONFIG_MD is not set
> CONFIG_TARGET_CORE=y
> CONFIG_TCM_IBLOCK=m
> CONFIG_TCM_FILEIO=y
> CONFIG_TCM_PSCSI=y
> CONFIG_LOOPBACK_TARGET=y
> CONFIG_ISCSI_TARGET=y
> # CONFIG_MACINTOSH_DRIVERS is not set
> # CONFIG_NETDEVICES is not set
>
> #
> # Input device support
> #
> CONFIG_INPUT=y
> CONFIG_INPUT_FF_MEMLESS=y
> CONFIG_INPUT_POLLDEV=y
> CONFIG_INPUT_SPARSEKMAP=m
> CONFIG_INPUT_MATRIXKMAP=y
>
> #
> # Userland interfaces
> #
> CONFIG_INPUT_MOUSEDEV=m
> # CONFIG_INPUT_MOUSEDEV_PSAUX is not set
> CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
> CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
> # CONFIG_INPUT_JOYDEV is not set
> # CONFIG_INPUT_EVDEV is not set
> CONFIG_INPUT_EVBUG=m
>
> #
> # Input Device Drivers
> #
> CONFIG_INPUT_KEYBOARD=y
> CONFIG_KEYBOARD_ADP5588=y
> # CONFIG_KEYBOARD_ADP5589 is not set
> CONFIG_KEYBOARD_ATKBD=m
> CONFIG_KEYBOARD_QT1070=y
> CONFIG_KEYBOARD_QT2160=m
> # CONFIG_KEYBOARD_LKKBD is not set
> CONFIG_KEYBOARD_GPIO=m
> CONFIG_KEYBOARD_GPIO_POLLED=y
> # CONFIG_KEYBOARD_TCA6416 is not set
> CONFIG_KEYBOARD_TCA8418=m
> # CONFIG_KEYBOARD_MATRIX is not set
> CONFIG_KEYBOARD_LM8323=y
> CONFIG_KEYBOARD_LM8333=m
> # CONFIG_KEYBOARD_MAX7359 is not set
> CONFIG_KEYBOARD_MCS=m
> CONFIG_KEYBOARD_MPR121=y
> CONFIG_KEYBOARD_NEWTON=m
> CONFIG_KEYBOARD_OPENCORES=y
> # CONFIG_KEYBOARD_STOWAWAY is not set
> CONFIG_KEYBOARD_SUNKBD=m
> # CONFIG_KEYBOARD_SH_KEYSC is not set
> CONFIG_KEYBOARD_TWL4030=y
> CONFIG_KEYBOARD_XTKBD=m
> CONFIG_KEYBOARD_CROS_EC=y
> CONFIG_INPUT_LEDS=y
> # CONFIG_INPUT_MOUSE is not set
> # CONFIG_INPUT_JOYSTICK is not set
> CONFIG_INPUT_TABLET=y
> CONFIG_INPUT_TOUCHSCREEN=y
> CONFIG_TOUCHSCREEN_88PM860X=m
> # CONFIG_TOUCHSCREEN_ADS7846 is not set
> # CONFIG_TOUCHSCREEN_AD7877 is not set
> # CONFIG_TOUCHSCREEN_AD7879 is not set
> CONFIG_TOUCHSCREEN_ATMEL_MXT=m
> # CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
> CONFIG_TOUCHSCREEN_BU21013=y
> # CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
> # CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
> CONFIG_TOUCHSCREEN_CYTTSP4_CORE=y
> CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m
> # CONFIG_TOUCHSCREEN_CYTTSP4_SPI is not set
> CONFIG_TOUCHSCREEN_DA9034=y
> # CONFIG_TOUCHSCREEN_DA9052 is not set
> # CONFIG_TOUCHSCREEN_DYNAPRO is not set
> # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
> # CONFIG_TOUCHSCREEN_EETI is not set
> # CONFIG_TOUCHSCREEN_EGALAX is not set
> # CONFIG_TOUCHSCREEN_FUJITSU is not set
> # CONFIG_TOUCHSCREEN_ILI210X is not set
> CONFIG_TOUCHSCREEN_GUNZE=m
> CONFIG_TOUCHSCREEN_ELO=y
> CONFIG_TOUCHSCREEN_WACOM_W8001=m
> CONFIG_TOUCHSCREEN_WACOM_I2C=y
> CONFIG_TOUCHSCREEN_MAX11801=m
> # CONFIG_TOUCHSCREEN_MCS5000 is not set
> CONFIG_TOUCHSCREEN_MMS114=y
> # CONFIG_TOUCHSCREEN_MTOUCH is not set
> CONFIG_TOUCHSCREEN_INEXIO=y
> CONFIG_TOUCHSCREEN_MK712=y
> CONFIG_TOUCHSCREEN_PENMOUNT=y
> # CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
> CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
> # CONFIG_TOUCHSCREEN_TOUCHWIN is not set
> # CONFIG_TOUCHSCREEN_PIXCIR is not set
> CONFIG_TOUCHSCREEN_WM831X=y
> CONFIG_TOUCHSCREEN_MC13783=y
> # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
> CONFIG_TOUCHSCREEN_TSC_SERIO=m
> CONFIG_TOUCHSCREEN_TSC2005=y
> # CONFIG_TOUCHSCREEN_TSC2007 is not set
> CONFIG_TOUCHSCREEN_PCAP=m
> CONFIG_TOUCHSCREEN_ST1232=y
> CONFIG_TOUCHSCREEN_TPS6507X=m
> CONFIG_TOUCHSCREEN_ZFORCE=y
> CONFIG_INPUT_MISC=y
> # CONFIG_INPUT_88PM860X_ONKEY is not set
> # CONFIG_INPUT_88PM80X_ONKEY is not set
> CONFIG_INPUT_AD714X=y
> CONFIG_INPUT_AD714X_I2C=m
> CONFIG_INPUT_AD714X_SPI=y
> CONFIG_INPUT_BMA150=m
> CONFIG_INPUT_PCSPKR=m
> CONFIG_INPUT_MC13783_PWRBUTTON=y
> CONFIG_INPUT_MMA8450=y
> # CONFIG_INPUT_MPU3050 is not set
> # CONFIG_INPUT_APANEL is not set
> CONFIG_INPUT_GP2A=y
> CONFIG_INPUT_GPIO_BEEPER=y
> CONFIG_INPUT_GPIO_TILT_POLLED=m
> CONFIG_INPUT_WISTRON_BTNS=m
> # CONFIG_INPUT_KXTJ9 is not set
> CONFIG_INPUT_TWL4030_PWRBUTTON=y
> CONFIG_INPUT_TWL4030_VIBRA=m
> CONFIG_INPUT_UINPUT=y
> CONFIG_INPUT_PCF50633_PMU=y
> # CONFIG_INPUT_PCF8574 is not set
> CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
> # CONFIG_INPUT_DA9052_ONKEY is not set
> # CONFIG_INPUT_DA9055_ONKEY is not set
> CONFIG_INPUT_WM831X_ON=m
> CONFIG_INPUT_PCAP=m
> CONFIG_INPUT_ADXL34X=y
> CONFIG_INPUT_ADXL34X_I2C=m
> # CONFIG_INPUT_ADXL34X_SPI is not set
> CONFIG_INPUT_CMA3000=m
> CONFIG_INPUT_CMA3000_I2C=m
> # CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set
>
> #
> # Hardware I/O ports
> #
> CONFIG_SERIO=y
> CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
> CONFIG_SERIO_I8042=m
> CONFIG_SERIO_SERPORT=y
> CONFIG_SERIO_CT82C710=m
> CONFIG_SERIO_PARKBD=m
> CONFIG_SERIO_LIBPS2=m
> CONFIG_SERIO_RAW=m
> CONFIG_SERIO_ALTERA_PS2=m
> CONFIG_SERIO_PS2MULT=m
> CONFIG_SERIO_ARC_PS2=y
> CONFIG_SERIO_APBPS2=y
> CONFIG_SERIO_OLPC_APSP=y
> CONFIG_GAMEPORT=y
> CONFIG_GAMEPORT_NS558=m
> CONFIG_GAMEPORT_L4=m
>
> #
> # Character devices
> #
> CONFIG_TTY=y
> CONFIG_VT=y
> # CONFIG_CONSOLE_TRANSLATIONS is not set
> # CONFIG_VT_CONSOLE is not set
> CONFIG_HW_CONSOLE=y
> # CONFIG_VT_HW_CONSOLE_BINDING is not set
> # CONFIG_UNIX98_PTYS is not set
> # CONFIG_LEGACY_PTYS is not set
> CONFIG_SERIAL_NONSTANDARD=y
> # CONFIG_N_HDLC is not set
> CONFIG_N_GSM=y
> # CONFIG_TRACE_ROUTER is not set
> CONFIG_TRACE_SINK=m
> # CONFIG_DEVKMEM is not set
>
> #
> # Serial drivers
> #
> CONFIG_SERIAL_8250=m
> CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
> CONFIG_FIX_EARLYCON_MEM=y
> CONFIG_SERIAL_8250_DMA=y
> CONFIG_SERIAL_8250_NR_UARTS=4
> CONFIG_SERIAL_8250_RUNTIME_UARTS=4
> # CONFIG_SERIAL_8250_EXTENDED is not set
> CONFIG_SERIAL_8250_DW=m
>
> #
> # Non-8250 serial port support
> #
> CONFIG_SERIAL_MAX3100=y
> CONFIG_SERIAL_MAX310X=y
> CONFIG_SERIAL_CORE=y
> CONFIG_SERIAL_CORE_CONSOLE=y
> CONFIG_SERIAL_OF_PLATFORM=m
> CONFIG_SERIAL_SCCNXP=m
> CONFIG_SERIAL_TIMBERDALE=y
> CONFIG_SERIAL_ALTERA_JTAGUART=m
> CONFIG_SERIAL_ALTERA_UART=y
> CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
> CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
> # CONFIG_SERIAL_ALTERA_UART_CONSOLE is not set
> # CONFIG_SERIAL_IFX6X60 is not set
> CONFIG_SERIAL_XILINX_PS_UART=m
> # CONFIG_SERIAL_ARC is not set
> CONFIG_SERIAL_FSL_LPUART=m
> CONFIG_SERIAL_ST_ASC=y
> CONFIG_SERIAL_ST_ASC_CONSOLE=y
> CONFIG_TTY_PRINTK=y
> # CONFIG_PRINTER is not set
> CONFIG_PPDEV=y
> CONFIG_IPMI_HANDLER=y
> # CONFIG_IPMI_PANIC_EVENT is not set
> # CONFIG_IPMI_DEVICE_INTERFACE is not set
> CONFIG_IPMI_SI=y
> CONFIG_IPMI_WATCHDOG=m
> CONFIG_IPMI_POWEROFF=y
> CONFIG_HW_RANDOM=m
> CONFIG_HW_RANDOM_TIMERIOMEM=m
> CONFIG_HW_RANDOM_VIA=m
> # CONFIG_HW_RANDOM_TPM is not set
> # CONFIG_NVRAM is not set
> # CONFIG_R3964 is not set
> CONFIG_MWAVE=m
> CONFIG_PC8736x_GPIO=m
> CONFIG_NSC_GPIO=m
> CONFIG_RAW_DRIVER=m
> CONFIG_MAX_RAW_DEVS=256
> # CONFIG_HANGCHECK_TIMER is not set
> CONFIG_TCG_TPM=y
> CONFIG_TCG_TIS=y
> # CONFIG_TCG_TIS_I2C_ATMEL is not set
> # CONFIG_TCG_TIS_I2C_INFINEON is not set
> # CONFIG_TCG_TIS_I2C_NUVOTON is not set
> # CONFIG_TCG_NSC is not set
> CONFIG_TCG_ATMEL=m
> # CONFIG_TCG_ST33_I2C is not set
> # CONFIG_TELCLOCK is not set
> CONFIG_I2C=y
> CONFIG_I2C_BOARDINFO=y
> CONFIG_I2C_COMPAT=y
> # CONFIG_I2C_CHARDEV is not set
> CONFIG_I2C_MUX=m
>
> #
> # Multiplexer I2C Chip support
> #
> CONFIG_I2C_ARB_GPIO_CHALLENGE=m
> CONFIG_I2C_MUX_GPIO=m
> CONFIG_I2C_MUX_PCA9541=m
> # CONFIG_I2C_MUX_PCA954x is not set
> CONFIG_I2C_HELPER_AUTO=y
> CONFIG_I2C_SMBUS=y
> CONFIG_I2C_ALGOBIT=y
>
> #
> # I2C Hardware Bus support
> #
>
> #
> # I2C system bus drivers (mostly embedded / system-on-chip)
> #
> CONFIG_I2C_CBUS_GPIO=y
> # CONFIG_I2C_GPIO is not set
> # CONFIG_I2C_KEMPLD is not set
> # CONFIG_I2C_OCORES is not set
> # CONFIG_I2C_PCA_PLATFORM is not set
> # CONFIG_I2C_PXA_PCI is not set
> # CONFIG_I2C_RIIC is not set
> CONFIG_I2C_SH_MOBILE=m
> CONFIG_I2C_SIMTEC=m
> CONFIG_I2C_XILINX=m
> CONFIG_I2C_RCAR=y
>
> #
> # External I2C/SMBus adapter drivers
> #
> CONFIG_I2C_PARPORT=y
> CONFIG_I2C_PARPORT_LIGHT=m
> CONFIG_I2C_TAOS_EVM=y
>
> #
> # Other I2C/SMBus bus drivers
> #
> # CONFIG_I2C_STUB is not set
> # CONFIG_I2C_DEBUG_CORE is not set
> # CONFIG_I2C_DEBUG_ALGO is not set
> CONFIG_I2C_DEBUG_BUS=y
> CONFIG_SPI=y
> CONFIG_SPI_DEBUG=y
> CONFIG_SPI_MASTER=y
>
> #
> # SPI Master Controller Drivers
> #
> CONFIG_SPI_ALTERA=m
> # CONFIG_SPI_ATMEL is not set
> # CONFIG_SPI_BCM2835 is not set
> CONFIG_SPI_BCM63XX_HSSPI=m
> CONFIG_SPI_BITBANG=y
> # CONFIG_SPI_BUTTERFLY is not set
> CONFIG_SPI_EP93XX=y
> CONFIG_SPI_GPIO=m
> CONFIG_SPI_IMX=m
> CONFIG_SPI_LM70_LLP=y
> CONFIG_SPI_FSL_LIB=y
> CONFIG_SPI_FSL_SPI=y
> CONFIG_SPI_FSL_DSPI=m
> CONFIG_SPI_OC_TINY=y
> # CONFIG_SPI_TI_QSPI is not set
> CONFIG_SPI_OMAP_100K=y
> # CONFIG_SPI_ORION is not set
> # CONFIG_SPI_PXA2XX_PCI is not set
> CONFIG_SPI_SC18IS602=m
> CONFIG_SPI_SH=y
> CONFIG_SPI_SH_HSPI=y
> CONFIG_SPI_TXX9=m
> # CONFIG_SPI_XCOMM is not set
> # CONFIG_SPI_XILINX is not set
> CONFIG_SPI_DESIGNWARE=y
>
> #
> # SPI Protocol Masters
> #
> CONFIG_SPI_SPIDEV=y
> CONFIG_SPI_TLE62X0=m
> CONFIG_HSI=m
> CONFIG_HSI_BOARDINFO=y
>
> #
> # HSI clients
> #
> CONFIG_HSI_CHAR=m
>
> #
> # PPS support
> #
> CONFIG_PPS=y
> CONFIG_PPS_DEBUG=y
> CONFIG_NTP_PPS=y
>
> #
> # PPS clients support
> #
> # CONFIG_PPS_CLIENT_KTIMER is not set
> # CONFIG_PPS_CLIENT_LDISC is not set
> # CONFIG_PPS_CLIENT_PARPORT is not set
> CONFIG_PPS_CLIENT_GPIO=y
>
> #
> # PPS generators support
> #
>
> #
> # PTP clock support
> #
> # CONFIG_PTP_1588_CLOCK is not set
>
> #
> # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
> #
> # CONFIG_PTP_1588_CLOCK_PCH is not set
> CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
> CONFIG_GPIOLIB=y
> CONFIG_GPIO_DEVRES=y
> CONFIG_OF_GPIO=y
> CONFIG_DEBUG_GPIO=y
> # CONFIG_GPIO_SYSFS is not set
> CONFIG_GPIO_DA9052=m
> # CONFIG_GPIO_DA9055 is not set
> CONFIG_GPIO_MAX730X=y
>
> #
> # Memory mapped GPIO drivers:
> #
> # CONFIG_GPIO_GENERIC_PLATFORM is not set
> # CONFIG_GPIO_IT8761E is not set
> CONFIG_GPIO_F7188X=y
> # CONFIG_GPIO_SCH311X is not set
> CONFIG_GPIO_TS5500=m
> # CONFIG_GPIO_GRGPIO is not set
>
> #
> # I2C GPIO expanders:
> #
> CONFIG_GPIO_ARIZONA=y
> # CONFIG_GPIO_LP3943 is not set
> CONFIG_GPIO_MAX7300=y
> CONFIG_GPIO_MAX732X=m
> CONFIG_GPIO_PCA953X=y
> CONFIG_GPIO_PCA953X_IRQ=y
> CONFIG_GPIO_PCF857X=m
> # CONFIG_GPIO_SX150X is not set
> CONFIG_GPIO_TPS65912=y
> CONFIG_GPIO_TWL4030=m
> # CONFIG_GPIO_WM831X is not set
> CONFIG_GPIO_WM8350=m
> CONFIG_GPIO_WM8994=y
> CONFIG_GPIO_ADP5588=m
> # CONFIG_GPIO_ADNP is not set
>
> #
> # PCI GPIO expanders:
> #
>
> #
> # SPI GPIO expanders:
> #
> CONFIG_GPIO_MAX7301=m
> CONFIG_GPIO_MCP23S08=y
> CONFIG_GPIO_MC33880=y
> # CONFIG_GPIO_74X164 is not set
>
> #
> # AC97 GPIO expanders:
> #
>
> #
> # LPC GPIO expanders:
> #
> CONFIG_GPIO_KEMPLD=m
>
> #
> # MODULbus GPIO expanders:
> #
> CONFIG_GPIO_PALMAS=y
> # CONFIG_GPIO_TPS6586X is not set
> # CONFIG_GPIO_BCM_KONA is not set
>
> #
> # USB GPIO expanders:
> #
> CONFIG_W1=y
> # CONFIG_W1_CON is not set
>
> #
> # 1-wire Bus Masters
> #
> CONFIG_W1_MASTER_DS2482=y
> CONFIG_W1_MASTER_DS1WM=m
> # CONFIG_W1_MASTER_GPIO is not set
>
> #
> # 1-wire Slaves
> #
> CONFIG_W1_SLAVE_THERM=y
> CONFIG_W1_SLAVE_SMEM=m
> CONFIG_W1_SLAVE_DS2408=y
> CONFIG_W1_SLAVE_DS2408_READBACK=y
> # CONFIG_W1_SLAVE_DS2413 is not set
> # CONFIG_W1_SLAVE_DS2423 is not set
> # CONFIG_W1_SLAVE_DS2431 is not set
> CONFIG_W1_SLAVE_DS2433=m
> # CONFIG_W1_SLAVE_DS2433_CRC is not set
> # CONFIG_W1_SLAVE_DS2760 is not set
> CONFIG_W1_SLAVE_DS2780=m
> CONFIG_W1_SLAVE_DS2781=y
> CONFIG_W1_SLAVE_DS28E04=y
> CONFIG_W1_SLAVE_BQ27000=y
> CONFIG_POWER_SUPPLY=y
> CONFIG_POWER_SUPPLY_DEBUG=y
> CONFIG_PDA_POWER=y
> CONFIG_GENERIC_ADC_BATTERY=m
> # CONFIG_WM831X_BACKUP is not set
> CONFIG_WM831X_POWER=m
> # CONFIG_WM8350_POWER is not set
> CONFIG_TEST_POWER=y
> # CONFIG_BATTERY_88PM860X is not set
> CONFIG_BATTERY_DS2780=m
> CONFIG_BATTERY_DS2781=y
> CONFIG_BATTERY_DS2782=m
> # CONFIG_BATTERY_OLPC is not set
> CONFIG_BATTERY_SBS=y
> # CONFIG_BATTERY_BQ27x00 is not set
> CONFIG_BATTERY_DA9030=y
> CONFIG_BATTERY_DA9052=m
> CONFIG_BATTERY_MAX17040=y
> CONFIG_BATTERY_MAX17042=y
> # CONFIG_BATTERY_TWL4030_MADC is not set
> CONFIG_CHARGER_PCF50633=y
> CONFIG_BATTERY_RX51=m
> # CONFIG_CHARGER_MAX8903 is not set
> CONFIG_CHARGER_TWL4030=m
> # CONFIG_CHARGER_LP8727 is not set
> CONFIG_CHARGER_GPIO=y
> CONFIG_CHARGER_MAX14577=y
> CONFIG_CHARGER_BQ2415X=m
> CONFIG_CHARGER_BQ24190=y
> CONFIG_CHARGER_BQ24735=m
> CONFIG_CHARGER_SMB347=y
> # CONFIG_BATTERY_GOLDFISH is not set
> # CONFIG_POWER_RESET is not set
> CONFIG_POWER_AVS=y
> CONFIG_HWMON=y
> CONFIG_HWMON_VID=y
> CONFIG_HWMON_DEBUG_CHIP=y
>
> #
> # Native drivers
> #
> # CONFIG_SENSORS_AD7314 is not set
> CONFIG_SENSORS_AD7414=m
> # CONFIG_SENSORS_AD7418 is not set
> CONFIG_SENSORS_ADCXX=y
> # CONFIG_SENSORS_ADM1021 is not set
> CONFIG_SENSORS_ADM1025=y
> CONFIG_SENSORS_ADM1026=m
> CONFIG_SENSORS_ADM1029=m
> # CONFIG_SENSORS_ADM1031 is not set
> CONFIG_SENSORS_ADM9240=m
> CONFIG_SENSORS_ADT7X10=y
> CONFIG_SENSORS_ADT7310=y
> CONFIG_SENSORS_ADT7410=m
> CONFIG_SENSORS_ADT7411=y
> CONFIG_SENSORS_ADT7462=m
> CONFIG_SENSORS_ADT7470=m
> # CONFIG_SENSORS_ADT7475 is not set
> # CONFIG_SENSORS_ASC7621 is not set
> CONFIG_SENSORS_ASB100=y
> # CONFIG_SENSORS_ATXP1 is not set
> # CONFIG_SENSORS_DS620 is not set
> # CONFIG_SENSORS_DS1621 is not set
> CONFIG_SENSORS_DA9052_ADC=y
> # CONFIG_SENSORS_DA9055 is not set
> CONFIG_SENSORS_F71805F=y
> CONFIG_SENSORS_F71882FG=y
> CONFIG_SENSORS_F75375S=y
> # CONFIG_SENSORS_FSCHMD is not set
> CONFIG_SENSORS_G760A=m
> CONFIG_SENSORS_G762=y
> # CONFIG_SENSORS_GL518SM is not set
> CONFIG_SENSORS_GL520SM=m
> CONFIG_SENSORS_GPIO_FAN=y
> CONFIG_SENSORS_HIH6130=m
> CONFIG_SENSORS_HTU21=y
> CONFIG_SENSORS_CORETEMP=m
> CONFIG_SENSORS_IBMAEM=m
> CONFIG_SENSORS_IBMPEX=m
> CONFIG_SENSORS_IIO_HWMON=m
> CONFIG_SENSORS_IT87=y
> CONFIG_SENSORS_JC42=m
> CONFIG_SENSORS_LINEAGE=y
> CONFIG_SENSORS_LM63=y
> # CONFIG_SENSORS_LM70 is not set
> CONFIG_SENSORS_LM73=y
> CONFIG_SENSORS_LM75=y
> # CONFIG_SENSORS_LM77 is not set
> CONFIG_SENSORS_LM78=m
> # CONFIG_SENSORS_LM80 is not set
> CONFIG_SENSORS_LM83=m
> CONFIG_SENSORS_LM85=m
> CONFIG_SENSORS_LM87=y
> CONFIG_SENSORS_LM90=y
> CONFIG_SENSORS_LM92=m
> CONFIG_SENSORS_LM93=m
> CONFIG_SENSORS_LTC4151=y
> CONFIG_SENSORS_LTC4215=m
> CONFIG_SENSORS_LTC4245=y
> CONFIG_SENSORS_LTC4261=m
> CONFIG_SENSORS_LM95234=y
> CONFIG_SENSORS_LM95241=y
> CONFIG_SENSORS_LM95245=y
> # CONFIG_SENSORS_MAX1111 is not set
> CONFIG_SENSORS_MAX16065=m
> CONFIG_SENSORS_MAX1619=m
> # CONFIG_SENSORS_MAX1668 is not set
> # CONFIG_SENSORS_MAX197 is not set
> CONFIG_SENSORS_MAX6639=m
> # CONFIG_SENSORS_MAX6642 is not set
> CONFIG_SENSORS_MAX6650=y
> # CONFIG_SENSORS_MAX6697 is not set
> CONFIG_SENSORS_MCP3021=m
> # CONFIG_SENSORS_NCT6775 is not set
> # CONFIG_SENSORS_NTC_THERMISTOR is not set
> # CONFIG_SENSORS_PC87360 is not set
> CONFIG_SENSORS_PC87427=y
> # CONFIG_SENSORS_PCF8591 is not set
> # CONFIG_PMBUS is not set
> CONFIG_SENSORS_SHT15=m
> CONFIG_SENSORS_SHT21=m
> CONFIG_SENSORS_SMM665=y
> CONFIG_SENSORS_DME1737=y
> # CONFIG_SENSORS_EMC1403 is not set
> CONFIG_SENSORS_EMC2103=m
> CONFIG_SENSORS_EMC6W201=y
> # CONFIG_SENSORS_SMSC47M1 is not set
> # CONFIG_SENSORS_SMSC47M192 is not set
> CONFIG_SENSORS_SMSC47B397=m
> CONFIG_SENSORS_SCH56XX_COMMON=y
> CONFIG_SENSORS_SCH5627=y
> CONFIG_SENSORS_SCH5636=m
> CONFIG_SENSORS_ADS1015=m
> CONFIG_SENSORS_ADS7828=y
> CONFIG_SENSORS_ADS7871=y
> # CONFIG_SENSORS_AMC6821 is not set
> CONFIG_SENSORS_INA209=y
> CONFIG_SENSORS_INA2XX=y
> # CONFIG_SENSORS_THMC50 is not set
> CONFIG_SENSORS_TMP102=m
> CONFIG_SENSORS_TMP401=y
> CONFIG_SENSORS_TMP421=y
> CONFIG_SENSORS_TWL4030_MADC=m
> CONFIG_SENSORS_VIA_CPUTEMP=y
> # CONFIG_SENSORS_VT1211 is not set
> CONFIG_SENSORS_W83781D=y
> CONFIG_SENSORS_W83791D=m
> # CONFIG_SENSORS_W83792D is not set
> CONFIG_SENSORS_W83793=m
> CONFIG_SENSORS_W83795=y
> # CONFIG_SENSORS_W83795_FANCTRL is not set
> CONFIG_SENSORS_W83L785TS=m
> CONFIG_SENSORS_W83L786NG=y
> # CONFIG_SENSORS_W83627HF is not set
> # CONFIG_SENSORS_W83627EHF is not set
> CONFIG_SENSORS_WM831X=m
> CONFIG_SENSORS_WM8350=m
> CONFIG_SENSORS_APPLESMC=m
> # CONFIG_SENSORS_MC13783_ADC is not set
> CONFIG_THERMAL=m
> CONFIG_THERMAL_HWMON=y
> CONFIG_THERMAL_OF=y
> CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
> # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
> # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
> CONFIG_THERMAL_GOV_FAIR_SHARE=y
> CONFIG_THERMAL_GOV_STEP_WISE=y
> CONFIG_THERMAL_GOV_USER_SPACE=y
> CONFIG_CPU_THERMAL=y
> # CONFIG_THERMAL_EMULATION is not set
> CONFIG_RCAR_THERMAL=m
> CONFIG_INTEL_POWERCLAMP=m
> # CONFIG_X86_PKG_TEMP_THERMAL is not set
>
> #
> # Texas Instruments thermal drivers
> #
> CONFIG_WATCHDOG=y
> CONFIG_WATCHDOG_CORE=y
> CONFIG_WATCHDOG_NOWAYOUT=y
>
> #
> # Watchdog Device Drivers
> #
> # CONFIG_SOFT_WATCHDOG is not set
> # CONFIG_DA9052_WATCHDOG is not set
> CONFIG_DA9055_WATCHDOG=y
> # CONFIG_WM831X_WATCHDOG is not set
> # CONFIG_WM8350_WATCHDOG is not set
> CONFIG_TWL4030_WATCHDOG=y
> # CONFIG_ACQUIRE_WDT is not set
> CONFIG_ADVANTECH_WDT=m
> # CONFIG_F71808E_WDT is not set
> # CONFIG_SC520_WDT is not set
> CONFIG_SBC_FITPC2_WATCHDOG=m
> # CONFIG_EUROTECH_WDT is not set
> # CONFIG_IB700_WDT is not set
> CONFIG_IBMASR=m
> CONFIG_WAFER_WDT=m
> CONFIG_IT8712F_WDT=m
> # CONFIG_IT87_WDT is not set
> CONFIG_KEMPLD_WDT=m
> CONFIG_SC1200_WDT=m
> CONFIG_PC87413_WDT=y
> # CONFIG_60XX_WDT is not set
> CONFIG_SBC8360_WDT=m
> # CONFIG_SBC7240_WDT is not set
> CONFIG_CPU5_WDT=y
> CONFIG_SMSC_SCH311X_WDT=m
> # CONFIG_SMSC37B787_WDT is not set
> # CONFIG_W83627HF_WDT is not set
> # CONFIG_W83697HF_WDT is not set
> # CONFIG_W83697UG_WDT is not set
> CONFIG_W83877F_WDT=y
> # CONFIG_W83977F_WDT is not set
> CONFIG_MACHZ_WDT=y
> # CONFIG_SBC_EPX_C3_WATCHDOG is not set
> CONFIG_MEN_A21_WDT=m
> CONFIG_SSB_POSSIBLE=y
>
> #
> # Sonics Silicon Backplane
> #
> CONFIG_SSB=m
> # CONFIG_SSB_SILENT is not set
> CONFIG_SSB_DEBUG=y
> CONFIG_SSB_DRIVER_GPIO=y
> CONFIG_BCMA_POSSIBLE=y
>
> #
> # Broadcom specific AMBA
> #
> CONFIG_BCMA=m
> CONFIG_BCMA_HOST_SOC=y
> CONFIG_BCMA_DRIVER_GMAC_CMN=y
> CONFIG_BCMA_DRIVER_GPIO=y
> # CONFIG_BCMA_DEBUG is not set
>
> #
> # Multifunction device drivers
> #
> CONFIG_MFD_CORE=y
> # CONFIG_MFD_AS3711 is not set
> # CONFIG_MFD_AS3722 is not set
> # CONFIG_PMIC_ADP5520 is not set
> # CONFIG_MFD_AAT2870_CORE is not set
> CONFIG_MFD_CROS_EC=y
> CONFIG_MFD_CROS_EC_I2C=m
> CONFIG_MFD_CROS_EC_SPI=m
> CONFIG_PMIC_DA903X=y
> CONFIG_PMIC_DA9052=y
> # CONFIG_MFD_DA9052_SPI is not set
> CONFIG_MFD_DA9052_I2C=y
> CONFIG_MFD_DA9055=y
> # CONFIG_MFD_DA9063 is not set
> CONFIG_MFD_MC13XXX=y
> CONFIG_MFD_MC13XXX_SPI=y
> CONFIG_MFD_MC13XXX_I2C=y
> CONFIG_HTC_PASIC3=y
> # CONFIG_HTC_I2CPLD is not set
> CONFIG_MFD_KEMPLD=m
> CONFIG_MFD_88PM800=y
> CONFIG_MFD_88PM805=m
> CONFIG_MFD_88PM860X=y
> CONFIG_MFD_MAX14577=y
> # CONFIG_MFD_MAX77686 is not set
> CONFIG_MFD_MAX77693=y
> # CONFIG_MFD_MAX8907 is not set
> # CONFIG_MFD_MAX8925 is not set
> CONFIG_MFD_MAX8997=y
> CONFIG_MFD_MAX8998=y
> CONFIG_EZX_PCAP=y
> # CONFIG_MFD_RETU is not set
> CONFIG_MFD_PCF50633=y
> CONFIG_PCF50633_ADC=y
> CONFIG_PCF50633_GPIO=m
> # CONFIG_MFD_RC5T583 is not set
> CONFIG_MFD_SEC_CORE=y
> CONFIG_MFD_SI476X_CORE=m
> # CONFIG_MFD_SM501 is not set
> # CONFIG_MFD_SMSC is not set
> CONFIG_ABX500_CORE=y
> # CONFIG_AB3100_CORE is not set
> # CONFIG_MFD_STMPE is not set
> # CONFIG_MFD_SYSCON is not set
> # CONFIG_MFD_TI_AM335X_TSCADC is not set
> CONFIG_MFD_LP3943=y
> CONFIG_MFD_LP8788=y
> CONFIG_MFD_PALMAS=y
> # CONFIG_TPS6105X is not set
> CONFIG_TPS65010=y
> CONFIG_TPS6507X=y
> # CONFIG_MFD_TPS65090 is not set
> CONFIG_MFD_TPS65217=m
> CONFIG_MFD_TPS6586X=y
> # CONFIG_MFD_TPS65910 is not set
> CONFIG_MFD_TPS65912=y
> CONFIG_MFD_TPS65912_I2C=y
> # CONFIG_MFD_TPS65912_SPI is not set
> # CONFIG_MFD_TPS80031 is not set
> CONFIG_TWL4030_CORE=y
> CONFIG_TWL4030_MADC=y
> CONFIG_MFD_TWL4030_AUDIO=y
> # CONFIG_TWL6040_CORE is not set
> # CONFIG_MFD_WL1273_CORE is not set
> CONFIG_MFD_LM3533=m
> # CONFIG_MFD_TC3589X is not set
> # CONFIG_MFD_TMIO is not set
> CONFIG_MFD_ARIZONA=y
> CONFIG_MFD_ARIZONA_I2C=m
> CONFIG_MFD_ARIZONA_SPI=y
> # CONFIG_MFD_WM5102 is not set
> CONFIG_MFD_WM5110=y
> CONFIG_MFD_WM8997=y
> CONFIG_MFD_WM8400=y
> CONFIG_MFD_WM831X=y
> CONFIG_MFD_WM831X_I2C=y
> # CONFIG_MFD_WM831X_SPI is not set
> CONFIG_MFD_WM8350=y
> CONFIG_MFD_WM8350_I2C=y
> CONFIG_MFD_WM8994=y
> # CONFIG_REGULATOR is not set
> # CONFIG_MEDIA_SUPPORT is not set
>
> #
> # Graphics support
> #
> # CONFIG_DRM is not set
> # CONFIG_VGASTATE is not set
> CONFIG_VIDEO_OUTPUT_CONTROL=y
> # CONFIG_FB is not set
> CONFIG_EXYNOS_VIDEO=y
> # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
>
> #
> # Console display driver support
> #
> # CONFIG_VGA_CONSOLE is not set
> CONFIG_DUMMY_CONSOLE=y
> CONFIG_SOUND=m
> CONFIG_SOUND_OSS_CORE=y
> CONFIG_SOUND_OSS_CORE_PRECLAIM=y
> # CONFIG_SND is not set
> CONFIG_SOUND_PRIME=m
> # CONFIG_SOUND_OSS is not set
>
> #
> # HID support
> #
> CONFIG_HID=y
> CONFIG_HID_BATTERY_STRENGTH=y
> # CONFIG_HIDRAW is not set
> CONFIG_UHID=m
> CONFIG_HID_GENERIC=y
>
> #
> # Special HID drivers
> #
> CONFIG_HID_A4TECH=y
> # CONFIG_HID_ACRUX is not set
> # CONFIG_HID_APPLE is not set
> CONFIG_HID_AUREAL=y
> CONFIG_HID_BELKIN=y
> # CONFIG_HID_CHERRY is not set
> # CONFIG_HID_CHICONY is not set
> # CONFIG_HID_CYPRESS is not set
> CONFIG_HID_DRAGONRISE=m
> CONFIG_DRAGONRISE_FF=y
> # CONFIG_HID_EMS_FF is not set
> # CONFIG_HID_ELECOM is not set
> # CONFIG_HID_EZKEY is not set
> # CONFIG_HID_KEYTOUCH is not set
> CONFIG_HID_KYE=y
> CONFIG_HID_UCLOGIC=m
> CONFIG_HID_WALTOP=m
> CONFIG_HID_GYRATION=m
> CONFIG_HID_ICADE=y
> CONFIG_HID_TWINHAN=m
> # CONFIG_HID_KENSINGTON is not set
> CONFIG_HID_LCPOWER=m
> CONFIG_HID_LENOVO_TPKBD=m
> CONFIG_HID_LOGITECH=y
> # CONFIG_LOGITECH_FF is not set
> # CONFIG_LOGIRUMBLEPAD2_FF is not set
> CONFIG_LOGIG940_FF=y
> # CONFIG_LOGIWHEELS_FF is not set
> CONFIG_HID_MAGICMOUSE=y
> CONFIG_HID_MICROSOFT=m
> CONFIG_HID_MONTEREY=m
> CONFIG_HID_MULTITOUCH=y
> # CONFIG_HID_ORTEK is not set
> CONFIG_HID_PANTHERLORD=m
> # CONFIG_PANTHERLORD_FF is not set
> CONFIG_HID_PETALYNX=m
> CONFIG_HID_PICOLCD=y
> # CONFIG_HID_PICOLCD_LEDS is not set
> # CONFIG_HID_PRIMAX is not set
> CONFIG_HID_SAITEK=m
> # CONFIG_HID_SAMSUNG is not set
> CONFIG_HID_SPEEDLINK=y
> CONFIG_HID_STEELSERIES=y
> CONFIG_HID_SUNPLUS=y
> # CONFIG_HID_GREENASIA is not set
> CONFIG_HID_SMARTJOYPLUS=m
> # CONFIG_SMARTJOYPLUS_FF is not set
> # CONFIG_HID_TIVO is not set
> # CONFIG_HID_TOPSEED is not set
> # CONFIG_HID_THINGM is not set
> CONFIG_HID_THRUSTMASTER=y
> # CONFIG_THRUSTMASTER_FF is not set
> CONFIG_HID_WACOM=m
> # CONFIG_HID_WIIMOTE is not set
> CONFIG_HID_XINMO=m
> CONFIG_HID_ZEROPLUS=y
> # CONFIG_ZEROPLUS_FF is not set
> CONFIG_HID_ZYDACRON=y
> CONFIG_HID_SENSOR_HUB=m
>
> #
> # I2C HID support
> #
> # CONFIG_I2C_HID is not set
> CONFIG_USB_OHCI_LITTLE_ENDIAN=y
> # CONFIG_USB_SUPPORT is not set
> # CONFIG_MMC is not set
> CONFIG_MEMSTICK=y
> CONFIG_MEMSTICK_DEBUG=y
>
> #
> # MemoryStick drivers
> #
> # CONFIG_MEMSTICK_UNSAFE_RESUME is not set
> CONFIG_MSPRO_BLOCK=y
> # CONFIG_MS_BLOCK is not set
>
> #
> # MemoryStick Host Controller Drivers
> #
> CONFIG_NEW_LEDS=y
> CONFIG_LEDS_CLASS=y
>
> #
> # LED drivers
> #
> # CONFIG_LEDS_88PM860X is not set
> CONFIG_LEDS_LM3530=m
> CONFIG_LEDS_LM3533=m
> CONFIG_LEDS_LM3642=m
> CONFIG_LEDS_PCA9532=m
> # CONFIG_LEDS_PCA9532_GPIO is not set
> CONFIG_LEDS_GPIO=m
> # CONFIG_LEDS_LP3944 is not set
> CONFIG_LEDS_LP55XX_COMMON=y
> CONFIG_LEDS_LP5521=y
> CONFIG_LEDS_LP5523=m
> CONFIG_LEDS_LP5562=y
> CONFIG_LEDS_LP8501=y
> # CONFIG_LEDS_LP8788 is not set
> CONFIG_LEDS_PCA955X=m
> CONFIG_LEDS_PCA963X=m
> CONFIG_LEDS_PCA9685=m
> CONFIG_LEDS_WM831X_STATUS=m
> # CONFIG_LEDS_WM8350 is not set
> # CONFIG_LEDS_DA903X is not set
> CONFIG_LEDS_DA9052=y
> CONFIG_LEDS_DAC124S085=m
> CONFIG_LEDS_PWM=y
> # CONFIG_LEDS_BD2802 is not set
> # CONFIG_LEDS_LT3593 is not set
> CONFIG_LEDS_MC13783=m
> CONFIG_LEDS_TCA6507=y
> CONFIG_LEDS_MAX8997=y
> CONFIG_LEDS_LM355x=m
> # CONFIG_LEDS_OT200 is not set
> CONFIG_LEDS_BLINKM=m
>
> #
> # LED Triggers
> #
> CONFIG_LEDS_TRIGGERS=y
> CONFIG_LEDS_TRIGGER_TIMER=y
> CONFIG_LEDS_TRIGGER_ONESHOT=y
> # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
> CONFIG_LEDS_TRIGGER_BACKLIGHT=m
> CONFIG_LEDS_TRIGGER_CPU=y
> CONFIG_LEDS_TRIGGER_GPIO=m
> CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
>
> #
> # iptables trigger is under Netfilter config (LED target)
> #
> CONFIG_LEDS_TRIGGER_TRANSIENT=y
> CONFIG_LEDS_TRIGGER_CAMERA=y
> CONFIG_ACCESSIBILITY=y
> CONFIG_A11Y_BRAILLE_CONSOLE=y
> CONFIG_EDAC=y
> # CONFIG_EDAC_LEGACY_SYSFS is not set
> # CONFIG_EDAC_DEBUG is not set
> CONFIG_EDAC_MM_EDAC=y
> CONFIG_RTC_LIB=y
> # CONFIG_RTC_CLASS is not set
> CONFIG_DMADEVICES=y
> CONFIG_DMADEVICES_DEBUG=y
> CONFIG_DMADEVICES_VDEBUG=y
>
> #
> # DMA Devices
> #
> CONFIG_DW_DMAC_CORE=m
> CONFIG_DW_DMAC=m
> CONFIG_TIMB_DMA=m
> CONFIG_DMA_ENGINE=y
> CONFIG_DMA_OF=y
>
> #
> # DMA Clients
> #
> CONFIG_ASYNC_TX_DMA=y
> CONFIG_DMATEST=m
> # CONFIG_AUXDISPLAY is not set
> CONFIG_UIO=y
> CONFIG_UIO_PDRV_GENIRQ=m
> CONFIG_UIO_DMEM_GENIRQ=y
> CONFIG_VIRT_DRIVERS=y
>
> #
> # Virtio drivers
> #
> # CONFIG_VIRTIO_MMIO is not set
>
> #
> # Microsoft Hyper-V guest support
> #
> CONFIG_STAGING=y
> # CONFIG_ECHO is not set
> # CONFIG_COMEDI is not set
> CONFIG_PANEL=y
> CONFIG_PANEL_PARPORT=0
> CONFIG_PANEL_PROFILE=5
> CONFIG_PANEL_CHANGE_MESSAGE=y
> CONFIG_PANEL_BOOT_MESSAGE=""
>
> #
> # IIO staging drivers
> #
>
> #
> # Accelerometers
> #
> CONFIG_ADIS16201=m
> CONFIG_ADIS16203=m
> CONFIG_ADIS16204=m
> CONFIG_ADIS16209=m
> CONFIG_ADIS16220=m
> CONFIG_ADIS16240=m
> # CONFIG_LIS3L02DQ is not set
> # CONFIG_SCA3000 is not set
>
> #
> # Analog to digital converters
> #
> CONFIG_AD7291=m
> CONFIG_AD7606=m
> # CONFIG_AD7606_IFACE_PARALLEL is not set
> CONFIG_AD7606_IFACE_SPI=m
> CONFIG_AD799X=m
> CONFIG_AD799X_RING_BUFFER=y
> # CONFIG_AD7780 is not set
> CONFIG_AD7816=m
> CONFIG_AD7192=m
> # CONFIG_AD7280 is not set
> # CONFIG_LPC32XX_ADC is not set
> CONFIG_MXS_LRADC=m
> CONFIG_SPEAR_ADC=m
>
> #
> # Analog digital bi-direction converters
> #
> # CONFIG_ADT7316 is not set
>
> #
> # Capacitance to digital converters
> #
> # CONFIG_AD7150 is not set
> # CONFIG_AD7152 is not set
> CONFIG_AD7746=m
>
> #
> # Direct Digital Synthesis
> #
> CONFIG_AD5930=m
> CONFIG_AD9832=m
> CONFIG_AD9834=m
> # CONFIG_AD9850 is not set
> CONFIG_AD9852=m
> CONFIG_AD9910=m
> CONFIG_AD9951=m
>
> #
> # Digital gyroscope sensors
> #
> CONFIG_ADIS16060=m
>
> #
> # Network Analyzer, Impedance Converters
> #
> CONFIG_AD5933=m
>
> #
> # Light sensors
> #
> CONFIG_SENSORS_ISL29018=m
> CONFIG_SENSORS_ISL29028=m
> CONFIG_TSL2583=m
> # CONFIG_TSL2x7x is not set
>
> #
> # Magnetometer sensors
> #
> # CONFIG_SENSORS_HMC5843 is not set
>
> #
> # Active energy metering IC
> #
> CONFIG_ADE7753=m
> # CONFIG_ADE7754 is not set
> CONFIG_ADE7758=m
> # CONFIG_ADE7759 is not set
> # CONFIG_ADE7854 is not set
>
> #
> # Resolver to digital converters
> #
> # CONFIG_AD2S90 is not set
> CONFIG_AD2S1200=m
> CONFIG_AD2S1210=m
>
> #
> # Triggers - standalone
> #
> CONFIG_IIO_SIMPLE_DUMMY=m
> # CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set
> # CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set
> CONFIG_FT1000=m
>
> #
> # Speakup console speech
> #
> CONFIG_SPEAKUP=m
> CONFIG_SPEAKUP_SYNTH_ACNTSA=m
> # CONFIG_SPEAKUP_SYNTH_ACNTPC is not set
> CONFIG_SPEAKUP_SYNTH_APOLLO=m
> # CONFIG_SPEAKUP_SYNTH_AUDPTR is not set
> CONFIG_SPEAKUP_SYNTH_BNS=m
> CONFIG_SPEAKUP_SYNTH_DECTLK=m
> # CONFIG_SPEAKUP_SYNTH_DECEXT is not set
> CONFIG_SPEAKUP_SYNTH_DECPC=m
> CONFIG_SPEAKUP_SYNTH_DTLK=m
> CONFIG_SPEAKUP_SYNTH_KEYPC=m
> CONFIG_SPEAKUP_SYNTH_LTLK=m
> CONFIG_SPEAKUP_SYNTH_SOFT=m
> # CONFIG_SPEAKUP_SYNTH_SPKOUT is not set
> CONFIG_SPEAKUP_SYNTH_TXPRT=m
> CONFIG_SPEAKUP_SYNTH_DUMMY=m
> CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=y
> # CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
> CONFIG_STAGING_MEDIA=y
>
> #
> # Android
> #
> # CONFIG_ANDROID is not set
> CONFIG_DGRP=m
> CONFIG_MTD_SPINAND_MT29F=m
> # CONFIG_MTD_SPINAND_ONDIEECC is not set
> CONFIG_LUSTRE_FS=m
> CONFIG_LUSTRE_OBD_MAX_IOCTL_BUFFER=8192
> CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK=y
> # CONFIG_LUSTRE_LLITE_LLOOP is not set
> CONFIG_LNET=m
> CONFIG_LNET_MAX_PAYLOAD=1048576
> CONFIG_LNET_SELFTEST=m
> CONFIG_XILLYBUS=m
> CONFIG_XILLYBUS_OF=m
> CONFIG_DGAP=m
> CONFIG_X86_PLATFORM_DEVICES=y
> # CONFIG_SENSORS_HDAPS is not set
> CONFIG_CHROME_PLATFORMS=y
> CONFIG_CHROMEOS_PSTORE=y
>
> #
> # Hardware Spinlock drivers
> #
> CONFIG_CLKSRC_I8253=y
> CONFIG_CLKEVT_I8253=y
> CONFIG_I8253_LOCK=y
> CONFIG_CLKBLD_I8253=y
> # CONFIG_MAILBOX is not set
> CONFIG_IOMMU_SUPPORT=y
> CONFIG_OF_IOMMU=y
>
> #
> # Remoteproc drivers
> #
> # CONFIG_STE_MODEM_RPROC is not set
>
> #
> # Rpmsg drivers
> #
> # CONFIG_PM_DEVFREQ is not set
> # CONFIG_EXTCON is not set
> CONFIG_MEMORY=y
> CONFIG_IIO=m
> CONFIG_IIO_BUFFER=y
> # CONFIG_IIO_BUFFER_CB is not set
> CONFIG_IIO_KFIFO_BUF=m
> CONFIG_IIO_TRIGGERED_BUFFER=m
> CONFIG_IIO_TRIGGER=y
> CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
>
> #
> # Accelerometers
> #
> # CONFIG_BMA180 is not set
> # CONFIG_HID_SENSOR_ACCEL_3D is not set
> CONFIG_IIO_ST_ACCEL_3AXIS=m
> CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
> CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
> CONFIG_KXSD9=m
>
> #
> # Analog to digital converters
> #
> CONFIG_AD_SIGMA_DELTA=m
> CONFIG_AD7266=m
> # CONFIG_AD7298 is not set
> # CONFIG_AD7476 is not set
> # CONFIG_AD7791 is not set
> # CONFIG_AD7793 is not set
> CONFIG_AD7887=m
> # CONFIG_AD7923 is not set
> CONFIG_EXYNOS_ADC=y
> # CONFIG_LP8788_ADC is not set
> # CONFIG_MAX1363 is not set
> # CONFIG_MCP320X is not set
> # CONFIG_MCP3422 is not set
> CONFIG_NAU7802=m
> CONFIG_TI_ADC081C=m
> # CONFIG_TWL6030_GPADC is not set
>
> #
> # Amplifiers
> #
> # CONFIG_AD8366 is not set
>
> #
> # Hid Sensor IIO Common
> #
> CONFIG_HID_SENSOR_IIO_COMMON=m
> CONFIG_HID_SENSOR_IIO_TRIGGER=m
> CONFIG_IIO_ST_SENSORS_I2C=m
> CONFIG_IIO_ST_SENSORS_SPI=m
> CONFIG_IIO_ST_SENSORS_CORE=m
>
> #
> # Digital to analog converters
> #
> CONFIG_AD5064=m
> CONFIG_AD5360=m
> # CONFIG_AD5380 is not set
> # CONFIG_AD5421 is not set
> CONFIG_AD5446=m
> CONFIG_AD5449=m
> CONFIG_AD5504=m
> CONFIG_AD5624R_SPI=m
> CONFIG_AD5686=m
> # CONFIG_AD5755 is not set
> # CONFIG_AD5764 is not set
> # CONFIG_AD5791 is not set
> CONFIG_AD7303=m
> CONFIG_MAX517=m
> # CONFIG_MCP4725 is not set
>
> #
> # Frequency Synthesizers DDS/PLL
> #
>
> #
> # Clock Generator/Distribution
> #
> CONFIG_AD9523=m
>
> #
> # Phase-Locked Loop (PLL) frequency synthesizers
> #
> # CONFIG_ADF4350 is not set
>
> #
> # Digital gyroscope sensors
> #
> CONFIG_ADIS16080=m
> CONFIG_ADIS16130=m
> CONFIG_ADIS16136=m
> CONFIG_ADIS16260=m
> # CONFIG_ADXRS450 is not set
> CONFIG_HID_SENSOR_GYRO_3D=m
> CONFIG_IIO_ST_GYRO_3AXIS=m
> CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
> CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
> CONFIG_ITG3200=m
>
> #
> # Humidity sensors
> #
> CONFIG_DHT11=m
>
> #
> # Inertial measurement units
> #
> # CONFIG_ADIS16400 is not set
> CONFIG_ADIS16480=m
> CONFIG_IIO_ADIS_LIB=m
> CONFIG_IIO_ADIS_LIB_BUFFER=y
> CONFIG_INV_MPU6050_IIO=m
>
> #
> # Light sensors
> #
> # CONFIG_ADJD_S311 is not set
> CONFIG_APDS9300=m
> # CONFIG_CM36651 is not set
> CONFIG_GP2AP020A00F=m
> CONFIG_HID_SENSOR_ALS=m
> # CONFIG_SENSORS_LM3533 is not set
> CONFIG_TCS3472=m
> # CONFIG_SENSORS_TSL2563 is not set
> CONFIG_TSL4531=m
> CONFIG_VCNL4000=m
>
> #
> # Magnetometer sensors
> #
> CONFIG_AK8975=m
> CONFIG_MAG3110=m
> CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
> CONFIG_IIO_ST_MAGN_3AXIS=m
> CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
> CONFIG_IIO_ST_MAGN_SPI_3AXIS=m
>
> #
> # Inclinometer sensors
> #
> CONFIG_HID_SENSOR_INCLINOMETER_3D=m
>
> #
> # Triggers - standalone
> #
> # CONFIG_IIO_INTERRUPT_TRIGGER is not set
> CONFIG_IIO_SYSFS_TRIGGER=m
>
> #
> # Pressure sensors
> #
> # CONFIG_MPL3115 is not set
> # CONFIG_IIO_ST_PRESS is not set
>
> #
> # Temperature sensors
> #
> CONFIG_TMP006=m
> CONFIG_PWM=y
> CONFIG_PWM_SYSFS=y
> CONFIG_PWM_LP3943=m
> CONFIG_PWM_PCA9685=m
> # CONFIG_PWM_RENESAS_TPU is not set
> # CONFIG_PWM_TWL is not set
> CONFIG_PWM_TWL_LED=m
> CONFIG_IRQCHIP=y
> CONFIG_IPACK_BUS=m
> CONFIG_SERIAL_IPOCTAL=m
> # CONFIG_RESET_CONTROLLER is not set
> # CONFIG_FMC is not set
>
> #
> # PHY Subsystem
> #
> CONFIG_GENERIC_PHY=m
> # CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set
> # CONFIG_PHY_EXYNOS_DP_VIDEO is not set
> CONFIG_BCM_KONA_USB2_PHY=m
> # CONFIG_POWERCAP is not set
>
> #
> # Firmware Drivers
> #
> # CONFIG_EDD is not set
> # CONFIG_FIRMWARE_MEMMAP is not set
> CONFIG_DELL_RBU=y
> CONFIG_DCDBAS=m
> CONFIG_GOOGLE_FIRMWARE=y
>
> #
> # Google Firmware Drivers
> #
>
> #
> # File systems
> #
> CONFIG_DCACHE_WORD_ACCESS=y
> CONFIG_EXT2_FS=m
> # CONFIG_EXT2_FS_XATTR is not set
> # CONFIG_EXT2_FS_XIP is not set
> # CONFIG_EXT3_FS is not set
> CONFIG_EXT4_FS=y
> # CONFIG_EXT4_USE_FOR_EXT23 is not set
> # CONFIG_EXT4_FS_POSIX_ACL is not set
> # CONFIG_EXT4_FS_SECURITY is not set
> # CONFIG_EXT4_DEBUG is not set
> CONFIG_JBD2=y
> # CONFIG_JBD2_DEBUG is not set
> CONFIG_FS_MBCACHE=y
> CONFIG_REISERFS_FS=m
> CONFIG_REISERFS_CHECK=y
> # CONFIG_REISERFS_FS_XATTR is not set
> CONFIG_JFS_FS=y
> # CONFIG_JFS_POSIX_ACL is not set
> # CONFIG_JFS_SECURITY is not set
> # CONFIG_JFS_DEBUG is not set
> CONFIG_JFS_STATISTICS=y
> CONFIG_XFS_FS=m
> CONFIG_XFS_QUOTA=y
> # CONFIG_XFS_POSIX_ACL is not set
> CONFIG_XFS_RT=y
> CONFIG_XFS_WARN=y
> # CONFIG_XFS_DEBUG is not set
> CONFIG_OCFS2_FS=y
> CONFIG_OCFS2_FS_O2CB=y
> CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
> CONFIG_OCFS2_FS_STATS=y
> CONFIG_OCFS2_DEBUG_MASKLOG=y
> # CONFIG_OCFS2_DEBUG_FS is not set
> CONFIG_BTRFS_FS=y
> # CONFIG_BTRFS_FS_POSIX_ACL is not set
> # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
> # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
> CONFIG_BTRFS_DEBUG=y
> # CONFIG_BTRFS_ASSERT is not set
> CONFIG_NILFS2_FS=m
> CONFIG_FS_POSIX_ACL=y
> CONFIG_EXPORTFS=y
> # CONFIG_FILE_LOCKING is not set
> CONFIG_FSNOTIFY=y
> CONFIG_DNOTIFY=y
> # CONFIG_INOTIFY_USER is not set
> CONFIG_FANOTIFY=y
> CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
> CONFIG_QUOTA=y
> # CONFIG_QUOTA_NETLINK_INTERFACE is not set
> CONFIG_PRINT_QUOTA_WARNING=y
> # CONFIG_QUOTA_DEBUG is not set
> CONFIG_QUOTA_TREE=y
> # CONFIG_QFMT_V1 is not set
> CONFIG_QFMT_V2=y
> CONFIG_QUOTACTL=y
> CONFIG_AUTOFS4_FS=m
> # CONFIG_FUSE_FS is not set
>
> #
> # Caches
> #
> CONFIG_FSCACHE=y
> CONFIG_FSCACHE_DEBUG=y
> # CONFIG_CACHEFILES is not set
>
> #
> # CD-ROM/DVD Filesystems
> #
> CONFIG_ISO9660_FS=m
> # CONFIG_JOLIET is not set
> CONFIG_ZISOFS=y
> CONFIG_UDF_FS=m
> CONFIG_UDF_NLS=y
>
> #
> # DOS/FAT/NT Filesystems
> #
> CONFIG_FAT_FS=y
> CONFIG_MSDOS_FS=y
> # CONFIG_VFAT_FS is not set
> CONFIG_FAT_DEFAULT_CODEPAGE=437
> CONFIG_NTFS_FS=m
> CONFIG_NTFS_DEBUG=y
> CONFIG_NTFS_RW=y
>
> #
> # Pseudo filesystems
> #
> # CONFIG_PROC_FS is not set
> CONFIG_SYSFS=y
> # CONFIG_TMPFS is not set
> CONFIG_HUGETLBFS=y
> CONFIG_HUGETLB_PAGE=y
> CONFIG_CONFIGFS_FS=y
> CONFIG_MISC_FILESYSTEMS=y
> CONFIG_ADFS_FS=y
> CONFIG_ADFS_FS_RW=y
> # CONFIG_AFFS_FS is not set
> CONFIG_ECRYPT_FS=y
> CONFIG_ECRYPT_FS_MESSAGING=y
> CONFIG_HFS_FS=m
> CONFIG_HFSPLUS_FS=y
> CONFIG_HFSPLUS_FS_POSIX_ACL=y
> CONFIG_BEFS_FS=m
> CONFIG_BEFS_DEBUG=y
> CONFIG_BFS_FS=y
> # CONFIG_EFS_FS is not set
> CONFIG_JFFS2_FS=y
> CONFIG_JFFS2_FS_DEBUG=0
> CONFIG_JFFS2_FS_WRITEBUFFER=y
> # CONFIG_JFFS2_FS_WBUF_VERIFY is not set
> # CONFIG_JFFS2_SUMMARY is not set
> CONFIG_JFFS2_FS_XATTR=y
> # CONFIG_JFFS2_FS_POSIX_ACL is not set
> CONFIG_JFFS2_FS_SECURITY=y
> CONFIG_JFFS2_COMPRESSION_OPTIONS=y
> CONFIG_JFFS2_ZLIB=y
> CONFIG_JFFS2_LZO=y
> CONFIG_JFFS2_RTIME=y
> # CONFIG_JFFS2_RUBIN is not set
> CONFIG_JFFS2_CMODE_NONE=y
> # CONFIG_JFFS2_CMODE_PRIORITY is not set
> # CONFIG_JFFS2_CMODE_SIZE is not set
> # CONFIG_JFFS2_CMODE_FAVOURLZO is not set
> # CONFIG_LOGFS is not set
> CONFIG_CRAMFS=y
> CONFIG_SQUASHFS=y
> CONFIG_SQUASHFS_FILE_CACHE=y
> # CONFIG_SQUASHFS_FILE_DIRECT is not set
> CONFIG_SQUASHFS_DECOMP_SINGLE=y
> # CONFIG_SQUASHFS_DECOMP_MULTI is not set
> # CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
> CONFIG_SQUASHFS_XATTR=y
> # CONFIG_SQUASHFS_ZLIB is not set
> # CONFIG_SQUASHFS_LZO is not set
> # CONFIG_SQUASHFS_XZ is not set
> CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
> # CONFIG_SQUASHFS_EMBEDDED is not set
> CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
> CONFIG_VXFS_FS=y
> CONFIG_MINIX_FS=y
> CONFIG_OMFS_FS=y
> CONFIG_HPFS_FS=m
> CONFIG_QNX4FS_FS=m
> CONFIG_QNX6FS_FS=y
> CONFIG_QNX6FS_DEBUG=y
> # CONFIG_ROMFS_FS is not set
> # CONFIG_PSTORE is not set
> CONFIG_SYSV_FS=m
> # CONFIG_UFS_FS is not set
> # CONFIG_F2FS_FS is not set
> # CONFIG_NETWORK_FILESYSTEMS is not set
> CONFIG_NLS=y
> CONFIG_NLS_DEFAULT="iso8859-1"
> CONFIG_NLS_CODEPAGE_437=y
> # CONFIG_NLS_CODEPAGE_737 is not set
> CONFIG_NLS_CODEPAGE_775=m
> CONFIG_NLS_CODEPAGE_850=m
> CONFIG_NLS_CODEPAGE_852=y
> CONFIG_NLS_CODEPAGE_855=m
> # CONFIG_NLS_CODEPAGE_857 is not set
> CONFIG_NLS_CODEPAGE_860=y
> CONFIG_NLS_CODEPAGE_861=y
> CONFIG_NLS_CODEPAGE_862=m
> CONFIG_NLS_CODEPAGE_863=m
> CONFIG_NLS_CODEPAGE_864=m
> CONFIG_NLS_CODEPAGE_865=m
> CONFIG_NLS_CODEPAGE_866=y
> # CONFIG_NLS_CODEPAGE_869 is not set
> CONFIG_NLS_CODEPAGE_936=y
> CONFIG_NLS_CODEPAGE_950=y
> # CONFIG_NLS_CODEPAGE_932 is not set
> CONFIG_NLS_CODEPAGE_949=y
> CONFIG_NLS_CODEPAGE_874=y
> CONFIG_NLS_ISO8859_8=y
> CONFIG_NLS_CODEPAGE_1250=m
> CONFIG_NLS_CODEPAGE_1251=y
> # CONFIG_NLS_ASCII is not set
> CONFIG_NLS_ISO8859_1=m
> CONFIG_NLS_ISO8859_2=y
> CONFIG_NLS_ISO8859_3=y
> CONFIG_NLS_ISO8859_4=m
> CONFIG_NLS_ISO8859_5=y
> CONFIG_NLS_ISO8859_6=m
> # CONFIG_NLS_ISO8859_7 is not set
> CONFIG_NLS_ISO8859_9=m
> # CONFIG_NLS_ISO8859_13 is not set
> # CONFIG_NLS_ISO8859_14 is not set
> # CONFIG_NLS_ISO8859_15 is not set
> CONFIG_NLS_KOI8_R=m
> CONFIG_NLS_KOI8_U=y
> # CONFIG_NLS_MAC_ROMAN is not set
> CONFIG_NLS_MAC_CELTIC=m
> CONFIG_NLS_MAC_CENTEURO=y
> CONFIG_NLS_MAC_CROATIAN=m
> # CONFIG_NLS_MAC_CYRILLIC is not set
> # CONFIG_NLS_MAC_GAELIC is not set
> CONFIG_NLS_MAC_GREEK=m
> CONFIG_NLS_MAC_ICELAND=m
> # CONFIG_NLS_MAC_INUIT is not set
> CONFIG_NLS_MAC_ROMANIAN=y
> CONFIG_NLS_MAC_TURKISH=m
> CONFIG_NLS_UTF8=y
> CONFIG_DLM=m
> # CONFIG_DLM_DEBUG is not set
>
> #
> # Kernel hacking
> #
> CONFIG_TRACE_IRQFLAGS_SUPPORT=y
>
> #
> # printk and dmesg options
> #
> # CONFIG_PRINTK_TIME is not set
> CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
> CONFIG_BOOT_PRINTK_DELAY=y
> CONFIG_DYNAMIC_DEBUG=y
>
> #
> # Compile-time checks and compiler options
> #
> # CONFIG_DEBUG_INFO is not set
> # CONFIG_ENABLE_WARN_DEPRECATED is not set
> CONFIG_ENABLE_MUST_CHECK=y
> CONFIG_FRAME_WARN=1024
> # CONFIG_STRIP_ASM_SYMS is not set
> CONFIG_READABLE_ASM=y
> # CONFIG_UNUSED_SYMBOLS is not set
> CONFIG_DEBUG_FS=y
> CONFIG_HEADERS_CHECK=y
> CONFIG_DEBUG_SECTION_MISMATCH=y
> CONFIG_ARCH_WANT_FRAME_POINTERS=y
> CONFIG_FRAME_POINTER=y
> # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
> CONFIG_MAGIC_SYSRQ=y
> CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
> CONFIG_DEBUG_KERNEL=y
>
> #
> # Memory Debugging
> #
> CONFIG_DEBUG_PAGEALLOC=y
> CONFIG_WANT_PAGE_DEBUG_FLAGS=y
> CONFIG_PAGE_GUARD=y
> # CONFIG_DEBUG_OBJECTS is not set
> CONFIG_HAVE_DEBUG_KMEMLEAK=y
> CONFIG_DEBUG_KMEMLEAK=y
> CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=400
> CONFIG_DEBUG_KMEMLEAK_TEST=m
> CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
> # CONFIG_DEBUG_STACK_USAGE is not set
> CONFIG_DEBUG_VM=y
> # CONFIG_DEBUG_VM_RB is not set
> # CONFIG_DEBUG_VIRTUAL is not set
> CONFIG_DEBUG_MEMORY_INIT=y
> # CONFIG_DEBUG_HIGHMEM is not set
> CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
> # CONFIG_DEBUG_STACKOVERFLOW is not set
> CONFIG_HAVE_ARCH_KMEMCHECK=y
> CONFIG_DEBUG_SHIRQ=y
>
> #
> # Debug Lockups and Hangs
> #
> CONFIG_LOCKUP_DETECTOR=y
> CONFIG_HARDLOCKUP_DETECTOR=y
> # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
> CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
> CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
> CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
> # CONFIG_DETECT_HUNG_TASK is not set
> CONFIG_PANIC_ON_OOPS=y
> CONFIG_PANIC_ON_OOPS_VALUE=1
> CONFIG_PANIC_TIMEOUT=0
> # CONFIG_DEBUG_PREEMPT is not set
>
> #
> # Lock Debugging (spinlocks, mutexes, etc...)
> #
> CONFIG_DEBUG_RT_MUTEXES=y
> CONFIG_DEBUG_PI_LIST=y
> # CONFIG_RT_MUTEX_TESTER is not set
> CONFIG_DEBUG_SPINLOCK=y
> CONFIG_DEBUG_MUTEXES=y
> # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
> CONFIG_DEBUG_LOCK_ALLOC=y
> CONFIG_PROVE_LOCKING=y
> CONFIG_LOCKDEP=y
> # CONFIG_LOCK_STAT is not set
> # CONFIG_DEBUG_LOCKDEP is not set
> CONFIG_DEBUG_ATOMIC_SLEEP=y
> CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
> CONFIG_TRACE_IRQFLAGS=y
> CONFIG_STACKTRACE=y
> # CONFIG_DEBUG_KOBJECT is not set
> # CONFIG_DEBUG_WRITECOUNT is not set
> CONFIG_DEBUG_LIST=y
> CONFIG_DEBUG_SG=y
> CONFIG_DEBUG_NOTIFIERS=y
> CONFIG_DEBUG_CREDENTIALS=y
>
> #
> # RCU Debugging
> #
> CONFIG_PROVE_RCU=y
> CONFIG_PROVE_RCU_REPEATEDLY=y
> # CONFIG_PROVE_RCU_DELAY is not set
> CONFIG_SPARSE_RCU_POINTER=y
> CONFIG_RCU_TORTURE_TEST=m
> CONFIG_RCU_CPU_STALL_TIMEOUT=21
> CONFIG_RCU_CPU_STALL_VERBOSE=y
> CONFIG_RCU_CPU_STALL_INFO=y
> CONFIG_RCU_TRACE=y
> CONFIG_DEBUG_BLOCK_EXT_DEVT=y
> # CONFIG_NOTIFIER_ERROR_INJECTION is not set
> CONFIG_FAULT_INJECTION=y
> # CONFIG_FAIL_PAGE_ALLOC is not set
> CONFIG_FAIL_MAKE_REQUEST=y
> CONFIG_FAIL_IO_TIMEOUT=y
> CONFIG_FAULT_INJECTION_DEBUG_FS=y
> # CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
> CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
> CONFIG_USER_STACKTRACE_SUPPORT=y
> CONFIG_NOP_TRACER=y
> CONFIG_HAVE_FUNCTION_TRACER=y
> CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
> CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
> CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
> CONFIG_HAVE_DYNAMIC_FTRACE=y
> CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
> CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
> CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
> CONFIG_HAVE_C_RECORDMCOUNT=y
> CONFIG_TRACER_MAX_TRACE=y
> CONFIG_TRACE_CLOCK=y
> CONFIG_RING_BUFFER=y
> CONFIG_EVENT_TRACING=y
> CONFIG_CONTEXT_SWITCH_TRACER=y
> CONFIG_RING_BUFFER_ALLOW_SWAP=y
> CONFIG_TRACING=y
> CONFIG_GENERIC_TRACER=y
> CONFIG_TRACING_SUPPORT=y
> CONFIG_FTRACE=y
> # CONFIG_FUNCTION_TRACER is not set
> # CONFIG_IRQSOFF_TRACER is not set
> CONFIG_PREEMPT_TRACER=y
> # CONFIG_SCHED_TRACER is not set
> CONFIG_FTRACE_SYSCALLS=y
> CONFIG_TRACER_SNAPSHOT=y
> CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP=y
> CONFIG_TRACE_BRANCH_PROFILING=y
> # CONFIG_BRANCH_PROFILE_NONE is not set
> CONFIG_PROFILE_ANNOTATED_BRANCHES=y
> # CONFIG_PROFILE_ALL_BRANCHES is not set
> # CONFIG_BRANCH_TRACER is not set
> # CONFIG_STACK_TRACER is not set
> # CONFIG_BLK_DEV_IO_TRACE is not set
> CONFIG_UPROBE_EVENT=y
> CONFIG_PROBE_EVENTS=y
> # CONFIG_FTRACE_STARTUP_TEST is not set
> CONFIG_RING_BUFFER_BENCHMARK=m
> # CONFIG_RING_BUFFER_STARTUP_TEST is not set
>
> #
> # Runtime Testing
> #
> # CONFIG_LKDTM is not set
> CONFIG_TEST_LIST_SORT=y
> CONFIG_BACKTRACE_SELF_TEST=y
> CONFIG_RBTREE_TEST=m
> # CONFIG_INTERVAL_TREE_TEST is not set
> # CONFIG_PERCPU_TEST is not set
> # CONFIG_ATOMIC64_SELFTEST is not set
> CONFIG_TEST_STRING_HELPERS=m
> CONFIG_TEST_KSTRTOX=m
> # CONFIG_BUILD_DOCSRC is not set
> # CONFIG_DMA_API_DEBUG is not set
> CONFIG_TEST_MODULE=m
> CONFIG_TEST_USER_COPY=m
> # CONFIG_SAMPLES is not set
> CONFIG_HAVE_ARCH_KGDB=y
> # CONFIG_KGDB is not set
> CONFIG_STRICT_DEVMEM=y
> CONFIG_X86_VERBOSE_BOOTUP=y
> # CONFIG_EARLY_PRINTK is not set
> CONFIG_X86_PTDUMP=y
> # CONFIG_DEBUG_RODATA is not set
> CONFIG_DEBUG_SET_MODULE_RONX=y
> # CONFIG_DEBUG_NX_TEST is not set
> # CONFIG_DOUBLEFAULT is not set
> CONFIG_DEBUG_TLBFLUSH=y
> CONFIG_IOMMU_STRESS=y
> CONFIG_HAVE_MMIOTRACE_SUPPORT=y
> CONFIG_IO_DELAY_TYPE_0X80=0
> CONFIG_IO_DELAY_TYPE_0XED=1
> CONFIG_IO_DELAY_TYPE_UDELAY=2
> CONFIG_IO_DELAY_TYPE_NONE=3
> # CONFIG_IO_DELAY_0X80 is not set
> # CONFIG_IO_DELAY_0XED is not set
> CONFIG_IO_DELAY_UDELAY=y
> # CONFIG_IO_DELAY_NONE is not set
> CONFIG_DEFAULT_IO_DELAY_TYPE=2
> # CONFIG_DEBUG_BOOT_PARAMS is not set
> CONFIG_CPA_DEBUG=y
> # CONFIG_OPTIMIZE_INLINING is not set
> CONFIG_DEBUG_NMI_SELFTEST=y
> # CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set
>
> #
> # Security options
> #
> CONFIG_KEYS=y
> # CONFIG_PERSISTENT_KEYRINGS is not set
> # CONFIG_TRUSTED_KEYS is not set
> CONFIG_ENCRYPTED_KEYS=y
> # CONFIG_KEYS_DEBUG_PROC_KEYS is not set
> CONFIG_SECURITY_DMESG_RESTRICT=y
> CONFIG_SECURITY=y
> CONFIG_SECURITYFS=y
> CONFIG_SECURITY_NETWORK=y
> # CONFIG_SECURITY_NETWORK_XFRM is not set
> CONFIG_SECURITY_PATH=y
> CONFIG_LSM_MMAP_MIN_ADDR=65536
> CONFIG_SECURITY_SELINUX=y
> CONFIG_SECURITY_SELINUX_BOOTPARAM=y
> CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
> # CONFIG_SECURITY_SELINUX_DISABLE is not set
> CONFIG_SECURITY_SELINUX_DEVELOP=y
> # CONFIG_SECURITY_SELINUX_AVC_STATS is not set
> CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
> CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX=y
> CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX_VALUE=19
> CONFIG_SECURITY_SMACK=y
> # CONFIG_SECURITY_TOMOYO is not set
> # CONFIG_SECURITY_APPARMOR is not set
> CONFIG_SECURITY_YAMA=y
> # CONFIG_SECURITY_YAMA_STACKED is not set
> CONFIG_INTEGRITY=y
> # CONFIG_INTEGRITY_SIGNATURE is not set
> # CONFIG_INTEGRITY_AUDIT is not set
> CONFIG_IMA=y
> CONFIG_IMA_MEASURE_PCR_IDX=10
> CONFIG_IMA_LSM_RULES=y
> CONFIG_IMA_TEMPLATE=y
> # CONFIG_IMA_NG_TEMPLATE is not set
> # CONFIG_IMA_SIG_TEMPLATE is not set
> CONFIG_IMA_DEFAULT_TEMPLATE="ima"
> CONFIG_IMA_DEFAULT_HASH_SHA1=y
> CONFIG_IMA_DEFAULT_HASH="sha1"
> CONFIG_IMA_APPRAISE=y
> # CONFIG_EVM is not set
> # CONFIG_DEFAULT_SECURITY_SELINUX is not set
> # CONFIG_DEFAULT_SECURITY_SMACK is not set
> CONFIG_DEFAULT_SECURITY_YAMA=y
> # CONFIG_DEFAULT_SECURITY_DAC is not set
> CONFIG_DEFAULT_SECURITY="yama"
> CONFIG_XOR_BLOCKS=y
> CONFIG_CRYPTO=y
>
> #
> # Crypto core or helper
> #
> # CONFIG_CRYPTO_FIPS is not set
> CONFIG_CRYPTO_ALGAPI=y
> CONFIG_CRYPTO_ALGAPI2=y
> CONFIG_CRYPTO_AEAD=y
> CONFIG_CRYPTO_AEAD2=y
> CONFIG_CRYPTO_BLKCIPHER=y
> CONFIG_CRYPTO_BLKCIPHER2=y
> CONFIG_CRYPTO_HASH=y
> CONFIG_CRYPTO_HASH2=y
> CONFIG_CRYPTO_RNG=y
> CONFIG_CRYPTO_RNG2=y
> CONFIG_CRYPTO_PCOMP2=y
> CONFIG_CRYPTO_MANAGER=y
> CONFIG_CRYPTO_MANAGER2=y
> # CONFIG_CRYPTO_USER is not set
> # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
> CONFIG_CRYPTO_GF128MUL=m
> CONFIG_CRYPTO_NULL=m
> CONFIG_CRYPTO_WORKQUEUE=y
> CONFIG_CRYPTO_CRYPTD=y
> CONFIG_CRYPTO_AUTHENC=y
> CONFIG_CRYPTO_TEST=m
> CONFIG_CRYPTO_ABLK_HELPER=m
> CONFIG_CRYPTO_GLUE_HELPER_X86=m
>
> #
> # Authenticated Encryption with Associated Data
> #
> CONFIG_CRYPTO_CCM=m
> # CONFIG_CRYPTO_GCM is not set
> CONFIG_CRYPTO_SEQIV=y
>
> #
> # Block modes
> #
> CONFIG_CRYPTO_CBC=y
> CONFIG_CRYPTO_CTR=y
> CONFIG_CRYPTO_CTS=m
> CONFIG_CRYPTO_ECB=y
> CONFIG_CRYPTO_LRW=m
> CONFIG_CRYPTO_PCBC=m
> CONFIG_CRYPTO_XTS=m
>
> #
> # Hash modes
> #
> CONFIG_CRYPTO_CMAC=m
> CONFIG_CRYPTO_HMAC=y
> # CONFIG_CRYPTO_XCBC is not set
> CONFIG_CRYPTO_VMAC=y
>
> #
> # Digest
> #
> CONFIG_CRYPTO_CRC32C=y
> CONFIG_CRYPTO_CRC32C_INTEL=y
> CONFIG_CRYPTO_CRC32=m
> CONFIG_CRYPTO_CRC32_PCLMUL=y
> CONFIG_CRYPTO_CRCT10DIF=y
> CONFIG_CRYPTO_GHASH=m
> # CONFIG_CRYPTO_MD4 is not set
> CONFIG_CRYPTO_MD5=y
> CONFIG_CRYPTO_MICHAEL_MIC=y
> CONFIG_CRYPTO_RMD128=y
> CONFIG_CRYPTO_RMD160=m
> CONFIG_CRYPTO_RMD256=y
> # CONFIG_CRYPTO_RMD320 is not set
> CONFIG_CRYPTO_SHA1=y
> CONFIG_CRYPTO_SHA256=y
> CONFIG_CRYPTO_SHA512=m
> CONFIG_CRYPTO_TGR192=m
> CONFIG_CRYPTO_WP512=m
>
> #
> # Ciphers
> #
> CONFIG_CRYPTO_AES=y
> CONFIG_CRYPTO_AES_586=m
> CONFIG_CRYPTO_AES_NI_INTEL=m
> # CONFIG_CRYPTO_ANUBIS is not set
> CONFIG_CRYPTO_ARC4=y
> CONFIG_CRYPTO_BLOWFISH=m
> CONFIG_CRYPTO_BLOWFISH_COMMON=m
> CONFIG_CRYPTO_CAMELLIA=m
> CONFIG_CRYPTO_CAST_COMMON=y
> # CONFIG_CRYPTO_CAST5 is not set
> CONFIG_CRYPTO_CAST6=y
> CONFIG_CRYPTO_DES=y
> CONFIG_CRYPTO_FCRYPT=m
> # CONFIG_CRYPTO_KHAZAD is not set
> # CONFIG_CRYPTO_SALSA20 is not set
> # CONFIG_CRYPTO_SALSA20_586 is not set
> # CONFIG_CRYPTO_SEED is not set
> CONFIG_CRYPTO_SERPENT=m
> CONFIG_CRYPTO_SERPENT_SSE2_586=m
> CONFIG_CRYPTO_TEA=y
> # CONFIG_CRYPTO_TWOFISH is not set
> CONFIG_CRYPTO_TWOFISH_COMMON=m
> CONFIG_CRYPTO_TWOFISH_586=m
>
> #
> # Compression
> #
> CONFIG_CRYPTO_DEFLATE=y
> # CONFIG_CRYPTO_ZLIB is not set
> CONFIG_CRYPTO_LZO=m
> CONFIG_CRYPTO_LZ4=m
> CONFIG_CRYPTO_LZ4HC=y
>
> #
> # Random Number Generation
> #
> CONFIG_CRYPTO_ANSI_CPRNG=y
> CONFIG_CRYPTO_USER_API=y
> # CONFIG_CRYPTO_USER_API_HASH is not set
> CONFIG_CRYPTO_USER_API_SKCIPHER=y
> CONFIG_CRYPTO_HASH_INFO=y
> # CONFIG_CRYPTO_HW is not set
> CONFIG_ASYMMETRIC_KEY_TYPE=m
> CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
> CONFIG_PUBLIC_KEY_ALGO_RSA=m
> CONFIG_X509_CERTIFICATE_PARSER=m
> CONFIG_HAVE_KVM=y
> # CONFIG_VIRTUALIZATION is not set
> CONFIG_BINARY_PRINTF=y
>
> #
> # Library routines
> #
> CONFIG_RAID6_PQ=y
> CONFIG_BITREVERSE=y
> CONFIG_GENERIC_STRNCPY_FROM_USER=y
> CONFIG_GENERIC_STRNLEN_USER=y
> CONFIG_GENERIC_NET_UTILS=y
> CONFIG_GENERIC_FIND_FIRST_BIT=y
> CONFIG_GENERIC_PCI_IOMAP=y
> CONFIG_GENERIC_IOMAP=y
> CONFIG_GENERIC_IO=y
> CONFIG_STMP_DEVICE=y
> CONFIG_PERCPU_RWSEM=y
> CONFIG_CRC_CCITT=y
> CONFIG_CRC16=y
> CONFIG_CRC_T10DIF=y
> CONFIG_CRC_ITU_T=y
> CONFIG_CRC32=y
> CONFIG_CRC32_SELFTEST=y
> # CONFIG_CRC32_SLICEBY8 is not set
> # CONFIG_CRC32_SLICEBY4 is not set
> CONFIG_CRC32_SARWATE=y
> # CONFIG_CRC32_BIT is not set
> CONFIG_CRC7=m
> CONFIG_LIBCRC32C=y
> CONFIG_CRC8=m
> CONFIG_CRC64_ECMA=m
> CONFIG_AUDIT_GENERIC=y
> # CONFIG_RANDOM32_SELFTEST is not set
> CONFIG_ZLIB_INFLATE=y
> CONFIG_ZLIB_DEFLATE=y
> CONFIG_LZO_COMPRESS=y
> CONFIG_LZO_DECOMPRESS=y
> CONFIG_LZ4_COMPRESS=m
> CONFIG_LZ4HC_COMPRESS=y
> CONFIG_LZ4_DECOMPRESS=y
> CONFIG_XZ_DEC=y
> # CONFIG_XZ_DEC_X86 is not set
> CONFIG_XZ_DEC_POWERPC=y
> CONFIG_XZ_DEC_IA64=y
> CONFIG_XZ_DEC_ARM=y
> CONFIG_XZ_DEC_ARMTHUMB=y
> CONFIG_XZ_DEC_SPARC=y
> CONFIG_XZ_DEC_BCJ=y
> CONFIG_XZ_DEC_TEST=m
> CONFIG_DECOMPRESS_GZIP=y
> CONFIG_DECOMPRESS_XZ=y
> CONFIG_GENERIC_ALLOCATOR=y
> CONFIG_REED_SOLOMON=y
> CONFIG_REED_SOLOMON_DEC16=y
> CONFIG_BCH=y
> CONFIG_BCH_CONST_PARAMS=y
> CONFIG_ASSOCIATIVE_ARRAY=y
> CONFIG_HAS_IOMEM=y
> CONFIG_HAS_IOPORT=y
> CONFIG_HAS_DMA=y
> CONFIG_CHECK_SIGNATURE=y
> CONFIG_DQL=y
> CONFIG_NLATTR=y
> CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
> CONFIG_AVERAGE=y
> CONFIG_CLZ_TAB=y
> # CONFIG_CORDIC is not set
> CONFIG_DDR=y
> CONFIG_MPILIB=m
> CONFIG_OID_REGISTRY=m

2014-01-07 01:09:56

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies

On 01/06/14 12:32, Guenter Roeck wrote:
> On Mon, Jan 06, 2014 at 11:51:36AM -0800, Randy Dunlap wrote:
>> On 01/06/14 01:40, Stephen Rothwell wrote:
>>> Hi all,
>>>
>>> This tree fails (more than usual) the powerpc allyesconfig build.
>>>
>>> Changes since 20131224:
>>>
>>
>>
>> on i386:
>>
>> drivers/built-in.o: In function `lm75_remove':
>> lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
>> drivers/built-in.o: In function `lm75_probe':
>> lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'
>>
>
> AFAICS that is a dependency problem in thermal code.
> CONFIG_THERMAL=m defines the symbols, but CONFIG_SENSORS_LM75=y.

CONFIG_THERMAL_OF defines the symbols.

It looks to me like drivers/hwmon/Kconfig SENSORS_LM75 entry needs a
depends on THERMAL_OF
line, but that won't fix this build error.
The problem (once again, not the first time that I have seen this one) is that
we have a tristate =m that depends on a bool =y.

Hm, I bet a "depends on THERMAL" for SENSORS_LM75 will fix this.
[test]
Yes, that restricts (limits) SENSORS_LM75 to n/m; y is not possible.

Patch for your consideration is below.

>
> Up to the thermal folks to fix; if the code ends up in mainline we'll have to
> revert the patch introducing the calls to the lm75 driver (and the tmp102 driver
> which has the same issue).
>
> Another oddity is the help text to THERMAL_OF, which states that it supports
> reading and parsing thermal data definitions out of dt but fails to mention
> that it also provides the above API functions.

---
From: Randy Dunlap <[email protected]>

Fix SENSORS_LM75 dependencies to eliminate build errors:

drivers/built-in.o: In function `lm75_remove':
lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
drivers/built-in.o: In function `lm75_probe':
lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'

Add depends on THERMAL_OF since that is what provides the
register/unregister functions above.

Add depends on THERMAL since THERMAL is a tristate (while THERMAL_OF
is a bool) and SENSORS_LM75 (tristate) needs to be limited to modular
builds when THERMAL=m.

Signed-off-by: Randy Dunlap <[email protected]>
---
drivers/hwmon/Kconfig | 2 ++
1 file changed, 2 insertions(+)

--- linux-next-20140106.orig/drivers/hwmon/Kconfig
+++ linux-next-20140106/drivers/hwmon/Kconfig
@@ -650,6 +650,8 @@ config SENSORS_LM73
config SENSORS_LM75
tristate "National Semiconductor LM75 and compatibles"
depends on I2C
+ depends on THERMAL
+ depends on THERMAL_OF
help
If you say yes here you get support for one common type of
temperature sensor chip, with models including:

2014-01-07 02:26:38

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies

On 01/06/2014 05:09 PM, Randy Dunlap wrote:
> On 01/06/14 12:32, Guenter Roeck wrote:
>> On Mon, Jan 06, 2014 at 11:51:36AM -0800, Randy Dunlap wrote:
>>> On 01/06/14 01:40, Stephen Rothwell wrote:
>>>> Hi all,
>>>>
>>>> This tree fails (more than usual) the powerpc allyesconfig build.
>>>>
>>>> Changes since 20131224:
>>>>
>>>
>>>
>>> on i386:
>>>
>>> drivers/built-in.o: In function `lm75_remove':
>>> lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
>>> drivers/built-in.o: In function `lm75_probe':
>>> lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'
>>>
>>
>> AFAICS that is a dependency problem in thermal code.
>> CONFIG_THERMAL=m defines the symbols, but CONFIG_SENSORS_LM75=y.
>
> CONFIG_THERMAL_OF defines the symbols.
>
> It looks to me like drivers/hwmon/Kconfig SENSORS_LM75 entry needs a
> depends on THERMAL_OF
> line, but that won't fix this build error.
> The problem (once again, not the first time that I have seen this one) is that
> we have a tristate =m that depends on a bool =y.
>
> Hm, I bet a "depends on THERMAL" for SENSORS_LM75 will fix this.
> [test]
> Yes, that restricts (limits) SENSORS_LM75 to n/m; y is not possible.
>
> Patch for your consideration is below.
>
>>
>> Up to the thermal folks to fix; if the code ends up in mainline we'll have to
>> revert the patch introducing the calls to the lm75 driver (and the tmp102 driver
>> which has the same issue).
>>
>> Another oddity is the help text to THERMAL_OF, which states that it supports
>> reading and parsing thermal data definitions out of dt but fails to mention
>> that it also provides the above API functions.
>
> ---
> From: Randy Dunlap <[email protected]>
>
> Fix SENSORS_LM75 dependencies to eliminate build errors:
>
> drivers/built-in.o: In function `lm75_remove':
> lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
> drivers/built-in.o: In function `lm75_probe':
> lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'
>
> Add depends on THERMAL_OF since that is what provides the
> register/unregister functions above.
>
> Add depends on THERMAL since THERMAL is a tristate (while THERMAL_OF
> is a bool) and SENSORS_LM75 (tristate) needs to be limited to modular
> builds when THERMAL=m.
>
> Signed-off-by: Randy Dunlap <[email protected]>
> ---
> drivers/hwmon/Kconfig | 2 ++
> 1 file changed, 2 insertions(+)
>
> --- linux-next-20140106.orig/drivers/hwmon/Kconfig
> +++ linux-next-20140106/drivers/hwmon/Kconfig
> @@ -650,6 +650,8 @@ config SENSORS_LM73
> config SENSORS_LM75
> tristate "National Semiconductor LM75 and compatibles"
> depends on I2C
> + depends on THERMAL
> + depends on THERMAL_OF
> help
> If you say yes here you get support for one common type of
> temperature sensor chip, with models including:
>
>
NACK. The driver does not and must not depend on THERMAL. This needs to be addressed
in the thermal code, for example with dummy declarations if THERMAL=m but
SENSORS_LM75=y. The functions are already declared as dummies if THERMAL_OF=n.

Guenter

2014-01-07 11:36:43

by Eduardo Valentin

[permalink] [raw]
Subject: Re: linux-next: Tree for Jan 06 (hwmon/lm75.c)

On 06-01-2014 16:32, Guenter Roeck wrote:
> On Mon, Jan 06, 2014 at 11:51:36AM -0800, Randy Dunlap wrote:
>> On 01/06/14 01:40, Stephen Rothwell wrote:
>>> Hi all,
>>>
>>> This tree fails (more than usual) the powerpc allyesconfig build.
>>>
>>> Changes since 20131224:
>>>
>>
>>
>> on i386:
>>
>> drivers/built-in.o: In function `lm75_remove':
>> lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
>> drivers/built-in.o: In function `lm75_probe':
>> lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'
>>
>
> AFAICS that is a dependency problem in thermal code.
> CONFIG_THERMAL=m defines the symbols, but CONFIG_SENSORS_LM75=y.
>
> Up to the thermal folks to fix; if the code ends up in mainline we'll have to
> revert the patch introducing the calls to the lm75 driver (and the tmp102 driver
> which has the same issue).

Yes sure, let's see what we can do before that.

>
> Another oddity is the help text to THERMAL_OF, which states that it supports
> reading and parsing thermal data definitions out of dt but fails to mention
> that it also provides the above API functions.

Well, it does mention it is an entry for an API that provides helpers to
parse thermal DT data.

>
> Guenter
>
>>
>>
>> Full randconfig file is attached.
>>
>> --
>> ~Randy
>
>> #
>> # Automatically generated file; DO NOT EDIT.
>> # Linux/i386 3.13.0-rc7 Kernel Configuration
>> #
>> # CONFIG_64BIT is not set
>> CONFIG_X86_32=y
>> CONFIG_X86=y
>> CONFIG_INSTRUCTION_DECODER=y
>> CONFIG_OUTPUT_FORMAT="elf32-i386"
>> CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
>> CONFIG_LOCKDEP_SUPPORT=y
>> CONFIG_STACKTRACE_SUPPORT=y
>> CONFIG_HAVE_LATENCYTOP_SUPPORT=y
>> CONFIG_MMU=y
>> CONFIG_NEED_SG_DMA_LENGTH=y
>> CONFIG_GENERIC_ISA_DMA=y
>> CONFIG_GENERIC_HWEIGHT=y
>> CONFIG_ARCH_MAY_HAVE_PC_FDC=y
>> CONFIG_RWSEM_XCHGADD_ALGORITHM=y
>> CONFIG_GENERIC_CALIBRATE_DELAY=y
>> CONFIG_ARCH_HAS_CPU_RELAX=y
>> CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
>> CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
>> CONFIG_HAVE_SETUP_PER_CPU_AREA=y
>> CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
>> CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
>> CONFIG_ARCH_HIBERNATION_POSSIBLE=y
>> CONFIG_ARCH_SUSPEND_POSSIBLE=y
>> CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
>> CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
>> # CONFIG_ZONE_DMA32 is not set
>> # CONFIG_AUDIT_ARCH is not set
>> CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
>> CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
>> CONFIG_X86_32_LAZY_GS=y
>> CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
>> CONFIG_ARCH_SUPPORTS_UPROBES=y
>> CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
>> CONFIG_CONSTRUCTORS=y
>> CONFIG_IRQ_WORK=y
>> CONFIG_BUILDTIME_EXTABLE_SORT=y
>>
>> #
>> # General setup
>> #
>> CONFIG_BROKEN_ON_SMP=y
>> CONFIG_INIT_ENV_ARG_LIMIT=32
>> CONFIG_CROSS_COMPILE=""
>> CONFIG_COMPILE_TEST=y
>> CONFIG_LOCALVERSION=""
>> CONFIG_LOCALVERSION_AUTO=y
>> CONFIG_HAVE_KERNEL_GZIP=y
>> CONFIG_HAVE_KERNEL_BZIP2=y
>> CONFIG_HAVE_KERNEL_LZMA=y
>> CONFIG_HAVE_KERNEL_XZ=y
>> CONFIG_HAVE_KERNEL_LZO=y
>> CONFIG_HAVE_KERNEL_LZ4=y
>> # CONFIG_KERNEL_GZIP is not set
>> # CONFIG_KERNEL_BZIP2 is not set
>> # CONFIG_KERNEL_LZMA is not set
>> # CONFIG_KERNEL_XZ is not set
>> # CONFIG_KERNEL_LZO is not set
>> CONFIG_KERNEL_LZ4=y
>> CONFIG_DEFAULT_HOSTNAME="(none)"
>> # CONFIG_SWAP is not set
>> CONFIG_SYSVIPC=y
>> CONFIG_POSIX_MQUEUE=y
>> CONFIG_FHANDLE=y
>> CONFIG_AUDIT=y
>> # CONFIG_AUDITSYSCALL is not set
>>
>> #
>> # IRQ subsystem
>> #
>> CONFIG_GENERIC_IRQ_PROBE=y
>> CONFIG_GENERIC_IRQ_SHOW=y
>> CONFIG_IRQ_DOMAIN=y
>> CONFIG_IRQ_DOMAIN_DEBUG=y
>> CONFIG_IRQ_FORCED_THREADING=y
>> CONFIG_SPARSE_IRQ=y
>> CONFIG_CLOCKSOURCE_WATCHDOG=y
>> CONFIG_KTIME_SCALAR=y
>> CONFIG_GENERIC_CLOCKEVENTS=y
>> CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
>> CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
>> CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
>> CONFIG_GENERIC_CMOS_UPDATE=y
>>
>> #
>> # Timers subsystem
>> #
>> CONFIG_TICK_ONESHOT=y
>> CONFIG_NO_HZ_COMMON=y
>> # CONFIG_HZ_PERIODIC is not set
>> CONFIG_NO_HZ_IDLE=y
>> # CONFIG_NO_HZ is not set
>> CONFIG_HIGH_RES_TIMERS=y
>>
>> #
>> # CPU/Task time and stats accounting
>> #
>> CONFIG_TICK_CPU_ACCOUNTING=y
>> # CONFIG_IRQ_TIME_ACCOUNTING is not set
>> # CONFIG_BSD_PROCESS_ACCT is not set
>> # CONFIG_TASKSTATS is not set
>>
>> #
>> # RCU Subsystem
>> #
>> CONFIG_TREE_PREEMPT_RCU=y
>> CONFIG_PREEMPT_RCU=y
>> CONFIG_RCU_STALL_COMMON=y
>> CONFIG_RCU_FANOUT=32
>> CONFIG_RCU_FANOUT_LEAF=16
>> # CONFIG_RCU_FANOUT_EXACT is not set
>> CONFIG_TREE_RCU_TRACE=y
>> # CONFIG_RCU_BOOST is not set
>> # CONFIG_RCU_NOCB_CPU is not set
>> CONFIG_IKCONFIG=y
>> CONFIG_LOG_BUF_SHIFT=17
>> CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
>> CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
>> CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
>> CONFIG_CGROUPS=y
>> CONFIG_CGROUP_DEBUG=y
>> # CONFIG_CGROUP_FREEZER is not set
>> # CONFIG_CGROUP_DEVICE is not set
>> CONFIG_CPUSETS=y
>> CONFIG_PROC_PID_CPUSET=y
>> # CONFIG_CGROUP_CPUACCT is not set
>> CONFIG_RESOURCE_COUNTERS=y
>> # CONFIG_MEMCG is not set
>> CONFIG_CGROUP_HUGETLB=y
>> CONFIG_CGROUP_PERF=y
>> CONFIG_CGROUP_SCHED=y
>> CONFIG_FAIR_GROUP_SCHED=y
>> CONFIG_CFS_BANDWIDTH=y
>> # CONFIG_RT_GROUP_SCHED is not set
>> CONFIG_BLK_CGROUP=y
>> # CONFIG_DEBUG_BLK_CGROUP is not set
>> CONFIG_CHECKPOINT_RESTORE=y
>> CONFIG_NAMESPACES=y
>> # CONFIG_UTS_NS is not set
>> CONFIG_IPC_NS=y
>> # CONFIG_USER_NS is not set
>> # CONFIG_PID_NS is not set
>> CONFIG_NET_NS=y
>> CONFIG_UIDGID_STRICT_TYPE_CHECKS=y
>> CONFIG_SCHED_AUTOGROUP=y
>> # CONFIG_SYSFS_DEPRECATED is not set
>> # CONFIG_RELAY is not set
>> CONFIG_BLK_DEV_INITRD=y
>> CONFIG_INITRAMFS_SOURCE=""
>> CONFIG_RD_GZIP=y
>> # CONFIG_RD_BZIP2 is not set
>> # CONFIG_RD_LZMA is not set
>> CONFIG_RD_XZ=y
>> # CONFIG_RD_LZO is not set
>> # CONFIG_RD_LZ4 is not set
>> CONFIG_CC_OPTIMIZE_FOR_SIZE=y
>> CONFIG_ANON_INODES=y
>> CONFIG_HAVE_UID16=y
>> CONFIG_SYSCTL_EXCEPTION_TRACE=y
>> CONFIG_HAVE_PCSPKR_PLATFORM=y
>> CONFIG_EXPERT=y
>> # CONFIG_UID16 is not set
>> CONFIG_KALLSYMS=y
>> CONFIG_KALLSYMS_ALL=y
>> CONFIG_PRINTK=y
>> # CONFIG_BUG is not set
>> CONFIG_ELF_CORE=y
>> CONFIG_PCSPKR_PLATFORM=y
>> CONFIG_BASE_FULL=y
>> # CONFIG_FUTEX is not set
>> # CONFIG_EPOLL is not set
>> # CONFIG_SIGNALFD is not set
>> # CONFIG_TIMERFD is not set
>> CONFIG_EVENTFD=y
>> CONFIG_SHMEM=y
>> CONFIG_AIO=y
>> CONFIG_EMBEDDED=y
>> CONFIG_HAVE_PERF_EVENTS=y
>> CONFIG_PERF_USE_VMALLOC=y
>>
>> #
>> # Kernel Performance Events And Counters
>> #
>> CONFIG_PERF_EVENTS=y
>> CONFIG_DEBUG_PERF_USE_VMALLOC=y
>> CONFIG_VM_EVENT_COUNTERS=y
>> # CONFIG_COMPAT_BRK is not set
>> # CONFIG_SLAB is not set
>> # CONFIG_SLUB is not set
>> CONFIG_SLOB=y
>> CONFIG_PROFILING=y
>> CONFIG_TRACEPOINTS=y
>> CONFIG_OPROFILE=y
>> # CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
>> CONFIG_HAVE_OPROFILE=y
>> CONFIG_OPROFILE_NMI_TIMER=y
>> # CONFIG_KPROBES is not set
>> CONFIG_JUMP_LABEL=y
>> CONFIG_UPROBES=y
>> # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
>> CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
>> CONFIG_ARCH_USE_BUILTIN_BSWAP=y
>> CONFIG_HAVE_IOREMAP_PROT=y
>> CONFIG_HAVE_KPROBES=y
>> CONFIG_HAVE_KRETPROBES=y
>> CONFIG_HAVE_OPTPROBES=y
>> CONFIG_HAVE_KPROBES_ON_FTRACE=y
>> CONFIG_HAVE_ARCH_TRACEHOOK=y
>> CONFIG_HAVE_DMA_ATTRS=y
>> CONFIG_HAVE_DMA_CONTIGUOUS=y
>> CONFIG_GENERIC_SMP_IDLE_THREAD=y
>> CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
>> CONFIG_HAVE_DMA_API_DEBUG=y
>> CONFIG_HAVE_HW_BREAKPOINT=y
>> CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
>> CONFIG_HAVE_USER_RETURN_NOTIFIER=y
>> CONFIG_HAVE_PERF_EVENTS_NMI=y
>> CONFIG_HAVE_PERF_REGS=y
>> CONFIG_HAVE_PERF_USER_STACK_DUMP=y
>> CONFIG_HAVE_ARCH_JUMP_LABEL=y
>> CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
>> CONFIG_HAVE_CMPXCHG_LOCAL=y
>> CONFIG_HAVE_CMPXCHG_DOUBLE=y
>> CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
>> CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
>> CONFIG_SECCOMP_FILTER=y
>> CONFIG_HAVE_CC_STACKPROTECTOR=y
>> # CONFIG_CC_STACKPROTECTOR is not set
>> CONFIG_CC_STACKPROTECTOR_NONE=y
>> # CONFIG_CC_STACKPROTECTOR_REGULAR is not set
>> # CONFIG_CC_STACKPROTECTOR_STRONG is not set
>> CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
>> CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
>> CONFIG_HAVE_ARCH_SOFT_DIRTY=y
>> CONFIG_MODULES_USE_ELF_REL=y
>> CONFIG_CLONE_BACKWARDS=y
>> CONFIG_OLD_SIGSUSPEND3=y
>> CONFIG_OLD_SIGACTION=y
>>
>> #
>> # GCOV-based kernel profiling
>> #
>> CONFIG_GCOV_KERNEL=y
>> # CONFIG_GCOV_PROFILE_ALL is not set
>> # CONFIG_GCOV_FORMAT_AUTODETECT is not set
>> # CONFIG_GCOV_FORMAT_3_4 is not set
>> CONFIG_GCOV_FORMAT_4_7=y
>> CONFIG_HAVE_GENERIC_DMA_COHERENT=y
>> CONFIG_RT_MUTEXES=y
>> CONFIG_BASE_SMALL=0
>> CONFIG_SYSTEM_TRUSTED_KEYRING=y
>> CONFIG_MODULES=y
>> # CONFIG_MODULE_FORCE_LOAD is not set
>> # CONFIG_MODULE_UNLOAD is not set
>> # CONFIG_MODVERSIONS is not set
>> # CONFIG_MODULE_SRCVERSION_ALL is not set
>> # CONFIG_MODULE_SIG is not set
>> CONFIG_BLOCK=y
>> # CONFIG_LBDAF is not set
>> CONFIG_BLK_DEV_BSG=y
>> CONFIG_BLK_DEV_BSGLIB=y
>> # CONFIG_BLK_DEV_INTEGRITY is not set
>> CONFIG_BLK_DEV_THROTTLING=y
>> CONFIG_BLK_CMDLINE_PARSER=y
>>
>> #
>> # Partition Types
>> #
>> # CONFIG_PARTITION_ADVANCED is not set
>> CONFIG_MSDOS_PARTITION=y
>> CONFIG_EFI_PARTITION=y
>>
>> #
>> # IO Schedulers
>> #
>> CONFIG_IOSCHED_NOOP=y
>> CONFIG_IOSCHED_DEADLINE=m
>> CONFIG_IOSCHED_CFQ=y
>> # CONFIG_CFQ_GROUP_IOSCHED is not set
>> # CONFIG_DEFAULT_CFQ is not set
>> CONFIG_DEFAULT_NOOP=y
>> CONFIG_DEFAULT_IOSCHED="noop"
>> CONFIG_ASN1=m
>> CONFIG_UNINLINE_SPIN_UNLOCK=y
>> CONFIG_FREEZER=y
>>
>> #
>> # Processor type and features
>> #
>> CONFIG_ZONE_DMA=y
>> # CONFIG_SMP is not set
>> CONFIG_X86_MPPARSE=y
>> # CONFIG_X86_EXTENDED_PLATFORM is not set
>> CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
>> CONFIG_X86_32_IRIS=m
>> # CONFIG_SCHED_OMIT_FRAME_POINTER is not set
>> # CONFIG_HYPERVISOR_GUEST is not set
>> CONFIG_NO_BOOTMEM=y
>> CONFIG_MEMTEST=y
>> # CONFIG_M486 is not set
>> # CONFIG_M586 is not set
>> CONFIG_M586TSC=y
>> # CONFIG_M586MMX is not set
>> # CONFIG_M686 is not set
>> # CONFIG_MPENTIUMII is not set
>> # CONFIG_MPENTIUMIII is not set
>> # CONFIG_MPENTIUMM is not set
>> # CONFIG_MPENTIUM4 is not set
>> # CONFIG_MK6 is not set
>> # CONFIG_MK7 is not set
>> # CONFIG_MK8 is not set
>> # CONFIG_MCRUSOE is not set
>> # CONFIG_MEFFICEON is not set
>> # CONFIG_MWINCHIPC6 is not set
>> # CONFIG_MWINCHIP3D is not set
>> # CONFIG_MELAN is not set
>> # CONFIG_MGEODEGX1 is not set
>> # CONFIG_MGEODE_LX is not set
>> # CONFIG_MCYRIXIII is not set
>> # CONFIG_MVIAC3_2 is not set
>> # CONFIG_MVIAC7 is not set
>> # CONFIG_MCORE2 is not set
>> # CONFIG_MATOM is not set
>> # CONFIG_X86_GENERIC is not set
>> CONFIG_X86_INTERNODE_CACHE_SHIFT=5
>> CONFIG_X86_L1_CACHE_SHIFT=5
>> CONFIG_X86_PPRO_FENCE=y
>> CONFIG_X86_F00F_BUG=y
>> CONFIG_X86_ALIGNMENT_16=y
>> CONFIG_X86_TSC=y
>> CONFIG_X86_MINIMUM_CPU_FAMILY=4
>> # CONFIG_PROCESSOR_SELECT is not set
>> CONFIG_CPU_SUP_INTEL=y
>> CONFIG_CPU_SUP_CYRIX_32=y
>> CONFIG_CPU_SUP_AMD=y
>> CONFIG_CPU_SUP_CENTAUR=y
>> CONFIG_CPU_SUP_TRANSMETA_32=y
>> CONFIG_CPU_SUP_UMC_32=y
>> # CONFIG_HPET_TIMER is not set
>> # CONFIG_DMI is not set
>> CONFIG_NR_CPUS=1
>> # CONFIG_PREEMPT_NONE is not set
>> # CONFIG_PREEMPT_VOLUNTARY is not set
>> CONFIG_PREEMPT=y
>> CONFIG_PREEMPT_COUNT=y
>> CONFIG_X86_UP_APIC=y
>> CONFIG_X86_UP_IOAPIC=y
>> CONFIG_X86_LOCAL_APIC=y
>> CONFIG_X86_IO_APIC=y
>> CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
>> CONFIG_X86_MCE=y
>> CONFIG_X86_MCE_INTEL=y
>> # CONFIG_X86_MCE_AMD is not set
>> # CONFIG_X86_ANCIENT_MCE is not set
>> CONFIG_X86_MCE_THRESHOLD=y
>> CONFIG_X86_MCE_INJECT=y
>> CONFIG_X86_THERMAL_VECTOR=y
>> # CONFIG_VM86 is not set
>> CONFIG_TOSHIBA=m
>> # CONFIG_I8K is not set
>> # CONFIG_X86_REBOOTFIXUPS is not set
>> CONFIG_MICROCODE=y
>> # CONFIG_MICROCODE_INTEL is not set
>> CONFIG_MICROCODE_AMD=y
>> CONFIG_MICROCODE_OLD_INTERFACE=y
>> # CONFIG_MICROCODE_INTEL_EARLY is not set
>> CONFIG_MICROCODE_AMD_EARLY=y
>> CONFIG_MICROCODE_EARLY=y
>> # CONFIG_X86_MSR is not set
>> CONFIG_X86_CPUID=m
>> # CONFIG_NOHIGHMEM is not set
>> CONFIG_HIGHMEM4G=y
>> # CONFIG_HIGHMEM64G is not set
>> CONFIG_VMSPLIT_3G=y
>> # CONFIG_VMSPLIT_3G_OPT is not set
>> # CONFIG_VMSPLIT_2G is not set
>> # CONFIG_VMSPLIT_2G_OPT is not set
>> # CONFIG_VMSPLIT_1G is not set
>> CONFIG_PAGE_OFFSET=0xC0000000
>> CONFIG_HIGHMEM=y
>> CONFIG_ARCH_FLATMEM_ENABLE=y
>> CONFIG_ARCH_SPARSEMEM_ENABLE=y
>> CONFIG_ARCH_SELECT_MEMORY_MODEL=y
>> CONFIG_ILLEGAL_POINTER_VALUE=0
>> CONFIG_SELECT_MEMORY_MODEL=y
>> CONFIG_FLATMEM_MANUAL=y
>> # CONFIG_SPARSEMEM_MANUAL is not set
>> CONFIG_FLATMEM=y
>> CONFIG_FLAT_NODE_MEM_MAP=y
>> CONFIG_SPARSEMEM_STATIC=y
>> CONFIG_HAVE_MEMBLOCK=y
>> CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
>> CONFIG_ARCH_DISCARD_MEMBLOCK=y
>> CONFIG_MEMORY_ISOLATION=y
>> # CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
>> CONFIG_PAGEFLAGS_EXTENDED=y
>> CONFIG_SPLIT_PTLOCK_CPUS=4
>> CONFIG_COMPACTION=y
>> CONFIG_MIGRATION=y
>> # CONFIG_PHYS_ADDR_T_64BIT is not set
>> CONFIG_ZONE_DMA_FLAG=1
>> CONFIG_BOUNCE=y
>> CONFIG_VIRT_TO_BUS=y
>> # CONFIG_KSM is not set
>> CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
>> CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
>> CONFIG_MEMORY_FAILURE=y
>> # CONFIG_TRANSPARENT_HUGEPAGE is not set
>> CONFIG_CROSS_MEMORY_ATTACH=y
>> CONFIG_NEED_PER_CPU_KM=y
>> # CONFIG_CLEANCACHE is not set
>> # CONFIG_CMA is not set
>> # CONFIG_ZBUD is not set
>> CONFIG_ZSMALLOC=y
>> CONFIG_PGTABLE_MAPPING=y
>> # CONFIG_HIGHPTE is not set
>> # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
>> CONFIG_X86_RESERVE_LOW=64
>> CONFIG_MATH_EMULATION=y
>> # CONFIG_MTRR is not set
>> # CONFIG_ARCH_RANDOM is not set
>> CONFIG_X86_SMAP=y
>> CONFIG_SECCOMP=y
>> CONFIG_HZ_100=y
>> # CONFIG_HZ_250 is not set
>> # CONFIG_HZ_300 is not set
>> # CONFIG_HZ_1000 is not set
>> CONFIG_HZ=100
>> CONFIG_SCHED_HRTICK=y
>> CONFIG_KEXEC=y
>> # CONFIG_CRASH_DUMP is not set
>> CONFIG_PHYSICAL_START=0x1000000
>> CONFIG_RELOCATABLE=y
>> CONFIG_RANDOMIZE_BASE=y
>> CONFIG_RANDOMIZE_BASE_MAX_OFFSET=0x20000000
>> CONFIG_X86_NEED_RELOCS=y
>> CONFIG_PHYSICAL_ALIGN=0x200000
>> CONFIG_COMPAT_VDSO=y
>> # CONFIG_CMDLINE_BOOL is not set
>> CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
>>
>> #
>> # Power management and ACPI options
>> #
>> CONFIG_SUSPEND=y
>> CONFIG_SUSPEND_FREEZER=y
>> CONFIG_PM_SLEEP=y
>> CONFIG_PM_AUTOSLEEP=y
>> # CONFIG_PM_WAKELOCKS is not set
>> # CONFIG_PM_RUNTIME is not set
>> CONFIG_PM=y
>> CONFIG_PM_DEBUG=y
>> CONFIG_PM_ADVANCED_DEBUG=y
>> CONFIG_PM_SLEEP_DEBUG=y
>> # CONFIG_PM_TRACE_RTC is not set
>> # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
>> # CONFIG_SFI is not set
>> CONFIG_X86_APM_BOOT=y
>> CONFIG_APM=y
>> # CONFIG_APM_IGNORE_USER_SUSPEND is not set
>> CONFIG_APM_DO_ENABLE=y
>> # CONFIG_APM_DISPLAY_BLANK is not set
>> # CONFIG_APM_ALLOW_INTS is not set
>>
>> #
>> # CPU Frequency scaling
>> #
>> CONFIG_CPU_FREQ=y
>> CONFIG_CPU_FREQ_GOV_COMMON=y
>> CONFIG_CPU_FREQ_STAT=y
>> # CONFIG_CPU_FREQ_STAT_DETAILS is not set
>> # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
>> # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
>> CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
>> # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
>> # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
>> # CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set
>> CONFIG_CPU_FREQ_GOV_POWERSAVE=y
>> CONFIG_CPU_FREQ_GOV_USERSPACE=y
>> # CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
>> CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
>>
>> #
>> # x86 CPU frequency scaling drivers
>> #
>> # CONFIG_X86_INTEL_PSTATE is not set
>> CONFIG_X86_POWERNOW_K6=y
>> CONFIG_X86_POWERNOW_K7=y
>> # CONFIG_X86_SPEEDSTEP_CENTRINO is not set
>> CONFIG_X86_SPEEDSTEP_ICH=y
>> # CONFIG_X86_SPEEDSTEP_SMI is not set
>> # CONFIG_X86_P4_CLOCKMOD is not set
>> # CONFIG_X86_CPUFREQ_NFORCE2 is not set
>> CONFIG_X86_LONGRUN=m
>>
>> #
>> # shared options
>> #
>> CONFIG_X86_SPEEDSTEP_LIB=y
>> CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
>>
>> #
>> # CPU Idle
>> #
>> # CONFIG_CPU_IDLE is not set
>> # CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
>>
>> #
>> # Bus options (PCI etc.)
>> #
>> # CONFIG_PCI is not set
>> CONFIG_ISA_DMA_API=y
>> # CONFIG_ISA is not set
>> # CONFIG_SCx200 is not set
>> CONFIG_OLPC=y
>> CONFIG_ALIX=y
>> CONFIG_NET5501=y
>> # CONFIG_PCCARD is not set
>> CONFIG_X86_SYSFB=y
>>
>> #
>> # Executable file formats / Emulations
>> #
>> CONFIG_BINFMT_ELF=y
>> CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
>> # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
>> CONFIG_BINFMT_SCRIPT=m
>> CONFIG_HAVE_AOUT=y
>> CONFIG_BINFMT_AOUT=m
>> CONFIG_BINFMT_MISC=y
>> CONFIG_COREDUMP=y
>> CONFIG_HAVE_ATOMIC_IOMAP=y
>> CONFIG_NET=y
>>
>> #
>> # Networking options
>> #
>> CONFIG_PACKET=y
>> # CONFIG_PACKET_DIAG is not set
>> CONFIG_UNIX=y
>> # CONFIG_UNIX_DIAG is not set
>> CONFIG_XFRM=y
>> CONFIG_XFRM_ALGO=y
>> CONFIG_XFRM_USER=m
>> CONFIG_XFRM_SUB_POLICY=y
>> CONFIG_XFRM_MIGRATE=y
>> CONFIG_XFRM_IPCOMP=y
>> CONFIG_NET_KEY=m
>> # CONFIG_NET_KEY_MIGRATE is not set
>> CONFIG_INET=y
>> # CONFIG_IP_MULTICAST is not set
>> # CONFIG_IP_ADVANCED_ROUTER is not set
>> CONFIG_IP_ROUTE_CLASSID=y
>> CONFIG_IP_PNP=y
>> # CONFIG_IP_PNP_DHCP is not set
>> # CONFIG_IP_PNP_BOOTP is not set
>> # CONFIG_IP_PNP_RARP is not set
>> # CONFIG_NET_IPIP is not set
>> CONFIG_NET_IPGRE_DEMUX=m
>> CONFIG_NET_IP_TUNNEL=m
>> CONFIG_NET_IPGRE=m
>> # CONFIG_SYN_COOKIES is not set
>> CONFIG_NET_IPVTI=m
>> # CONFIG_INET_AH is not set
>> CONFIG_INET_ESP=y
>> CONFIG_INET_IPCOMP=y
>> CONFIG_INET_XFRM_TUNNEL=y
>> CONFIG_INET_TUNNEL=y
>> CONFIG_INET_XFRM_MODE_TRANSPORT=m
>> CONFIG_INET_XFRM_MODE_TUNNEL=m
>> CONFIG_INET_XFRM_MODE_BEET=y
>> CONFIG_INET_LRO=y
>> CONFIG_INET_DIAG=y
>> CONFIG_INET_TCP_DIAG=y
>> CONFIG_INET_UDP_DIAG=m
>> # CONFIG_TCP_CONG_ADVANCED is not set
>> CONFIG_TCP_CONG_CUBIC=y
>> CONFIG_DEFAULT_TCP_CONG="cubic"
>> # CONFIG_TCP_MD5SIG is not set
>> # CONFIG_IPV6 is not set
>> CONFIG_NETLABEL=y
>> CONFIG_NETWORK_SECMARK=y
>> CONFIG_NETWORK_PHY_TIMESTAMPING=y
>> # CONFIG_NETFILTER is not set
>> CONFIG_IP_DCCP=y
>> CONFIG_INET_DCCP_DIAG=y
>>
>> #
>> # DCCP CCIDs Configuration
>> #
>> # CONFIG_IP_DCCP_CCID2_DEBUG is not set
>> CONFIG_IP_DCCP_CCID3=y
>> # CONFIG_IP_DCCP_CCID3_DEBUG is not set
>> CONFIG_IP_DCCP_TFRC_LIB=y
>>
>> #
>> # DCCP Kernel Hacking
>> #
>> CONFIG_IP_DCCP_DEBUG=y
>> CONFIG_IP_SCTP=m
>> CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
>> # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
>> # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
>> CONFIG_SCTP_COOKIE_HMAC_MD5=y
>> CONFIG_SCTP_COOKIE_HMAC_SHA1=y
>> CONFIG_RDS=m
>> # CONFIG_RDS_TCP is not set
>> # CONFIG_RDS_DEBUG is not set
>> # CONFIG_TIPC is not set
>> CONFIG_ATM=y
>> CONFIG_ATM_CLIP=y
>> # CONFIG_ATM_CLIP_NO_ICMP is not set
>> CONFIG_ATM_LANE=m
>> CONFIG_ATM_MPOA=y
>> # CONFIG_ATM_BR2684 is not set
>> CONFIG_L2TP=m
>> CONFIG_L2TP_DEBUGFS=m
>> CONFIG_L2TP_V3=y
>> # CONFIG_L2TP_IP is not set
>> CONFIG_L2TP_ETH=y
>> CONFIG_STP=y
>> CONFIG_BRIDGE=y
>> CONFIG_BRIDGE_IGMP_SNOOPING=y
>> CONFIG_BRIDGE_VLAN_FILTERING=y
>> CONFIG_VLAN_8021Q=y
>> # CONFIG_VLAN_8021Q_GVRP is not set
>> # CONFIG_VLAN_8021Q_MVRP is not set
>> CONFIG_DECNET=y
>> # CONFIG_DECNET_ROUTER is not set
>> CONFIG_LLC=y
>> # CONFIG_LLC2 is not set
>> CONFIG_IPX=m
>> CONFIG_IPX_INTERN=y
>> # CONFIG_ATALK is not set
>> # CONFIG_X25 is not set
>> CONFIG_LAPB=m
>> # CONFIG_PHONET is not set
>> CONFIG_IEEE802154=m
>> CONFIG_MAC802154=m
>> CONFIG_NET_SCHED=y
>>
>> #
>> # Queueing/Scheduling
>> #
>> CONFIG_NET_SCH_CBQ=y
>> CONFIG_NET_SCH_HTB=m
>> # CONFIG_NET_SCH_HFSC is not set
>> # CONFIG_NET_SCH_ATM is not set
>> CONFIG_NET_SCH_PRIO=y
>> CONFIG_NET_SCH_MULTIQ=m
>> CONFIG_NET_SCH_RED=y
>> CONFIG_NET_SCH_SFB=m
>> CONFIG_NET_SCH_SFQ=m
>> CONFIG_NET_SCH_TEQL=y
>> CONFIG_NET_SCH_TBF=m
>> CONFIG_NET_SCH_GRED=y
>> # CONFIG_NET_SCH_DSMARK is not set
>> CONFIG_NET_SCH_NETEM=m
>> CONFIG_NET_SCH_DRR=m
>> # CONFIG_NET_SCH_MQPRIO is not set
>> # CONFIG_NET_SCH_CHOKE is not set
>> CONFIG_NET_SCH_QFQ=m
>> CONFIG_NET_SCH_CODEL=y
>> # CONFIG_NET_SCH_FQ_CODEL is not set
>> CONFIG_NET_SCH_FQ=y
>> # CONFIG_NET_SCH_HHF is not set
>> CONFIG_NET_SCH_PLUG=y
>>
>> #
>> # Classification
>> #
>> CONFIG_NET_CLS=y
>> CONFIG_NET_CLS_BASIC=y
>> CONFIG_NET_CLS_TCINDEX=y
>> CONFIG_NET_CLS_ROUTE4=y
>> # CONFIG_NET_CLS_FW is not set
>> CONFIG_NET_CLS_U32=y
>> # CONFIG_CLS_U32_PERF is not set
>> CONFIG_CLS_U32_MARK=y
>> # CONFIG_NET_CLS_RSVP is not set
>> CONFIG_NET_CLS_RSVP6=y
>> CONFIG_NET_CLS_FLOW=m
>> CONFIG_NET_CLS_CGROUP=y
>> CONFIG_NET_CLS_BPF=y
>> # CONFIG_NET_EMATCH is not set
>> # CONFIG_NET_CLS_ACT is not set
>> CONFIG_NET_CLS_IND=y
>> CONFIG_NET_SCH_FIFO=y
>> CONFIG_DCB=y
>> # CONFIG_DNS_RESOLVER is not set
>> CONFIG_BATMAN_ADV=y
>> CONFIG_BATMAN_ADV_BLA=y
>> CONFIG_BATMAN_ADV_DAT=y
>> CONFIG_BATMAN_ADV_NC=y
>> # CONFIG_BATMAN_ADV_DEBUG is not set
>> CONFIG_OPENVSWITCH=m
>> # CONFIG_OPENVSWITCH_GRE is not set
>> CONFIG_VSOCKETS=m
>> CONFIG_NETLINK_MMAP=y
>> CONFIG_NETLINK_DIAG=m
>> CONFIG_NET_MPLS_GSO=y
>> # CONFIG_HSR is not set
>> # CONFIG_NETPRIO_CGROUP is not set
>> CONFIG_NET_RX_BUSY_POLL=y
>> CONFIG_BQL=y
>>
>> #
>> # Network testing
>> #
>> # CONFIG_NET_DROP_MONITOR is not set
>> # CONFIG_HAMRADIO is not set
>> CONFIG_CAN=y
>> CONFIG_CAN_RAW=m
>> CONFIG_CAN_BCM=y
>> # CONFIG_CAN_GW is not set
>>
>> #
>> # CAN Device Drivers
>> #
>> # CONFIG_CAN_VCAN is not set
>> # CONFIG_CAN_SLCAN is not set
>> CONFIG_CAN_DEV=m
>> # CONFIG_CAN_CALC_BITTIMING is not set
>> CONFIG_CAN_LEDS=y
>> CONFIG_CAN_MCP251X=m
>> # CONFIG_CAN_GRCAN is not set
>> CONFIG_CAN_SJA1000=m
>> CONFIG_CAN_SJA1000_ISA=m
>> CONFIG_CAN_SJA1000_PLATFORM=m
>> CONFIG_CAN_SJA1000_OF_PLATFORM=m
>> # CONFIG_CAN_C_CAN is not set
>> # CONFIG_CAN_CC770 is not set
>> CONFIG_CAN_SOFTING=m
>> # CONFIG_CAN_DEBUG_DEVICES is not set
>> CONFIG_IRDA=y
>>
>> #
>> # IrDA protocols
>> #
>> CONFIG_IRLAN=y
>> # CONFIG_IRCOMM is not set
>> CONFIG_IRDA_ULTRA=y
>>
>> #
>> # IrDA options
>> #
>> # CONFIG_IRDA_CACHE_LAST_LSAP is not set
>> CONFIG_IRDA_FAST_RR=y
>> # CONFIG_IRDA_DEBUG is not set
>>
>> #
>> # Infrared-port device drivers
>> #
>>
>> #
>> # SIR device drivers
>> #
>> # CONFIG_IRTTY_SIR is not set
>>
>> #
>> # Dongle support
>> #
>>
>> #
>> # FIR device drivers
>> #
>> CONFIG_NSC_FIR=m
>> # CONFIG_WINBOND_FIR is not set
>> CONFIG_SMC_IRCC_FIR=y
>> CONFIG_ALI_FIR=m
>> # CONFIG_VIA_FIR is not set
>> CONFIG_BT=y
>> # CONFIG_BT_RFCOMM is not set
>> CONFIG_BT_BNEP=m
>> # CONFIG_BT_BNEP_MC_FILTER is not set
>> CONFIG_BT_BNEP_PROTO_FILTER=y
>> CONFIG_BT_HIDP=y
>>
>> #
>> # Bluetooth device drivers
>> #
>> CONFIG_BT_HCIUART=y
>> CONFIG_BT_HCIUART_H4=y
>> CONFIG_BT_HCIUART_BCSP=y
>> # CONFIG_BT_HCIUART_ATH3K is not set
>> # CONFIG_BT_HCIUART_LL is not set
>> # CONFIG_BT_HCIUART_3WIRE is not set
>> CONFIG_BT_HCIVHCI=m
>> # CONFIG_BT_MRVL is not set
>> CONFIG_AF_RXRPC=y
>> CONFIG_AF_RXRPC_DEBUG=y
>> CONFIG_RXKAD=m
>> CONFIG_WIRELESS=y
>> CONFIG_WEXT_CORE=y
>> CONFIG_CFG80211=y
>> CONFIG_NL80211_TESTMODE=y
>> CONFIG_CFG80211_DEVELOPER_WARNINGS=y
>> # CONFIG_CFG80211_REG_DEBUG is not set
>> CONFIG_CFG80211_CERTIFICATION_ONUS=y
>> CONFIG_CFG80211_DEFAULT_PS=y
>> CONFIG_CFG80211_DEBUGFS=y
>> # CONFIG_CFG80211_INTERNAL_REGDB is not set
>> CONFIG_CFG80211_WEXT=y
>> # CONFIG_LIB80211 is not set
>> CONFIG_MAC80211=m
>> CONFIG_MAC80211_HAS_RC=y
>> CONFIG_MAC80211_RC_PID=y
>> # CONFIG_MAC80211_RC_MINSTREL is not set
>> CONFIG_MAC80211_RC_DEFAULT_PID=y
>> CONFIG_MAC80211_RC_DEFAULT="pid"
>> CONFIG_MAC80211_MESH=y
>> # CONFIG_MAC80211_LEDS is not set
>> # CONFIG_MAC80211_DEBUGFS is not set
>> # CONFIG_MAC80211_MESSAGE_TRACING is not set
>> CONFIG_MAC80211_DEBUG_MENU=y
>> CONFIG_MAC80211_NOINLINE=y
>> # CONFIG_MAC80211_VERBOSE_DEBUG is not set
>> # CONFIG_MAC80211_MLME_DEBUG is not set
>> # CONFIG_MAC80211_STA_DEBUG is not set
>> CONFIG_MAC80211_HT_DEBUG=y
>> # CONFIG_MAC80211_IBSS_DEBUG is not set
>> CONFIG_MAC80211_PS_DEBUG=y
>> CONFIG_MAC80211_MPL_DEBUG=y
>> CONFIG_MAC80211_MPATH_DEBUG=y
>> # CONFIG_MAC80211_MHWMP_DEBUG is not set
>> # CONFIG_MAC80211_MESH_SYNC_DEBUG is not set
>> # CONFIG_MAC80211_MESH_CSA_DEBUG is not set
>> # CONFIG_MAC80211_MESH_PS_DEBUG is not set
>> CONFIG_MAC80211_TDLS_DEBUG=y
>> # CONFIG_WIMAX is not set
>> # CONFIG_RFKILL is not set
>> CONFIG_NET_9P=y
>> CONFIG_NET_9P_DEBUG=y
>> CONFIG_CAIF=y
>> # CONFIG_CAIF_DEBUG is not set
>> # CONFIG_CAIF_NETDEV is not set
>> CONFIG_CAIF_USB=y
>> CONFIG_CEPH_LIB=m
>> CONFIG_CEPH_LIB_PRETTYDEBUG=y
>> # CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
>> CONFIG_NFC=m
>> CONFIG_NFC_DIGITAL=m
>> CONFIG_NFC_NCI=m
>> CONFIG_NFC_NCI_SPI=y
>> CONFIG_NFC_HCI=m
>> # CONFIG_NFC_SHDLC is not set
>>
>> #
>> # Near Field Communication (NFC) devices
>> #
>> # CONFIG_NFC_SIM is not set
>> CONFIG_NFC_PN544=m
>> CONFIG_NFC_MICROREAD=m
>>
>> #
>> # Device Drivers
>> #
>>
>> #
>> # Generic Driver Options
>> #
>> CONFIG_UEVENT_HELPER_PATH=""
>> # CONFIG_DEVTMPFS is not set
>> CONFIG_STANDALONE=y
>> CONFIG_PREVENT_FIRMWARE_BUILD=y
>> CONFIG_FW_LOADER=y
>> CONFIG_FIRMWARE_IN_KERNEL=y
>> CONFIG_EXTRA_FIRMWARE=""
>> CONFIG_FW_LOADER_USER_HELPER=y
>> CONFIG_DEBUG_DRIVER=y
>> CONFIG_DEBUG_DEVRES=y
>> # CONFIG_SYS_HYPERVISOR is not set
>> # CONFIG_GENERIC_CPU_DEVICES is not set
>> CONFIG_REGMAP=y
>> CONFIG_REGMAP_I2C=y
>> CONFIG_REGMAP_SPI=y
>> CONFIG_REGMAP_IRQ=y
>> # CONFIG_DMA_SHARED_BUFFER is not set
>>
>> #
>> # Bus devices
>> #
>> CONFIG_CONNECTOR=y
>> CONFIG_PROC_EVENTS=y
>> CONFIG_MTD=y
>> # CONFIG_MTD_TESTS is not set
>> # CONFIG_MTD_REDBOOT_PARTS is not set
>> CONFIG_MTD_CMDLINE_PARTS=m
>> CONFIG_MTD_OF_PARTS=y
>> CONFIG_MTD_AR7_PARTS=y
>>
>> #
>> # User Modules And Translation Layers
>> #
>> CONFIG_MTD_BLKDEVS=y
>> CONFIG_MTD_BLOCK=m
>> # CONFIG_MTD_BLOCK_RO is not set
>> CONFIG_FTL=m
>> CONFIG_NFTL=y
>> # CONFIG_NFTL_RW is not set
>> CONFIG_INFTL=m
>> # CONFIG_RFD_FTL is not set
>> CONFIG_SSFDC=y
>> CONFIG_SM_FTL=m
>> CONFIG_MTD_OOPS=y
>>
>> #
>> # RAM/ROM/Flash chip drivers
>> #
>> CONFIG_MTD_CFI=y
>> CONFIG_MTD_JEDECPROBE=y
>> CONFIG_MTD_GEN_PROBE=y
>> # CONFIG_MTD_CFI_ADV_OPTIONS is not set
>> CONFIG_MTD_MAP_BANK_WIDTH_1=y
>> CONFIG_MTD_MAP_BANK_WIDTH_2=y
>> CONFIG_MTD_MAP_BANK_WIDTH_4=y
>> # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
>> # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
>> # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
>> CONFIG_MTD_CFI_I1=y
>> CONFIG_MTD_CFI_I2=y
>> # CONFIG_MTD_CFI_I4 is not set
>> # CONFIG_MTD_CFI_I8 is not set
>> # CONFIG_MTD_CFI_INTELEXT is not set
>> CONFIG_MTD_CFI_AMDSTD=y
>> CONFIG_MTD_CFI_STAA=m
>> CONFIG_MTD_CFI_UTIL=y
>> CONFIG_MTD_RAM=m
>> CONFIG_MTD_ROM=m
>> # CONFIG_MTD_ABSENT is not set
>>
>> #
>> # Mapping drivers for chip access
>> #
>> CONFIG_MTD_COMPLEX_MAPPINGS=y
>> # CONFIG_MTD_PHYSMAP is not set
>> # CONFIG_MTD_PHYSMAP_OF is not set
>> CONFIG_MTD_SC520CDP=y
>> # CONFIG_MTD_NETSC520 is not set
>> CONFIG_MTD_TS5500=y
>> CONFIG_MTD_AMD76XROM=y
>> CONFIG_MTD_ICHXROM=m
>> # CONFIG_MTD_NETtel is not set
>> CONFIG_MTD_L440GX=m
>> CONFIG_MTD_GPIO_ADDR=m
>> # CONFIG_MTD_PLATRAM is not set
>> # CONFIG_MTD_LATCH_ADDR is not set
>>
>> #
>> # Self-contained MTD device drivers
>> #
>> CONFIG_MTD_DATAFLASH=m
>> CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y
>> # CONFIG_MTD_DATAFLASH_OTP is not set
>> CONFIG_MTD_M25P80=y
>> CONFIG_MTD_SST25L=y
>> CONFIG_MTD_SLRAM=m
>> CONFIG_MTD_PHRAM=y
>> CONFIG_MTD_MTDRAM=y
>> CONFIG_MTDRAM_TOTAL_SIZE=4096
>> CONFIG_MTDRAM_ERASE_SIZE=128
>> CONFIG_MTDRAM_ABS_POS=0
>> # CONFIG_MTD_BLOCK2MTD is not set
>>
>> #
>> # Disk-On-Chip Device Drivers
>> #
>> CONFIG_MTD_DOCG3=m
>> CONFIG_BCH_CONST_M=14
>> CONFIG_BCH_CONST_T=4
>> CONFIG_MTD_NAND_ECC=y
>> CONFIG_MTD_NAND_ECC_SMC=y
>> CONFIG_MTD_NAND=y
>> CONFIG_MTD_NAND_BCH=y
>> CONFIG_MTD_NAND_ECC_BCH=y
>> # CONFIG_MTD_SM_COMMON is not set
>> CONFIG_MTD_NAND_DENALI=m
>> CONFIG_MTD_NAND_GPIO=y
>> CONFIG_MTD_NAND_IDS=y
>> CONFIG_MTD_NAND_DISKONCHIP=y
>> # CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
>> CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
>> # CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
>> # CONFIG_MTD_NAND_DOCG4 is not set
>> CONFIG_MTD_NAND_CS553X=y
>> # CONFIG_MTD_NAND_NANDSIM is not set
>> CONFIG_MTD_NAND_PLATFORM=m
>> CONFIG_MTD_NAND_SH_FLCTL=m
>> CONFIG_MTD_ONENAND=m
>> # CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
>> # CONFIG_MTD_ONENAND_GENERIC is not set
>> CONFIG_MTD_ONENAND_OTP=y
>> # CONFIG_MTD_ONENAND_2X_PROGRAM is not set
>>
>> #
>> # LPDDR flash memory drivers
>> #
>> # CONFIG_MTD_LPDDR is not set
>> # CONFIG_MTD_UBI is not set
>> CONFIG_OF=y
>>
>> #
>> # Device Tree and Open Firmware support
>> #
>> CONFIG_OF_SELFTEST=y
>> CONFIG_OF_PROMTREE=y
>> CONFIG_OF_ADDRESS=y
>> CONFIG_OF_IRQ=y
>> CONFIG_OF_MTD=y
>> CONFIG_PARPORT=y
>> CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
>> # CONFIG_PARPORT_PC is not set
>> # CONFIG_PARPORT_GSC is not set
>> CONFIG_PARPORT_AX88796=y
>> # CONFIG_PARPORT_1284 is not set
>> CONFIG_PARPORT_NOT_PC=y
>> # CONFIG_BLK_DEV is not set
>>
>> #
>> # Misc devices
>> #
>> CONFIG_SENSORS_LIS3LV02D=m
>> CONFIG_AD525X_DPOT=y
>> # CONFIG_AD525X_DPOT_I2C is not set
>> # CONFIG_AD525X_DPOT_SPI is not set
>> CONFIG_DUMMY_IRQ=y
>> CONFIG_ICS932S401=y
>> # CONFIG_ATMEL_SSC is not set
>> CONFIG_ENCLOSURE_SERVICES=y
>> CONFIG_APDS9802ALS=y
>> # CONFIG_ISL29003 is not set
>> CONFIG_ISL29020=m
>> CONFIG_SENSORS_TSL2550=y
>> CONFIG_SENSORS_BH1780=m
>> CONFIG_SENSORS_BH1770=m
>> # CONFIG_SENSORS_APDS990X is not set
>> CONFIG_HMC6352=m
>> CONFIG_DS1682=m
>> CONFIG_TI_DAC7512=m
>> CONFIG_BMP085=y
>> # CONFIG_BMP085_I2C is not set
>> CONFIG_BMP085_SPI=y
>> CONFIG_USB_SWITCH_FSA9480=y
>> CONFIG_LATTICE_ECP3_CONFIG=y
>> CONFIG_SRAM=y
>> CONFIG_C2PORT=m
>> # CONFIG_C2PORT_DURAMAR_2150 is not set
>>
>> #
>> # EEPROM support
>> #
>> # CONFIG_EEPROM_AT24 is not set
>> CONFIG_EEPROM_AT25=y
>> # CONFIG_EEPROM_LEGACY is not set
>> CONFIG_EEPROM_MAX6875=m
>> CONFIG_EEPROM_93CX6=y
>> CONFIG_EEPROM_93XX46=m
>>
>> #
>> # Texas Instruments shared transport line discipline
>> #
>> # CONFIG_TI_ST is not set
>> CONFIG_SENSORS_LIS3_SPI=m
>> # CONFIG_SENSORS_LIS3_I2C is not set
>>
>> #
>> # Altera FPGA firmware download module
>> #
>> CONFIG_ALTERA_STAPL=y
>>
>> #
>> # Intel MIC Host Driver
>> #
>>
>> #
>> # Intel MIC Card Driver
>> #
>> CONFIG_HAVE_IDE=y
>> # CONFIG_IDE is not set
>>
>> #
>> # SCSI device support
>> #
>> CONFIG_SCSI_MOD=y
>> # CONFIG_RAID_ATTRS is not set
>> CONFIG_SCSI=y
>> CONFIG_SCSI_DMA=y
>> # CONFIG_SCSI_TGT is not set
>> # CONFIG_SCSI_NETLINK is not set
>>
>> #
>> # SCSI support type (disk, tape, CD-ROM)
>> #
>> # CONFIG_BLK_DEV_SD is not set
>> CONFIG_CHR_DEV_ST=y
>> # CONFIG_CHR_DEV_OSST is not set
>> # CONFIG_BLK_DEV_SR is not set
>> CONFIG_CHR_DEV_SG=m
>> # CONFIG_CHR_DEV_SCH is not set
>> CONFIG_SCSI_ENCLOSURE=y
>> CONFIG_SCSI_MULTI_LUN=y
>> # CONFIG_SCSI_CONSTANTS is not set
>> CONFIG_SCSI_LOGGING=y
>> # CONFIG_SCSI_SCAN_ASYNC is not set
>>
>> #
>> # SCSI Transports
>> #
>> # CONFIG_SCSI_SPI_ATTRS is not set
>> # CONFIG_SCSI_FC_ATTRS is not set
>> # CONFIG_SCSI_ISCSI_ATTRS is not set
>> CONFIG_SCSI_SAS_ATTRS=y
>> CONFIG_SCSI_SAS_LIBSAS=m
>> # CONFIG_SCSI_SAS_ATA is not set
>> # CONFIG_SCSI_SAS_HOST_SMP is not set
>> CONFIG_SCSI_SRP_ATTRS=m
>> # CONFIG_SCSI_LOWLEVEL is not set
>> CONFIG_SCSI_DH=m
>> CONFIG_SCSI_DH_RDAC=m
>> CONFIG_SCSI_DH_HP_SW=m
>> # CONFIG_SCSI_DH_EMC is not set
>> # CONFIG_SCSI_DH_ALUA is not set
>> CONFIG_SCSI_OSD_INITIATOR=y
>> # CONFIG_SCSI_OSD_ULD is not set
>> CONFIG_SCSI_OSD_DPRINT_SENSE=1
>> CONFIG_SCSI_OSD_DEBUG=y
>> CONFIG_ATA=m
>> # CONFIG_ATA_NONSTANDARD is not set
>> CONFIG_ATA_VERBOSE_ERROR=y
>> # CONFIG_SATA_PMP is not set
>>
>> #
>> # Controllers with non-SFF native interface
>> #
>> # CONFIG_SATA_AHCI_PLATFORM is not set
>> CONFIG_ATA_SFF=y
>>
>> #
>> # SFF controllers with custom DMA interface
>> #
>> # CONFIG_ATA_BMDMA is not set
>>
>> #
>> # PIO-only SFF controllers
>> #
>> CONFIG_PATA_PLATFORM=m
>> # CONFIG_PATA_OF_PLATFORM is not set
>>
>> #
>> # Generic fallback / legacy drivers
>> #
>> # CONFIG_MD is not set
>> CONFIG_TARGET_CORE=y
>> CONFIG_TCM_IBLOCK=m
>> CONFIG_TCM_FILEIO=y
>> CONFIG_TCM_PSCSI=y
>> CONFIG_LOOPBACK_TARGET=y
>> CONFIG_ISCSI_TARGET=y
>> # CONFIG_MACINTOSH_DRIVERS is not set
>> # CONFIG_NETDEVICES is not set
>>
>> #
>> # Input device support
>> #
>> CONFIG_INPUT=y
>> CONFIG_INPUT_FF_MEMLESS=y
>> CONFIG_INPUT_POLLDEV=y
>> CONFIG_INPUT_SPARSEKMAP=m
>> CONFIG_INPUT_MATRIXKMAP=y
>>
>> #
>> # Userland interfaces
>> #
>> CONFIG_INPUT_MOUSEDEV=m
>> # CONFIG_INPUT_MOUSEDEV_PSAUX is not set
>> CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
>> CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
>> # CONFIG_INPUT_JOYDEV is not set
>> # CONFIG_INPUT_EVDEV is not set
>> CONFIG_INPUT_EVBUG=m
>>
>> #
>> # Input Device Drivers
>> #
>> CONFIG_INPUT_KEYBOARD=y
>> CONFIG_KEYBOARD_ADP5588=y
>> # CONFIG_KEYBOARD_ADP5589 is not set
>> CONFIG_KEYBOARD_ATKBD=m
>> CONFIG_KEYBOARD_QT1070=y
>> CONFIG_KEYBOARD_QT2160=m
>> # CONFIG_KEYBOARD_LKKBD is not set
>> CONFIG_KEYBOARD_GPIO=m
>> CONFIG_KEYBOARD_GPIO_POLLED=y
>> # CONFIG_KEYBOARD_TCA6416 is not set
>> CONFIG_KEYBOARD_TCA8418=m
>> # CONFIG_KEYBOARD_MATRIX is not set
>> CONFIG_KEYBOARD_LM8323=y
>> CONFIG_KEYBOARD_LM8333=m
>> # CONFIG_KEYBOARD_MAX7359 is not set
>> CONFIG_KEYBOARD_MCS=m
>> CONFIG_KEYBOARD_MPR121=y
>> CONFIG_KEYBOARD_NEWTON=m
>> CONFIG_KEYBOARD_OPENCORES=y
>> # CONFIG_KEYBOARD_STOWAWAY is not set
>> CONFIG_KEYBOARD_SUNKBD=m
>> # CONFIG_KEYBOARD_SH_KEYSC is not set
>> CONFIG_KEYBOARD_TWL4030=y
>> CONFIG_KEYBOARD_XTKBD=m
>> CONFIG_KEYBOARD_CROS_EC=y
>> CONFIG_INPUT_LEDS=y
>> # CONFIG_INPUT_MOUSE is not set
>> # CONFIG_INPUT_JOYSTICK is not set
>> CONFIG_INPUT_TABLET=y
>> CONFIG_INPUT_TOUCHSCREEN=y
>> CONFIG_TOUCHSCREEN_88PM860X=m
>> # CONFIG_TOUCHSCREEN_ADS7846 is not set
>> # CONFIG_TOUCHSCREEN_AD7877 is not set
>> # CONFIG_TOUCHSCREEN_AD7879 is not set
>> CONFIG_TOUCHSCREEN_ATMEL_MXT=m
>> # CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
>> CONFIG_TOUCHSCREEN_BU21013=y
>> # CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
>> # CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
>> CONFIG_TOUCHSCREEN_CYTTSP4_CORE=y
>> CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m
>> # CONFIG_TOUCHSCREEN_CYTTSP4_SPI is not set
>> CONFIG_TOUCHSCREEN_DA9034=y
>> # CONFIG_TOUCHSCREEN_DA9052 is not set
>> # CONFIG_TOUCHSCREEN_DYNAPRO is not set
>> # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
>> # CONFIG_TOUCHSCREEN_EETI is not set
>> # CONFIG_TOUCHSCREEN_EGALAX is not set
>> # CONFIG_TOUCHSCREEN_FUJITSU is not set
>> # CONFIG_TOUCHSCREEN_ILI210X is not set
>> CONFIG_TOUCHSCREEN_GUNZE=m
>> CONFIG_TOUCHSCREEN_ELO=y
>> CONFIG_TOUCHSCREEN_WACOM_W8001=m
>> CONFIG_TOUCHSCREEN_WACOM_I2C=y
>> CONFIG_TOUCHSCREEN_MAX11801=m
>> # CONFIG_TOUCHSCREEN_MCS5000 is not set
>> CONFIG_TOUCHSCREEN_MMS114=y
>> # CONFIG_TOUCHSCREEN_MTOUCH is not set
>> CONFIG_TOUCHSCREEN_INEXIO=y
>> CONFIG_TOUCHSCREEN_MK712=y
>> CONFIG_TOUCHSCREEN_PENMOUNT=y
>> # CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
>> CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
>> # CONFIG_TOUCHSCREEN_TOUCHWIN is not set
>> # CONFIG_TOUCHSCREEN_PIXCIR is not set
>> CONFIG_TOUCHSCREEN_WM831X=y
>> CONFIG_TOUCHSCREEN_MC13783=y
>> # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
>> CONFIG_TOUCHSCREEN_TSC_SERIO=m
>> CONFIG_TOUCHSCREEN_TSC2005=y
>> # CONFIG_TOUCHSCREEN_TSC2007 is not set
>> CONFIG_TOUCHSCREEN_PCAP=m
>> CONFIG_TOUCHSCREEN_ST1232=y
>> CONFIG_TOUCHSCREEN_TPS6507X=m
>> CONFIG_TOUCHSCREEN_ZFORCE=y
>> CONFIG_INPUT_MISC=y
>> # CONFIG_INPUT_88PM860X_ONKEY is not set
>> # CONFIG_INPUT_88PM80X_ONKEY is not set
>> CONFIG_INPUT_AD714X=y
>> CONFIG_INPUT_AD714X_I2C=m
>> CONFIG_INPUT_AD714X_SPI=y
>> CONFIG_INPUT_BMA150=m
>> CONFIG_INPUT_PCSPKR=m
>> CONFIG_INPUT_MC13783_PWRBUTTON=y
>> CONFIG_INPUT_MMA8450=y
>> # CONFIG_INPUT_MPU3050 is not set
>> # CONFIG_INPUT_APANEL is not set
>> CONFIG_INPUT_GP2A=y
>> CONFIG_INPUT_GPIO_BEEPER=y
>> CONFIG_INPUT_GPIO_TILT_POLLED=m
>> CONFIG_INPUT_WISTRON_BTNS=m
>> # CONFIG_INPUT_KXTJ9 is not set
>> CONFIG_INPUT_TWL4030_PWRBUTTON=y
>> CONFIG_INPUT_TWL4030_VIBRA=m
>> CONFIG_INPUT_UINPUT=y
>> CONFIG_INPUT_PCF50633_PMU=y
>> # CONFIG_INPUT_PCF8574 is not set
>> CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
>> # CONFIG_INPUT_DA9052_ONKEY is not set
>> # CONFIG_INPUT_DA9055_ONKEY is not set
>> CONFIG_INPUT_WM831X_ON=m
>> CONFIG_INPUT_PCAP=m
>> CONFIG_INPUT_ADXL34X=y
>> CONFIG_INPUT_ADXL34X_I2C=m
>> # CONFIG_INPUT_ADXL34X_SPI is not set
>> CONFIG_INPUT_CMA3000=m
>> CONFIG_INPUT_CMA3000_I2C=m
>> # CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set
>>
>> #
>> # Hardware I/O ports
>> #
>> CONFIG_SERIO=y
>> CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
>> CONFIG_SERIO_I8042=m
>> CONFIG_SERIO_SERPORT=y
>> CONFIG_SERIO_CT82C710=m
>> CONFIG_SERIO_PARKBD=m
>> CONFIG_SERIO_LIBPS2=m
>> CONFIG_SERIO_RAW=m
>> CONFIG_SERIO_ALTERA_PS2=m
>> CONFIG_SERIO_PS2MULT=m
>> CONFIG_SERIO_ARC_PS2=y
>> CONFIG_SERIO_APBPS2=y
>> CONFIG_SERIO_OLPC_APSP=y
>> CONFIG_GAMEPORT=y
>> CONFIG_GAMEPORT_NS558=m
>> CONFIG_GAMEPORT_L4=m
>>
>> #
>> # Character devices
>> #
>> CONFIG_TTY=y
>> CONFIG_VT=y
>> # CONFIG_CONSOLE_TRANSLATIONS is not set
>> # CONFIG_VT_CONSOLE is not set
>> CONFIG_HW_CONSOLE=y
>> # CONFIG_VT_HW_CONSOLE_BINDING is not set
>> # CONFIG_UNIX98_PTYS is not set
>> # CONFIG_LEGACY_PTYS is not set
>> CONFIG_SERIAL_NONSTANDARD=y
>> # CONFIG_N_HDLC is not set
>> CONFIG_N_GSM=y
>> # CONFIG_TRACE_ROUTER is not set
>> CONFIG_TRACE_SINK=m
>> # CONFIG_DEVKMEM is not set
>>
>> #
>> # Serial drivers
>> #
>> CONFIG_SERIAL_8250=m
>> CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
>> CONFIG_FIX_EARLYCON_MEM=y
>> CONFIG_SERIAL_8250_DMA=y
>> CONFIG_SERIAL_8250_NR_UARTS=4
>> CONFIG_SERIAL_8250_RUNTIME_UARTS=4
>> # CONFIG_SERIAL_8250_EXTENDED is not set
>> CONFIG_SERIAL_8250_DW=m
>>
>> #
>> # Non-8250 serial port support
>> #
>> CONFIG_SERIAL_MAX3100=y
>> CONFIG_SERIAL_MAX310X=y
>> CONFIG_SERIAL_CORE=y
>> CONFIG_SERIAL_CORE_CONSOLE=y
>> CONFIG_SERIAL_OF_PLATFORM=m
>> CONFIG_SERIAL_SCCNXP=m
>> CONFIG_SERIAL_TIMBERDALE=y
>> CONFIG_SERIAL_ALTERA_JTAGUART=m
>> CONFIG_SERIAL_ALTERA_UART=y
>> CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
>> CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
>> # CONFIG_SERIAL_ALTERA_UART_CONSOLE is not set
>> # CONFIG_SERIAL_IFX6X60 is not set
>> CONFIG_SERIAL_XILINX_PS_UART=m
>> # CONFIG_SERIAL_ARC is not set
>> CONFIG_SERIAL_FSL_LPUART=m
>> CONFIG_SERIAL_ST_ASC=y
>> CONFIG_SERIAL_ST_ASC_CONSOLE=y
>> CONFIG_TTY_PRINTK=y
>> # CONFIG_PRINTER is not set
>> CONFIG_PPDEV=y
>> CONFIG_IPMI_HANDLER=y
>> # CONFIG_IPMI_PANIC_EVENT is not set
>> # CONFIG_IPMI_DEVICE_INTERFACE is not set
>> CONFIG_IPMI_SI=y
>> CONFIG_IPMI_WATCHDOG=m
>> CONFIG_IPMI_POWEROFF=y
>> CONFIG_HW_RANDOM=m
>> CONFIG_HW_RANDOM_TIMERIOMEM=m
>> CONFIG_HW_RANDOM_VIA=m
>> # CONFIG_HW_RANDOM_TPM is not set
>> # CONFIG_NVRAM is not set
>> # CONFIG_R3964 is not set
>> CONFIG_MWAVE=m
>> CONFIG_PC8736x_GPIO=m
>> CONFIG_NSC_GPIO=m
>> CONFIG_RAW_DRIVER=m
>> CONFIG_MAX_RAW_DEVS=256
>> # CONFIG_HANGCHECK_TIMER is not set
>> CONFIG_TCG_TPM=y
>> CONFIG_TCG_TIS=y
>> # CONFIG_TCG_TIS_I2C_ATMEL is not set
>> # CONFIG_TCG_TIS_I2C_INFINEON is not set
>> # CONFIG_TCG_TIS_I2C_NUVOTON is not set
>> # CONFIG_TCG_NSC is not set
>> CONFIG_TCG_ATMEL=m
>> # CONFIG_TCG_ST33_I2C is not set
>> # CONFIG_TELCLOCK is not set
>> CONFIG_I2C=y
>> CONFIG_I2C_BOARDINFO=y
>> CONFIG_I2C_COMPAT=y
>> # CONFIG_I2C_CHARDEV is not set
>> CONFIG_I2C_MUX=m
>>
>> #
>> # Multiplexer I2C Chip support
>> #
>> CONFIG_I2C_ARB_GPIO_CHALLENGE=m
>> CONFIG_I2C_MUX_GPIO=m
>> CONFIG_I2C_MUX_PCA9541=m
>> # CONFIG_I2C_MUX_PCA954x is not set
>> CONFIG_I2C_HELPER_AUTO=y
>> CONFIG_I2C_SMBUS=y
>> CONFIG_I2C_ALGOBIT=y
>>
>> #
>> # I2C Hardware Bus support
>> #
>>
>> #
>> # I2C system bus drivers (mostly embedded / system-on-chip)
>> #
>> CONFIG_I2C_CBUS_GPIO=y
>> # CONFIG_I2C_GPIO is not set
>> # CONFIG_I2C_KEMPLD is not set
>> # CONFIG_I2C_OCORES is not set
>> # CONFIG_I2C_PCA_PLATFORM is not set
>> # CONFIG_I2C_PXA_PCI is not set
>> # CONFIG_I2C_RIIC is not set
>> CONFIG_I2C_SH_MOBILE=m
>> CONFIG_I2C_SIMTEC=m
>> CONFIG_I2C_XILINX=m
>> CONFIG_I2C_RCAR=y
>>
>> #
>> # External I2C/SMBus adapter drivers
>> #
>> CONFIG_I2C_PARPORT=y
>> CONFIG_I2C_PARPORT_LIGHT=m
>> CONFIG_I2C_TAOS_EVM=y
>>
>> #
>> # Other I2C/SMBus bus drivers
>> #
>> # CONFIG_I2C_STUB is not set
>> # CONFIG_I2C_DEBUG_CORE is not set
>> # CONFIG_I2C_DEBUG_ALGO is not set
>> CONFIG_I2C_DEBUG_BUS=y
>> CONFIG_SPI=y
>> CONFIG_SPI_DEBUG=y
>> CONFIG_SPI_MASTER=y
>>
>> #
>> # SPI Master Controller Drivers
>> #
>> CONFIG_SPI_ALTERA=m
>> # CONFIG_SPI_ATMEL is not set
>> # CONFIG_SPI_BCM2835 is not set
>> CONFIG_SPI_BCM63XX_HSSPI=m
>> CONFIG_SPI_BITBANG=y
>> # CONFIG_SPI_BUTTERFLY is not set
>> CONFIG_SPI_EP93XX=y
>> CONFIG_SPI_GPIO=m
>> CONFIG_SPI_IMX=m
>> CONFIG_SPI_LM70_LLP=y
>> CONFIG_SPI_FSL_LIB=y
>> CONFIG_SPI_FSL_SPI=y
>> CONFIG_SPI_FSL_DSPI=m
>> CONFIG_SPI_OC_TINY=y
>> # CONFIG_SPI_TI_QSPI is not set
>> CONFIG_SPI_OMAP_100K=y
>> # CONFIG_SPI_ORION is not set
>> # CONFIG_SPI_PXA2XX_PCI is not set
>> CONFIG_SPI_SC18IS602=m
>> CONFIG_SPI_SH=y
>> CONFIG_SPI_SH_HSPI=y
>> CONFIG_SPI_TXX9=m
>> # CONFIG_SPI_XCOMM is not set
>> # CONFIG_SPI_XILINX is not set
>> CONFIG_SPI_DESIGNWARE=y
>>
>> #
>> # SPI Protocol Masters
>> #
>> CONFIG_SPI_SPIDEV=y
>> CONFIG_SPI_TLE62X0=m
>> CONFIG_HSI=m
>> CONFIG_HSI_BOARDINFO=y
>>
>> #
>> # HSI clients
>> #
>> CONFIG_HSI_CHAR=m
>>
>> #
>> # PPS support
>> #
>> CONFIG_PPS=y
>> CONFIG_PPS_DEBUG=y
>> CONFIG_NTP_PPS=y
>>
>> #
>> # PPS clients support
>> #
>> # CONFIG_PPS_CLIENT_KTIMER is not set
>> # CONFIG_PPS_CLIENT_LDISC is not set
>> # CONFIG_PPS_CLIENT_PARPORT is not set
>> CONFIG_PPS_CLIENT_GPIO=y
>>
>> #
>> # PPS generators support
>> #
>>
>> #
>> # PTP clock support
>> #
>> # CONFIG_PTP_1588_CLOCK is not set
>>
>> #
>> # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
>> #
>> # CONFIG_PTP_1588_CLOCK_PCH is not set
>> CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
>> CONFIG_GPIOLIB=y
>> CONFIG_GPIO_DEVRES=y
>> CONFIG_OF_GPIO=y
>> CONFIG_DEBUG_GPIO=y
>> # CONFIG_GPIO_SYSFS is not set
>> CONFIG_GPIO_DA9052=m
>> # CONFIG_GPIO_DA9055 is not set
>> CONFIG_GPIO_MAX730X=y
>>
>> #
>> # Memory mapped GPIO drivers:
>> #
>> # CONFIG_GPIO_GENERIC_PLATFORM is not set
>> # CONFIG_GPIO_IT8761E is not set
>> CONFIG_GPIO_F7188X=y
>> # CONFIG_GPIO_SCH311X is not set
>> CONFIG_GPIO_TS5500=m
>> # CONFIG_GPIO_GRGPIO is not set
>>
>> #
>> # I2C GPIO expanders:
>> #
>> CONFIG_GPIO_ARIZONA=y
>> # CONFIG_GPIO_LP3943 is not set
>> CONFIG_GPIO_MAX7300=y
>> CONFIG_GPIO_MAX732X=m
>> CONFIG_GPIO_PCA953X=y
>> CONFIG_GPIO_PCA953X_IRQ=y
>> CONFIG_GPIO_PCF857X=m
>> # CONFIG_GPIO_SX150X is not set
>> CONFIG_GPIO_TPS65912=y
>> CONFIG_GPIO_TWL4030=m
>> # CONFIG_GPIO_WM831X is not set
>> CONFIG_GPIO_WM8350=m
>> CONFIG_GPIO_WM8994=y
>> CONFIG_GPIO_ADP5588=m
>> # CONFIG_GPIO_ADNP is not set
>>
>> #
>> # PCI GPIO expanders:
>> #
>>
>> #
>> # SPI GPIO expanders:
>> #
>> CONFIG_GPIO_MAX7301=m
>> CONFIG_GPIO_MCP23S08=y
>> CONFIG_GPIO_MC33880=y
>> # CONFIG_GPIO_74X164 is not set
>>
>> #
>> # AC97 GPIO expanders:
>> #
>>
>> #
>> # LPC GPIO expanders:
>> #
>> CONFIG_GPIO_KEMPLD=m
>>
>> #
>> # MODULbus GPIO expanders:
>> #
>> CONFIG_GPIO_PALMAS=y
>> # CONFIG_GPIO_TPS6586X is not set
>> # CONFIG_GPIO_BCM_KONA is not set
>>
>> #
>> # USB GPIO expanders:
>> #
>> CONFIG_W1=y
>> # CONFIG_W1_CON is not set
>>
>> #
>> # 1-wire Bus Masters
>> #
>> CONFIG_W1_MASTER_DS2482=y
>> CONFIG_W1_MASTER_DS1WM=m
>> # CONFIG_W1_MASTER_GPIO is not set
>>
>> #
>> # 1-wire Slaves
>> #
>> CONFIG_W1_SLAVE_THERM=y
>> CONFIG_W1_SLAVE_SMEM=m
>> CONFIG_W1_SLAVE_DS2408=y
>> CONFIG_W1_SLAVE_DS2408_READBACK=y
>> # CONFIG_W1_SLAVE_DS2413 is not set
>> # CONFIG_W1_SLAVE_DS2423 is not set
>> # CONFIG_W1_SLAVE_DS2431 is not set
>> CONFIG_W1_SLAVE_DS2433=m
>> # CONFIG_W1_SLAVE_DS2433_CRC is not set
>> # CONFIG_W1_SLAVE_DS2760 is not set
>> CONFIG_W1_SLAVE_DS2780=m
>> CONFIG_W1_SLAVE_DS2781=y
>> CONFIG_W1_SLAVE_DS28E04=y
>> CONFIG_W1_SLAVE_BQ27000=y
>> CONFIG_POWER_SUPPLY=y
>> CONFIG_POWER_SUPPLY_DEBUG=y
>> CONFIG_PDA_POWER=y
>> CONFIG_GENERIC_ADC_BATTERY=m
>> # CONFIG_WM831X_BACKUP is not set
>> CONFIG_WM831X_POWER=m
>> # CONFIG_WM8350_POWER is not set
>> CONFIG_TEST_POWER=y
>> # CONFIG_BATTERY_88PM860X is not set
>> CONFIG_BATTERY_DS2780=m
>> CONFIG_BATTERY_DS2781=y
>> CONFIG_BATTERY_DS2782=m
>> # CONFIG_BATTERY_OLPC is not set
>> CONFIG_BATTERY_SBS=y
>> # CONFIG_BATTERY_BQ27x00 is not set
>> CONFIG_BATTERY_DA9030=y
>> CONFIG_BATTERY_DA9052=m
>> CONFIG_BATTERY_MAX17040=y
>> CONFIG_BATTERY_MAX17042=y
>> # CONFIG_BATTERY_TWL4030_MADC is not set
>> CONFIG_CHARGER_PCF50633=y
>> CONFIG_BATTERY_RX51=m
>> # CONFIG_CHARGER_MAX8903 is not set
>> CONFIG_CHARGER_TWL4030=m
>> # CONFIG_CHARGER_LP8727 is not set
>> CONFIG_CHARGER_GPIO=y
>> CONFIG_CHARGER_MAX14577=y
>> CONFIG_CHARGER_BQ2415X=m
>> CONFIG_CHARGER_BQ24190=y
>> CONFIG_CHARGER_BQ24735=m
>> CONFIG_CHARGER_SMB347=y
>> # CONFIG_BATTERY_GOLDFISH is not set
>> # CONFIG_POWER_RESET is not set
>> CONFIG_POWER_AVS=y
>> CONFIG_HWMON=y
>> CONFIG_HWMON_VID=y
>> CONFIG_HWMON_DEBUG_CHIP=y
>>
>> #
>> # Native drivers
>> #
>> # CONFIG_SENSORS_AD7314 is not set
>> CONFIG_SENSORS_AD7414=m
>> # CONFIG_SENSORS_AD7418 is not set
>> CONFIG_SENSORS_ADCXX=y
>> # CONFIG_SENSORS_ADM1021 is not set
>> CONFIG_SENSORS_ADM1025=y
>> CONFIG_SENSORS_ADM1026=m
>> CONFIG_SENSORS_ADM1029=m
>> # CONFIG_SENSORS_ADM1031 is not set
>> CONFIG_SENSORS_ADM9240=m
>> CONFIG_SENSORS_ADT7X10=y
>> CONFIG_SENSORS_ADT7310=y
>> CONFIG_SENSORS_ADT7410=m
>> CONFIG_SENSORS_ADT7411=y
>> CONFIG_SENSORS_ADT7462=m
>> CONFIG_SENSORS_ADT7470=m
>> # CONFIG_SENSORS_ADT7475 is not set
>> # CONFIG_SENSORS_ASC7621 is not set
>> CONFIG_SENSORS_ASB100=y
>> # CONFIG_SENSORS_ATXP1 is not set
>> # CONFIG_SENSORS_DS620 is not set
>> # CONFIG_SENSORS_DS1621 is not set
>> CONFIG_SENSORS_DA9052_ADC=y
>> # CONFIG_SENSORS_DA9055 is not set
>> CONFIG_SENSORS_F71805F=y
>> CONFIG_SENSORS_F71882FG=y
>> CONFIG_SENSORS_F75375S=y
>> # CONFIG_SENSORS_FSCHMD is not set
>> CONFIG_SENSORS_G760A=m
>> CONFIG_SENSORS_G762=y
>> # CONFIG_SENSORS_GL518SM is not set
>> CONFIG_SENSORS_GL520SM=m
>> CONFIG_SENSORS_GPIO_FAN=y
>> CONFIG_SENSORS_HIH6130=m
>> CONFIG_SENSORS_HTU21=y
>> CONFIG_SENSORS_CORETEMP=m
>> CONFIG_SENSORS_IBMAEM=m
>> CONFIG_SENSORS_IBMPEX=m
>> CONFIG_SENSORS_IIO_HWMON=m
>> CONFIG_SENSORS_IT87=y
>> CONFIG_SENSORS_JC42=m
>> CONFIG_SENSORS_LINEAGE=y
>> CONFIG_SENSORS_LM63=y
>> # CONFIG_SENSORS_LM70 is not set
>> CONFIG_SENSORS_LM73=y
>> CONFIG_SENSORS_LM75=y
>> # CONFIG_SENSORS_LM77 is not set
>> CONFIG_SENSORS_LM78=m
>> # CONFIG_SENSORS_LM80 is not set
>> CONFIG_SENSORS_LM83=m
>> CONFIG_SENSORS_LM85=m
>> CONFIG_SENSORS_LM87=y
>> CONFIG_SENSORS_LM90=y
>> CONFIG_SENSORS_LM92=m
>> CONFIG_SENSORS_LM93=m
>> CONFIG_SENSORS_LTC4151=y
>> CONFIG_SENSORS_LTC4215=m
>> CONFIG_SENSORS_LTC4245=y
>> CONFIG_SENSORS_LTC4261=m
>> CONFIG_SENSORS_LM95234=y
>> CONFIG_SENSORS_LM95241=y
>> CONFIG_SENSORS_LM95245=y
>> # CONFIG_SENSORS_MAX1111 is not set
>> CONFIG_SENSORS_MAX16065=m
>> CONFIG_SENSORS_MAX1619=m
>> # CONFIG_SENSORS_MAX1668 is not set
>> # CONFIG_SENSORS_MAX197 is not set
>> CONFIG_SENSORS_MAX6639=m
>> # CONFIG_SENSORS_MAX6642 is not set
>> CONFIG_SENSORS_MAX6650=y
>> # CONFIG_SENSORS_MAX6697 is not set
>> CONFIG_SENSORS_MCP3021=m
>> # CONFIG_SENSORS_NCT6775 is not set
>> # CONFIG_SENSORS_NTC_THERMISTOR is not set
>> # CONFIG_SENSORS_PC87360 is not set
>> CONFIG_SENSORS_PC87427=y
>> # CONFIG_SENSORS_PCF8591 is not set
>> # CONFIG_PMBUS is not set
>> CONFIG_SENSORS_SHT15=m
>> CONFIG_SENSORS_SHT21=m
>> CONFIG_SENSORS_SMM665=y
>> CONFIG_SENSORS_DME1737=y
>> # CONFIG_SENSORS_EMC1403 is not set
>> CONFIG_SENSORS_EMC2103=m
>> CONFIG_SENSORS_EMC6W201=y
>> # CONFIG_SENSORS_SMSC47M1 is not set
>> # CONFIG_SENSORS_SMSC47M192 is not set
>> CONFIG_SENSORS_SMSC47B397=m
>> CONFIG_SENSORS_SCH56XX_COMMON=y
>> CONFIG_SENSORS_SCH5627=y
>> CONFIG_SENSORS_SCH5636=m
>> CONFIG_SENSORS_ADS1015=m
>> CONFIG_SENSORS_ADS7828=y
>> CONFIG_SENSORS_ADS7871=y
>> # CONFIG_SENSORS_AMC6821 is not set
>> CONFIG_SENSORS_INA209=y
>> CONFIG_SENSORS_INA2XX=y
>> # CONFIG_SENSORS_THMC50 is not set
>> CONFIG_SENSORS_TMP102=m
>> CONFIG_SENSORS_TMP401=y
>> CONFIG_SENSORS_TMP421=y
>> CONFIG_SENSORS_TWL4030_MADC=m
>> CONFIG_SENSORS_VIA_CPUTEMP=y
>> # CONFIG_SENSORS_VT1211 is not set
>> CONFIG_SENSORS_W83781D=y
>> CONFIG_SENSORS_W83791D=m
>> # CONFIG_SENSORS_W83792D is not set
>> CONFIG_SENSORS_W83793=m
>> CONFIG_SENSORS_W83795=y
>> # CONFIG_SENSORS_W83795_FANCTRL is not set
>> CONFIG_SENSORS_W83L785TS=m
>> CONFIG_SENSORS_W83L786NG=y
>> # CONFIG_SENSORS_W83627HF is not set
>> # CONFIG_SENSORS_W83627EHF is not set
>> CONFIG_SENSORS_WM831X=m
>> CONFIG_SENSORS_WM8350=m
>> CONFIG_SENSORS_APPLESMC=m
>> # CONFIG_SENSORS_MC13783_ADC is not set
>> CONFIG_THERMAL=m
>> CONFIG_THERMAL_HWMON=y
>> CONFIG_THERMAL_OF=y
>> CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
>> # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
>> # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
>> CONFIG_THERMAL_GOV_FAIR_SHARE=y
>> CONFIG_THERMAL_GOV_STEP_WISE=y
>> CONFIG_THERMAL_GOV_USER_SPACE=y
>> CONFIG_CPU_THERMAL=y
>> # CONFIG_THERMAL_EMULATION is not set
>> CONFIG_RCAR_THERMAL=m
>> CONFIG_INTEL_POWERCLAMP=m
>> # CONFIG_X86_PKG_TEMP_THERMAL is not set
>>
>> #
>> # Texas Instruments thermal drivers
>> #
>> CONFIG_WATCHDOG=y
>> CONFIG_WATCHDOG_CORE=y
>> CONFIG_WATCHDOG_NOWAYOUT=y
>>
>> #
>> # Watchdog Device Drivers
>> #
>> # CONFIG_SOFT_WATCHDOG is not set
>> # CONFIG_DA9052_WATCHDOG is not set
>> CONFIG_DA9055_WATCHDOG=y
>> # CONFIG_WM831X_WATCHDOG is not set
>> # CONFIG_WM8350_WATCHDOG is not set
>> CONFIG_TWL4030_WATCHDOG=y
>> # CONFIG_ACQUIRE_WDT is not set
>> CONFIG_ADVANTECH_WDT=m
>> # CONFIG_F71808E_WDT is not set
>> # CONFIG_SC520_WDT is not set
>> CONFIG_SBC_FITPC2_WATCHDOG=m
>> # CONFIG_EUROTECH_WDT is not set
>> # CONFIG_IB700_WDT is not set
>> CONFIG_IBMASR=m
>> CONFIG_WAFER_WDT=m
>> CONFIG_IT8712F_WDT=m
>> # CONFIG_IT87_WDT is not set
>> CONFIG_KEMPLD_WDT=m
>> CONFIG_SC1200_WDT=m
>> CONFIG_PC87413_WDT=y
>> # CONFIG_60XX_WDT is not set
>> CONFIG_SBC8360_WDT=m
>> # CONFIG_SBC7240_WDT is not set
>> CONFIG_CPU5_WDT=y
>> CONFIG_SMSC_SCH311X_WDT=m
>> # CONFIG_SMSC37B787_WDT is not set
>> # CONFIG_W83627HF_WDT is not set
>> # CONFIG_W83697HF_WDT is not set
>> # CONFIG_W83697UG_WDT is not set
>> CONFIG_W83877F_WDT=y
>> # CONFIG_W83977F_WDT is not set
>> CONFIG_MACHZ_WDT=y
>> # CONFIG_SBC_EPX_C3_WATCHDOG is not set
>> CONFIG_MEN_A21_WDT=m
>> CONFIG_SSB_POSSIBLE=y
>>
>> #
>> # Sonics Silicon Backplane
>> #
>> CONFIG_SSB=m
>> # CONFIG_SSB_SILENT is not set
>> CONFIG_SSB_DEBUG=y
>> CONFIG_SSB_DRIVER_GPIO=y
>> CONFIG_BCMA_POSSIBLE=y
>>
>> #
>> # Broadcom specific AMBA
>> #
>> CONFIG_BCMA=m
>> CONFIG_BCMA_HOST_SOC=y
>> CONFIG_BCMA_DRIVER_GMAC_CMN=y
>> CONFIG_BCMA_DRIVER_GPIO=y
>> # CONFIG_BCMA_DEBUG is not set
>>
>> #
>> # Multifunction device drivers
>> #
>> CONFIG_MFD_CORE=y
>> # CONFIG_MFD_AS3711 is not set
>> # CONFIG_MFD_AS3722 is not set
>> # CONFIG_PMIC_ADP5520 is not set
>> # CONFIG_MFD_AAT2870_CORE is not set
>> CONFIG_MFD_CROS_EC=y
>> CONFIG_MFD_CROS_EC_I2C=m
>> CONFIG_MFD_CROS_EC_SPI=m
>> CONFIG_PMIC_DA903X=y
>> CONFIG_PMIC_DA9052=y
>> # CONFIG_MFD_DA9052_SPI is not set
>> CONFIG_MFD_DA9052_I2C=y
>> CONFIG_MFD_DA9055=y
>> # CONFIG_MFD_DA9063 is not set
>> CONFIG_MFD_MC13XXX=y
>> CONFIG_MFD_MC13XXX_SPI=y
>> CONFIG_MFD_MC13XXX_I2C=y
>> CONFIG_HTC_PASIC3=y
>> # CONFIG_HTC_I2CPLD is not set
>> CONFIG_MFD_KEMPLD=m
>> CONFIG_MFD_88PM800=y
>> CONFIG_MFD_88PM805=m
>> CONFIG_MFD_88PM860X=y
>> CONFIG_MFD_MAX14577=y
>> # CONFIG_MFD_MAX77686 is not set
>> CONFIG_MFD_MAX77693=y
>> # CONFIG_MFD_MAX8907 is not set
>> # CONFIG_MFD_MAX8925 is not set
>> CONFIG_MFD_MAX8997=y
>> CONFIG_MFD_MAX8998=y
>> CONFIG_EZX_PCAP=y
>> # CONFIG_MFD_RETU is not set
>> CONFIG_MFD_PCF50633=y
>> CONFIG_PCF50633_ADC=y
>> CONFIG_PCF50633_GPIO=m
>> # CONFIG_MFD_RC5T583 is not set
>> CONFIG_MFD_SEC_CORE=y
>> CONFIG_MFD_SI476X_CORE=m
>> # CONFIG_MFD_SM501 is not set
>> # CONFIG_MFD_SMSC is not set
>> CONFIG_ABX500_CORE=y
>> # CONFIG_AB3100_CORE is not set
>> # CONFIG_MFD_STMPE is not set
>> # CONFIG_MFD_SYSCON is not set
>> # CONFIG_MFD_TI_AM335X_TSCADC is not set
>> CONFIG_MFD_LP3943=y
>> CONFIG_MFD_LP8788=y
>> CONFIG_MFD_PALMAS=y
>> # CONFIG_TPS6105X is not set
>> CONFIG_TPS65010=y
>> CONFIG_TPS6507X=y
>> # CONFIG_MFD_TPS65090 is not set
>> CONFIG_MFD_TPS65217=m
>> CONFIG_MFD_TPS6586X=y
>> # CONFIG_MFD_TPS65910 is not set
>> CONFIG_MFD_TPS65912=y
>> CONFIG_MFD_TPS65912_I2C=y
>> # CONFIG_MFD_TPS65912_SPI is not set
>> # CONFIG_MFD_TPS80031 is not set
>> CONFIG_TWL4030_CORE=y
>> CONFIG_TWL4030_MADC=y
>> CONFIG_MFD_TWL4030_AUDIO=y
>> # CONFIG_TWL6040_CORE is not set
>> # CONFIG_MFD_WL1273_CORE is not set
>> CONFIG_MFD_LM3533=m
>> # CONFIG_MFD_TC3589X is not set
>> # CONFIG_MFD_TMIO is not set
>> CONFIG_MFD_ARIZONA=y
>> CONFIG_MFD_ARIZONA_I2C=m
>> CONFIG_MFD_ARIZONA_SPI=y
>> # CONFIG_MFD_WM5102 is not set
>> CONFIG_MFD_WM5110=y
>> CONFIG_MFD_WM8997=y
>> CONFIG_MFD_WM8400=y
>> CONFIG_MFD_WM831X=y
>> CONFIG_MFD_WM831X_I2C=y
>> # CONFIG_MFD_WM831X_SPI is not set
>> CONFIG_MFD_WM8350=y
>> CONFIG_MFD_WM8350_I2C=y
>> CONFIG_MFD_WM8994=y
>> # CONFIG_REGULATOR is not set
>> # CONFIG_MEDIA_SUPPORT is not set
>>
>> #
>> # Graphics support
>> #
>> # CONFIG_DRM is not set
>> # CONFIG_VGASTATE is not set
>> CONFIG_VIDEO_OUTPUT_CONTROL=y
>> # CONFIG_FB is not set
>> CONFIG_EXYNOS_VIDEO=y
>> # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
>>
>> #
>> # Console display driver support
>> #
>> # CONFIG_VGA_CONSOLE is not set
>> CONFIG_DUMMY_CONSOLE=y
>> CONFIG_SOUND=m
>> CONFIG_SOUND_OSS_CORE=y
>> CONFIG_SOUND_OSS_CORE_PRECLAIM=y
>> # CONFIG_SND is not set
>> CONFIG_SOUND_PRIME=m
>> # CONFIG_SOUND_OSS is not set
>>
>> #
>> # HID support
>> #
>> CONFIG_HID=y
>> CONFIG_HID_BATTERY_STRENGTH=y
>> # CONFIG_HIDRAW is not set
>> CONFIG_UHID=m
>> CONFIG_HID_GENERIC=y
>>
>> #
>> # Special HID drivers
>> #
>> CONFIG_HID_A4TECH=y
>> # CONFIG_HID_ACRUX is not set
>> # CONFIG_HID_APPLE is not set
>> CONFIG_HID_AUREAL=y
>> CONFIG_HID_BELKIN=y
>> # CONFIG_HID_CHERRY is not set
>> # CONFIG_HID_CHICONY is not set
>> # CONFIG_HID_CYPRESS is not set
>> CONFIG_HID_DRAGONRISE=m
>> CONFIG_DRAGONRISE_FF=y
>> # CONFIG_HID_EMS_FF is not set
>> # CONFIG_HID_ELECOM is not set
>> # CONFIG_HID_EZKEY is not set
>> # CONFIG_HID_KEYTOUCH is not set
>> CONFIG_HID_KYE=y
>> CONFIG_HID_UCLOGIC=m
>> CONFIG_HID_WALTOP=m
>> CONFIG_HID_GYRATION=m
>> CONFIG_HID_ICADE=y
>> CONFIG_HID_TWINHAN=m
>> # CONFIG_HID_KENSINGTON is not set
>> CONFIG_HID_LCPOWER=m
>> CONFIG_HID_LENOVO_TPKBD=m
>> CONFIG_HID_LOGITECH=y
>> # CONFIG_LOGITECH_FF is not set
>> # CONFIG_LOGIRUMBLEPAD2_FF is not set
>> CONFIG_LOGIG940_FF=y
>> # CONFIG_LOGIWHEELS_FF is not set
>> CONFIG_HID_MAGICMOUSE=y
>> CONFIG_HID_MICROSOFT=m
>> CONFIG_HID_MONTEREY=m
>> CONFIG_HID_MULTITOUCH=y
>> # CONFIG_HID_ORTEK is not set
>> CONFIG_HID_PANTHERLORD=m
>> # CONFIG_PANTHERLORD_FF is not set
>> CONFIG_HID_PETALYNX=m
>> CONFIG_HID_PICOLCD=y
>> # CONFIG_HID_PICOLCD_LEDS is not set
>> # CONFIG_HID_PRIMAX is not set
>> CONFIG_HID_SAITEK=m
>> # CONFIG_HID_SAMSUNG is not set
>> CONFIG_HID_SPEEDLINK=y
>> CONFIG_HID_STEELSERIES=y
>> CONFIG_HID_SUNPLUS=y
>> # CONFIG_HID_GREENASIA is not set
>> CONFIG_HID_SMARTJOYPLUS=m
>> # CONFIG_SMARTJOYPLUS_FF is not set
>> # CONFIG_HID_TIVO is not set
>> # CONFIG_HID_TOPSEED is not set
>> # CONFIG_HID_THINGM is not set
>> CONFIG_HID_THRUSTMASTER=y
>> # CONFIG_THRUSTMASTER_FF is not set
>> CONFIG_HID_WACOM=m
>> # CONFIG_HID_WIIMOTE is not set
>> CONFIG_HID_XINMO=m
>> CONFIG_HID_ZEROPLUS=y
>> # CONFIG_ZEROPLUS_FF is not set
>> CONFIG_HID_ZYDACRON=y
>> CONFIG_HID_SENSOR_HUB=m
>>
>> #
>> # I2C HID support
>> #
>> # CONFIG_I2C_HID is not set
>> CONFIG_USB_OHCI_LITTLE_ENDIAN=y
>> # CONFIG_USB_SUPPORT is not set
>> # CONFIG_MMC is not set
>> CONFIG_MEMSTICK=y
>> CONFIG_MEMSTICK_DEBUG=y
>>
>> #
>> # MemoryStick drivers
>> #
>> # CONFIG_MEMSTICK_UNSAFE_RESUME is not set
>> CONFIG_MSPRO_BLOCK=y
>> # CONFIG_MS_BLOCK is not set
>>
>> #
>> # MemoryStick Host Controller Drivers
>> #
>> CONFIG_NEW_LEDS=y
>> CONFIG_LEDS_CLASS=y
>>
>> #
>> # LED drivers
>> #
>> # CONFIG_LEDS_88PM860X is not set
>> CONFIG_LEDS_LM3530=m
>> CONFIG_LEDS_LM3533=m
>> CONFIG_LEDS_LM3642=m
>> CONFIG_LEDS_PCA9532=m
>> # CONFIG_LEDS_PCA9532_GPIO is not set
>> CONFIG_LEDS_GPIO=m
>> # CONFIG_LEDS_LP3944 is not set
>> CONFIG_LEDS_LP55XX_COMMON=y
>> CONFIG_LEDS_LP5521=y
>> CONFIG_LEDS_LP5523=m
>> CONFIG_LEDS_LP5562=y
>> CONFIG_LEDS_LP8501=y
>> # CONFIG_LEDS_LP8788 is not set
>> CONFIG_LEDS_PCA955X=m
>> CONFIG_LEDS_PCA963X=m
>> CONFIG_LEDS_PCA9685=m
>> CONFIG_LEDS_WM831X_STATUS=m
>> # CONFIG_LEDS_WM8350 is not set
>> # CONFIG_LEDS_DA903X is not set
>> CONFIG_LEDS_DA9052=y
>> CONFIG_LEDS_DAC124S085=m
>> CONFIG_LEDS_PWM=y
>> # CONFIG_LEDS_BD2802 is not set
>> # CONFIG_LEDS_LT3593 is not set
>> CONFIG_LEDS_MC13783=m
>> CONFIG_LEDS_TCA6507=y
>> CONFIG_LEDS_MAX8997=y
>> CONFIG_LEDS_LM355x=m
>> # CONFIG_LEDS_OT200 is not set
>> CONFIG_LEDS_BLINKM=m
>>
>> #
>> # LED Triggers
>> #
>> CONFIG_LEDS_TRIGGERS=y
>> CONFIG_LEDS_TRIGGER_TIMER=y
>> CONFIG_LEDS_TRIGGER_ONESHOT=y
>> # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
>> CONFIG_LEDS_TRIGGER_BACKLIGHT=m
>> CONFIG_LEDS_TRIGGER_CPU=y
>> CONFIG_LEDS_TRIGGER_GPIO=m
>> CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
>>
>> #
>> # iptables trigger is under Netfilter config (LED target)
>> #
>> CONFIG_LEDS_TRIGGER_TRANSIENT=y
>> CONFIG_LEDS_TRIGGER_CAMERA=y
>> CONFIG_ACCESSIBILITY=y
>> CONFIG_A11Y_BRAILLE_CONSOLE=y
>> CONFIG_EDAC=y
>> # CONFIG_EDAC_LEGACY_SYSFS is not set
>> # CONFIG_EDAC_DEBUG is not set
>> CONFIG_EDAC_MM_EDAC=y
>> CONFIG_RTC_LIB=y
>> # CONFIG_RTC_CLASS is not set
>> CONFIG_DMADEVICES=y
>> CONFIG_DMADEVICES_DEBUG=y
>> CONFIG_DMADEVICES_VDEBUG=y
>>
>> #
>> # DMA Devices
>> #
>> CONFIG_DW_DMAC_CORE=m
>> CONFIG_DW_DMAC=m
>> CONFIG_TIMB_DMA=m
>> CONFIG_DMA_ENGINE=y
>> CONFIG_DMA_OF=y
>>
>> #
>> # DMA Clients
>> #
>> CONFIG_ASYNC_TX_DMA=y
>> CONFIG_DMATEST=m
>> # CONFIG_AUXDISPLAY is not set
>> CONFIG_UIO=y
>> CONFIG_UIO_PDRV_GENIRQ=m
>> CONFIG_UIO_DMEM_GENIRQ=y
>> CONFIG_VIRT_DRIVERS=y
>>
>> #
>> # Virtio drivers
>> #
>> # CONFIG_VIRTIO_MMIO is not set
>>
>> #
>> # Microsoft Hyper-V guest support
>> #
>> CONFIG_STAGING=y
>> # CONFIG_ECHO is not set
>> # CONFIG_COMEDI is not set
>> CONFIG_PANEL=y
>> CONFIG_PANEL_PARPORT=0
>> CONFIG_PANEL_PROFILE=5
>> CONFIG_PANEL_CHANGE_MESSAGE=y
>> CONFIG_PANEL_BOOT_MESSAGE=""
>>
>> #
>> # IIO staging drivers
>> #
>>
>> #
>> # Accelerometers
>> #
>> CONFIG_ADIS16201=m
>> CONFIG_ADIS16203=m
>> CONFIG_ADIS16204=m
>> CONFIG_ADIS16209=m
>> CONFIG_ADIS16220=m
>> CONFIG_ADIS16240=m
>> # CONFIG_LIS3L02DQ is not set
>> # CONFIG_SCA3000 is not set
>>
>> #
>> # Analog to digital converters
>> #
>> CONFIG_AD7291=m
>> CONFIG_AD7606=m
>> # CONFIG_AD7606_IFACE_PARALLEL is not set
>> CONFIG_AD7606_IFACE_SPI=m
>> CONFIG_AD799X=m
>> CONFIG_AD799X_RING_BUFFER=y
>> # CONFIG_AD7780 is not set
>> CONFIG_AD7816=m
>> CONFIG_AD7192=m
>> # CONFIG_AD7280 is not set
>> # CONFIG_LPC32XX_ADC is not set
>> CONFIG_MXS_LRADC=m
>> CONFIG_SPEAR_ADC=m
>>
>> #
>> # Analog digital bi-direction converters
>> #
>> # CONFIG_ADT7316 is not set
>>
>> #
>> # Capacitance to digital converters
>> #
>> # CONFIG_AD7150 is not set
>> # CONFIG_AD7152 is not set
>> CONFIG_AD7746=m
>>
>> #
>> # Direct Digital Synthesis
>> #
>> CONFIG_AD5930=m
>> CONFIG_AD9832=m
>> CONFIG_AD9834=m
>> # CONFIG_AD9850 is not set
>> CONFIG_AD9852=m
>> CONFIG_AD9910=m
>> CONFIG_AD9951=m
>>
>> #
>> # Digital gyroscope sensors
>> #
>> CONFIG_ADIS16060=m
>>
>> #
>> # Network Analyzer, Impedance Converters
>> #
>> CONFIG_AD5933=m
>>
>> #
>> # Light sensors
>> #
>> CONFIG_SENSORS_ISL29018=m
>> CONFIG_SENSORS_ISL29028=m
>> CONFIG_TSL2583=m
>> # CONFIG_TSL2x7x is not set
>>
>> #
>> # Magnetometer sensors
>> #
>> # CONFIG_SENSORS_HMC5843 is not set
>>
>> #
>> # Active energy metering IC
>> #
>> CONFIG_ADE7753=m
>> # CONFIG_ADE7754 is not set
>> CONFIG_ADE7758=m
>> # CONFIG_ADE7759 is not set
>> # CONFIG_ADE7854 is not set
>>
>> #
>> # Resolver to digital converters
>> #
>> # CONFIG_AD2S90 is not set
>> CONFIG_AD2S1200=m
>> CONFIG_AD2S1210=m
>>
>> #
>> # Triggers - standalone
>> #
>> CONFIG_IIO_SIMPLE_DUMMY=m
>> # CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set
>> # CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set
>> CONFIG_FT1000=m
>>
>> #
>> # Speakup console speech
>> #
>> CONFIG_SPEAKUP=m
>> CONFIG_SPEAKUP_SYNTH_ACNTSA=m
>> # CONFIG_SPEAKUP_SYNTH_ACNTPC is not set
>> CONFIG_SPEAKUP_SYNTH_APOLLO=m
>> # CONFIG_SPEAKUP_SYNTH_AUDPTR is not set
>> CONFIG_SPEAKUP_SYNTH_BNS=m
>> CONFIG_SPEAKUP_SYNTH_DECTLK=m
>> # CONFIG_SPEAKUP_SYNTH_DECEXT is not set
>> CONFIG_SPEAKUP_SYNTH_DECPC=m
>> CONFIG_SPEAKUP_SYNTH_DTLK=m
>> CONFIG_SPEAKUP_SYNTH_KEYPC=m
>> CONFIG_SPEAKUP_SYNTH_LTLK=m
>> CONFIG_SPEAKUP_SYNTH_SOFT=m
>> # CONFIG_SPEAKUP_SYNTH_SPKOUT is not set
>> CONFIG_SPEAKUP_SYNTH_TXPRT=m
>> CONFIG_SPEAKUP_SYNTH_DUMMY=m
>> CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=y
>> # CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
>> CONFIG_STAGING_MEDIA=y
>>
>> #
>> # Android
>> #
>> # CONFIG_ANDROID is not set
>> CONFIG_DGRP=m
>> CONFIG_MTD_SPINAND_MT29F=m
>> # CONFIG_MTD_SPINAND_ONDIEECC is not set
>> CONFIG_LUSTRE_FS=m
>> CONFIG_LUSTRE_OBD_MAX_IOCTL_BUFFER=8192
>> CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK=y
>> # CONFIG_LUSTRE_LLITE_LLOOP is not set
>> CONFIG_LNET=m
>> CONFIG_LNET_MAX_PAYLOAD=1048576
>> CONFIG_LNET_SELFTEST=m
>> CONFIG_XILLYBUS=m
>> CONFIG_XILLYBUS_OF=m
>> CONFIG_DGAP=m
>> CONFIG_X86_PLATFORM_DEVICES=y
>> # CONFIG_SENSORS_HDAPS is not set
>> CONFIG_CHROME_PLATFORMS=y
>> CONFIG_CHROMEOS_PSTORE=y
>>
>> #
>> # Hardware Spinlock drivers
>> #
>> CONFIG_CLKSRC_I8253=y
>> CONFIG_CLKEVT_I8253=y
>> CONFIG_I8253_LOCK=y
>> CONFIG_CLKBLD_I8253=y
>> # CONFIG_MAILBOX is not set
>> CONFIG_IOMMU_SUPPORT=y
>> CONFIG_OF_IOMMU=y
>>
>> #
>> # Remoteproc drivers
>> #
>> # CONFIG_STE_MODEM_RPROC is not set
>>
>> #
>> # Rpmsg drivers
>> #
>> # CONFIG_PM_DEVFREQ is not set
>> # CONFIG_EXTCON is not set
>> CONFIG_MEMORY=y
>> CONFIG_IIO=m
>> CONFIG_IIO_BUFFER=y
>> # CONFIG_IIO_BUFFER_CB is not set
>> CONFIG_IIO_KFIFO_BUF=m
>> CONFIG_IIO_TRIGGERED_BUFFER=m
>> CONFIG_IIO_TRIGGER=y
>> CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
>>
>> #
>> # Accelerometers
>> #
>> # CONFIG_BMA180 is not set
>> # CONFIG_HID_SENSOR_ACCEL_3D is not set
>> CONFIG_IIO_ST_ACCEL_3AXIS=m
>> CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
>> CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
>> CONFIG_KXSD9=m
>>
>> #
>> # Analog to digital converters
>> #
>> CONFIG_AD_SIGMA_DELTA=m
>> CONFIG_AD7266=m
>> # CONFIG_AD7298 is not set
>> # CONFIG_AD7476 is not set
>> # CONFIG_AD7791 is not set
>> # CONFIG_AD7793 is not set
>> CONFIG_AD7887=m
>> # CONFIG_AD7923 is not set
>> CONFIG_EXYNOS_ADC=y
>> # CONFIG_LP8788_ADC is not set
>> # CONFIG_MAX1363 is not set
>> # CONFIG_MCP320X is not set
>> # CONFIG_MCP3422 is not set
>> CONFIG_NAU7802=m
>> CONFIG_TI_ADC081C=m
>> # CONFIG_TWL6030_GPADC is not set
>>
>> #
>> # Amplifiers
>> #
>> # CONFIG_AD8366 is not set
>>
>> #
>> # Hid Sensor IIO Common
>> #
>> CONFIG_HID_SENSOR_IIO_COMMON=m
>> CONFIG_HID_SENSOR_IIO_TRIGGER=m
>> CONFIG_IIO_ST_SENSORS_I2C=m
>> CONFIG_IIO_ST_SENSORS_SPI=m
>> CONFIG_IIO_ST_SENSORS_CORE=m
>>
>> #
>> # Digital to analog converters
>> #
>> CONFIG_AD5064=m
>> CONFIG_AD5360=m
>> # CONFIG_AD5380 is not set
>> # CONFIG_AD5421 is not set
>> CONFIG_AD5446=m
>> CONFIG_AD5449=m
>> CONFIG_AD5504=m
>> CONFIG_AD5624R_SPI=m
>> CONFIG_AD5686=m
>> # CONFIG_AD5755 is not set
>> # CONFIG_AD5764 is not set
>> # CONFIG_AD5791 is not set
>> CONFIG_AD7303=m
>> CONFIG_MAX517=m
>> # CONFIG_MCP4725 is not set
>>
>> #
>> # Frequency Synthesizers DDS/PLL
>> #
>>
>> #
>> # Clock Generator/Distribution
>> #
>> CONFIG_AD9523=m
>>
>> #
>> # Phase-Locked Loop (PLL) frequency synthesizers
>> #
>> # CONFIG_ADF4350 is not set
>>
>> #
>> # Digital gyroscope sensors
>> #
>> CONFIG_ADIS16080=m
>> CONFIG_ADIS16130=m
>> CONFIG_ADIS16136=m
>> CONFIG_ADIS16260=m
>> # CONFIG_ADXRS450 is not set
>> CONFIG_HID_SENSOR_GYRO_3D=m
>> CONFIG_IIO_ST_GYRO_3AXIS=m
>> CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
>> CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
>> CONFIG_ITG3200=m
>>
>> #
>> # Humidity sensors
>> #
>> CONFIG_DHT11=m
>>
>> #
>> # Inertial measurement units
>> #
>> # CONFIG_ADIS16400 is not set
>> CONFIG_ADIS16480=m
>> CONFIG_IIO_ADIS_LIB=m
>> CONFIG_IIO_ADIS_LIB_BUFFER=y
>> CONFIG_INV_MPU6050_IIO=m
>>
>> #
>> # Light sensors
>> #
>> # CONFIG_ADJD_S311 is not set
>> CONFIG_APDS9300=m
>> # CONFIG_CM36651 is not set
>> CONFIG_GP2AP020A00F=m
>> CONFIG_HID_SENSOR_ALS=m
>> # CONFIG_SENSORS_LM3533 is not set
>> CONFIG_TCS3472=m
>> # CONFIG_SENSORS_TSL2563 is not set
>> CONFIG_TSL4531=m
>> CONFIG_VCNL4000=m
>>
>> #
>> # Magnetometer sensors
>> #
>> CONFIG_AK8975=m
>> CONFIG_MAG3110=m
>> CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
>> CONFIG_IIO_ST_MAGN_3AXIS=m
>> CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
>> CONFIG_IIO_ST_MAGN_SPI_3AXIS=m
>>
>> #
>> # Inclinometer sensors
>> #
>> CONFIG_HID_SENSOR_INCLINOMETER_3D=m
>>
>> #
>> # Triggers - standalone
>> #
>> # CONFIG_IIO_INTERRUPT_TRIGGER is not set
>> CONFIG_IIO_SYSFS_TRIGGER=m
>>
>> #
>> # Pressure sensors
>> #
>> # CONFIG_MPL3115 is not set
>> # CONFIG_IIO_ST_PRESS is not set
>>
>> #
>> # Temperature sensors
>> #
>> CONFIG_TMP006=m
>> CONFIG_PWM=y
>> CONFIG_PWM_SYSFS=y
>> CONFIG_PWM_LP3943=m
>> CONFIG_PWM_PCA9685=m
>> # CONFIG_PWM_RENESAS_TPU is not set
>> # CONFIG_PWM_TWL is not set
>> CONFIG_PWM_TWL_LED=m
>> CONFIG_IRQCHIP=y
>> CONFIG_IPACK_BUS=m
>> CONFIG_SERIAL_IPOCTAL=m
>> # CONFIG_RESET_CONTROLLER is not set
>> # CONFIG_FMC is not set
>>
>> #
>> # PHY Subsystem
>> #
>> CONFIG_GENERIC_PHY=m
>> # CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set
>> # CONFIG_PHY_EXYNOS_DP_VIDEO is not set
>> CONFIG_BCM_KONA_USB2_PHY=m
>> # CONFIG_POWERCAP is not set
>>
>> #
>> # Firmware Drivers
>> #
>> # CONFIG_EDD is not set
>> # CONFIG_FIRMWARE_MEMMAP is not set
>> CONFIG_DELL_RBU=y
>> CONFIG_DCDBAS=m
>> CONFIG_GOOGLE_FIRMWARE=y
>>
>> #
>> # Google Firmware Drivers
>> #
>>
>> #
>> # File systems
>> #
>> CONFIG_DCACHE_WORD_ACCESS=y
>> CONFIG_EXT2_FS=m
>> # CONFIG_EXT2_FS_XATTR is not set
>> # CONFIG_EXT2_FS_XIP is not set
>> # CONFIG_EXT3_FS is not set
>> CONFIG_EXT4_FS=y
>> # CONFIG_EXT4_USE_FOR_EXT23 is not set
>> # CONFIG_EXT4_FS_POSIX_ACL is not set
>> # CONFIG_EXT4_FS_SECURITY is not set
>> # CONFIG_EXT4_DEBUG is not set
>> CONFIG_JBD2=y
>> # CONFIG_JBD2_DEBUG is not set
>> CONFIG_FS_MBCACHE=y
>> CONFIG_REISERFS_FS=m
>> CONFIG_REISERFS_CHECK=y
>> # CONFIG_REISERFS_FS_XATTR is not set
>> CONFIG_JFS_FS=y
>> # CONFIG_JFS_POSIX_ACL is not set
>> # CONFIG_JFS_SECURITY is not set
>> # CONFIG_JFS_DEBUG is not set
>> CONFIG_JFS_STATISTICS=y
>> CONFIG_XFS_FS=m
>> CONFIG_XFS_QUOTA=y
>> # CONFIG_XFS_POSIX_ACL is not set
>> CONFIG_XFS_RT=y
>> CONFIG_XFS_WARN=y
>> # CONFIG_XFS_DEBUG is not set
>> CONFIG_OCFS2_FS=y
>> CONFIG_OCFS2_FS_O2CB=y
>> CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
>> CONFIG_OCFS2_FS_STATS=y
>> CONFIG_OCFS2_DEBUG_MASKLOG=y
>> # CONFIG_OCFS2_DEBUG_FS is not set
>> CONFIG_BTRFS_FS=y
>> # CONFIG_BTRFS_FS_POSIX_ACL is not set
>> # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
>> # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
>> CONFIG_BTRFS_DEBUG=y
>> # CONFIG_BTRFS_ASSERT is not set
>> CONFIG_NILFS2_FS=m
>> CONFIG_FS_POSIX_ACL=y
>> CONFIG_EXPORTFS=y
>> # CONFIG_FILE_LOCKING is not set
>> CONFIG_FSNOTIFY=y
>> CONFIG_DNOTIFY=y
>> # CONFIG_INOTIFY_USER is not set
>> CONFIG_FANOTIFY=y
>> CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
>> CONFIG_QUOTA=y
>> # CONFIG_QUOTA_NETLINK_INTERFACE is not set
>> CONFIG_PRINT_QUOTA_WARNING=y
>> # CONFIG_QUOTA_DEBUG is not set
>> CONFIG_QUOTA_TREE=y
>> # CONFIG_QFMT_V1 is not set
>> CONFIG_QFMT_V2=y
>> CONFIG_QUOTACTL=y
>> CONFIG_AUTOFS4_FS=m
>> # CONFIG_FUSE_FS is not set
>>
>> #
>> # Caches
>> #
>> CONFIG_FSCACHE=y
>> CONFIG_FSCACHE_DEBUG=y
>> # CONFIG_CACHEFILES is not set
>>
>> #
>> # CD-ROM/DVD Filesystems
>> #
>> CONFIG_ISO9660_FS=m
>> # CONFIG_JOLIET is not set
>> CONFIG_ZISOFS=y
>> CONFIG_UDF_FS=m
>> CONFIG_UDF_NLS=y
>>
>> #
>> # DOS/FAT/NT Filesystems
>> #
>> CONFIG_FAT_FS=y
>> CONFIG_MSDOS_FS=y
>> # CONFIG_VFAT_FS is not set
>> CONFIG_FAT_DEFAULT_CODEPAGE=437
>> CONFIG_NTFS_FS=m
>> CONFIG_NTFS_DEBUG=y
>> CONFIG_NTFS_RW=y
>>
>> #
>> # Pseudo filesystems
>> #
>> # CONFIG_PROC_FS is not set
>> CONFIG_SYSFS=y
>> # CONFIG_TMPFS is not set
>> CONFIG_HUGETLBFS=y
>> CONFIG_HUGETLB_PAGE=y
>> CONFIG_CONFIGFS_FS=y
>> CONFIG_MISC_FILESYSTEMS=y
>> CONFIG_ADFS_FS=y
>> CONFIG_ADFS_FS_RW=y
>> # CONFIG_AFFS_FS is not set
>> CONFIG_ECRYPT_FS=y
>> CONFIG_ECRYPT_FS_MESSAGING=y
>> CONFIG_HFS_FS=m
>> CONFIG_HFSPLUS_FS=y
>> CONFIG_HFSPLUS_FS_POSIX_ACL=y
>> CONFIG_BEFS_FS=m
>> CONFIG_BEFS_DEBUG=y
>> CONFIG_BFS_FS=y
>> # CONFIG_EFS_FS is not set
>> CONFIG_JFFS2_FS=y
>> CONFIG_JFFS2_FS_DEBUG=0
>> CONFIG_JFFS2_FS_WRITEBUFFER=y
>> # CONFIG_JFFS2_FS_WBUF_VERIFY is not set
>> # CONFIG_JFFS2_SUMMARY is not set
>> CONFIG_JFFS2_FS_XATTR=y
>> # CONFIG_JFFS2_FS_POSIX_ACL is not set
>> CONFIG_JFFS2_FS_SECURITY=y
>> CONFIG_JFFS2_COMPRESSION_OPTIONS=y
>> CONFIG_JFFS2_ZLIB=y
>> CONFIG_JFFS2_LZO=y
>> CONFIG_JFFS2_RTIME=y
>> # CONFIG_JFFS2_RUBIN is not set
>> CONFIG_JFFS2_CMODE_NONE=y
>> # CONFIG_JFFS2_CMODE_PRIORITY is not set
>> # CONFIG_JFFS2_CMODE_SIZE is not set
>> # CONFIG_JFFS2_CMODE_FAVOURLZO is not set
>> # CONFIG_LOGFS is not set
>> CONFIG_CRAMFS=y
>> CONFIG_SQUASHFS=y
>> CONFIG_SQUASHFS_FILE_CACHE=y
>> # CONFIG_SQUASHFS_FILE_DIRECT is not set
>> CONFIG_SQUASHFS_DECOMP_SINGLE=y
>> # CONFIG_SQUASHFS_DECOMP_MULTI is not set
>> # CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
>> CONFIG_SQUASHFS_XATTR=y
>> # CONFIG_SQUASHFS_ZLIB is not set
>> # CONFIG_SQUASHFS_LZO is not set
>> # CONFIG_SQUASHFS_XZ is not set
>> CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
>> # CONFIG_SQUASHFS_EMBEDDED is not set
>> CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
>> CONFIG_VXFS_FS=y
>> CONFIG_MINIX_FS=y
>> CONFIG_OMFS_FS=y
>> CONFIG_HPFS_FS=m
>> CONFIG_QNX4FS_FS=m
>> CONFIG_QNX6FS_FS=y
>> CONFIG_QNX6FS_DEBUG=y
>> # CONFIG_ROMFS_FS is not set
>> # CONFIG_PSTORE is not set
>> CONFIG_SYSV_FS=m
>> # CONFIG_UFS_FS is not set
>> # CONFIG_F2FS_FS is not set
>> # CONFIG_NETWORK_FILESYSTEMS is not set
>> CONFIG_NLS=y
>> CONFIG_NLS_DEFAULT="iso8859-1"
>> CONFIG_NLS_CODEPAGE_437=y
>> # CONFIG_NLS_CODEPAGE_737 is not set
>> CONFIG_NLS_CODEPAGE_775=m
>> CONFIG_NLS_CODEPAGE_850=m
>> CONFIG_NLS_CODEPAGE_852=y
>> CONFIG_NLS_CODEPAGE_855=m
>> # CONFIG_NLS_CODEPAGE_857 is not set
>> CONFIG_NLS_CODEPAGE_860=y
>> CONFIG_NLS_CODEPAGE_861=y
>> CONFIG_NLS_CODEPAGE_862=m
>> CONFIG_NLS_CODEPAGE_863=m
>> CONFIG_NLS_CODEPAGE_864=m
>> CONFIG_NLS_CODEPAGE_865=m
>> CONFIG_NLS_CODEPAGE_866=y
>> # CONFIG_NLS_CODEPAGE_869 is not set
>> CONFIG_NLS_CODEPAGE_936=y
>> CONFIG_NLS_CODEPAGE_950=y
>> # CONFIG_NLS_CODEPAGE_932 is not set
>> CONFIG_NLS_CODEPAGE_949=y
>> CONFIG_NLS_CODEPAGE_874=y
>> CONFIG_NLS_ISO8859_8=y
>> CONFIG_NLS_CODEPAGE_1250=m
>> CONFIG_NLS_CODEPAGE_1251=y
>> # CONFIG_NLS_ASCII is not set
>> CONFIG_NLS_ISO8859_1=m
>> CONFIG_NLS_ISO8859_2=y
>> CONFIG_NLS_ISO8859_3=y
>> CONFIG_NLS_ISO8859_4=m
>> CONFIG_NLS_ISO8859_5=y
>> CONFIG_NLS_ISO8859_6=m
>> # CONFIG_NLS_ISO8859_7 is not set
>> CONFIG_NLS_ISO8859_9=m
>> # CONFIG_NLS_ISO8859_13 is not set
>> # CONFIG_NLS_ISO8859_14 is not set
>> # CONFIG_NLS_ISO8859_15 is not set
>> CONFIG_NLS_KOI8_R=m
>> CONFIG_NLS_KOI8_U=y
>> # CONFIG_NLS_MAC_ROMAN is not set
>> CONFIG_NLS_MAC_CELTIC=m
>> CONFIG_NLS_MAC_CENTEURO=y
>> CONFIG_NLS_MAC_CROATIAN=m
>> # CONFIG_NLS_MAC_CYRILLIC is not set
>> # CONFIG_NLS_MAC_GAELIC is not set
>> CONFIG_NLS_MAC_GREEK=m
>> CONFIG_NLS_MAC_ICELAND=m
>> # CONFIG_NLS_MAC_INUIT is not set
>> CONFIG_NLS_MAC_ROMANIAN=y
>> CONFIG_NLS_MAC_TURKISH=m
>> CONFIG_NLS_UTF8=y
>> CONFIG_DLM=m
>> # CONFIG_DLM_DEBUG is not set
>>
>> #
>> # Kernel hacking
>> #
>> CONFIG_TRACE_IRQFLAGS_SUPPORT=y
>>
>> #
>> # printk and dmesg options
>> #
>> # CONFIG_PRINTK_TIME is not set
>> CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
>> CONFIG_BOOT_PRINTK_DELAY=y
>> CONFIG_DYNAMIC_DEBUG=y
>>
>> #
>> # Compile-time checks and compiler options
>> #
>> # CONFIG_DEBUG_INFO is not set
>> # CONFIG_ENABLE_WARN_DEPRECATED is not set
>> CONFIG_ENABLE_MUST_CHECK=y
>> CONFIG_FRAME_WARN=1024
>> # CONFIG_STRIP_ASM_SYMS is not set
>> CONFIG_READABLE_ASM=y
>> # CONFIG_UNUSED_SYMBOLS is not set
>> CONFIG_DEBUG_FS=y
>> CONFIG_HEADERS_CHECK=y
>> CONFIG_DEBUG_SECTION_MISMATCH=y
>> CONFIG_ARCH_WANT_FRAME_POINTERS=y
>> CONFIG_FRAME_POINTER=y
>> # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
>> CONFIG_MAGIC_SYSRQ=y
>> CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
>> CONFIG_DEBUG_KERNEL=y
>>
>> #
>> # Memory Debugging
>> #
>> CONFIG_DEBUG_PAGEALLOC=y
>> CONFIG_WANT_PAGE_DEBUG_FLAGS=y
>> CONFIG_PAGE_GUARD=y
>> # CONFIG_DEBUG_OBJECTS is not set
>> CONFIG_HAVE_DEBUG_KMEMLEAK=y
>> CONFIG_DEBUG_KMEMLEAK=y
>> CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=400
>> CONFIG_DEBUG_KMEMLEAK_TEST=m
>> CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
>> # CONFIG_DEBUG_STACK_USAGE is not set
>> CONFIG_DEBUG_VM=y
>> # CONFIG_DEBUG_VM_RB is not set
>> # CONFIG_DEBUG_VIRTUAL is not set
>> CONFIG_DEBUG_MEMORY_INIT=y
>> # CONFIG_DEBUG_HIGHMEM is not set
>> CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
>> # CONFIG_DEBUG_STACKOVERFLOW is not set
>> CONFIG_HAVE_ARCH_KMEMCHECK=y
>> CONFIG_DEBUG_SHIRQ=y
>>
>> #
>> # Debug Lockups and Hangs
>> #
>> CONFIG_LOCKUP_DETECTOR=y
>> CONFIG_HARDLOCKUP_DETECTOR=y
>> # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
>> CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
>> CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
>> CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
>> # CONFIG_DETECT_HUNG_TASK is not set
>> CONFIG_PANIC_ON_OOPS=y
>> CONFIG_PANIC_ON_OOPS_VALUE=1
>> CONFIG_PANIC_TIMEOUT=0
>> # CONFIG_DEBUG_PREEMPT is not set
>>
>> #
>> # Lock Debugging (spinlocks, mutexes, etc...)
>> #
>> CONFIG_DEBUG_RT_MUTEXES=y
>> CONFIG_DEBUG_PI_LIST=y
>> # CONFIG_RT_MUTEX_TESTER is not set
>> CONFIG_DEBUG_SPINLOCK=y
>> CONFIG_DEBUG_MUTEXES=y
>> # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
>> CONFIG_DEBUG_LOCK_ALLOC=y
>> CONFIG_PROVE_LOCKING=y
>> CONFIG_LOCKDEP=y
>> # CONFIG_LOCK_STAT is not set
>> # CONFIG_DEBUG_LOCKDEP is not set
>> CONFIG_DEBUG_ATOMIC_SLEEP=y
>> CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
>> CONFIG_TRACE_IRQFLAGS=y
>> CONFIG_STACKTRACE=y
>> # CONFIG_DEBUG_KOBJECT is not set
>> # CONFIG_DEBUG_WRITECOUNT is not set
>> CONFIG_DEBUG_LIST=y
>> CONFIG_DEBUG_SG=y
>> CONFIG_DEBUG_NOTIFIERS=y
>> CONFIG_DEBUG_CREDENTIALS=y
>>
>> #
>> # RCU Debugging
>> #
>> CONFIG_PROVE_RCU=y
>> CONFIG_PROVE_RCU_REPEATEDLY=y
>> # CONFIG_PROVE_RCU_DELAY is not set
>> CONFIG_SPARSE_RCU_POINTER=y
>> CONFIG_RCU_TORTURE_TEST=m
>> CONFIG_RCU_CPU_STALL_TIMEOUT=21
>> CONFIG_RCU_CPU_STALL_VERBOSE=y
>> CONFIG_RCU_CPU_STALL_INFO=y
>> CONFIG_RCU_TRACE=y
>> CONFIG_DEBUG_BLOCK_EXT_DEVT=y
>> # CONFIG_NOTIFIER_ERROR_INJECTION is not set
>> CONFIG_FAULT_INJECTION=y
>> # CONFIG_FAIL_PAGE_ALLOC is not set
>> CONFIG_FAIL_MAKE_REQUEST=y
>> CONFIG_FAIL_IO_TIMEOUT=y
>> CONFIG_FAULT_INJECTION_DEBUG_FS=y
>> # CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
>> CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
>> CONFIG_USER_STACKTRACE_SUPPORT=y
>> CONFIG_NOP_TRACER=y
>> CONFIG_HAVE_FUNCTION_TRACER=y
>> CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
>> CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
>> CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
>> CONFIG_HAVE_DYNAMIC_FTRACE=y
>> CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
>> CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
>> CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
>> CONFIG_HAVE_C_RECORDMCOUNT=y
>> CONFIG_TRACER_MAX_TRACE=y
>> CONFIG_TRACE_CLOCK=y
>> CONFIG_RING_BUFFER=y
>> CONFIG_EVENT_TRACING=y
>> CONFIG_CONTEXT_SWITCH_TRACER=y
>> CONFIG_RING_BUFFER_ALLOW_SWAP=y
>> CONFIG_TRACING=y
>> CONFIG_GENERIC_TRACER=y
>> CONFIG_TRACING_SUPPORT=y
>> CONFIG_FTRACE=y
>> # CONFIG_FUNCTION_TRACER is not set
>> # CONFIG_IRQSOFF_TRACER is not set
>> CONFIG_PREEMPT_TRACER=y
>> # CONFIG_SCHED_TRACER is not set
>> CONFIG_FTRACE_SYSCALLS=y
>> CONFIG_TRACER_SNAPSHOT=y
>> CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP=y
>> CONFIG_TRACE_BRANCH_PROFILING=y
>> # CONFIG_BRANCH_PROFILE_NONE is not set
>> CONFIG_PROFILE_ANNOTATED_BRANCHES=y
>> # CONFIG_PROFILE_ALL_BRANCHES is not set
>> # CONFIG_BRANCH_TRACER is not set
>> # CONFIG_STACK_TRACER is not set
>> # CONFIG_BLK_DEV_IO_TRACE is not set
>> CONFIG_UPROBE_EVENT=y
>> CONFIG_PROBE_EVENTS=y
>> # CONFIG_FTRACE_STARTUP_TEST is not set
>> CONFIG_RING_BUFFER_BENCHMARK=m
>> # CONFIG_RING_BUFFER_STARTUP_TEST is not set
>>
>> #
>> # Runtime Testing
>> #
>> # CONFIG_LKDTM is not set
>> CONFIG_TEST_LIST_SORT=y
>> CONFIG_BACKTRACE_SELF_TEST=y
>> CONFIG_RBTREE_TEST=m
>> # CONFIG_INTERVAL_TREE_TEST is not set
>> # CONFIG_PERCPU_TEST is not set
>> # CONFIG_ATOMIC64_SELFTEST is not set
>> CONFIG_TEST_STRING_HELPERS=m
>> CONFIG_TEST_KSTRTOX=m
>> # CONFIG_BUILD_DOCSRC is not set
>> # CONFIG_DMA_API_DEBUG is not set
>> CONFIG_TEST_MODULE=m
>> CONFIG_TEST_USER_COPY=m
>> # CONFIG_SAMPLES is not set
>> CONFIG_HAVE_ARCH_KGDB=y
>> # CONFIG_KGDB is not set
>> CONFIG_STRICT_DEVMEM=y
>> CONFIG_X86_VERBOSE_BOOTUP=y
>> # CONFIG_EARLY_PRINTK is not set
>> CONFIG_X86_PTDUMP=y
>> # CONFIG_DEBUG_RODATA is not set
>> CONFIG_DEBUG_SET_MODULE_RONX=y
>> # CONFIG_DEBUG_NX_TEST is not set
>> # CONFIG_DOUBLEFAULT is not set
>> CONFIG_DEBUG_TLBFLUSH=y
>> CONFIG_IOMMU_STRESS=y
>> CONFIG_HAVE_MMIOTRACE_SUPPORT=y
>> CONFIG_IO_DELAY_TYPE_0X80=0
>> CONFIG_IO_DELAY_TYPE_0XED=1
>> CONFIG_IO_DELAY_TYPE_UDELAY=2
>> CONFIG_IO_DELAY_TYPE_NONE=3
>> # CONFIG_IO_DELAY_0X80 is not set
>> # CONFIG_IO_DELAY_0XED is not set
>> CONFIG_IO_DELAY_UDELAY=y
>> # CONFIG_IO_DELAY_NONE is not set
>> CONFIG_DEFAULT_IO_DELAY_TYPE=2
>> # CONFIG_DEBUG_BOOT_PARAMS is not set
>> CONFIG_CPA_DEBUG=y
>> # CONFIG_OPTIMIZE_INLINING is not set
>> CONFIG_DEBUG_NMI_SELFTEST=y
>> # CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set
>>
>> #
>> # Security options
>> #
>> CONFIG_KEYS=y
>> # CONFIG_PERSISTENT_KEYRINGS is not set
>> # CONFIG_TRUSTED_KEYS is not set
>> CONFIG_ENCRYPTED_KEYS=y
>> # CONFIG_KEYS_DEBUG_PROC_KEYS is not set
>> CONFIG_SECURITY_DMESG_RESTRICT=y
>> CONFIG_SECURITY=y
>> CONFIG_SECURITYFS=y
>> CONFIG_SECURITY_NETWORK=y
>> # CONFIG_SECURITY_NETWORK_XFRM is not set
>> CONFIG_SECURITY_PATH=y
>> CONFIG_LSM_MMAP_MIN_ADDR=65536
>> CONFIG_SECURITY_SELINUX=y
>> CONFIG_SECURITY_SELINUX_BOOTPARAM=y
>> CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
>> # CONFIG_SECURITY_SELINUX_DISABLE is not set
>> CONFIG_SECURITY_SELINUX_DEVELOP=y
>> # CONFIG_SECURITY_SELINUX_AVC_STATS is not set
>> CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
>> CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX=y
>> CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX_VALUE=19
>> CONFIG_SECURITY_SMACK=y
>> # CONFIG_SECURITY_TOMOYO is not set
>> # CONFIG_SECURITY_APPARMOR is not set
>> CONFIG_SECURITY_YAMA=y
>> # CONFIG_SECURITY_YAMA_STACKED is not set
>> CONFIG_INTEGRITY=y
>> # CONFIG_INTEGRITY_SIGNATURE is not set
>> # CONFIG_INTEGRITY_AUDIT is not set
>> CONFIG_IMA=y
>> CONFIG_IMA_MEASURE_PCR_IDX=10
>> CONFIG_IMA_LSM_RULES=y
>> CONFIG_IMA_TEMPLATE=y
>> # CONFIG_IMA_NG_TEMPLATE is not set
>> # CONFIG_IMA_SIG_TEMPLATE is not set
>> CONFIG_IMA_DEFAULT_TEMPLATE="ima"
>> CONFIG_IMA_DEFAULT_HASH_SHA1=y
>> CONFIG_IMA_DEFAULT_HASH="sha1"
>> CONFIG_IMA_APPRAISE=y
>> # CONFIG_EVM is not set
>> # CONFIG_DEFAULT_SECURITY_SELINUX is not set
>> # CONFIG_DEFAULT_SECURITY_SMACK is not set
>> CONFIG_DEFAULT_SECURITY_YAMA=y
>> # CONFIG_DEFAULT_SECURITY_DAC is not set
>> CONFIG_DEFAULT_SECURITY="yama"
>> CONFIG_XOR_BLOCKS=y
>> CONFIG_CRYPTO=y
>>
>> #
>> # Crypto core or helper
>> #
>> # CONFIG_CRYPTO_FIPS is not set
>> CONFIG_CRYPTO_ALGAPI=y
>> CONFIG_CRYPTO_ALGAPI2=y
>> CONFIG_CRYPTO_AEAD=y
>> CONFIG_CRYPTO_AEAD2=y
>> CONFIG_CRYPTO_BLKCIPHER=y
>> CONFIG_CRYPTO_BLKCIPHER2=y
>> CONFIG_CRYPTO_HASH=y
>> CONFIG_CRYPTO_HASH2=y
>> CONFIG_CRYPTO_RNG=y
>> CONFIG_CRYPTO_RNG2=y
>> CONFIG_CRYPTO_PCOMP2=y
>> CONFIG_CRYPTO_MANAGER=y
>> CONFIG_CRYPTO_MANAGER2=y
>> # CONFIG_CRYPTO_USER is not set
>> # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
>> CONFIG_CRYPTO_GF128MUL=m
>> CONFIG_CRYPTO_NULL=m
>> CONFIG_CRYPTO_WORKQUEUE=y
>> CONFIG_CRYPTO_CRYPTD=y
>> CONFIG_CRYPTO_AUTHENC=y
>> CONFIG_CRYPTO_TEST=m
>> CONFIG_CRYPTO_ABLK_HELPER=m
>> CONFIG_CRYPTO_GLUE_HELPER_X86=m
>>
>> #
>> # Authenticated Encryption with Associated Data
>> #
>> CONFIG_CRYPTO_CCM=m
>> # CONFIG_CRYPTO_GCM is not set
>> CONFIG_CRYPTO_SEQIV=y
>>
>> #
>> # Block modes
>> #
>> CONFIG_CRYPTO_CBC=y
>> CONFIG_CRYPTO_CTR=y
>> CONFIG_CRYPTO_CTS=m
>> CONFIG_CRYPTO_ECB=y
>> CONFIG_CRYPTO_LRW=m
>> CONFIG_CRYPTO_PCBC=m
>> CONFIG_CRYPTO_XTS=m
>>
>> #
>> # Hash modes
>> #
>> CONFIG_CRYPTO_CMAC=m
>> CONFIG_CRYPTO_HMAC=y
>> # CONFIG_CRYPTO_XCBC is not set
>> CONFIG_CRYPTO_VMAC=y
>>
>> #
>> # Digest
>> #
>> CONFIG_CRYPTO_CRC32C=y
>> CONFIG_CRYPTO_CRC32C_INTEL=y
>> CONFIG_CRYPTO_CRC32=m
>> CONFIG_CRYPTO_CRC32_PCLMUL=y
>> CONFIG_CRYPTO_CRCT10DIF=y
>> CONFIG_CRYPTO_GHASH=m
>> # CONFIG_CRYPTO_MD4 is not set
>> CONFIG_CRYPTO_MD5=y
>> CONFIG_CRYPTO_MICHAEL_MIC=y
>> CONFIG_CRYPTO_RMD128=y
>> CONFIG_CRYPTO_RMD160=m
>> CONFIG_CRYPTO_RMD256=y
>> # CONFIG_CRYPTO_RMD320 is not set
>> CONFIG_CRYPTO_SHA1=y
>> CONFIG_CRYPTO_SHA256=y
>> CONFIG_CRYPTO_SHA512=m
>> CONFIG_CRYPTO_TGR192=m
>> CONFIG_CRYPTO_WP512=m
>>
>> #
>> # Ciphers
>> #
>> CONFIG_CRYPTO_AES=y
>> CONFIG_CRYPTO_AES_586=m
>> CONFIG_CRYPTO_AES_NI_INTEL=m
>> # CONFIG_CRYPTO_ANUBIS is not set
>> CONFIG_CRYPTO_ARC4=y
>> CONFIG_CRYPTO_BLOWFISH=m
>> CONFIG_CRYPTO_BLOWFISH_COMMON=m
>> CONFIG_CRYPTO_CAMELLIA=m
>> CONFIG_CRYPTO_CAST_COMMON=y
>> # CONFIG_CRYPTO_CAST5 is not set
>> CONFIG_CRYPTO_CAST6=y
>> CONFIG_CRYPTO_DES=y
>> CONFIG_CRYPTO_FCRYPT=m
>> # CONFIG_CRYPTO_KHAZAD is not set
>> # CONFIG_CRYPTO_SALSA20 is not set
>> # CONFIG_CRYPTO_SALSA20_586 is not set
>> # CONFIG_CRYPTO_SEED is not set
>> CONFIG_CRYPTO_SERPENT=m
>> CONFIG_CRYPTO_SERPENT_SSE2_586=m
>> CONFIG_CRYPTO_TEA=y
>> # CONFIG_CRYPTO_TWOFISH is not set
>> CONFIG_CRYPTO_TWOFISH_COMMON=m
>> CONFIG_CRYPTO_TWOFISH_586=m
>>
>> #
>> # Compression
>> #
>> CONFIG_CRYPTO_DEFLATE=y
>> # CONFIG_CRYPTO_ZLIB is not set
>> CONFIG_CRYPTO_LZO=m
>> CONFIG_CRYPTO_LZ4=m
>> CONFIG_CRYPTO_LZ4HC=y
>>
>> #
>> # Random Number Generation
>> #
>> CONFIG_CRYPTO_ANSI_CPRNG=y
>> CONFIG_CRYPTO_USER_API=y
>> # CONFIG_CRYPTO_USER_API_HASH is not set
>> CONFIG_CRYPTO_USER_API_SKCIPHER=y
>> CONFIG_CRYPTO_HASH_INFO=y
>> # CONFIG_CRYPTO_HW is not set
>> CONFIG_ASYMMETRIC_KEY_TYPE=m
>> CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
>> CONFIG_PUBLIC_KEY_ALGO_RSA=m
>> CONFIG_X509_CERTIFICATE_PARSER=m
>> CONFIG_HAVE_KVM=y
>> # CONFIG_VIRTUALIZATION is not set
>> CONFIG_BINARY_PRINTF=y
>>
>> #
>> # Library routines
>> #
>> CONFIG_RAID6_PQ=y
>> CONFIG_BITREVERSE=y
>> CONFIG_GENERIC_STRNCPY_FROM_USER=y
>> CONFIG_GENERIC_STRNLEN_USER=y
>> CONFIG_GENERIC_NET_UTILS=y
>> CONFIG_GENERIC_FIND_FIRST_BIT=y
>> CONFIG_GENERIC_PCI_IOMAP=y
>> CONFIG_GENERIC_IOMAP=y
>> CONFIG_GENERIC_IO=y
>> CONFIG_STMP_DEVICE=y
>> CONFIG_PERCPU_RWSEM=y
>> CONFIG_CRC_CCITT=y
>> CONFIG_CRC16=y
>> CONFIG_CRC_T10DIF=y
>> CONFIG_CRC_ITU_T=y
>> CONFIG_CRC32=y
>> CONFIG_CRC32_SELFTEST=y
>> # CONFIG_CRC32_SLICEBY8 is not set
>> # CONFIG_CRC32_SLICEBY4 is not set
>> CONFIG_CRC32_SARWATE=y
>> # CONFIG_CRC32_BIT is not set
>> CONFIG_CRC7=m
>> CONFIG_LIBCRC32C=y
>> CONFIG_CRC8=m
>> CONFIG_CRC64_ECMA=m
>> CONFIG_AUDIT_GENERIC=y
>> # CONFIG_RANDOM32_SELFTEST is not set
>> CONFIG_ZLIB_INFLATE=y
>> CONFIG_ZLIB_DEFLATE=y
>> CONFIG_LZO_COMPRESS=y
>> CONFIG_LZO_DECOMPRESS=y
>> CONFIG_LZ4_COMPRESS=m
>> CONFIG_LZ4HC_COMPRESS=y
>> CONFIG_LZ4_DECOMPRESS=y
>> CONFIG_XZ_DEC=y
>> # CONFIG_XZ_DEC_X86 is not set
>> CONFIG_XZ_DEC_POWERPC=y
>> CONFIG_XZ_DEC_IA64=y
>> CONFIG_XZ_DEC_ARM=y
>> CONFIG_XZ_DEC_ARMTHUMB=y
>> CONFIG_XZ_DEC_SPARC=y
>> CONFIG_XZ_DEC_BCJ=y
>> CONFIG_XZ_DEC_TEST=m
>> CONFIG_DECOMPRESS_GZIP=y
>> CONFIG_DECOMPRESS_XZ=y
>> CONFIG_GENERIC_ALLOCATOR=y
>> CONFIG_REED_SOLOMON=y
>> CONFIG_REED_SOLOMON_DEC16=y
>> CONFIG_BCH=y
>> CONFIG_BCH_CONST_PARAMS=y
>> CONFIG_ASSOCIATIVE_ARRAY=y
>> CONFIG_HAS_IOMEM=y
>> CONFIG_HAS_IOPORT=y
>> CONFIG_HAS_DMA=y
>> CONFIG_CHECK_SIGNATURE=y
>> CONFIG_DQL=y
>> CONFIG_NLATTR=y
>> CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
>> CONFIG_AVERAGE=y
>> CONFIG_CLZ_TAB=y
>> # CONFIG_CORDIC is not set
>> CONFIG_DDR=y
>> CONFIG_MPILIB=m
>> CONFIG_OID_REGISTRY=m
>
>
>


--
You have got to be excited about what you are doing. (L. Lamport)

Eduardo Valentin


Attachments:
signature.asc (295.00 B)
OpenPGP digital signature

2014-01-07 11:37:45

by Eduardo Valentin

[permalink] [raw]
Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies

On 06-01-2014 22:26, Guenter Roeck wrote:
> On 01/06/2014 05:09 PM, Randy Dunlap wrote:
>> On 01/06/14 12:32, Guenter Roeck wrote:
>>> On Mon, Jan 06, 2014 at 11:51:36AM -0800, Randy Dunlap wrote:
>>>> On 01/06/14 01:40, Stephen Rothwell wrote:
>>>>> Hi all,
>>>>>
>>>>> This tree fails (more than usual) the powerpc allyesconfig build.
>>>>>
>>>>> Changes since 20131224:
>>>>>
>>>>
>>>>
>>>> on i386:
>>>>
>>>> drivers/built-in.o: In function `lm75_remove':
>>>> lm75.c:(.text+0x12bd8c): undefined reference to
>>>> `thermal_zone_of_sensor_unregister'
>>>> drivers/built-in.o: In function `lm75_probe':
>>>> lm75.c:(.text+0x12c123): undefined reference to
>>>> `thermal_zone_of_sensor_register'
>>>>
>>>
>>> AFAICS that is a dependency problem in thermal code.
>>> CONFIG_THERMAL=m defines the symbols, but CONFIG_SENSORS_LM75=y.
>>
>> CONFIG_THERMAL_OF defines the symbols.
>>
>> It looks to me like drivers/hwmon/Kconfig SENSORS_LM75 entry needs a
>> depends on THERMAL_OF
>> line, but that won't fix this build error.
>> The problem (once again, not the first time that I have seen this one)
>> is that
>> we have a tristate =m that depends on a bool =y.
>>
>> Hm, I bet a "depends on THERMAL" for SENSORS_LM75 will fix this.
>> [test]
>> Yes, that restricts (limits) SENSORS_LM75 to n/m; y is not possible.
>>
>> Patch for your consideration is below.
>>
>>>
>>> Up to the thermal folks to fix; if the code ends up in mainline we'll
>>> have to
>>> revert the patch introducing the calls to the lm75 driver (and the
>>> tmp102 driver
>>> which has the same issue).
>>>
>>> Another oddity is the help text to THERMAL_OF, which states that it
>>> supports
>>> reading and parsing thermal data definitions out of dt but fails to
>>> mention
>>> that it also provides the above API functions.
>>
>> ---
>> From: Randy Dunlap <[email protected]>
>>
>> Fix SENSORS_LM75 dependencies to eliminate build errors:
>>
>> drivers/built-in.o: In function `lm75_remove':
>> lm75.c:(.text+0x12bd8c): undefined reference to
>> `thermal_zone_of_sensor_unregister'
>> drivers/built-in.o: In function `lm75_probe':
>> lm75.c:(.text+0x12c123): undefined reference to
>> `thermal_zone_of_sensor_register'
>>
>> Add depends on THERMAL_OF since that is what provides the
>> register/unregister functions above.
>>
>> Add depends on THERMAL since THERMAL is a tristate (while THERMAL_OF
>> is a bool) and SENSORS_LM75 (tristate) needs to be limited to modular
>> builds when THERMAL=m.
>>
>> Signed-off-by: Randy Dunlap <[email protected]>
>> ---
>> drivers/hwmon/Kconfig | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> --- linux-next-20140106.orig/drivers/hwmon/Kconfig
>> +++ linux-next-20140106/drivers/hwmon/Kconfig
>> @@ -650,6 +650,8 @@ config SENSORS_LM73
>> config SENSORS_LM75
>> tristate "National Semiconductor LM75 and compatibles"
>> depends on I2C
>> + depends on THERMAL
>> + depends on THERMAL_OF
>> help
>> If you say yes here you get support for one common type of
>> temperature sensor chip, with models including:
>>
>>
> NACK. The driver does not and must not depend on THERMAL. This needs to
> be addressed
> in the thermal code, for example with dummy declarations if THERMAL=m but
> SENSORS_LM75=y. The functions are already declared as dummies if
> THERMAL_OF=n.

What do you mean by that? The code of an API provider needs to keep
track of all its users?

>
> Guenter
>
>
>


--
You have got to be excited about what you are doing. (L. Lamport)

Eduardo Valentin


Attachments:
signature.asc (295.00 B)
OpenPGP digital signature

2014-01-07 12:04:44

by Jean Delvare

[permalink] [raw]
Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies

Hi Guenter, Randy,

On Mon, 06 Jan 2014 18:26:34 -0800, Guenter Roeck wrote:
> On 01/06/2014 05:09 PM, Randy Dunlap wrote:
> > From: Randy Dunlap <[email protected]>
> >
> > Fix SENSORS_LM75 dependencies to eliminate build errors:
> >
> > drivers/built-in.o: In function `lm75_remove':
> > lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
> > drivers/built-in.o: In function `lm75_probe':
> > lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'
> >
> > Add depends on THERMAL_OF since that is what provides the
> > register/unregister functions above.
> >
> > Add depends on THERMAL since THERMAL is a tristate (while THERMAL_OF
> > is a bool) and SENSORS_LM75 (tristate) needs to be limited to modular
> > builds when THERMAL=m.
> >
> > Signed-off-by: Randy Dunlap <[email protected]>
> > ---
> > drivers/hwmon/Kconfig | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > --- linux-next-20140106.orig/drivers/hwmon/Kconfig
> > +++ linux-next-20140106/drivers/hwmon/Kconfig
> > @@ -650,6 +650,8 @@ config SENSORS_LM73
> > config SENSORS_LM75
> > tristate "National Semiconductor LM75 and compatibles"
> > depends on I2C
> > + depends on THERMAL
> > + depends on THERMAL_OF
> > help
> > If you say yes here you get support for one common type of
> > temperature sensor chip, with models including:
> >
> >
> NACK. The driver does not and must not depend on THERMAL.

Correct.

> This needs to be addressed
> in the thermal code, for example with dummy declarations if THERMAL=m but
> SENSORS_LM75=y. The functions are already declared as dummies if THERMAL_OF=n.

This won't fly I'm afraid, the number of hwmon drivers affected will
grow in the future and you certainly don't want to have to change the
generic thermal code every time a new driver is added/converted.

I've looked at the problem this morning and I will admit I do not even
understand what the problem is. In Randy's config, CONFIG_THERMAL_OF=y
so both thermal_zone_of_sensor_unregister and
thermal_zone_of_sensor_register are built-in. SENSORS_LM75=y so the
calls to these functions are built-in too. I just can't see how this
can be a problem at link time. Can anyone enlighten me?

--
Jean Delvare

2014-01-07 12:26:12

by Eduardo Valentin

[permalink] [raw]
Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies

On 07-01-2014 08:04, Jean Delvare wrote:
> Hi Guenter, Randy,
>
> On Mon, 06 Jan 2014 18:26:34 -0800, Guenter Roeck wrote:
>> On 01/06/2014 05:09 PM, Randy Dunlap wrote:
>>> From: Randy Dunlap <[email protected]>
>>>
>>> Fix SENSORS_LM75 dependencies to eliminate build errors:
>>>
>>> drivers/built-in.o: In function `lm75_remove':
>>> lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
>>> drivers/built-in.o: In function `lm75_probe':
>>> lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'
>>>
>>> Add depends on THERMAL_OF since that is what provides the
>>> register/unregister functions above.
>>>
>>> Add depends on THERMAL since THERMAL is a tristate (while THERMAL_OF
>>> is a bool) and SENSORS_LM75 (tristate) needs to be limited to modular
>>> builds when THERMAL=m.
>>>
>>> Signed-off-by: Randy Dunlap <[email protected]>
>>> ---
>>> drivers/hwmon/Kconfig | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> --- linux-next-20140106.orig/drivers/hwmon/Kconfig
>>> +++ linux-next-20140106/drivers/hwmon/Kconfig
>>> @@ -650,6 +650,8 @@ config SENSORS_LM73
>>> config SENSORS_LM75
>>> tristate "National Semiconductor LM75 and compatibles"
>>> depends on I2C
>>> + depends on THERMAL
>>> + depends on THERMAL_OF
>>> help
>>> If you say yes here you get support for one common type of
>>> temperature sensor chip, with models including:
>>>
>>>
>> NACK. The driver does not and must not depend on THERMAL.
>
> Correct.
>
>> This needs to be addressed
>> in the thermal code, for example with dummy declarations if THERMAL=m but
>> SENSORS_LM75=y. The functions are already declared as dummies if THERMAL_OF=n.
>
> This won't fly I'm afraid, the number of hwmon drivers affected will
> grow in the future and you certainly don't want to have to change the
> generic thermal code every time a new driver is added/converted.

Agreed

>
> I've looked at the problem this morning and I will admit I do not even
> understand what the problem is. In Randy's config, CONFIG_THERMAL_OF=y
> so both thermal_zone_of_sensor_unregister and
> thermal_zone_of_sensor_register are built-in. SENSORS_LM75=y so the
> calls to these functions are built-in too. I just can't see how this
> can be a problem at link time. Can anyone enlighten me?
>


I believe the problem is more in the fact that THERMAL_OF is a bool, but
the way it is in thermal Kconfig, it will link to the thermal module, in
case CONFIG_THERMAL=m. Thus I am proposing the following,
which limits the user to have THERMAL_OF only as builtin and whenever
is selected, it will select THERMAL too. That is:


From b643aa260ed4f3514d1ca51b1ecbe4be7652a8d0 Mon Sep 17 00:00:00 2001
From: Eduardo Valentin <[email protected]>
Date: Tue, 7 Jan 2014 08:04:02 -0400
Subject: [PATCH 1/1] thermal: fix compilation issue on CONFIG_THERMAL_OF
dependencies

Users of API provided by THERMAL_OF config may suffer when
CONFIG_THERMAL=y, causing linking issues, such as:

drivers/built-in.o: In function `lm75_remove':
lm75.c:(.text+0x12bd8c): undefined reference to
`thermal_zone_of_sensor_unregister'
drivers/built-in.o: In function `lm75_probe':
lm75.c:(.text+0x12c123): undefined reference to
`thermal_zone_of_sensor_register'

Therefore, this patch limits the compilation build to always
have THERMAL=y, whenever THERMAL_OF=y. In this way, whenever
the API user is built, if THERMAL_OF=y, the build shall have
the full thermal support, otherwise, the thermal API will provide
stubs.

Cc: Zhang Rui <[email protected]>
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Eduardo Valentin <[email protected]>
---
drivers/thermal/Kconfig | 29 ++++++++++++++++-------------
1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
index 58f98bd..dc315e9 100644
--- a/drivers/thermal/Kconfig
+++ b/drivers/thermal/Kconfig
@@ -29,19 +29,6 @@ config THERMAL_HWMON
Say 'Y' here if you want all thermal sensors to
have hwmon sysfs interface too.

-config THERMAL_OF
- bool
- prompt "APIs to parse thermal data out of device tree"
- depends on OF
- default y
- help
- This options provides helpers to add the support to
- read and parse thermal data definitions out of the
- device tree blob.
-
- Say 'Y' here if you need to build thermal infrastructure
- based on device tree.
-
choice
prompt "Default Thermal governor"
default THERMAL_DEFAULT_GOV_STEP_WISE
@@ -235,3 +222,19 @@ source "drivers/thermal/samsung/Kconfig"
endmenu

endif
+
+menuconfig THERMAL_OF
+ bool
+ prompt "APIs to parse thermal data out of device tree"
+ depends on OF
+ select THERMAL
+ default y
+ help
+ This options enables DT thermal API which adds support to
+ read and parse thermal data definitions out of the
+ device tree blob. This option is mostly used by embedded
+ thermal drivers.
+
+ Say 'Y' here if you need to build thermal infrastructure
+ based on device tree.
+
--
1.8.2.1.342.gfa7285d

Randy, can you please confirm if this fix the issue for you?

--
You have got to be excited about what you are doing. (L. Lamport)

Eduardo Valentin


Attachments:
signature.asc (295.00 B)
OpenPGP digital signature

2014-01-07 12:46:06

by Eduardo Valentin

[permalink] [raw]
Subject: [PATCH 1/1] thermal: fix compilation issue on CONFIG_THERMAL_OF dependencies

Users of API provided by THERMAL_OF config may suffer when
CONFIG_THERMAL=y, causing linking issues, such as:

drivers/built-in.o: In function `lm75_remove':
lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
drivers/built-in.o: In function `lm75_probe':
lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'

Therefore, this patch limits the compilation build to always
have THERMAL=y, whenever THERMAL_OF=y. In this way, whenever
the API user is built, if THERMAL_OF=y, the build shall have
the full thermal support, otherwise, the thermal API will provide
stubs.

Cc: Zhang Rui <[email protected]>
Cc: Jean Delvare <[email protected]>
Cc: Guenter Roeck <[email protected]>
Cc: [email protected]
Cc: [email protected]
Reported-by: Randy Dunlap <[email protected]>
Signed-off-by: Eduardo Valentin <[email protected]>
---
drivers/thermal/Kconfig | 29 ++++++++++++++++-------------
1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
index 58f98bd..dc315e9 100644
--- a/drivers/thermal/Kconfig
+++ b/drivers/thermal/Kconfig
@@ -29,19 +29,6 @@ config THERMAL_HWMON
Say 'Y' here if you want all thermal sensors to
have hwmon sysfs interface too.

-config THERMAL_OF
- bool
- prompt "APIs to parse thermal data out of device tree"
- depends on OF
- default y
- help
- This options provides helpers to add the support to
- read and parse thermal data definitions out of the
- device tree blob.
-
- Say 'Y' here if you need to build thermal infrastructure
- based on device tree.
-
choice
prompt "Default Thermal governor"
default THERMAL_DEFAULT_GOV_STEP_WISE
@@ -235,3 +222,19 @@ source "drivers/thermal/samsung/Kconfig"
endmenu

endif
+
+menuconfig THERMAL_OF
+ bool
+ prompt "APIs to parse thermal data out of device tree"
+ depends on OF
+ select THERMAL
+ default y
+ help
+ This options enables DT thermal API which adds support to
+ read and parse thermal data definitions out of the
+ device tree blob. This option is mostly used by embedded
+ thermal drivers.
+
+ Say 'Y' here if you need to build thermal infrastructure
+ based on device tree.
+
--
1.8.2.1.342.gfa7285d

2014-01-07 14:05:19

by Zhang, Rui

[permalink] [raw]
Subject: RE: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies



> -----Original Message-----
> From: Eduardo Valentin [mailto:[email protected]]
> Sent: Tuesday, January 07, 2014 8:24 PM
> To: Jean Delvare
> Cc: Guenter Roeck; Randy Dunlap; Stephen Rothwell; linux-
> [email protected]; [email protected]; Frodo Looijaard;
> [email protected]; Zhang, Rui; Eduardo Valentin; linux-
> [email protected]
> Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies
> Importance: High
>
> On 07-01-2014 08:04, Jean Delvare wrote:
> > Hi Guenter, Randy,
> >
> > On Mon, 06 Jan 2014 18:26:34 -0800, Guenter Roeck wrote:
> >> On 01/06/2014 05:09 PM, Randy Dunlap wrote:
> >>> From: Randy Dunlap <[email protected]>
> >>>
> >>> Fix SENSORS_LM75 dependencies to eliminate build errors:
> >>>
> >>> drivers/built-in.o: In function `lm75_remove':
> >>> lm75.c:(.text+0x12bd8c): undefined reference to
> `thermal_zone_of_sensor_unregister'
> >>> drivers/built-in.o: In function `lm75_probe':
> >>> lm75.c:(.text+0x12c123): undefined reference to
> `thermal_zone_of_sensor_register'
> >>>
> >>> Add depends on THERMAL_OF since that is what provides the
> >>> register/unregister functions above.
> >>>
> >>> Add depends on THERMAL since THERMAL is a tristate (while
> THERMAL_OF
> >>> is a bool) and SENSORS_LM75 (tristate) needs to be limited to
> >>> modular builds when THERMAL=m.
> >>>
> >>> Signed-off-by: Randy Dunlap <[email protected]>
> >>> ---
> >>> drivers/hwmon/Kconfig | 2 ++
> >>> 1 file changed, 2 insertions(+)
> >>>
> >>> --- linux-next-20140106.orig/drivers/hwmon/Kconfig
> >>> +++ linux-next-20140106/drivers/hwmon/Kconfig
> >>> @@ -650,6 +650,8 @@ config SENSORS_LM73
> >>> config SENSORS_LM75
> >>> tristate "National Semiconductor LM75 and compatibles"
> >>> depends on I2C
> >>> + depends on THERMAL
> >>> + depends on THERMAL_OF
> >>> help
> >>> If you say yes here you get support for one common type
> of
> >>> temperature sensor chip, with models including:
> >>>
> >>>
> >> NACK. The driver does not and must not depend on THERMAL.
> >
> > Correct.
> >
> >> This needs to be addressed
> >> in the thermal code, for example with dummy declarations if
> THERMAL=m
> >> but SENSORS_LM75=y. The functions are already declared as dummies if
> THERMAL_OF=n.
> >
> > This won't fly I'm afraid, the number of hwmon drivers affected will
> > grow in the future and you certainly don't want to have to change the
> > generic thermal code every time a new driver is added/converted.
>
> Agreed
>
> >
> > I've looked at the problem this morning and I will admit I do not
> even
> > understand what the problem is. In Randy's config,
> CONFIG_THERMAL_OF=y
> > so both thermal_zone_of_sensor_unregister and
> > thermal_zone_of_sensor_register are built-in. SENSORS_LM75=y so the
> > calls to these functions are built-in too. I just can't see how this
> > can be a problem at link time. Can anyone enlighten me?
> >
>
>
> I believe the problem is more in the fact that THERMAL_OF is a bool,
> but the way it is in thermal Kconfig, it will link to the thermal
> module, in case CONFIG_THERMAL=m. Thus I am proposing the following,
> which limits the user to have THERMAL_OF only as builtin and whenever
> is selected, it will select THERMAL too. That is:
>
>
> From b643aa260ed4f3514d1ca51b1ecbe4be7652a8d0 Mon Sep 17 00:00:00 2001
> From: Eduardo Valentin <[email protected]>
> Date: Tue, 7 Jan 2014 08:04:02 -0400
> Subject: [PATCH 1/1] thermal: fix compilation issue on
> CONFIG_THERMAL_OF dependencies
>
> Users of API provided by THERMAL_OF config may suffer when
> CONFIG_THERMAL=y, causing linking issues, such as:
>
> drivers/built-in.o: In function `lm75_remove':
> lm75.c:(.text+0x12bd8c): undefined reference to
> `thermal_zone_of_sensor_unregister'
> drivers/built-in.o: In function `lm75_probe':
> lm75.c:(.text+0x12c123): undefined reference to
> `thermal_zone_of_sensor_register'
>
> Therefore, this patch limits the compilation build to always have
> THERMAL=y, whenever THERMAL_OF=y. In this way, whenever the API user is
> built, if THERMAL_OF=y, the build shall have the full thermal support,
> otherwise, the thermal API will provide stubs.
>
> Cc: Zhang Rui <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Signed-off-by: Eduardo Valentin <[email protected]>
> ---
> drivers/thermal/Kconfig | 29 ++++++++++++++++-------------
> 1 file changed, 16 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig index
> 58f98bd..dc315e9 100644
> --- a/drivers/thermal/Kconfig
> +++ b/drivers/thermal/Kconfig
> @@ -29,19 +29,6 @@ config THERMAL_HWMON
> Say 'Y' here if you want all thermal sensors to
> have hwmon sysfs interface too.
>
> -config THERMAL_OF
> - bool
> - prompt "APIs to parse thermal data out of device tree"
> - depends on OF
> - default y
> - help
> - This options provides helpers to add the support to
> - read and parse thermal data definitions out of the
> - device tree blob.
> -
> - Say 'Y' here if you need to build thermal infrastructure
> - based on device tree.
> -
> choice
> prompt "Default Thermal governor"
> default THERMAL_DEFAULT_GOV_STEP_WISE
> @@ -235,3 +222,19 @@ source "drivers/thermal/samsung/Kconfig"
> endmenu
>
> endif
> +
> +menuconfig THERMAL_OF
> + bool
> + prompt "APIs to parse thermal data out of device tree"
> + depends on OF
> + select THERMAL
> + default y
> + help
> + This options enables DT thermal API which adds support to
> + read and parse thermal data definitions out of the
> + device tree blob. This option is mostly used by embedded
> + thermal drivers.
> +
> + Say 'Y' here if you need to build thermal infrastructure
> + based on device tree.
> +
> --
> 1.8.2.1.342.gfa7285d
>
> Randy, can you please confirm if this fix the issue for you?
>
The patch looks good to me, will apply it after it has been verified to fix the problem.
BTW, I've been thinking of make CONFIG_THERMAL a bool since long time ago, the only thing that blocks me is that Thermal subsystem needs to register a hwmon device for each thermal zone and CONFIG_HWMON is a tristate.

Thanks,
rui
> --
> You have got to be excited about what you are doing. (L. Lamport)
>
> Eduardo Valentin

2014-01-07 14:22:22

by Jean Delvare

[permalink] [raw]
Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies

Hi Eduardo,

On Tue, 7 Jan 2014 08:23:43 -0400, Eduardo Valentin wrote:
> On 07-01-2014 08:04, Jean Delvare wrote:
> > On Mon, 06 Jan 2014 18:26:34 -0800, Guenter Roeck wrote:
> >> This needs to be addressed
> >> in the thermal code, for example with dummy declarations if THERMAL=m but
> >> SENSORS_LM75=y. The functions are already declared as dummies if THERMAL_OF=n.
> >
> > This won't fly I'm afraid, the number of hwmon drivers affected will
> > grow in the future and you certainly don't want to have to change the
> > generic thermal code every time a new driver is added/converted.
>
> Agreed
>
> >
> > I've looked at the problem this morning and I will admit I do not even
> > understand what the problem is. In Randy's config, CONFIG_THERMAL_OF=y
> > so both thermal_zone_of_sensor_unregister and
> > thermal_zone_of_sensor_register are built-in. SENSORS_LM75=y so the
> > calls to these functions are built-in too. I just can't see how this
> > can be a problem at link time. Can anyone enlighten me?
>
> I believe the problem is more in the fact that THERMAL_OF is a bool, but
> the way it is in thermal Kconfig, it will link to the thermal module, in
> case CONFIG_THERMAL=m.

Doh. I've been looking at this for an hour and managed to miss
that :( Thanks for explaining.

> Thus I am proposing the following,
> which limits the user to have THERMAL_OF only as builtin and whenever
> is selected, it will select THERMAL too. That is:
>
>
> From b643aa260ed4f3514d1ca51b1ecbe4be7652a8d0 Mon Sep 17 00:00:00 2001
> From: Eduardo Valentin <[email protected]>
> Date: Tue, 7 Jan 2014 08:04:02 -0400
> Subject: [PATCH 1/1] thermal: fix compilation issue on CONFIG_THERMAL_OF
> dependencies
>
> Users of API provided by THERMAL_OF config may suffer when
> CONFIG_THERMAL=y, causing linking issues, such as:
>
> drivers/built-in.o: In function `lm75_remove':
> lm75.c:(.text+0x12bd8c): undefined reference to
> `thermal_zone_of_sensor_unregister'
> drivers/built-in.o: In function `lm75_probe':
> lm75.c:(.text+0x12c123): undefined reference to
> `thermal_zone_of_sensor_register'
>
> Therefore, this patch limits the compilation build to always
> have THERMAL=y, whenever THERMAL_OF=y. In this way, whenever
> the API user is built, if THERMAL_OF=y, the build shall have
> the full thermal support, otherwise, the thermal API will provide
> stubs.
>
> Cc: Zhang Rui <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Signed-off-by: Eduardo Valentin <[email protected]>
> ---
> drivers/thermal/Kconfig | 29 ++++++++++++++++-------------
> 1 file changed, 16 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
> index 58f98bd..dc315e9 100644
> --- a/drivers/thermal/Kconfig
> +++ b/drivers/thermal/Kconfig
> @@ -29,19 +29,6 @@ config THERMAL_HWMON
> Say 'Y' here if you want all thermal sensors to
> have hwmon sysfs interface too.
>
> -config THERMAL_OF
> - bool
> - prompt "APIs to parse thermal data out of device tree"
> - depends on OF
> - default y
> - help
> - This options provides helpers to add the support to
> - read and parse thermal data definitions out of the
> - device tree blob.
> -
> - Say 'Y' here if you need to build thermal infrastructure
> - based on device tree.
> -
> choice
> prompt "Default Thermal governor"
> default THERMAL_DEFAULT_GOV_STEP_WISE
> @@ -235,3 +222,19 @@ source "drivers/thermal/samsung/Kconfig"
> endmenu
>
> endif
> +
> +menuconfig THERMAL_OF
> + bool
> + prompt "APIs to parse thermal data out of device tree"
> + depends on OF
> + select THERMAL
> + default y
> + help
> + This options enables DT thermal API which adds support to
> + read and parse thermal data definitions out of the
> + device tree blob. This option is mostly used by embedded
> + thermal drivers.
> +
> + Say 'Y' here if you need to build thermal infrastructure
> + based on device tree.
> +

I suppose this works, however I believe there is value in allowing for
modular building of as much code as possible.

I have an alternative proposal, which lets thermal be built as module,
and hopefully also addresses the issue (I can't test...) The only
drawback is that the same dependency must be added for every other
hwmon driver which optionally uses THERMAL_OF.

From: Jean Delvare <[email protected]>

Based on an earlier attempt by Randy Dunlap.

Fix SENSORS_LM75 dependencies to eliminate build errors:

drivers/built-in.o: In function `lm75_remove':
lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
drivers/built-in.o: In function `lm75_probe':
lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'

Add depends on THERMAL since that is what provides the
register/unregister functions above, but only if THERMAL_OF was
selected as this is an optional feature of the driver.

Signed-off-by: Jean Delvare <[email protected]>
Cc: Randy Dunlap <[email protected]>
Cc: Eduardo Valentin <[email protected]>
---
drivers/hwmon/Kconfig | 1 +
1 file changed, 1 insertion(+)

--- linux-3.13-rc7.orig/drivers/hwmon/Kconfig 2014-01-07 09:01:24.812848091 +0100
+++ linux-3.13-rc7/drivers/hwmon/Kconfig 2014-01-07 15:19:11.039472329 +0100
@@ -650,6 +650,7 @@ config SENSORS_LM73
config SENSORS_LM75
tristate "National Semiconductor LM75 and compatibles"
depends on I2C
+ depends on THERMAL || !THERMAL_OF
help
If you say yes here you get support for one common type of
temperature sensor chip, with models including:


--
Jean Delvare

2014-01-07 14:34:21

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH 1/1] thermal: fix compilation issue on CONFIG_THERMAL_OF dependencies

On 01/07/2014 04:44 AM, Eduardo Valentin wrote:
> Users of API provided by THERMAL_OF config may suffer when
> CONFIG_THERMAL=y, causing linking issues, such as:
>
> drivers/built-in.o: In function `lm75_remove':
> lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
> drivers/built-in.o: In function `lm75_probe':
> lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'
>
> Therefore, this patch limits the compilation build to always
> have THERMAL=y, whenever THERMAL_OF=y. In this way, whenever
> the API user is built, if THERMAL_OF=y, the build shall have
> the full thermal support, otherwise, the thermal API will provide
> stubs.
>
> Cc: Zhang Rui <[email protected]>
> Cc: Jean Delvare <[email protected]>
> Cc: Guenter Roeck <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Reported-by: Randy Dunlap <[email protected]>
> Signed-off-by: Eduardo Valentin <[email protected]>
> ---
> drivers/thermal/Kconfig | 29 ++++++++++++++++-------------
> 1 file changed, 16 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
> index 58f98bd..dc315e9 100644
> --- a/drivers/thermal/Kconfig
> +++ b/drivers/thermal/Kconfig
> @@ -29,19 +29,6 @@ config THERMAL_HWMON
> Say 'Y' here if you want all thermal sensors to
> have hwmon sysfs interface too.
>
> -config THERMAL_OF
> - bool
> - prompt "APIs to parse thermal data out of device tree"
> - depends on OF
> - default y
> - help
> - This options provides helpers to add the support to
> - read and parse thermal data definitions out of the
> - device tree blob.
> -
> - Say 'Y' here if you need to build thermal infrastructure
> - based on device tree.
> -
> choice
> prompt "Default Thermal governor"
> default THERMAL_DEFAULT_GOV_STEP_WISE
> @@ -235,3 +222,19 @@ source "drivers/thermal/samsung/Kconfig"
> endmenu
>
> endif
> +
> +menuconfig THERMAL_OF
> + bool
> + prompt "APIs to parse thermal data out of device tree"
> + depends on OF
> + select THERMAL
> + default y
> + help
> + This options enables DT thermal API which adds support to
> + read and parse thermal data definitions out of the
> + device tree blob. This option is mostly used by embedded
> + thermal drivers.
> +
> + Say 'Y' here if you need to build thermal infrastructure
> + based on device tree.
> +
>

Alternative would be something like

diff --git a/include/linux/thermal.h b/include/linux/thermal.h
index f7e11c7..156bb4d 100644
--- a/include/linux/thermal.h
+++ b/include/linux/thermal.h
@@ -244,7 +244,7 @@ struct thermal_genl_event {
};

/* Function declarations */
-#ifdef CONFIG_THERMAL_OF
+#if defined(CONFIG_THERMAL_OF) && (defined(CONFIG_THERMAL) || (defined(MODULE) && defined(CONFIG_THERMAL_MODULE)))
struct thermal_zone_device *
thermal_zone_of_sensor_register(struct device *dev, int id,
void *data, int (*get_temp)(void *, long *),

but your patch should work as well (or even better as it won't cause confusion).

Guenter

2014-01-07 14:57:25

by Eduardo Valentin

[permalink] [raw]
Subject: Re: [PATCH 1/1] thermal: fix compilation issue on CONFIG_THERMAL_OF dependencies

On 07-01-2014 10:33, Guenter Roeck wrote:
> On 01/07/2014 04:44 AM, Eduardo Valentin wrote:
>> Users of API provided by THERMAL_OF config may suffer when
>> CONFIG_THERMAL=y, causing linking issues, such as:
>>
>> drivers/built-in.o: In function `lm75_remove':
>> lm75.c:(.text+0x12bd8c): undefined reference to
>> `thermal_zone_of_sensor_unregister'
>> drivers/built-in.o: In function `lm75_probe':
>> lm75.c:(.text+0x12c123): undefined reference to
>> `thermal_zone_of_sensor_register'
>>
>> Therefore, this patch limits the compilation build to always
>> have THERMAL=y, whenever THERMAL_OF=y. In this way, whenever
>> the API user is built, if THERMAL_OF=y, the build shall have
>> the full thermal support, otherwise, the thermal API will provide
>> stubs.
>>
>> Cc: Zhang Rui <[email protected]>
>> Cc: Jean Delvare <[email protected]>
>> Cc: Guenter Roeck <[email protected]>
>> Cc: [email protected]
>> Cc: [email protected]
>> Reported-by: Randy Dunlap <[email protected]>
>> Signed-off-by: Eduardo Valentin <[email protected]>
>> ---
>> drivers/thermal/Kconfig | 29 ++++++++++++++++-------------
>> 1 file changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
>> index 58f98bd..dc315e9 100644
>> --- a/drivers/thermal/Kconfig
>> +++ b/drivers/thermal/Kconfig
>> @@ -29,19 +29,6 @@ config THERMAL_HWMON
>> Say 'Y' here if you want all thermal sensors to
>> have hwmon sysfs interface too.
>>
>> -config THERMAL_OF
>> - bool
>> - prompt "APIs to parse thermal data out of device tree"
>> - depends on OF
>> - default y
>> - help
>> - This options provides helpers to add the support to
>> - read and parse thermal data definitions out of the
>> - device tree blob.
>> -
>> - Say 'Y' here if you need to build thermal infrastructure
>> - based on device tree.
>> -
>> choice
>> prompt "Default Thermal governor"
>> default THERMAL_DEFAULT_GOV_STEP_WISE
>> @@ -235,3 +222,19 @@ source "drivers/thermal/samsung/Kconfig"
>> endmenu
>>
>> endif
>> +
>> +menuconfig THERMAL_OF
>> + bool
>> + prompt "APIs to parse thermal data out of device tree"
>> + depends on OF
>> + select THERMAL
>> + default y
>> + help
>> + This options enables DT thermal API which adds support to
>> + read and parse thermal data definitions out of the
>> + device tree blob. This option is mostly used by embedded
>> + thermal drivers.
>> +
>> + Say 'Y' here if you need to build thermal infrastructure
>> + based on device tree.
>> +
>>
>
> Alternative would be something like
>
> diff --git a/include/linux/thermal.h b/include/linux/thermal.h
> index f7e11c7..156bb4d 100644
> --- a/include/linux/thermal.h
> +++ b/include/linux/thermal.h
> @@ -244,7 +244,7 @@ struct thermal_genl_event {
> };
>
> /* Function declarations */
> -#ifdef CONFIG_THERMAL_OF
> +#if defined(CONFIG_THERMAL_OF) && (defined(CONFIG_THERMAL) ||
> (defined(MODULE) && defined(CONFIG_THERMAL_MODULE)))

I think this is a weak fix, as it would mean that we would providing
stubs if thermal is compiled as module.

> struct thermal_zone_device *
> thermal_zone_of_sensor_register(struct device *dev, int id,
> void *data, int (*get_temp)(void *, long
> *),
>
> but your patch should work as well (or even better as it won't cause
> confusion).
>
> Guenter
>
>
>


--
You have got to be excited about what you are doing. (L. Lamport)

Eduardo Valentin


Attachments:
signature.asc (295.00 B)
OpenPGP digital signature

2014-01-07 14:59:54

by Eduardo Valentin

[permalink] [raw]
Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies

On 07-01-2014 10:05, Zhang, Rui wrote:
>
>
>> -----Original Message-----
>> From: Eduardo Valentin [mailto:[email protected]]
>> Sent: Tuesday, January 07, 2014 8:24 PM
>> To: Jean Delvare
>> Cc: Guenter Roeck; Randy Dunlap; Stephen Rothwell; linux-
>> [email protected]; [email protected]; Frodo Looijaard;
>> [email protected]; Zhang, Rui; Eduardo Valentin; linux-
>> [email protected]
>> Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies
>> Importance: High
>>
>> On 07-01-2014 08:04, Jean Delvare wrote:
>>> Hi Guenter, Randy,
>>>
>>> On Mon, 06 Jan 2014 18:26:34 -0800, Guenter Roeck wrote:
>>>> On 01/06/2014 05:09 PM, Randy Dunlap wrote:
>>>>> From: Randy Dunlap <[email protected]>
>>>>>
>>>>> Fix SENSORS_LM75 dependencies to eliminate build errors:
>>>>>
>>>>> drivers/built-in.o: In function `lm75_remove':
>>>>> lm75.c:(.text+0x12bd8c): undefined reference to
>> `thermal_zone_of_sensor_unregister'
>>>>> drivers/built-in.o: In function `lm75_probe':
>>>>> lm75.c:(.text+0x12c123): undefined reference to
>> `thermal_zone_of_sensor_register'
>>>>>
>>>>> Add depends on THERMAL_OF since that is what provides the
>>>>> register/unregister functions above.
>>>>>
>>>>> Add depends on THERMAL since THERMAL is a tristate (while
>> THERMAL_OF
>>>>> is a bool) and SENSORS_LM75 (tristate) needs to be limited to
>>>>> modular builds when THERMAL=m.
>>>>>
>>>>> Signed-off-by: Randy Dunlap <[email protected]>
>>>>> ---
>>>>> drivers/hwmon/Kconfig | 2 ++
>>>>> 1 file changed, 2 insertions(+)
>>>>>
>>>>> --- linux-next-20140106.orig/drivers/hwmon/Kconfig
>>>>> +++ linux-next-20140106/drivers/hwmon/Kconfig
>>>>> @@ -650,6 +650,8 @@ config SENSORS_LM73
>>>>> config SENSORS_LM75
>>>>> tristate "National Semiconductor LM75 and compatibles"
>>>>> depends on I2C
>>>>> + depends on THERMAL
>>>>> + depends on THERMAL_OF
>>>>> help
>>>>> If you say yes here you get support for one common type
>> of
>>>>> temperature sensor chip, with models including:
>>>>>
>>>>>
>>>> NACK. The driver does not and must not depend on THERMAL.
>>>
>>> Correct.
>>>
>>>> This needs to be addressed
>>>> in the thermal code, for example with dummy declarations if
>> THERMAL=m
>>>> but SENSORS_LM75=y. The functions are already declared as dummies if
>> THERMAL_OF=n.
>>>
>>> This won't fly I'm afraid, the number of hwmon drivers affected will
>>> grow in the future and you certainly don't want to have to change the
>>> generic thermal code every time a new driver is added/converted.
>>
>> Agreed
>>
>>>
>>> I've looked at the problem this morning and I will admit I do not
>> even
>>> understand what the problem is. In Randy's config,
>> CONFIG_THERMAL_OF=y
>>> so both thermal_zone_of_sensor_unregister and
>>> thermal_zone_of_sensor_register are built-in. SENSORS_LM75=y so the
>>> calls to these functions are built-in too. I just can't see how this
>>> can be a problem at link time. Can anyone enlighten me?
>>>
>>
>>
>> I believe the problem is more in the fact that THERMAL_OF is a bool,
>> but the way it is in thermal Kconfig, it will link to the thermal
>> module, in case CONFIG_THERMAL=m. Thus I am proposing the following,
>> which limits the user to have THERMAL_OF only as builtin and whenever
>> is selected, it will select THERMAL too. That is:
>>
>>
>> From b643aa260ed4f3514d1ca51b1ecbe4be7652a8d0 Mon Sep 17 00:00:00 2001
>> From: Eduardo Valentin <[email protected]>
>> Date: Tue, 7 Jan 2014 08:04:02 -0400
>> Subject: [PATCH 1/1] thermal: fix compilation issue on
>> CONFIG_THERMAL_OF dependencies
>>
>> Users of API provided by THERMAL_OF config may suffer when
>> CONFIG_THERMAL=y, causing linking issues, such as:
>>
>> drivers/built-in.o: In function `lm75_remove':
>> lm75.c:(.text+0x12bd8c): undefined reference to
>> `thermal_zone_of_sensor_unregister'
>> drivers/built-in.o: In function `lm75_probe':
>> lm75.c:(.text+0x12c123): undefined reference to
>> `thermal_zone_of_sensor_register'
>>
>> Therefore, this patch limits the compilation build to always have
>> THERMAL=y, whenever THERMAL_OF=y. In this way, whenever the API user is
>> built, if THERMAL_OF=y, the build shall have the full thermal support,
>> otherwise, the thermal API will provide stubs.
>>
>> Cc: Zhang Rui <[email protected]>
>> Cc: [email protected]
>> Cc: [email protected]
>> Signed-off-by: Eduardo Valentin <[email protected]>
>> ---
>> drivers/thermal/Kconfig | 29 ++++++++++++++++-------------
>> 1 file changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig index
>> 58f98bd..dc315e9 100644
>> --- a/drivers/thermal/Kconfig
>> +++ b/drivers/thermal/Kconfig
>> @@ -29,19 +29,6 @@ config THERMAL_HWMON
>> Say 'Y' here if you want all thermal sensors to
>> have hwmon sysfs interface too.
>>
>> -config THERMAL_OF
>> - bool
>> - prompt "APIs to parse thermal data out of device tree"
>> - depends on OF
>> - default y
>> - help
>> - This options provides helpers to add the support to
>> - read and parse thermal data definitions out of the
>> - device tree blob.
>> -
>> - Say 'Y' here if you need to build thermal infrastructure
>> - based on device tree.
>> -
>> choice
>> prompt "Default Thermal governor"
>> default THERMAL_DEFAULT_GOV_STEP_WISE
>> @@ -235,3 +222,19 @@ source "drivers/thermal/samsung/Kconfig"
>> endmenu
>>
>> endif
>> +
>> +menuconfig THERMAL_OF
>> + bool
>> + prompt "APIs to parse thermal data out of device tree"
>> + depends on OF
>> + select THERMAL
>> + default y
>> + help
>> + This options enables DT thermal API which adds support to
>> + read and parse thermal data definitions out of the
>> + device tree blob. This option is mostly used by embedded
>> + thermal drivers.
>> +
>> + Say 'Y' here if you need to build thermal infrastructure
>> + based on device tree.
>> +
>> --
>> 1.8.2.1.342.gfa7285d
>>
>> Randy, can you please confirm if this fix the issue for you?
>>
> The patch looks good to me, will apply it after it has been verified to fix the problem.
> BTW, I've been thinking of make CONFIG_THERMAL a bool since long time ago, the only thing that blocks me is that Thermal subsystem needs to register a hwmon device for each thermal zone and CONFIG_HWMON is a tristate.
>

I agree with the move of having CONFIG_THERMAL as bool. Unless you have
use cases where users are dynamically loading and unloading thermal per
user demand, which I doubt.

> Thanks,
> rui
>> --
>> You have got to be excited about what you are doing. (L. Lamport)
>>
>> Eduardo Valentin
>
>
>


--
You have got to be excited about what you are doing. (L. Lamport)

Eduardo Valentin


Attachments:
signature.asc (295.00 B)
OpenPGP digital signature

2014-01-07 15:04:16

by Jean Delvare

[permalink] [raw]
Subject: Re: [PATCH 1/1] thermal: fix compilation issue on CONFIG_THERMAL_OF dependencies

On Tue, 07 Jan 2014 06:33:46 -0800, Guenter Roeck wrote:
> Alternative would be something like
>
> diff --git a/include/linux/thermal.h b/include/linux/thermal.h
> index f7e11c7..156bb4d 100644
> --- a/include/linux/thermal.h
> +++ b/include/linux/thermal.h
> @@ -244,7 +244,7 @@ struct thermal_genl_event {
> };
>
> /* Function declarations */
> -#ifdef CONFIG_THERMAL_OF
> +#if defined(CONFIG_THERMAL_OF) && (defined(CONFIG_THERMAL) || (defined(MODULE) && defined(CONFIG_THERMAL_MODULE)))
> struct thermal_zone_device *
> thermal_zone_of_sensor_register(struct device *dev, int id,
> void *data, int (*get_temp)(void *, long *),

I don't like it. Using defined(MODULE) in a header file seems quite
risky (although I see there are occurrences of this already.) But more
importantly, this means that you can have all pieces enabled in your
kernel but the code will be silently stubbed out because the
combinations of Y and M happens to be unsupported but this is nowhere
documented. This is wrong.

--
Jean Delvare

2014-01-07 15:08:06

by Jean Delvare

[permalink] [raw]
Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies

On Tue, 7 Jan 2014 10:57:52 -0400, Eduardo Valentin wrote:
> On 07-01-2014 10:05, Zhang, Rui wrote:
> > BTW, I've been thinking of make CONFIG_THERMAL a bool since long time ago, the only thing that blocks me is that Thermal subsystem needs to register a hwmon device for each thermal zone and CONFIG_HWMON is a tristate.
>
> I agree with the move of having CONFIG_THERMAL as bool. Unless you have
> use cases where users are dynamically loading and unloading thermal per
> user demand, which I doubt.

Modularity is not only about reloading modules (although this can be
useful for developers in particular.) It's also about enabling many
features in a generic distribution kernel and each feature only gets
loaded/used on the hardware which needs it. This is why, as a
distribution kernel maintainer, I keep complaining when I see boolean
options which might easily be tristates.

--
Jean Delvare

2014-01-07 15:31:35

by Eduardo Valentin

[permalink] [raw]
Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies

On 07-01-2014 11:07, Jean Delvare wrote:
> On Tue, 7 Jan 2014 10:57:52 -0400, Eduardo Valentin wrote:
>> On 07-01-2014 10:05, Zhang, Rui wrote:
>>> BTW, I've been thinking of make CONFIG_THERMAL a bool since long time ago, the only thing that blocks me is that Thermal subsystem needs to register a hwmon device for each thermal zone and CONFIG_HWMON is a tristate.
>>
>> I agree with the move of having CONFIG_THERMAL as bool. Unless you have
>> use cases where users are dynamically loading and unloading thermal per
>> user demand, which I doubt.
>
> Modularity is not only about reloading modules (although this can be
> useful for developers in particular.) It's also about enabling many
> features in a generic distribution kernel and each feature only gets
> loaded/used on the hardware which needs it. This is why, as a

In fact, no one has said anything different than the above. I definitely
agree with you. Except that this needs to be taken with a bit of care.

> distribution kernel maintainer, I keep complaining when I see boolean
> options which might easily be tristates.

Well, I would say it is not that 'easy' and not that straight forward.
there a couple of items to be considered in the thermal case, the boot
requirements and API provisioning are two, just to mention. There are
use cases that waiting for init to be loaded and modules to be linked is
just no go for thermal constraints, in case the system is already booted
'hot'.

Besides, hiding APIs when a component is build is module is not very
'modular', even considering the statements you brought above.

>


--
You have got to be excited about what you are doing. (L. Lamport)

Eduardo Valentin


Attachments:
signature.asc (295.00 B)
OpenPGP digital signature

2014-01-07 16:02:46

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies

On Tue, Jan 07, 2014 at 01:04:01PM +0100, Jean Delvare wrote:
> Hi Guenter, Randy,
>
> On Mon, 06 Jan 2014 18:26:34 -0800, Guenter Roeck wrote:
> > On 01/06/2014 05:09 PM, Randy Dunlap wrote:
> > > From: Randy Dunlap <[email protected]>
> > >
> > > Fix SENSORS_LM75 dependencies to eliminate build errors:
> > >
> > > drivers/built-in.o: In function `lm75_remove':
> > > lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
> > > drivers/built-in.o: In function `lm75_probe':
> > > lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'
> > >
> > > Add depends on THERMAL_OF since that is what provides the
> > > register/unregister functions above.
> > >
> > > Add depends on THERMAL since THERMAL is a tristate (while THERMAL_OF
> > > is a bool) and SENSORS_LM75 (tristate) needs to be limited to modular
> > > builds when THERMAL=m.
> > >
> > > Signed-off-by: Randy Dunlap <[email protected]>
> > > ---
> > > drivers/hwmon/Kconfig | 2 ++
> > > 1 file changed, 2 insertions(+)
> > >
> > > --- linux-next-20140106.orig/drivers/hwmon/Kconfig
> > > +++ linux-next-20140106/drivers/hwmon/Kconfig
> > > @@ -650,6 +650,8 @@ config SENSORS_LM73
> > > config SENSORS_LM75
> > > tristate "National Semiconductor LM75 and compatibles"
> > > depends on I2C
> > > + depends on THERMAL
> > > + depends on THERMAL_OF
> > > help
> > > If you say yes here you get support for one common type of
> > > temperature sensor chip, with models including:
> > >
> > >
> > NACK. The driver does not and must not depend on THERMAL.
>
> Correct.
>
> > This needs to be addressed
> > in the thermal code, for example with dummy declarations if THERMAL=m but
> > SENSORS_LM75=y. The functions are already declared as dummies if THERMAL_OF=n.
>
> This won't fly I'm afraid, the number of hwmon drivers affected will
> grow in the future and you certainly don't want to have to change the
> generic thermal code every time a new driver is added/converted.
>
That is not really necessary - see the patch fragment I sent as response to
the other patch.

Guenter

2014-01-07 16:10:27

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies

On Tue, Jan 07, 2014 at 04:07:38PM +0100, Jean Delvare wrote:
> On Tue, 7 Jan 2014 10:57:52 -0400, Eduardo Valentin wrote:
> > On 07-01-2014 10:05, Zhang, Rui wrote:
> > > BTW, I've been thinking of make CONFIG_THERMAL a bool since long time ago, the only thing that blocks me is that Thermal subsystem needs to register a hwmon device for each thermal zone and CONFIG_HWMON is a tristate.
> >
> > I agree with the move of having CONFIG_THERMAL as bool. Unless you have
> > use cases where users are dynamically loading and unloading thermal per
> > user demand, which I doubt.
>
> Modularity is not only about reloading modules (although this can be
> useful for developers in particular.) It's also about enabling many
> features in a generic distribution kernel and each feature only gets
> loaded/used on the hardware which needs it. This is why, as a
> distribution kernel maintainer, I keep complaining when I see boolean
> options which might easily be tristates.
>
Agreed. Problem is really that it is not easy to declare cross-module
dependencies (eg THERMAL=m -> HWMON=m and THERMAL=y -> HWMON=y and
vice versa) in Kconfig. Declaring everything as bool can not be
the solution to that.

Guenter

2014-01-07 16:35:24

by Eduardo Valentin

[permalink] [raw]
Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies

On 07-01-2014 10:21, Jean Delvare wrote:
> Hi Eduardo,
>
> On Tue, 7 Jan 2014 08:23:43 -0400, Eduardo Valentin wrote:
>> On 07-01-2014 08:04, Jean Delvare wrote:
>>> On Mon, 06 Jan 2014 18:26:34 -0800, Guenter Roeck wrote:
>>>> This needs to be addressed
>>>> in the thermal code, for example with dummy declarations if THERMAL=m but
>>>> SENSORS_LM75=y. The functions are already declared as dummies if THERMAL_OF=n.
>>>
>>> This won't fly I'm afraid, the number of hwmon drivers affected will
>>> grow in the future and you certainly don't want to have to change the
>>> generic thermal code every time a new driver is added/converted.
>>
>> Agreed
>>
>>>
>>> I've looked at the problem this morning and I will admit I do not even
>>> understand what the problem is. In Randy's config, CONFIG_THERMAL_OF=y
>>> so both thermal_zone_of_sensor_unregister and
>>> thermal_zone_of_sensor_register are built-in. SENSORS_LM75=y so the
>>> calls to these functions are built-in too. I just can't see how this
>>> can be a problem at link time. Can anyone enlighten me?
>>
>> I believe the problem is more in the fact that THERMAL_OF is a bool, but
>> the way it is in thermal Kconfig, it will link to the thermal module, in
>> case CONFIG_THERMAL=m.
>
> Doh. I've been looking at this for an hour and managed to miss
> that :( Thanks for explaining.
>
>> Thus I am proposing the following,
>> which limits the user to have THERMAL_OF only as builtin and whenever
>> is selected, it will select THERMAL too. That is:
>>
>>
>> From b643aa260ed4f3514d1ca51b1ecbe4be7652a8d0 Mon Sep 17 00:00:00 2001
>> From: Eduardo Valentin <[email protected]>
>> Date: Tue, 7 Jan 2014 08:04:02 -0400
>> Subject: [PATCH 1/1] thermal: fix compilation issue on CONFIG_THERMAL_OF
>> dependencies
>>
>> Users of API provided by THERMAL_OF config may suffer when
>> CONFIG_THERMAL=y, causing linking issues, such as:
>>
>> drivers/built-in.o: In function `lm75_remove':
>> lm75.c:(.text+0x12bd8c): undefined reference to
>> `thermal_zone_of_sensor_unregister'
>> drivers/built-in.o: In function `lm75_probe':
>> lm75.c:(.text+0x12c123): undefined reference to
>> `thermal_zone_of_sensor_register'
>>
>> Therefore, this patch limits the compilation build to always
>> have THERMAL=y, whenever THERMAL_OF=y. In this way, whenever
>> the API user is built, if THERMAL_OF=y, the build shall have
>> the full thermal support, otherwise, the thermal API will provide
>> stubs.
>>
>> Cc: Zhang Rui <[email protected]>
>> Cc: [email protected]
>> Cc: [email protected]
>> Signed-off-by: Eduardo Valentin <[email protected]>
>> ---
>> drivers/thermal/Kconfig | 29 ++++++++++++++++-------------
>> 1 file changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
>> index 58f98bd..dc315e9 100644
>> --- a/drivers/thermal/Kconfig
>> +++ b/drivers/thermal/Kconfig
>> @@ -29,19 +29,6 @@ config THERMAL_HWMON
>> Say 'Y' here if you want all thermal sensors to
>> have hwmon sysfs interface too.
>>
>> -config THERMAL_OF
>> - bool
>> - prompt "APIs to parse thermal data out of device tree"
>> - depends on OF
>> - default y
>> - help
>> - This options provides helpers to add the support to
>> - read and parse thermal data definitions out of the
>> - device tree blob.
>> -
>> - Say 'Y' here if you need to build thermal infrastructure
>> - based on device tree.
>> -
>> choice
>> prompt "Default Thermal governor"
>> default THERMAL_DEFAULT_GOV_STEP_WISE
>> @@ -235,3 +222,19 @@ source "drivers/thermal/samsung/Kconfig"
>> endmenu
>>
>> endif
>> +
>> +menuconfig THERMAL_OF
>> + bool
>> + prompt "APIs to parse thermal data out of device tree"
>> + depends on OF
>> + select THERMAL
>> + default y
>> + help
>> + This options enables DT thermal API which adds support to
>> + read and parse thermal data definitions out of the
>> + device tree blob. This option is mostly used by embedded
>> + thermal drivers.
>> +
>> + Say 'Y' here if you need to build thermal infrastructure
>> + based on device tree.
>> +
>
> I suppose this works, however I believe there is value in allowing for
> modular building of as much code as possible.
>
> I have an alternative proposal, which lets thermal be built as module,
> and hopefully also addresses the issue (I can't test...) The only
> drawback is that the same dependency must be added for every other
> hwmon driver which optionally uses THERMAL_OF.
>
> From: Jean Delvare <[email protected]>
>
> Based on an earlier attempt by Randy Dunlap.
>
> Fix SENSORS_LM75 dependencies to eliminate build errors:
>
> drivers/built-in.o: In function `lm75_remove':
> lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
> drivers/built-in.o: In function `lm75_probe':
> lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'
>
> Add depends on THERMAL since that is what provides the
> register/unregister functions above, but only if THERMAL_OF was
> selected as this is an optional feature of the driver.
>
> Signed-off-by: Jean Delvare <[email protected]>
> Cc: Randy Dunlap <[email protected]>
> Cc: Eduardo Valentin <[email protected]>

I agree with this approach, as it can properly serve the purpose of
fixing this specific issue. The only drawback here is the fact that we
need to add this change to every possible user of this API. If you want
to push this fix via hwmon, you can add my
Acked-by: Eduardo Valentin <[email protected]>

and I request Rui to drop the patch I sent earlier.

Now, other issue is the fact that the thermal framework config entry
needs to be revisited, despite the link to this issue. As I mentioned in
other email thread, there are other system requirements that may prevent
proper usage of the thermal framework as a module. This is, I know,
another topic, and it shall be discussed in a different thread.

> ---
> drivers/hwmon/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> --- linux-3.13-rc7.orig/drivers/hwmon/Kconfig 2014-01-07 09:01:24.812848091 +0100
> +++ linux-3.13-rc7/drivers/hwmon/Kconfig 2014-01-07 15:19:11.039472329 +0100
> @@ -650,6 +650,7 @@ config SENSORS_LM73
> config SENSORS_LM75
> tristate "National Semiconductor LM75 and compatibles"
> depends on I2C
> + depends on THERMAL || !THERMAL_OF
> help
> If you say yes here you get support for one common type of
> temperature sensor chip, with models including:
>
>


--
You have got to be excited about what you are doing. (L. Lamport)

Eduardo Valentin


Attachments:
signature.asc (295.00 B)
OpenPGP digital signature

2014-01-07 18:07:04

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies

On 01/07/14 06:21, Jean Delvare wrote:
> Hi Eduardo,
>

> I suppose this works, however I believe there is value in allowing for
> modular building of as much code as possible.

ack, yes, please.

> I have an alternative proposal, which lets thermal be built as module,
> and hopefully also addresses the issue (I can't test...) The only
> drawback is that the same dependency must be added for every other
> hwmon driver which optionally uses THERMAL_OF.
>
> From: Jean Delvare <[email protected]>
>
> Based on an earlier attempt by Randy Dunlap.
>
> Fix SENSORS_LM75 dependencies to eliminate build errors:
>
> drivers/built-in.o: In function `lm75_remove':
> lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
> drivers/built-in.o: In function `lm75_probe':
> lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'
>
> Add depends on THERMAL since that is what provides the
> register/unregister functions above, but only if THERMAL_OF was
> selected as this is an optional feature of the driver.
>
> Signed-off-by: Jean Delvare <[email protected]>
> Cc: Randy Dunlap <[email protected]>
> Cc: Eduardo Valentin <[email protected]>

works for me.

Acked-by: Randy Dunlap <[email protected]>

Thanks.

> ---
> drivers/hwmon/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> --- linux-3.13-rc7.orig/drivers/hwmon/Kconfig 2014-01-07 09:01:24.812848091 +0100
> +++ linux-3.13-rc7/drivers/hwmon/Kconfig 2014-01-07 15:19:11.039472329 +0100
> @@ -650,6 +650,7 @@ config SENSORS_LM73
> config SENSORS_LM75
> tristate "National Semiconductor LM75 and compatibles"
> depends on I2C
> + depends on THERMAL || !THERMAL_OF
> help
> If you say yes here you get support for one common type of
> temperature sensor chip, with models including:
>
>


--
~Randy

2014-01-08 01:50:46

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies

On Tue, Jan 07, 2014 at 12:33:28PM -0400, Eduardo Valentin wrote:
> On 07-01-2014 10:21, Jean Delvare wrote:
> > Hi Eduardo,
> >
> > On Tue, 7 Jan 2014 08:23:43 -0400, Eduardo Valentin wrote:
> >> On 07-01-2014 08:04, Jean Delvare wrote:
> >>> On Mon, 06 Jan 2014 18:26:34 -0800, Guenter Roeck wrote:
> >>>> This needs to be addressed
> >>>> in the thermal code, for example with dummy declarations if THERMAL=m but
> >>>> SENSORS_LM75=y. The functions are already declared as dummies if THERMAL_OF=n.
> >>>
> >>> This won't fly I'm afraid, the number of hwmon drivers affected will
> >>> grow in the future and you certainly don't want to have to change the
> >>> generic thermal code every time a new driver is added/converted.
> >>
> >> Agreed
> >>
> >>>
> >>> I've looked at the problem this morning and I will admit I do not even
> >>> understand what the problem is. In Randy's config, CONFIG_THERMAL_OF=y
> >>> so both thermal_zone_of_sensor_unregister and
> >>> thermal_zone_of_sensor_register are built-in. SENSORS_LM75=y so the
> >>> calls to these functions are built-in too. I just can't see how this
> >>> can be a problem at link time. Can anyone enlighten me?
> >>
> >> I believe the problem is more in the fact that THERMAL_OF is a bool, but
> >> the way it is in thermal Kconfig, it will link to the thermal module, in
> >> case CONFIG_THERMAL=m.
> >
> > Doh. I've been looking at this for an hour and managed to miss
> > that :( Thanks for explaining.
> >
> >> Thus I am proposing the following,
> >> which limits the user to have THERMAL_OF only as builtin and whenever
> >> is selected, it will select THERMAL too. That is:
> >>
> >>
> >> From b643aa260ed4f3514d1ca51b1ecbe4be7652a8d0 Mon Sep 17 00:00:00 2001
> >> From: Eduardo Valentin <[email protected]>
> >> Date: Tue, 7 Jan 2014 08:04:02 -0400
> >> Subject: [PATCH 1/1] thermal: fix compilation issue on CONFIG_THERMAL_OF
> >> dependencies
> >>
> >> Users of API provided by THERMAL_OF config may suffer when
> >> CONFIG_THERMAL=y, causing linking issues, such as:
> >>
> >> drivers/built-in.o: In function `lm75_remove':
> >> lm75.c:(.text+0x12bd8c): undefined reference to
> >> `thermal_zone_of_sensor_unregister'
> >> drivers/built-in.o: In function `lm75_probe':
> >> lm75.c:(.text+0x12c123): undefined reference to
> >> `thermal_zone_of_sensor_register'
> >>
> >> Therefore, this patch limits the compilation build to always
> >> have THERMAL=y, whenever THERMAL_OF=y. In this way, whenever
> >> the API user is built, if THERMAL_OF=y, the build shall have
> >> the full thermal support, otherwise, the thermal API will provide
> >> stubs.
> >>
> >> Cc: Zhang Rui <[email protected]>
> >> Cc: [email protected]
> >> Cc: [email protected]
> >> Signed-off-by: Eduardo Valentin <[email protected]>
> >> ---
> >> drivers/thermal/Kconfig | 29 ++++++++++++++++-------------
> >> 1 file changed, 16 insertions(+), 13 deletions(-)
> >>
> >> diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
> >> index 58f98bd..dc315e9 100644
> >> --- a/drivers/thermal/Kconfig
> >> +++ b/drivers/thermal/Kconfig
> >> @@ -29,19 +29,6 @@ config THERMAL_HWMON
> >> Say 'Y' here if you want all thermal sensors to
> >> have hwmon sysfs interface too.
> >>
> >> -config THERMAL_OF
> >> - bool
> >> - prompt "APIs to parse thermal data out of device tree"
> >> - depends on OF
> >> - default y
> >> - help
> >> - This options provides helpers to add the support to
> >> - read and parse thermal data definitions out of the
> >> - device tree blob.
> >> -
> >> - Say 'Y' here if you need to build thermal infrastructure
> >> - based on device tree.
> >> -
> >> choice
> >> prompt "Default Thermal governor"
> >> default THERMAL_DEFAULT_GOV_STEP_WISE
> >> @@ -235,3 +222,19 @@ source "drivers/thermal/samsung/Kconfig"
> >> endmenu
> >>
> >> endif
> >> +
> >> +menuconfig THERMAL_OF
> >> + bool
> >> + prompt "APIs to parse thermal data out of device tree"
> >> + depends on OF
> >> + select THERMAL
> >> + default y
> >> + help
> >> + This options enables DT thermal API which adds support to
> >> + read and parse thermal data definitions out of the
> >> + device tree blob. This option is mostly used by embedded
> >> + thermal drivers.
> >> +
> >> + Say 'Y' here if you need to build thermal infrastructure
> >> + based on device tree.
> >> +
> >
> > I suppose this works, however I believe there is value in allowing for
> > modular building of as much code as possible.
> >
> > I have an alternative proposal, which lets thermal be built as module,
> > and hopefully also addresses the issue (I can't test...) The only
> > drawback is that the same dependency must be added for every other
> > hwmon driver which optionally uses THERMAL_OF.
> >
> > From: Jean Delvare <[email protected]>
> >
> > Based on an earlier attempt by Randy Dunlap.
> >
> > Fix SENSORS_LM75 dependencies to eliminate build errors:
> >
> > drivers/built-in.o: In function `lm75_remove':
> > lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
> > drivers/built-in.o: In function `lm75_probe':
> > lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'
> >
> > Add depends on THERMAL since that is what provides the
> > register/unregister functions above, but only if THERMAL_OF was
> > selected as this is an optional feature of the driver.
> >
> > Signed-off-by: Jean Delvare <[email protected]>
> > Cc: Randy Dunlap <[email protected]>
> > Cc: Eduardo Valentin <[email protected]>
>
> I agree with this approach, as it can properly serve the purpose of
> fixing this specific issue. The only drawback here is the fact that we
> need to add this change to every possible user of this API. If you want
> to push this fix via hwmon, you can add my
> Acked-by: Eduardo Valentin <[email protected]>
>
> and I request Rui to drop the patch I sent earlier.
>
> Now, other issue is the fact that the thermal framework config entry
> needs to be revisited, despite the link to this issue. As I mentioned in
> other email thread, there are other system requirements that may prevent
> proper usage of the thermal framework as a module. This is, I know,
> another topic, and it shall be discussed in a different thread.
>
> > ---
> > drivers/hwmon/Kconfig | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > --- linux-3.13-rc7.orig/drivers/hwmon/Kconfig 2014-01-07 09:01:24.812848091 +0100
> > +++ linux-3.13-rc7/drivers/hwmon/Kconfig 2014-01-07 15:19:11.039472329 +0100
> > @@ -650,6 +650,7 @@ config SENSORS_LM73
> > config SENSORS_LM75
> > tristate "National Semiconductor LM75 and compatibles"
> > depends on I2C
> > + depends on THERMAL || !THERMAL_OF
> > help
> > If you say yes here you get support for one common type of
> > temperature sensor chip, with models including:
> >
Excellent idea. Looks good to me, only I think you'll need the same for TMP102.

Guenter

2014-01-08 02:03:20

by Zhang, Rui

[permalink] [raw]
Subject: Re: [PATCH] hwmon/sensors: fix SENSORS_LM75 dependencies

On Tue, 2014-01-07 at 15:21 +0100, Jean Delvare wrote:
> Hi Eduardo,
>
> On Tue, 7 Jan 2014 08:23:43 -0400, Eduardo Valentin wrote:
> > On 07-01-2014 08:04, Jean Delvare wrote:
> > > On Mon, 06 Jan 2014 18:26:34 -0800, Guenter Roeck wrote:
> > >> This needs to be addressed
> > >> in the thermal code, for example with dummy declarations if THERMAL=m but
> > >> SENSORS_LM75=y. The functions are already declared as dummies if THERMAL_OF=n.
> > >
> > > This won't fly I'm afraid, the number of hwmon drivers affected will
> > > grow in the future and you certainly don't want to have to change the
> > > generic thermal code every time a new driver is added/converted.
> >
> > Agreed
> >
> > >
> > > I've looked at the problem this morning and I will admit I do not even
> > > understand what the problem is. In Randy's config, CONFIG_THERMAL_OF=y
> > > so both thermal_zone_of_sensor_unregister and
> > > thermal_zone_of_sensor_register are built-in. SENSORS_LM75=y so the
> > > calls to these functions are built-in too. I just can't see how this
> > > can be a problem at link time. Can anyone enlighten me?
> >
> > I believe the problem is more in the fact that THERMAL_OF is a bool, but
> > the way it is in thermal Kconfig, it will link to the thermal module, in
> > case CONFIG_THERMAL=m.
>
> Doh. I've been looking at this for an hour and managed to miss
> that :( Thanks for explaining.
>
> > Thus I am proposing the following,
> > which limits the user to have THERMAL_OF only as builtin and whenever
> > is selected, it will select THERMAL too. That is:
> >
> >
> > From b643aa260ed4f3514d1ca51b1ecbe4be7652a8d0 Mon Sep 17 00:00:00 2001
> > From: Eduardo Valentin <[email protected]>
> > Date: Tue, 7 Jan 2014 08:04:02 -0400
> > Subject: [PATCH 1/1] thermal: fix compilation issue on CONFIG_THERMAL_OF
> > dependencies
> >
> > Users of API provided by THERMAL_OF config may suffer when
> > CONFIG_THERMAL=y, causing linking issues, such as:
> >
> > drivers/built-in.o: In function `lm75_remove':
> > lm75.c:(.text+0x12bd8c): undefined reference to
> > `thermal_zone_of_sensor_unregister'
> > drivers/built-in.o: In function `lm75_probe':
> > lm75.c:(.text+0x12c123): undefined reference to
> > `thermal_zone_of_sensor_register'
> >
> > Therefore, this patch limits the compilation build to always
> > have THERMAL=y, whenever THERMAL_OF=y. In this way, whenever
> > the API user is built, if THERMAL_OF=y, the build shall have
> > the full thermal support, otherwise, the thermal API will provide
> > stubs.
> >
> > Cc: Zhang Rui <[email protected]>
> > Cc: [email protected]
> > Cc: [email protected]
> > Signed-off-by: Eduardo Valentin <[email protected]>
> > ---
> > drivers/thermal/Kconfig | 29 ++++++++++++++++-------------
> > 1 file changed, 16 insertions(+), 13 deletions(-)
> >
> > diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
> > index 58f98bd..dc315e9 100644
> > --- a/drivers/thermal/Kconfig
> > +++ b/drivers/thermal/Kconfig
> > @@ -29,19 +29,6 @@ config THERMAL_HWMON
> > Say 'Y' here if you want all thermal sensors to
> > have hwmon sysfs interface too.
> >
> > -config THERMAL_OF
> > - bool
> > - prompt "APIs to parse thermal data out of device tree"
> > - depends on OF
> > - default y
> > - help
> > - This options provides helpers to add the support to
> > - read and parse thermal data definitions out of the
> > - device tree blob.
> > -
> > - Say 'Y' here if you need to build thermal infrastructure
> > - based on device tree.
> > -
> > choice
> > prompt "Default Thermal governor"
> > default THERMAL_DEFAULT_GOV_STEP_WISE
> > @@ -235,3 +222,19 @@ source "drivers/thermal/samsung/Kconfig"
> > endmenu
> >
> > endif
> > +
> > +menuconfig THERMAL_OF
> > + bool
> > + prompt "APIs to parse thermal data out of device tree"
> > + depends on OF
> > + select THERMAL
> > + default y
> > + help
> > + This options enables DT thermal API which adds support to
> > + read and parse thermal data definitions out of the
> > + device tree blob. This option is mostly used by embedded
> > + thermal drivers.
> > +
> > + Say 'Y' here if you need to build thermal infrastructure
> > + based on device tree.
> > +
>
> I suppose this works, however I believe there is value in allowing for
> modular building of as much code as possible.
>
> I have an alternative proposal, which lets thermal be built as module,
> and hopefully also addresses the issue (I can't test...) The only
> drawback is that the same dependency must be added for every other
> hwmon driver which optionally uses THERMAL_OF.
>
> From: Jean Delvare <[email protected]>
>
> Based on an earlier attempt by Randy Dunlap.
>
> Fix SENSORS_LM75 dependencies to eliminate build errors:
>
> drivers/built-in.o: In function `lm75_remove':
> lm75.c:(.text+0x12bd8c): undefined reference to `thermal_zone_of_sensor_unregister'
> drivers/built-in.o: In function `lm75_probe':
> lm75.c:(.text+0x12c123): undefined reference to `thermal_zone_of_sensor_register'
>
> Add depends on THERMAL since that is what provides the
> register/unregister functions above, but only if THERMAL_OF was
> selected as this is an optional feature of the driver.
>
> Signed-off-by: Jean Delvare <[email protected]>
> Cc: Randy Dunlap <[email protected]>
> Cc: Eduardo Valentin <[email protected]>

Acked-by: Zhang Rui <[email protected]>

thanks,
rui
> ---
> drivers/hwmon/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> --- linux-3.13-rc7.orig/drivers/hwmon/Kconfig 2014-01-07 09:01:24.812848091 +0100
> +++ linux-3.13-rc7/drivers/hwmon/Kconfig 2014-01-07 15:19:11.039472329 +0100
> @@ -650,6 +650,7 @@ config SENSORS_LM73
> config SENSORS_LM75
> tristate "National Semiconductor LM75 and compatibles"
> depends on I2C
> + depends on THERMAL || !THERMAL_OF
> help
> If you say yes here you get support for one common type of
> temperature sensor chip, with models including:
>
>