drivercore: Generalize module_platform_driver
authorLars-Peter Clausen <lars@metafoo.de>
Wed, 16 Nov 2011 09:13:35 +0000 (10:13 +0100)
committerRohan Somvanshi <rsomvanshi@nvidia.com>
Mon, 16 Apr 2012 10:49:10 +0000 (03:49 -0700)
commite05aca5fe7209a88c6af141cac4dd93365d1abf9
treec733b0ae5ad1fd0b4611e1e2a3df5e24d10cafe6
parent2354c8673da7a7d990803c966ad34e8880e177e5
drivercore: Generalize module_platform_driver

This patch generalizes the module_platform_driver macro and introduces a new
module_driver macro. The module_driver macro takes a driver name, a register
and a unregister function for this driver type. Using these it construct the
module init and exit sections which register and unregister the driver. Since
such init/exit sections are commonly found in drivers this macro can be used
to eliminate a lot of boilerplate code.

The macro is not intended to be used by driver modules directly, instead it
should be used to generate bus specific macros for registering drivers like
the module_platform_driver macro.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

Cherry-picked from mainline commit
907d0ed1c84114d4e8dafd66af982515d3739c90

Change-Id: Ib83ecc2ca10c53c84ab8ffbc94ee8212d72c2993
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/95640
Reviewed-by: Automatic_Commit_Validation_User
include/linux/device.h
include/linux/platform_device.h