Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Merge tag 'module-builtin_driver-v4.1-rc8' of git://git.kernel.org/pu…

…b/scm/linux/kernel/git/paulg/linux

Pull module_platform_driver replacement from Paul Gortmaker:
 "Replace module_platform_driver with builtin_platform driver in non
  modules.

  We see an increasing number of non-modular drivers using
  modular_driver() type register functions.  There are several downsides
  to letting this continue unchecked:

   - The code can appear modular to a reader of the code, and they won't
     know if the code really is modular without checking the Makefile
     and Kconfig to see if compilation is governed by a bool or
     tristate.

   - Coders of drivers may be tempted to code up an __exit function that
     is never used, just in order to satisfy the required three args of
     the modular registration function.

   - Non-modular code ends up including the <module.h> which increases
     CPP overhead that they don't need.

   - It hinders us from performing better separation of the module init
     code and the generic init code.

  So here we introduce similar macros for builtin drivers.  Then we
  convert builtin drivers (controlled by a bool Kconfig) by making the
  following type of mapping:

    module_platform_driver()       --->  builtin_platform_driver()
    module_platform_driver_probe() --->  builtin_platform_driver_probe().

  The set of drivers that are converted here are just the ones that
  showed up as relying on an implicit include of <module.h> during a
  pending header cleanup.  So we convert them here vs adding an include
  of <module.h> to non-modular code to avoid compile fails.  Additonal
  conversions can be done asynchronously at any time.

  Once again, an unused module_exit function that is removed here
  appears in the diffstat as an outlier wrt all the other changes"

* tag 'module-builtin_driver-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
  drivers/clk: convert sunxi/clk-mod0.c to use builtin_platform_driver
  drivers/power: Convert non-modular syscon-reboot to use builtin_platform_driver
  drivers/soc: Convert non-modular soc-realview to use builtin_platform_driver
  drivers/soc: Convert non-modular tegra/pmc to use builtin_platform_driver
  drivers/cpufreq: Convert non-modular s5pv210-cpufreq.c to use builtin_platform_driver
  drivers/cpuidle: Convert non-modular drivers to use builtin_platform_driver
  drivers/platform: Convert non-modular pdev_bus to use builtin_platform_driver
  platform_device: better support builtin boilerplate avoidance
latest commit 75462c8a87
@torvalds authored
..
Failed to load latest commit information.
governors cpuidle: Check the sign of index in cpuidle_reflect()
Kconfig ARM: cpuidle: Enable the ARM64 driver for both ARM32/ARM64
Kconfig.arm ARM: cpuidle: Enable the ARM64 driver for both ARM32/ARM64
Kconfig.mips MIPS: Kconfig: Add missing MIPS_CPS dependencies to PM and cpuidle
Kconfig.powerpc powerpc/powernv/cpuidle: Back-end cpuidle driver for powernv platform.
Makefile ARM: cpuidle: Enable the ARM64 driver for both ARM32/ARM64
coupled.c drivers: fix up obsolete cpu function usage.
cpuidle-arm.c ARM: cpuidle: Register per cpuidle device
cpuidle-at91.c drivers/cpuidle: Convert non-modular drivers to use builtin_platform_…
cpuidle-big_little.c ARM: MCPM: remove residency argument from mcpm_cpu_suspend()
cpuidle-calxeda.c drivers/cpuidle: Convert non-modular drivers to use builtin_platform_…
cpuidle-clps711x.c cpuidle: drop owner assignment from platform_drivers
cpuidle-cps.c cpuidle: Invert CPUIDLE_FLAG_TIME_VALID logic
cpuidle-exynos.c Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel…
cpuidle-kirkwood.c ARM: cpuidle: Remove duplicate header inclusion
cpuidle-mvebu-v7.c cpuidle: mvebu: Update cpuidle thresholds for Armada XP SOCs
cpuidle-powernv.c tick/idle/powerpc: Do not register idle states with CPUIDLE_FLAG_TIME…
cpuidle-pseries.c cpuidle: powernv/pseries: Auto-promotion of snooze to deeper idle state
cpuidle-ux500.c ARM: cpuidle: Remove duplicate header inclusion
cpuidle-zynq.c drivers/cpuidle: Convert non-modular drivers to use builtin_platform_…
cpuidle.c Merge branches 'pm-sleep' and 'pm-runtime'
cpuidle.h cpuidle: support multiple drivers
driver.c cpuidle: Use explicit broadcast control function
dt_idle_states.c Merge back earlier cpuidle material for 3.19-rc1.
dt_idle_states.h drivers: cpuidle: implement DT based idle states infrastructure
governor.c cpuidle: Replace strnicmp with strncasecmp
sysfs.c cpuidle: remove state_count field from struct cpuidle_device
Something went wrong with that request. Please try again.