clk: meson: enable building as modules
Make it possible to build all clk drivers as modules, but default remains built-in. No functional changes. Signed-off-by: Kevin Hilman <khilman@baylibre.com> Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Acked-by: Stephen Boyd <sboyd@kernel.org> Link: https://lore.kernel.org/r/20201118191405.36798-1-khilman@baylibre.com
This commit is contained in:
parent
bae69bfa3a
commit
20425f6319
|
@ -58,7 +58,7 @@ config COMMON_CLK_MESON8B
|
||||||
want peripherals and CPU frequency scaling to work.
|
want peripherals and CPU frequency scaling to work.
|
||||||
|
|
||||||
config COMMON_CLK_GXBB
|
config COMMON_CLK_GXBB
|
||||||
bool "GXBB and GXL SoC clock controllers support"
|
tristate "GXBB and GXL SoC clock controllers support"
|
||||||
depends on ARM64
|
depends on ARM64
|
||||||
default y
|
default y
|
||||||
select COMMON_CLK_MESON_REGMAP
|
select COMMON_CLK_MESON_REGMAP
|
||||||
|
@ -74,7 +74,7 @@ config COMMON_CLK_GXBB
|
||||||
Say Y if you want peripherals and CPU frequency scaling to work.
|
Say Y if you want peripherals and CPU frequency scaling to work.
|
||||||
|
|
||||||
config COMMON_CLK_AXG
|
config COMMON_CLK_AXG
|
||||||
bool "AXG SoC clock controllers support"
|
tristate "AXG SoC clock controllers support"
|
||||||
depends on ARM64
|
depends on ARM64
|
||||||
default y
|
default y
|
||||||
select COMMON_CLK_MESON_REGMAP
|
select COMMON_CLK_MESON_REGMAP
|
||||||
|
@ -100,7 +100,7 @@ config COMMON_CLK_AXG_AUDIO
|
||||||
aka axg, Say Y if you want audio subsystem to work.
|
aka axg, Say Y if you want audio subsystem to work.
|
||||||
|
|
||||||
config COMMON_CLK_G12A
|
config COMMON_CLK_G12A
|
||||||
bool "G12 and SM1 SoC clock controllers support"
|
tristate "G12 and SM1 SoC clock controllers support"
|
||||||
depends on ARM64
|
depends on ARM64
|
||||||
default y
|
default y
|
||||||
select COMMON_CLK_MESON_REGMAP
|
select COMMON_CLK_MESON_REGMAP
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/reset-controller.h>
|
#include <linux/reset-controller.h>
|
||||||
#include <linux/mfd/syscon.h>
|
#include <linux/mfd/syscon.h>
|
||||||
|
#include <linux/module.h>
|
||||||
#include "meson-aoclk.h"
|
#include "meson-aoclk.h"
|
||||||
#include "axg-aoclk.h"
|
#include "axg-aoclk.h"
|
||||||
|
|
||||||
|
@ -326,6 +327,7 @@ static const struct of_device_id axg_aoclkc_match_table[] = {
|
||||||
},
|
},
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
MODULE_DEVICE_TABLE(of, axg_aoclkc_match_table);
|
||||||
|
|
||||||
static struct platform_driver axg_aoclkc_driver = {
|
static struct platform_driver axg_aoclkc_driver = {
|
||||||
.probe = meson_aoclkc_probe,
|
.probe = meson_aoclkc_probe,
|
||||||
|
@ -335,4 +337,5 @@ static struct platform_driver axg_aoclkc_driver = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
builtin_platform_driver(axg_aoclkc_driver);
|
module_platform_driver(axg_aoclkc_driver);
|
||||||
|
MODULE_LICENSE("GPL v2");
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of_device.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
|
||||||
#include "clk-regmap.h"
|
#include "clk-regmap.h"
|
||||||
#include "clk-pll.h"
|
#include "clk-pll.h"
|
||||||
|
@ -2173,6 +2174,7 @@ static const struct of_device_id clkc_match_table[] = {
|
||||||
{ .compatible = "amlogic,axg-clkc", .data = &axg_clkc_data },
|
{ .compatible = "amlogic,axg-clkc", .data = &axg_clkc_data },
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
MODULE_DEVICE_TABLE(of, clkc_match_table);
|
||||||
|
|
||||||
static struct platform_driver axg_driver = {
|
static struct platform_driver axg_driver = {
|
||||||
.probe = meson_eeclkc_probe,
|
.probe = meson_eeclkc_probe,
|
||||||
|
@ -2182,4 +2184,5 @@ static struct platform_driver axg_driver = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
builtin_platform_driver(axg_driver);
|
module_platform_driver(axg_driver);
|
||||||
|
MODULE_LICENSE("GPL v2");
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/reset-controller.h>
|
#include <linux/reset-controller.h>
|
||||||
#include <linux/mfd/syscon.h>
|
#include <linux/mfd/syscon.h>
|
||||||
|
#include <linux/module.h>
|
||||||
#include "meson-aoclk.h"
|
#include "meson-aoclk.h"
|
||||||
#include "g12a-aoclk.h"
|
#include "g12a-aoclk.h"
|
||||||
|
|
||||||
|
@ -461,6 +462,7 @@ static const struct of_device_id g12a_aoclkc_match_table[] = {
|
||||||
},
|
},
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
MODULE_DEVICE_TABLE(of, g12a_aoclkc_match_table);
|
||||||
|
|
||||||
static struct platform_driver g12a_aoclkc_driver = {
|
static struct platform_driver g12a_aoclkc_driver = {
|
||||||
.probe = meson_aoclkc_probe,
|
.probe = meson_aoclkc_probe,
|
||||||
|
@ -470,4 +472,5 @@ static struct platform_driver g12a_aoclkc_driver = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
builtin_platform_driver(g12a_aoclkc_driver);
|
module_platform_driver(g12a_aoclkc_driver);
|
||||||
|
MODULE_LICENSE("GPL v2");
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include <linux/of_device.h>
|
#include <linux/of_device.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/clk.h>
|
#include <linux/clk.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
|
||||||
#include "clk-mpll.h"
|
#include "clk-mpll.h"
|
||||||
#include "clk-pll.h"
|
#include "clk-pll.h"
|
||||||
|
@ -5372,6 +5373,7 @@ static const struct of_device_id clkc_match_table[] = {
|
||||||
},
|
},
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
MODULE_DEVICE_TABLE(of, clkc_match_table);
|
||||||
|
|
||||||
static struct platform_driver g12a_driver = {
|
static struct platform_driver g12a_driver = {
|
||||||
.probe = meson_g12a_probe,
|
.probe = meson_g12a_probe,
|
||||||
|
@ -5381,4 +5383,5 @@ static struct platform_driver g12a_driver = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
builtin_platform_driver(g12a_driver);
|
module_platform_driver(g12a_driver);
|
||||||
|
MODULE_LICENSE("GPL v2");
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
*/
|
*/
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/mfd/syscon.h>
|
#include <linux/mfd/syscon.h>
|
||||||
|
#include <linux/module.h>
|
||||||
#include "meson-aoclk.h"
|
#include "meson-aoclk.h"
|
||||||
#include "gxbb-aoclk.h"
|
#include "gxbb-aoclk.h"
|
||||||
|
|
||||||
|
@ -287,6 +288,7 @@ static const struct of_device_id gxbb_aoclkc_match_table[] = {
|
||||||
},
|
},
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
MODULE_DEVICE_TABLE(of, gxbb_aoclkc_match_table);
|
||||||
|
|
||||||
static struct platform_driver gxbb_aoclkc_driver = {
|
static struct platform_driver gxbb_aoclkc_driver = {
|
||||||
.probe = meson_aoclkc_probe,
|
.probe = meson_aoclkc_probe,
|
||||||
|
@ -295,4 +297,5 @@ static struct platform_driver gxbb_aoclkc_driver = {
|
||||||
.of_match_table = gxbb_aoclkc_match_table,
|
.of_match_table = gxbb_aoclkc_match_table,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
builtin_platform_driver(gxbb_aoclkc_driver);
|
module_platform_driver(gxbb_aoclkc_driver);
|
||||||
|
MODULE_LICENSE("GPL v2");
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of_device.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
|
||||||
#include "gxbb.h"
|
#include "gxbb.h"
|
||||||
#include "clk-regmap.h"
|
#include "clk-regmap.h"
|
||||||
|
@ -3519,6 +3520,7 @@ static const struct of_device_id clkc_match_table[] = {
|
||||||
{ .compatible = "amlogic,gxl-clkc", .data = &gxl_clkc_data },
|
{ .compatible = "amlogic,gxl-clkc", .data = &gxl_clkc_data },
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
|
MODULE_DEVICE_TABLE(of, clkc_match_table);
|
||||||
|
|
||||||
static struct platform_driver gxbb_driver = {
|
static struct platform_driver gxbb_driver = {
|
||||||
.probe = meson_eeclkc_probe,
|
.probe = meson_eeclkc_probe,
|
||||||
|
@ -3528,4 +3530,5 @@ static struct platform_driver gxbb_driver = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
builtin_platform_driver(gxbb_driver);
|
module_platform_driver(gxbb_driver);
|
||||||
|
MODULE_LICENSE("GPL v2");
|
||||||
|
|
|
@ -14,6 +14,8 @@
|
||||||
#include <linux/reset-controller.h>
|
#include <linux/reset-controller.h>
|
||||||
#include <linux/mfd/syscon.h>
|
#include <linux/mfd/syscon.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/of_device.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include "meson-aoclk.h"
|
#include "meson-aoclk.h"
|
||||||
|
|
||||||
|
@ -84,3 +86,5 @@ int meson_aoclkc_probe(struct platform_device *pdev)
|
||||||
return devm_of_clk_add_hw_provider(dev, of_clk_hw_onecell_get,
|
return devm_of_clk_add_hw_provider(dev, of_clk_hw_onecell_get,
|
||||||
(void *) data->hw_data);
|
(void *) data->hw_data);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(meson_aoclkc_probe);
|
||||||
|
MODULE_LICENSE("GPL v2");
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/mfd/syscon.h>
|
#include <linux/mfd/syscon.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
|
||||||
#include "clk-regmap.h"
|
#include "clk-regmap.h"
|
||||||
#include "meson-eeclk.h"
|
#include "meson-eeclk.h"
|
||||||
|
@ -54,3 +55,5 @@ int meson_eeclkc_probe(struct platform_device *pdev)
|
||||||
return devm_of_clk_add_hw_provider(dev, of_clk_hw_onecell_get,
|
return devm_of_clk_add_hw_provider(dev, of_clk_hw_onecell_get,
|
||||||
data->hw_onecell_data);
|
data->hw_onecell_data);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(meson_eeclkc_probe);
|
||||||
|
MODULE_LICENSE("GPL v2");
|
||||||
|
|
Loading…
Reference in New Issue