Revision b8db3714d7479881e23de20735f60f1733723241 authored by Linus Torvalds on 10 September 2016, 16:43:10 UTC, committed by Linus Torvalds on 10 September 2016, 16:43:10 UTC
Pull i2c fixes from Wolfram Sang:
 "Mostly driver bugfixes, but also a few cleanups which are nice to have
  out of the way"

* 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: rk3x: Restore clock settings at resume time
  i2c: Spelling s/acknowedge/acknowledge/
  i2c: designware: save the preset value of DW_IC_SDA_HOLD
  Documentation: i2c: slave-interface: add note for driver development
  i2c: mux: demux-pinctrl: run properly with multiple instances
  i2c: bcm-kona: fix inconsistent indenting
  i2c: rcar: use proper device with dma_mapping_error
  i2c: sh_mobile: use proper device with dma_mapping_error
  i2c: mux: demux-pinctrl: invalidate properly when switching fails
2 parent s 6905732 + cbfff43
Raw File
Makefile.gcc-plugins
ifdef CONFIG_GCC_PLUGINS
  __PLUGINCC := $(call cc-ifversion, -ge, 0408, $(HOSTCXX), $(HOSTCC))
  PLUGINCC := $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(__PLUGINCC)" "$(HOSTCXX)" "$(CC)")

  SANCOV_PLUGIN := -fplugin=$(objtree)/scripts/gcc-plugins/sancov_plugin.so

  gcc-plugin-$(CONFIG_GCC_PLUGIN_CYC_COMPLEXITY)	+= cyc_complexity_plugin.so

  ifdef CONFIG_GCC_PLUGIN_SANCOV
    ifeq ($(CFLAGS_KCOV),)
      # It is needed because of the gcc-plugin.sh and gcc version checks.
      gcc-plugin-$(CONFIG_GCC_PLUGIN_SANCOV)           += sancov_plugin.so

      ifneq ($(PLUGINCC),)
        CFLAGS_KCOV := $(SANCOV_PLUGIN)
      else
        $(warning warning: cannot use CONFIG_KCOV: -fsanitize-coverage=trace-pc is not supported by compiler)
      endif
    endif
  endif

  GCC_PLUGINS_CFLAGS := $(strip $(addprefix -fplugin=$(objtree)/scripts/gcc-plugins/, $(gcc-plugin-y)) $(gcc-plugin-cflags-y))

  export PLUGINCC GCC_PLUGINS_CFLAGS GCC_PLUGIN GCC_PLUGIN_SUBDIR SANCOV_PLUGIN

  ifneq ($(PLUGINCC),)
    # SANCOV_PLUGIN can be only in CFLAGS_KCOV because avoid duplication.
    GCC_PLUGINS_CFLAGS := $(filter-out $(SANCOV_PLUGIN), $(GCC_PLUGINS_CFLAGS))
  endif

  KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS)
  GCC_PLUGIN := $(gcc-plugin-y)
  GCC_PLUGIN_SUBDIR := $(gcc-plugin-subdir-y)
endif

# If plugins aren't supported, abort the build before hard-to-read compiler
# errors start getting spewed by the main build.
PHONY += gcc-plugins-check
gcc-plugins-check: FORCE
ifdef CONFIG_GCC_PLUGINS
  ifeq ($(PLUGINCC),)
    ifneq ($(GCC_PLUGINS_CFLAGS),)
      ifeq ($(call cc-ifversion, -ge, 0405, y), y)
	$(Q)$(srctree)/scripts/gcc-plugin.sh --show-error "$(__PLUGINCC)" "$(HOSTCXX)" "$(CC)" || true
	@echo "Cannot use CONFIG_GCC_PLUGINS: your gcc installation does not support plugins, perhaps the necessary headers are missing?" >&2 && exit 1
      else
	@echo "Cannot use CONFIG_GCC_PLUGINS: your gcc version does not support plugins, you should upgrade it to at least gcc 4.5" >&2 && exit 1
      endif
    endif
  endif
endif
	@:

# Actually do the build, if requested.
PHONY += gcc-plugins
gcc-plugins: scripts_basic gcc-plugins-check
ifdef CONFIG_GCC_PLUGINS
	$(Q)$(MAKE) $(build)=scripts/gcc-plugins
endif
	@:
back to top