1
0

memory: tegra20-emc: Add the SoC model prefix to functions

Replace "tegra_emc" with "tegra20_emc" in all functions to:
1. Avoid name clashing with other Tegra EMC drivers which makes it
   easier to jump to function definitions,
2. Decode the calltraces a bit easier,
3. Unify with other Tegra MC and EMC drivers, which use the SoC model
   prefixes.

No functional impact.

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
This commit is contained in:
Krzysztof Kozlowski
2025-09-11 11:43:23 +02:00
parent 4ebcacbb44
commit 5c8c19417c

View File

@@ -232,7 +232,7 @@ struct tegra_emc {
bool mrr_error; bool mrr_error;
}; };
static irqreturn_t tegra_emc_isr(int irq, void *data) static irqreturn_t tegra20_emc_isr(int irq, void *data)
{ {
struct tegra_emc *emc = data; struct tegra_emc *emc = data;
u32 intmask = EMC_REFRESH_OVERFLOW_INT; u32 intmask = EMC_REFRESH_OVERFLOW_INT;
@@ -253,7 +253,7 @@ static irqreturn_t tegra_emc_isr(int irq, void *data)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
static struct emc_timing *tegra_emc_find_timing(struct tegra_emc *emc, static struct emc_timing *tegra20_emc_find_timing(struct tegra_emc *emc,
unsigned long rate) unsigned long rate)
{ {
struct emc_timing *timing = NULL; struct emc_timing *timing = NULL;
@@ -276,7 +276,7 @@ static struct emc_timing *tegra_emc_find_timing(struct tegra_emc *emc,
static int emc_prepare_timing_change(struct tegra_emc *emc, unsigned long rate) static int emc_prepare_timing_change(struct tegra_emc *emc, unsigned long rate)
{ {
struct emc_timing *timing = tegra_emc_find_timing(emc, rate); struct emc_timing *timing = tegra20_emc_find_timing(emc, rate);
unsigned int i; unsigned int i;
if (!timing) if (!timing)
@@ -321,7 +321,7 @@ static int emc_complete_timing_change(struct tegra_emc *emc, bool flush)
return 0; return 0;
} }
static int tegra_emc_clk_change_notify(struct notifier_block *nb, static int tegra20_emc_clk_change_notify(struct notifier_block *nb,
unsigned long msg, void *data) unsigned long msg, void *data)
{ {
struct tegra_emc *emc = container_of(nb, struct tegra_emc, clk_nb); struct tegra_emc *emc = container_of(nb, struct tegra_emc, clk_nb);
@@ -407,7 +407,7 @@ static int cmp_timings(const void *_a, const void *_b)
return 0; return 0;
} }
static int tegra_emc_load_timings_from_dt(struct tegra_emc *emc, static int tegra20_emc_load_timings_from_dt(struct tegra_emc *emc,
struct device_node *node) struct device_node *node)
{ {
struct emc_timing *timing; struct emc_timing *timing;
@@ -452,7 +452,7 @@ static int tegra_emc_load_timings_from_dt(struct tegra_emc *emc,
} }
static struct device_node * static struct device_node *
tegra_emc_find_node_by_ram_code(struct tegra_emc *emc) tegra20_emc_find_node_by_ram_code(struct tegra_emc *emc)
{ {
struct device *dev = emc->dev; struct device *dev = emc->dev;
struct device_node *np; struct device_node *np;
@@ -710,7 +710,7 @@ static long emc_round_rate(unsigned long rate,
return timing->rate; return timing->rate;
} }
static void tegra_emc_rate_requests_init(struct tegra_emc *emc) static void tegra20_emc_rate_requests_init(struct tegra_emc *emc)
{ {
unsigned int i; unsigned int i;
@@ -812,7 +812,7 @@ static int emc_set_max_rate(struct tegra_emc *emc, unsigned long rate,
* valid range. * valid range.
*/ */
static bool tegra_emc_validate_rate(struct tegra_emc *emc, unsigned long rate) static bool tegra20_emc_validate_rate(struct tegra_emc *emc, unsigned long rate)
{ {
unsigned int i; unsigned int i;
@@ -823,7 +823,7 @@ static bool tegra_emc_validate_rate(struct tegra_emc *emc, unsigned long rate)
return false; return false;
} }
static int tegra_emc_debug_available_rates_show(struct seq_file *s, void *data) static int tegra20_emc_debug_available_rates_show(struct seq_file *s, void *data)
{ {
struct tegra_emc *emc = s->private; struct tegra_emc *emc = s->private;
const char *prefix = ""; const char *prefix = "";
@@ -838,9 +838,9 @@ static int tegra_emc_debug_available_rates_show(struct seq_file *s, void *data)
return 0; return 0;
} }
DEFINE_SHOW_ATTRIBUTE(tegra_emc_debug_available_rates); DEFINE_SHOW_ATTRIBUTE(tegra20_emc_debug_available_rates);
static int tegra_emc_debug_min_rate_get(void *data, u64 *rate) static int tegra20_emc_debug_min_rate_get(void *data, u64 *rate)
{ {
struct tegra_emc *emc = data; struct tegra_emc *emc = data;
@@ -849,12 +849,12 @@ static int tegra_emc_debug_min_rate_get(void *data, u64 *rate)
return 0; return 0;
} }
static int tegra_emc_debug_min_rate_set(void *data, u64 rate) static int tegra20_emc_debug_min_rate_set(void *data, u64 rate)
{ {
struct tegra_emc *emc = data; struct tegra_emc *emc = data;
int err; int err;
if (!tegra_emc_validate_rate(emc, rate)) if (!tegra20_emc_validate_rate(emc, rate))
return -EINVAL; return -EINVAL;
err = emc_set_min_rate(emc, rate, EMC_RATE_DEBUG); err = emc_set_min_rate(emc, rate, EMC_RATE_DEBUG);
@@ -866,11 +866,11 @@ static int tegra_emc_debug_min_rate_set(void *data, u64 rate)
return 0; return 0;
} }
DEFINE_SIMPLE_ATTRIBUTE(tegra_emc_debug_min_rate_fops, DEFINE_SIMPLE_ATTRIBUTE(tegra20_emc_debug_min_rate_fops,
tegra_emc_debug_min_rate_get, tegra20_emc_debug_min_rate_get,
tegra_emc_debug_min_rate_set, "%llu\n"); tegra20_emc_debug_min_rate_set, "%llu\n");
static int tegra_emc_debug_max_rate_get(void *data, u64 *rate) static int tegra20_emc_debug_max_rate_get(void *data, u64 *rate)
{ {
struct tegra_emc *emc = data; struct tegra_emc *emc = data;
@@ -879,12 +879,12 @@ static int tegra_emc_debug_max_rate_get(void *data, u64 *rate)
return 0; return 0;
} }
static int tegra_emc_debug_max_rate_set(void *data, u64 rate) static int tegra20_emc_debug_max_rate_set(void *data, u64 rate)
{ {
struct tegra_emc *emc = data; struct tegra_emc *emc = data;
int err; int err;
if (!tegra_emc_validate_rate(emc, rate)) if (!tegra20_emc_validate_rate(emc, rate))
return -EINVAL; return -EINVAL;
err = emc_set_max_rate(emc, rate, EMC_RATE_DEBUG); err = emc_set_max_rate(emc, rate, EMC_RATE_DEBUG);
@@ -896,11 +896,11 @@ static int tegra_emc_debug_max_rate_set(void *data, u64 rate)
return 0; return 0;
} }
DEFINE_SIMPLE_ATTRIBUTE(tegra_emc_debug_max_rate_fops, DEFINE_SIMPLE_ATTRIBUTE(tegra20_emc_debug_max_rate_fops,
tegra_emc_debug_max_rate_get, tegra20_emc_debug_max_rate_get,
tegra_emc_debug_max_rate_set, "%llu\n"); tegra20_emc_debug_max_rate_set, "%llu\n");
static void tegra_emc_debugfs_init(struct tegra_emc *emc) static void tegra20_emc_debugfs_init(struct tegra_emc *emc)
{ {
struct device *dev = emc->dev; struct device *dev = emc->dev;
unsigned int i; unsigned int i;
@@ -933,11 +933,11 @@ static void tegra_emc_debugfs_init(struct tegra_emc *emc)
emc->debugfs.root = debugfs_create_dir("emc", NULL); emc->debugfs.root = debugfs_create_dir("emc", NULL);
debugfs_create_file("available_rates", 0444, emc->debugfs.root, debugfs_create_file("available_rates", 0444, emc->debugfs.root,
emc, &tegra_emc_debug_available_rates_fops); emc, &tegra20_emc_debug_available_rates_fops);
debugfs_create_file("min_rate", 0644, emc->debugfs.root, debugfs_create_file("min_rate", 0644, emc->debugfs.root,
emc, &tegra_emc_debug_min_rate_fops); emc, &tegra20_emc_debug_min_rate_fops);
debugfs_create_file("max_rate", 0644, emc->debugfs.root, debugfs_create_file("max_rate", 0644, emc->debugfs.root,
emc, &tegra_emc_debug_max_rate_fops); emc, &tegra20_emc_debug_max_rate_fops);
} }
static inline struct tegra_emc * static inline struct tegra_emc *
@@ -1000,7 +1000,7 @@ static int emc_icc_set(struct icc_node *src, struct icc_node *dst)
return 0; return 0;
} }
static int tegra_emc_interconnect_init(struct tegra_emc *emc) static int tegra20_emc_interconnect_init(struct tegra_emc *emc)
{ {
const struct tegra_mc_soc *soc; const struct tegra_mc_soc *soc;
struct icc_node *node; struct icc_node *node;
@@ -1055,25 +1055,25 @@ remove_nodes:
return dev_err_probe(emc->dev, err, "failed to initialize ICC\n"); return dev_err_probe(emc->dev, err, "failed to initialize ICC\n");
} }
static void devm_tegra_emc_unset_callback(void *data) static void devm_tegra20_emc_unset_callback(void *data)
{ {
tegra20_clk_set_emc_round_callback(NULL, NULL); tegra20_clk_set_emc_round_callback(NULL, NULL);
} }
static void devm_tegra_emc_unreg_clk_notifier(void *data) static void devm_tegra20_emc_unreg_clk_notifier(void *data)
{ {
struct tegra_emc *emc = data; struct tegra_emc *emc = data;
clk_notifier_unregister(emc->clk, &emc->clk_nb); clk_notifier_unregister(emc->clk, &emc->clk_nb);
} }
static int tegra_emc_init_clk(struct tegra_emc *emc) static int tegra20_emc_init_clk(struct tegra_emc *emc)
{ {
int err; int err;
tegra20_clk_set_emc_round_callback(emc_round_rate, emc); 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_tegra20_emc_unset_callback,
NULL); NULL);
if (err) if (err)
return err; return err;
@@ -1088,14 +1088,14 @@ static int tegra_emc_init_clk(struct tegra_emc *emc)
return dev_err_probe(emc->dev, err, "failed to register clk notifier\n"); return dev_err_probe(emc->dev, err, "failed to register clk notifier\n");
err = devm_add_action_or_reset(emc->dev, err = devm_add_action_or_reset(emc->dev,
devm_tegra_emc_unreg_clk_notifier, emc); devm_tegra20_emc_unreg_clk_notifier, emc);
if (err) if (err)
return err; return err;
return 0; return 0;
} }
static int tegra_emc_devfreq_target(struct device *dev, unsigned long *freq, static int tegra20_emc_devfreq_target(struct device *dev, unsigned long *freq,
u32 flags) u32 flags)
{ {
struct tegra_emc *emc = dev_get_drvdata(dev); struct tegra_emc *emc = dev_get_drvdata(dev);
@@ -1114,7 +1114,7 @@ static int tegra_emc_devfreq_target(struct device *dev, unsigned long *freq,
return emc_set_min_rate(emc, rate, EMC_RATE_DEVFREQ); return emc_set_min_rate(emc, rate, EMC_RATE_DEVFREQ);
} }
static int tegra_emc_devfreq_get_dev_status(struct device *dev, static int tegra20_emc_devfreq_get_dev_status(struct device *dev,
struct devfreq_dev_status *stat) struct devfreq_dev_status *stat)
{ {
struct tegra_emc *emc = dev_get_drvdata(dev); struct tegra_emc *emc = dev_get_drvdata(dev);
@@ -1137,13 +1137,13 @@ static int tegra_emc_devfreq_get_dev_status(struct device *dev,
return 0; return 0;
} }
static struct devfreq_dev_profile tegra_emc_devfreq_profile = { static struct devfreq_dev_profile tegra20_emc_devfreq_profile = {
.polling_ms = 30, .polling_ms = 30,
.target = tegra_emc_devfreq_target, .target = tegra20_emc_devfreq_target,
.get_dev_status = tegra_emc_devfreq_get_dev_status, .get_dev_status = tegra20_emc_devfreq_get_dev_status,
}; };
static int tegra_emc_devfreq_init(struct tegra_emc *emc) static int tegra20_emc_devfreq_init(struct tegra_emc *emc)
{ {
struct devfreq *devfreq; struct devfreq *devfreq;
@@ -1165,7 +1165,7 @@ static int tegra_emc_devfreq_init(struct tegra_emc *emc)
writel_relaxed(0x00000000, emc->regs + EMC_STAT_LLMC_CONTROL); writel_relaxed(0x00000000, emc->regs + EMC_STAT_LLMC_CONTROL);
writel_relaxed(0xffffffff, emc->regs + EMC_STAT_PWR_CLOCK_LIMIT); writel_relaxed(0xffffffff, emc->regs + EMC_STAT_PWR_CLOCK_LIMIT);
devfreq = devm_devfreq_add_device(emc->dev, &tegra_emc_devfreq_profile, devfreq = devm_devfreq_add_device(emc->dev, &tegra20_emc_devfreq_profile,
DEVFREQ_GOV_SIMPLE_ONDEMAND, DEVFREQ_GOV_SIMPLE_ONDEMAND,
&emc->ondemand_data); &emc->ondemand_data);
if (IS_ERR(devfreq)) if (IS_ERR(devfreq))
@@ -1175,7 +1175,7 @@ static int tegra_emc_devfreq_init(struct tegra_emc *emc)
return 0; return 0;
} }
static int tegra_emc_probe(struct platform_device *pdev) static int tegra20_emc_probe(struct platform_device *pdev)
{ {
struct tegra_core_opp_params opp_params = {}; struct tegra_core_opp_params opp_params = {};
struct device_node *np; struct device_node *np;
@@ -1191,7 +1191,7 @@ static int tegra_emc_probe(struct platform_device *pdev)
return -ENOMEM; return -ENOMEM;
mutex_init(&emc->rate_lock); mutex_init(&emc->rate_lock);
emc->clk_nb.notifier_call = tegra_emc_clk_change_notify; emc->clk_nb.notifier_call = tegra20_emc_clk_change_notify;
emc->dev = &pdev->dev; emc->dev = &pdev->dev;
emc->regs = devm_platform_ioremap_resource(pdev, 0); emc->regs = devm_platform_ioremap_resource(pdev, 0);
@@ -1202,22 +1202,22 @@ static int tegra_emc_probe(struct platform_device *pdev)
if (err) if (err)
return err; return err;
np = tegra_emc_find_node_by_ram_code(emc); np = tegra20_emc_find_node_by_ram_code(emc);
if (np) { if (np) {
err = tegra_emc_load_timings_from_dt(emc, np); err = tegra20_emc_load_timings_from_dt(emc, np);
of_node_put(np); of_node_put(np);
if (err) if (err)
return err; return err;
} }
err = devm_request_irq(&pdev->dev, irq, tegra_emc_isr, 0, err = devm_request_irq(&pdev->dev, irq, tegra20_emc_isr, 0,
dev_name(&pdev->dev), emc); dev_name(&pdev->dev), emc);
if (err) { if (err) {
dev_err(&pdev->dev, "failed to request IRQ: %d\n", err); dev_err(&pdev->dev, "failed to request IRQ: %d\n", err);
return err; return err;
} }
err = tegra_emc_init_clk(emc); err = tegra20_emc_init_clk(emc);
if (err) if (err)
return err; return err;
@@ -1228,10 +1228,10 @@ static int tegra_emc_probe(struct platform_device *pdev)
return err; return err;
platform_set_drvdata(pdev, emc); platform_set_drvdata(pdev, emc);
tegra_emc_rate_requests_init(emc); tegra20_emc_rate_requests_init(emc);
tegra_emc_debugfs_init(emc); tegra20_emc_debugfs_init(emc);
tegra_emc_interconnect_init(emc); tegra20_emc_interconnect_init(emc);
tegra_emc_devfreq_init(emc); tegra20_emc_devfreq_init(emc);
/* /*
* Don't allow the kernel module to be unloaded. Unloading adds some * Don't allow the kernel module to be unloaded. Unloading adds some
@@ -1243,22 +1243,22 @@ static int tegra_emc_probe(struct platform_device *pdev)
return 0; return 0;
} }
static const struct of_device_id tegra_emc_of_match[] = { static const struct of_device_id tegra20_emc_of_match[] = {
{ .compatible = "nvidia,tegra20-emc", }, { .compatible = "nvidia,tegra20-emc", },
{}, {},
}; };
MODULE_DEVICE_TABLE(of, tegra_emc_of_match); MODULE_DEVICE_TABLE(of, tegra20_emc_of_match);
static struct platform_driver tegra_emc_driver = { static struct platform_driver tegra20_emc_driver = {
.probe = tegra_emc_probe, .probe = tegra20_emc_probe,
.driver = { .driver = {
.name = "tegra20-emc", .name = "tegra20-emc",
.of_match_table = tegra_emc_of_match, .of_match_table = tegra20_emc_of_match,
.suppress_bind_attrs = true, .suppress_bind_attrs = true,
.sync_state = icc_sync_state, .sync_state = icc_sync_state,
}, },
}; };
module_platform_driver(tegra_emc_driver); module_platform_driver(tegra20_emc_driver);
MODULE_AUTHOR("Dmitry Osipenko <digetx@gmail.com>"); MODULE_AUTHOR("Dmitry Osipenko <digetx@gmail.com>");
MODULE_DESCRIPTION("NVIDIA Tegra20 EMC driver"); MODULE_DESCRIPTION("NVIDIA Tegra20 EMC driver");