mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
prod: Add support for legacy and next-gen prod via config
Instead of using the Linux kernel version, use the configs coming from core kernel to find out whether legacy or next-gen prod configuration method is used. This will help on porting changes on any kernel and configuring via core kernel configs. Bug 3389584 Change-Id: I19c242c573dd63c7dbecbf87d4ba807857dcf4fb Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3013911 Reviewed-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
3d64e97531
commit
1dd2ef3473
@@ -291,7 +291,7 @@ inline u32 ttcan_read_ecr(struct ttcan_controller *ttcan)
|
||||
return ttcan_read32(ttcan, ADR_MTTCAN_ECR);
|
||||
}
|
||||
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0)
|
||||
#if !defined(CONFIG_TEGRA_PROD_NEXT_GEN)
|
||||
static void tegra_mttcan_config_prod_settings(struct mttcan_priv *priv)
|
||||
{
|
||||
struct ttcan_controller *ttcan = priv->ttcan;
|
||||
|
||||
@@ -287,7 +287,7 @@ struct ttcan_controller {
|
||||
struct list_head rx_q1;
|
||||
struct list_head rx_b;
|
||||
struct list_head tx_evt;
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0)
|
||||
#if !defined(CONFIG_TEGRA_PROD_NEXT_GEN)
|
||||
struct tegra_prod *prod_list;
|
||||
#else
|
||||
struct tegra_prod_cfg_list *prod_list;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#define CAN_MSG_FLUSH_TIMEOUT 100
|
||||
static void mttcan_start(struct net_device *dev);
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0)
|
||||
#if defined(CONFIG_TEGRA_PROD_NEXT_GEN)
|
||||
#define MTTCAN_PROD_FIELD(name, rindex, roffset, fname) \
|
||||
{ \
|
||||
.field_name = name, \
|
||||
@@ -1877,7 +1877,7 @@ static int mttcan_probe(struct platform_device *pdev)
|
||||
if (ret)
|
||||
goto exit_free_device;
|
||||
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0)
|
||||
#if !defined(CONFIG_TEGRA_PROD_NEXT_GEN)
|
||||
priv->ttcan->prod_list = devm_tegra_prod_get(&pdev->dev);
|
||||
#else
|
||||
priv->ttcan->prod_list = devm_tegra_prod_get_list(&pdev->dev, &mttcan_prod_dev_info);
|
||||
|
||||
@@ -254,14 +254,14 @@ struct tegra_qspi {
|
||||
dma_addr_t tx_dma_phys;
|
||||
struct dma_async_tx_descriptor *tx_dma_desc;
|
||||
const struct tegra_qspi_soc_data *soc_data;
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0)
|
||||
#if defined(CONFIG_TEGRA_PROD_NEXT_GEN)
|
||||
struct tegra_prod_cfg_list *prod_list;
|
||||
#else
|
||||
struct tegra_prod *prod_list;
|
||||
#endif
|
||||
};
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0)
|
||||
#if defined(CONFIG_TEGRA_PROD_NEXT_GEN)
|
||||
#define QSPI_PROD_FIELD(name, rindex, roffset, fname) \
|
||||
{ \
|
||||
.field_name = name, \
|
||||
@@ -962,7 +962,7 @@ static u32 tegra_qspi_setup_transfer_one(struct spi_device *spi, struct spi_tran
|
||||
return command1;
|
||||
}
|
||||
|
||||
#if LINUX_VERSION_CODE > KERNEL_VERSION(5, 16, 0)
|
||||
#if defined(CONFIG_TEGRA_PROD_NEXT_GEN)
|
||||
static void tegra_qspi_write_prod_settings(struct tegra_qspi *tqspi, const char *prod_name)
|
||||
{
|
||||
struct tegra_prod_reg_info *reg_info;
|
||||
@@ -986,7 +986,7 @@ static void tegra_qspi_write_prod_settings(struct tegra_qspi *tqspi, const char
|
||||
|
||||
static void tegra_qspi_set_gr_registers(struct tegra_qspi *tqspi)
|
||||
{
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0)
|
||||
#if !defined(CONFIG_TEGRA_PROD_NEXT_GEN)
|
||||
int err;
|
||||
#endif
|
||||
|
||||
@@ -996,7 +996,7 @@ static void tegra_qspi_set_gr_registers(struct tegra_qspi *tqspi)
|
||||
/* If available, initialise the config registers
|
||||
* for QSPI with the values mentioned in prod list.
|
||||
*/
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0)
|
||||
#if !defined(CONFIG_TEGRA_PROD_NEXT_GEN)
|
||||
err = tegra_prod_set_by_name(&tqspi->base, "prod", tqspi->prod_list);
|
||||
if (err < 0)
|
||||
dev_info_once(tqspi->dev,
|
||||
@@ -1726,7 +1726,7 @@ static int tegra_qspi_probe(struct platform_device *pdev)
|
||||
|
||||
tqspi->master = master;
|
||||
tqspi->dev = &pdev->dev;
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0)
|
||||
#if !defined(CONFIG_TEGRA_PROD_NEXT_GEN)
|
||||
tqspi->prod_list = devm_tegra_prod_get(&pdev->dev);
|
||||
#else
|
||||
tqspi->prod_list = devm_tegra_prod_get_list(&pdev->dev, &qspi_prod_dev_info);
|
||||
|
||||
@@ -8,19 +8,13 @@
|
||||
|
||||
#include <linux/version.h>
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0)
|
||||
#ifdef CONFIG_TEGRA_PROD_LEGACY
|
||||
#if defined(CONFIG_TEGRA_PROD_NEXT_GEN)
|
||||
#include <soc/tegra/tegra-prod.h>
|
||||
#include <linux/tegra_prod.h>
|
||||
#else
|
||||
#include <linux/tegra-prod-upstream-dummy.h>
|
||||
#include <linux/tegra-prod-legacy-dummy.h>
|
||||
#endif
|
||||
#else /* LINUX_VERSION_CODE */
|
||||
#ifdef CONFIG_TEGRA_PROD_LEGACY
|
||||
#elif defined(CONFIG_TEGRA_PROD_LEGACY)
|
||||
#include <linux/tegra_prod.h>
|
||||
#else
|
||||
#include <linux/tegra-prod-legacy-dummy.h>
|
||||
#endif
|
||||
#endif /* LINUX_VERSION_CODE */
|
||||
|
||||
#endif /* _TEGRA_OOT_PRODS_H */
|
||||
|
||||
Reference in New Issue
Block a user