soc: meson: enable building drivers as modules
Enable SoC drivers for 64-bit Amlogic SoCs to be built as modules. Signed-off-by: Kevin Hilman <khilman@baylibre.com>
This commit is contained in:
@@ -9,7 +9,7 @@ config MESON_CANVAS
|
|||||||
Say yes to support the canvas IP for Amlogic SoCs.
|
Say yes to support the canvas IP for Amlogic SoCs.
|
||||||
|
|
||||||
config MESON_CLK_MEASURE
|
config MESON_CLK_MEASURE
|
||||||
bool "Amlogic Meson SoC Clock Measure driver"
|
tristate "Amlogic Meson SoC Clock Measure driver"
|
||||||
depends on ARCH_MESON || COMPILE_TEST
|
depends on ARCH_MESON || COMPILE_TEST
|
||||||
default ARCH_MESON
|
default ARCH_MESON
|
||||||
select REGMAP_MMIO
|
select REGMAP_MMIO
|
||||||
@@ -27,7 +27,7 @@ config MESON_GX_SOCINFO
|
|||||||
information about the type, package and version.
|
information about the type, package and version.
|
||||||
|
|
||||||
config MESON_GX_PM_DOMAINS
|
config MESON_GX_PM_DOMAINS
|
||||||
bool "Amlogic Meson GX Power Domains driver"
|
tristate "Amlogic Meson GX Power Domains driver"
|
||||||
depends on ARCH_MESON || COMPILE_TEST
|
depends on ARCH_MESON || COMPILE_TEST
|
||||||
depends on PM && OF
|
depends on PM && OF
|
||||||
default ARCH_MESON
|
default ARCH_MESON
|
||||||
@@ -38,7 +38,7 @@ config MESON_GX_PM_DOMAINS
|
|||||||
Generic Power Domains.
|
Generic Power Domains.
|
||||||
|
|
||||||
config MESON_EE_PM_DOMAINS
|
config MESON_EE_PM_DOMAINS
|
||||||
bool "Amlogic Meson Everything-Else Power Domains driver"
|
tristate "Amlogic Meson Everything-Else Power Domains driver"
|
||||||
depends on ARCH_MESON || COMPILE_TEST
|
depends on ARCH_MESON || COMPILE_TEST
|
||||||
depends on PM && OF
|
depends on PM && OF
|
||||||
default ARCH_MESON
|
default ARCH_MESON
|
||||||
@@ -49,7 +49,7 @@ config MESON_EE_PM_DOMAINS
|
|||||||
Generic Power Domains.
|
Generic Power Domains.
|
||||||
|
|
||||||
config MESON_SECURE_PM_DOMAINS
|
config MESON_SECURE_PM_DOMAINS
|
||||||
bool "Amlogic Meson Secure Power Domains driver"
|
tristate "Amlogic Meson Secure Power Domains driver"
|
||||||
depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
|
depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
|
||||||
depends on PM && OF
|
depends on PM && OF
|
||||||
depends on HAVE_ARM_SMCCC
|
depends on HAVE_ARM_SMCCC
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
#include <linux/seq_file.h>
|
#include <linux/seq_file.h>
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
|
||||||
static DEFINE_MUTEX(measure_lock);
|
static DEFINE_MUTEX(measure_lock);
|
||||||
|
|
||||||
@@ -681,6 +682,7 @@ static const struct of_device_id meson_msr_match_table[] = {
|
|||||||
},
|
},
|
||||||
{ /* sentinel */ }
|
{ /* sentinel */ }
|
||||||
};
|
};
|
||||||
|
MODULE_DEVICE_TABLE(of, meson_msr_match_table);
|
||||||
|
|
||||||
static struct platform_driver meson_msr_driver = {
|
static struct platform_driver meson_msr_driver = {
|
||||||
.probe = meson_msr_probe,
|
.probe = meson_msr_probe,
|
||||||
@@ -689,4 +691,5 @@ static struct platform_driver meson_msr_driver = {
|
|||||||
.of_match_table = meson_msr_match_table,
|
.of_match_table = meson_msr_match_table,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
builtin_platform_driver(meson_msr_driver);
|
module_platform_driver(meson_msr_driver);
|
||||||
|
MODULE_LICENSE("GPL v2");
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
#include <linux/reset-controller.h>
|
#include <linux/reset-controller.h>
|
||||||
#include <linux/reset.h>
|
#include <linux/reset.h>
|
||||||
#include <linux/clk.h>
|
#include <linux/clk.h>
|
||||||
|
#include <linux/module.h>
|
||||||
#include <dt-bindings/power/meson8-power.h>
|
#include <dt-bindings/power/meson8-power.h>
|
||||||
#include <dt-bindings/power/meson-axg-power.h>
|
#include <dt-bindings/power/meson-axg-power.h>
|
||||||
#include <dt-bindings/power/meson-g12a-power.h>
|
#include <dt-bindings/power/meson-g12a-power.h>
|
||||||
@@ -602,6 +603,7 @@ static const struct of_device_id meson_ee_pwrc_match_table[] = {
|
|||||||
},
|
},
|
||||||
{ /* sentinel */ }
|
{ /* sentinel */ }
|
||||||
};
|
};
|
||||||
|
MODULE_DEVICE_TABLE(of, meson_ee_pwrc_match_table);
|
||||||
|
|
||||||
static struct platform_driver meson_ee_pwrc_driver = {
|
static struct platform_driver meson_ee_pwrc_driver = {
|
||||||
.probe = meson_ee_pwrc_probe,
|
.probe = meson_ee_pwrc_probe,
|
||||||
@@ -611,4 +613,5 @@ static struct platform_driver meson_ee_pwrc_driver = {
|
|||||||
.of_match_table = meson_ee_pwrc_match_table,
|
.of_match_table = meson_ee_pwrc_match_table,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
builtin_platform_driver(meson_ee_pwrc_driver);
|
module_platform_driver(meson_ee_pwrc_driver);
|
||||||
|
MODULE_LICENSE("GPL v2");
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
#include <linux/of_device.h>
|
#include <linux/of_device.h>
|
||||||
#include <linux/reset.h>
|
#include <linux/reset.h>
|
||||||
#include <linux/clk.h>
|
#include <linux/clk.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
|
||||||
/* AO Offsets */
|
/* AO Offsets */
|
||||||
|
|
||||||
@@ -364,6 +365,7 @@ static const struct of_device_id meson_gx_pwrc_vpu_match_table[] = {
|
|||||||
},
|
},
|
||||||
{ /* sentinel */ }
|
{ /* sentinel */ }
|
||||||
};
|
};
|
||||||
|
MODULE_DEVICE_TABLE(of, meson_gx_pwrc_vpu_match_table);
|
||||||
|
|
||||||
static struct platform_driver meson_gx_pwrc_vpu_driver = {
|
static struct platform_driver meson_gx_pwrc_vpu_driver = {
|
||||||
.probe = meson_gx_pwrc_vpu_probe,
|
.probe = meson_gx_pwrc_vpu_probe,
|
||||||
@@ -373,4 +375,5 @@ static struct platform_driver meson_gx_pwrc_vpu_driver = {
|
|||||||
.of_match_table = meson_gx_pwrc_vpu_match_table,
|
.of_match_table = meson_gx_pwrc_vpu_match_table,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
builtin_platform_driver(meson_gx_pwrc_vpu_driver);
|
module_platform_driver(meson_gx_pwrc_vpu_driver);
|
||||||
|
MODULE_LICENSE("GPL v2");
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
#include <dt-bindings/power/meson-a1-power.h>
|
#include <dt-bindings/power/meson-a1-power.h>
|
||||||
#include <linux/arm-smccc.h>
|
#include <linux/arm-smccc.h>
|
||||||
#include <linux/firmware/meson/meson_sm.h>
|
#include <linux/firmware/meson/meson_sm.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
|
||||||
#define PWRC_ON 1
|
#define PWRC_ON 1
|
||||||
#define PWRC_OFF 0
|
#define PWRC_OFF 0
|
||||||
@@ -193,6 +194,7 @@ static const struct of_device_id meson_secure_pwrc_match_table[] = {
|
|||||||
},
|
},
|
||||||
{ /* sentinel */ }
|
{ /* sentinel */ }
|
||||||
};
|
};
|
||||||
|
MODULE_DEVICE_TABLE(of, meson_secure_pwrc_match_table);
|
||||||
|
|
||||||
static struct platform_driver meson_secure_pwrc_driver = {
|
static struct platform_driver meson_secure_pwrc_driver = {
|
||||||
.probe = meson_secure_pwrc_probe,
|
.probe = meson_secure_pwrc_probe,
|
||||||
@@ -201,4 +203,5 @@ static struct platform_driver meson_secure_pwrc_driver = {
|
|||||||
.of_match_table = meson_secure_pwrc_match_table,
|
.of_match_table = meson_secure_pwrc_match_table,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
builtin_platform_driver(meson_secure_pwrc_driver);
|
module_platform_driver(meson_secure_pwrc_driver);
|
||||||
|
MODULE_LICENSE("Dual MIT/GPL");
|
||||||
|
|||||||
Reference in New Issue
Block a user