return 0;
}
-static irqreturn_t tegra_emc_isr(int irq, void *data)
+static irqreturn_t tegra30_emc_isr(int irq, void *data)
{
struct tegra_emc *emc = data;
u32 intmask = EMC_REFRESH_OVERFLOW_INT;
return timing->rate;
}
-static void tegra_emc_rate_requests_init(struct tegra_emc *emc)
+static void tegra30_emc_rate_requests_init(struct tegra_emc *emc)
{
unsigned int i;
* valid range.
*/
-static bool tegra_emc_validate_rate(struct tegra_emc *emc, unsigned long rate)
+static bool tegra30_emc_validate_rate(struct tegra_emc *emc, unsigned long rate)
{
unsigned int i;
return false;
}
-static int tegra_emc_debug_available_rates_show(struct seq_file *s, void *data)
+static int tegra30_emc_debug_available_rates_show(struct seq_file *s, void *data)
{
struct tegra_emc *emc = s->private;
const char *prefix = "";
return 0;
}
-DEFINE_SHOW_ATTRIBUTE(tegra_emc_debug_available_rates);
+DEFINE_SHOW_ATTRIBUTE(tegra30_emc_debug_available_rates);
-static int tegra_emc_debug_min_rate_get(void *data, u64 *rate)
+static int tegra30_emc_debug_min_rate_get(void *data, u64 *rate)
{
struct tegra_emc *emc = data;
return 0;
}
-static int tegra_emc_debug_min_rate_set(void *data, u64 rate)
+static int tegra30_emc_debug_min_rate_set(void *data, u64 rate)
{
struct tegra_emc *emc = data;
int err;
- if (!tegra_emc_validate_rate(emc, rate))
+ if (!tegra30_emc_validate_rate(emc, rate))
return -EINVAL;
err = emc_set_min_rate(emc, rate, EMC_RATE_DEBUG);
return 0;
}
-DEFINE_DEBUGFS_ATTRIBUTE(tegra_emc_debug_min_rate_fops,
- tegra_emc_debug_min_rate_get,
- tegra_emc_debug_min_rate_set, "%llu\n");
+DEFINE_DEBUGFS_ATTRIBUTE(tegra30_emc_debug_min_rate_fops,
+ tegra30_emc_debug_min_rate_get,
+ tegra30_emc_debug_min_rate_set, "%llu\n");
-static int tegra_emc_debug_max_rate_get(void *data, u64 *rate)
+static int tegra30_emc_debug_max_rate_get(void *data, u64 *rate)
{
struct tegra_emc *emc = data;
return 0;
}
-static int tegra_emc_debug_max_rate_set(void *data, u64 rate)
+static int tegra30_emc_debug_max_rate_set(void *data, u64 rate)
{
struct tegra_emc *emc = data;
int err;
- if (!tegra_emc_validate_rate(emc, rate))
+ if (!tegra30_emc_validate_rate(emc, rate))
return -EINVAL;
err = emc_set_max_rate(emc, rate, EMC_RATE_DEBUG);
return 0;
}
-DEFINE_DEBUGFS_ATTRIBUTE(tegra_emc_debug_max_rate_fops,
- tegra_emc_debug_max_rate_get,
- tegra_emc_debug_max_rate_set, "%llu\n");
+DEFINE_DEBUGFS_ATTRIBUTE(tegra30_emc_debug_max_rate_fops,
+ tegra30_emc_debug_max_rate_get,
+ tegra30_emc_debug_max_rate_set, "%llu\n");
-static void tegra_emc_debugfs_init(struct tegra_emc *emc)
+static void tegra30_emc_debugfs_init(struct tegra_emc *emc)
{
struct device *dev = emc->dev;
unsigned int i;
emc->debugfs.root = debugfs_create_dir("emc", NULL);
debugfs_create_file("available_rates", 0444, emc->debugfs.root,
- emc, &tegra_emc_debug_available_rates_fops);
+ emc, &tegra30_emc_debug_available_rates_fops);
debugfs_create_file("min_rate", 0644, emc->debugfs.root,
- emc, &tegra_emc_debug_min_rate_fops);
+ emc, &tegra30_emc_debug_min_rate_fops);
debugfs_create_file("max_rate", 0644, emc->debugfs.root,
- emc, &tegra_emc_debug_max_rate_fops);
+ emc, &tegra30_emc_debug_max_rate_fops);
}
static inline struct tegra_emc *
return 0;
}
-static int tegra_emc_interconnect_init(struct tegra_emc *emc)
+static int tegra30_emc_interconnect_init(struct tegra_emc *emc)
{
const struct tegra_mc_soc *soc = emc->mc->soc;
struct icc_node *node;
return dev_err_probe(emc->dev, err, "failed to initialize ICC\n");
}
-static void devm_tegra_emc_unset_callback(void *data)
+static void devm_tegra30_emc_unset_callback(void *data)
{
tegra20_clk_set_emc_round_callback(NULL, NULL);
}
-static void devm_tegra_emc_unreg_clk_notifier(void *data)
+static void devm_tegra30_emc_unreg_clk_notifier(void *data)
{
struct tegra_emc *emc = data;
clk_notifier_unregister(emc->clk, &emc->clk_nb);
}
-static int tegra_emc_init_clk(struct tegra_emc *emc)
+static int tegra30_emc_init_clk(struct tegra_emc *emc)
{
int err;
tegra20_clk_set_emc_round_callback(emc_round_rate, emc);
- err = devm_add_action_or_reset(emc->dev, devm_tegra_emc_unset_callback,
+ err = devm_add_action_or_reset(emc->dev, devm_tegra30_emc_unset_callback,
NULL);
if (err)
return err;
return dev_err_probe(emc->dev, err, "failed to register clk notifier\n");
err = devm_add_action_or_reset(emc->dev,
- devm_tegra_emc_unreg_clk_notifier, emc);
+ devm_tegra30_emc_unreg_clk_notifier, emc);
if (err)
return err;
return 0;
}
-static int tegra_emc_probe(struct platform_device *pdev)
+static int tegra30_emc_probe(struct platform_device *pdev)
{
struct tegra_core_opp_params opp_params = {};
struct device_node *np;
emc->irq = err;
- err = devm_request_irq(&pdev->dev, emc->irq, tegra_emc_isr, 0,
+ err = devm_request_irq(&pdev->dev, emc->irq, tegra30_emc_isr, 0,
dev_name(&pdev->dev), emc);
if (err)
return dev_err_probe(&pdev->dev, err, "failed to request irq\n");
- err = tegra_emc_init_clk(emc);
+ err = tegra30_emc_init_clk(emc);
if (err)
return err;
return err;
platform_set_drvdata(pdev, emc);
- tegra_emc_rate_requests_init(emc);
- tegra_emc_debugfs_init(emc);
- tegra_emc_interconnect_init(emc);
+ tegra30_emc_rate_requests_init(emc);
+ tegra30_emc_debugfs_init(emc);
+ tegra30_emc_interconnect_init(emc);
/*
* Don't allow the kernel module to be unloaded. Unloading adds some
return 0;
}
-static int tegra_emc_suspend(struct device *dev)
+static int tegra30_emc_suspend(struct device *dev)
{
struct tegra_emc *emc = dev_get_drvdata(dev);
int err;
return 0;
}
-static int tegra_emc_resume(struct device *dev)
+static int tegra30_emc_resume(struct device *dev)
{
struct tegra_emc *emc = dev_get_drvdata(dev);
return 0;
}
-static const struct dev_pm_ops tegra_emc_pm_ops = {
- .suspend = tegra_emc_suspend,
- .resume = tegra_emc_resume,
+static const struct dev_pm_ops tegra30_emc_pm_ops = {
+ .suspend = tegra30_emc_suspend,
+ .resume = tegra30_emc_resume,
};
-static const struct of_device_id tegra_emc_of_match[] = {
+static const struct of_device_id tegra30_emc_of_match[] = {
{ .compatible = "nvidia,tegra30-emc", },
{},
};
-MODULE_DEVICE_TABLE(of, tegra_emc_of_match);
+MODULE_DEVICE_TABLE(of, tegra30_emc_of_match);
-static struct platform_driver tegra_emc_driver = {
- .probe = tegra_emc_probe,
+static struct platform_driver tegra30_emc_driver = {
+ .probe = tegra30_emc_probe,
.driver = {
.name = "tegra30-emc",
- .of_match_table = tegra_emc_of_match,
- .pm = &tegra_emc_pm_ops,
+ .of_match_table = tegra30_emc_of_match,
+ .pm = &tegra30_emc_pm_ops,
.suppress_bind_attrs = true,
.sync_state = icc_sync_state,
},
};
-module_platform_driver(tegra_emc_driver);
+module_platform_driver(tegra30_emc_driver);
MODULE_AUTHOR("Dmitry Osipenko <digetx@gmail.com>");
MODULE_DESCRIPTION("NVIDIA Tegra30 EMC driver");