Revision 4e68af0b0694ac5f16d0c61a7682aa2d46348454 authored by Linus Torvalds on 27 October 2016, 22:06:29 UTC, committed by Linus Torvalds on 27 October 2016, 22:06:29 UTC
Pull i2c fixes from Wolfram Sang:
 "I2C has some driver bugfixes, module autoload fixes, and driver
  enablement on some architectures"

* 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: imx: defer probe if bus recovery GPIOs are not ready
  i2c: designware: Avoid aborted transfers with fast reacting I2C slaves
  i2c: i801: Fix I2C Block Read on 8-Series/C220 and later
  i2c: xgene: Avoid dma_buffer overrun
  i2c: digicolor: Fix module autoload
  i2c: xlr: Fix module autoload for OF registration
  i2c: xlp9xx: Fix module autoload
  i2c: jz4780: Fix module autoload
  i2c: allow configuration of imx driver for ColdFire architecture
  i2c: mark device nodes only in case of successful instantiation
  i2c: rk3x: Give the tuning value 0 during rk3x_i2c_v0_calc_timings
  i2c: hix5hd2: allow build with ARCH_HISI
2 parent s 7f2145b + 533169d
Raw File
Kconfig.kmemcheck
config HAVE_ARCH_KMEMCHECK
	bool

if HAVE_ARCH_KMEMCHECK

menuconfig KMEMCHECK
	bool "kmemcheck: trap use of uninitialized memory"
	depends on DEBUG_KERNEL
	depends on !X86_USE_3DNOW
	depends on SLUB || SLAB
	depends on !CC_OPTIMIZE_FOR_SIZE
	depends on !FUNCTION_TRACER
	select FRAME_POINTER
	select STACKTRACE
	default n
	help
	  This option enables tracing of dynamically allocated kernel memory
	  to see if memory is used before it has been given an initial value.
	  Be aware that this requires half of your memory for bookkeeping and
	  will insert extra code at *every* read and write to tracked memory
	  thus slow down the kernel code (but user code is unaffected).

	  The kernel may be started with kmemcheck=0 or kmemcheck=1 to disable
	  or enable kmemcheck at boot-time. If the kernel is started with
	  kmemcheck=0, the large memory and CPU overhead is not incurred.

choice
	prompt "kmemcheck: default mode at boot"
	depends on KMEMCHECK
	default KMEMCHECK_ONESHOT_BY_DEFAULT
	help
	  This option controls the default behaviour of kmemcheck when the
	  kernel boots and no kmemcheck= parameter is given.

config KMEMCHECK_DISABLED_BY_DEFAULT
	bool "disabled"
	depends on KMEMCHECK

config KMEMCHECK_ENABLED_BY_DEFAULT
	bool "enabled"
	depends on KMEMCHECK

config KMEMCHECK_ONESHOT_BY_DEFAULT
	bool "one-shot"
	depends on KMEMCHECK
	help
	  In one-shot mode, only the first error detected is reported before
	  kmemcheck is disabled.

endchoice

config KMEMCHECK_QUEUE_SIZE
	int "kmemcheck: error queue size"
	depends on KMEMCHECK
	default 64
	help
	  Select the maximum number of errors to store in the queue. Since
	  errors can occur virtually anywhere and in any context, we need a
	  temporary storage area which is guarantueed not to generate any
	  other faults. The queue will be emptied as soon as a tasklet may
	  be scheduled. If the queue is full, new error reports will be
	  lost.

config KMEMCHECK_SHADOW_COPY_SHIFT
	int "kmemcheck: shadow copy size (5 => 32 bytes, 6 => 64 bytes)"
	depends on KMEMCHECK
	range 2 8
	default 5
	help
	  Select the number of shadow bytes to save along with each entry of
	  the queue. These bytes indicate what parts of an allocation are
	  initialized, uninitialized, etc. and will be displayed when an
	  error is detected to help the debugging of a particular problem.

config KMEMCHECK_PARTIAL_OK
	bool "kmemcheck: allow partially uninitialized memory"
	depends on KMEMCHECK
	default y
	help
	  This option works around certain GCC optimizations that produce
	  32-bit reads from 16-bit variables where the upper 16 bits are
	  thrown away afterwards. This may of course also hide some real
	  bugs.

config KMEMCHECK_BITOPS_OK
	bool "kmemcheck: allow bit-field manipulation"
	depends on KMEMCHECK
	default n
	help
	  This option silences warnings that would be generated for bit-field
	  accesses where not all the bits are initialized at the same time.
	  This may also hide some real bugs.

endif
back to top