conftest: update test for prod settings

Change prod settings test from header to apis. Check if legacy prod
settings defined. Remove references to new prod settings.

Bug 4765671

Change-Id: I77e55cf473f75216ded5d7eae3de2bd9a7ae91d4
Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3186208
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
This commit is contained in:
Krishna Yarlagadda
2024-07-26 14:40:28 +00:00
committed by mobile promotions
parent 3fdb84d2c8
commit 2ca08ce7f4
4 changed files with 1 additions and 244 deletions

View File

@@ -1,20 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
*/
#ifndef _TEGRA_OOT_PRODS_H
#define _TEGRA_OOT_PRODS_H
#include <linux/version.h>
#if defined(CONFIG_TEGRA_PROD_NEXT_GEN)
#include <soc/tegra/tegra-prod.h>
#include <linux/tegra-prod-legacy-dummy.h>
#elif defined(CONFIG_TEGRA_PROD_LEGACY)
#include <linux/tegra_prod.h>
#else
#include <linux/tegra-prod-legacy-dummy.h>
#endif
#endif /* _TEGRA_OOT_PRODS_H */

View File

@@ -1,142 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
*/
#ifndef TEGRA_PROD_LEGACY_DUMMY_H__
#define TEGRA_PROD_LEGACY_DUMMY_H__
/**
* Implement the tegra prod APIs as static inline with success to avoid
* the failure in client side due to prod.
*/
struct tegra_prod;
/**
* tegra_prod_set_list(): Set all prods configurations
* @base: List of IO mapped registers.
* @tegra_prod: tegra_prod handle which is allocated by devm_tegra_prod_get()
* or tegra_prod_get_from_node();
*
* Configure all the prod configuration listed on prod-setting nodes.
*
* Returns 0 on success otherwise negative error number for failed case.
*/
static inline int tegra_prod_set_list(void __iomem **base, struct tegra_prod *tegra_prod)
{
return 0;
}
/**
* tegra_prod_set_boot_init(): Set all prods configurations which has boot init
* flag on the prod setting nodes.
* @base: List of IO mapped registers.
* @tegra_prod: tegra_prod handle which is allocated by devm_tegra_prod_get()
* or tegra_prod_get_from_node();
*
* Configure all the prod configuration listed on prod-setting nodes.
*
* Returns 0 on success otherwise negative error number for failed case.
*/
static inline int tegra_prod_set_boot_init(void __iomem **base,
struct tegra_prod *tegra_prod)
{
return 0;
}
/**
* tegra_prod_set_by_name(): Set prod configuration with specific prod name.
* This is used for conditional prod configurations.
* @base: List of IO mapped registers.
* @name: Name of conditional prod which need to be configure.
* @tegra_prod: tegra_prod handle which is allocated by devm_tegra_prod_get()
* or tegra_prod_get_from_node();
*
* Configure prod configuration with specific prod name for conditional
* prod configurations.
*
* Returns 0 on success otherwise negative error number for failed case.
*/
static inline int tegra_prod_set_by_name(void __iomem **base, const char *name,
struct tegra_prod *tegra_prod)
{
return 0;
}
/**
* tegra_prod_set_by_name_partially - Set the prod setting from list partially
* under given prod name. The matching is done
* qith index, offset and mask.
* @base: base address of the register.
* @name: the name of tegra prod need to set.
* @tegra_prod: the list of tegra prods.
* @index: Index of base address.
* @offset: Offset of the register.
* @mask: Mask field on given register.
*
* Find the tegra prod in the list according to the name. Then set
* that tegra prod which has matching of index, offset and mask.
*
* Returns 0 on success.
*/
static inline int tegra_prod_set_by_name_partially(void __iomem **base, const char *name,
struct tegra_prod *tegra_prod, u32 index,
u32 offset, u32 mask)
{
return 0;
}
/**
* tegra_prod_by_name_supported - Tell whether tegra prod will be supported by
* given name or not.
* @tegra_prod: the list of tegra prods.
* @name: the name of tegra prod need to set.
*
* Find the tegra prod in the list according to the name. If it exist then
* return true else false.
*/
static inline bool tegra_prod_by_name_supported(struct tegra_prod *tegra_prod,
const char *name)
{
return true;
}
/**
* devm_tegra_prod_get(): Get the prod handle from the device.
* @dev: Device handle on which prod setting nodes are available.
*
* Parse the prod-setting node of the dev->of_node and keep all prod
* setting data in prod handle.
* This handle is used for setting prod configurations.
*
* Returns valid prod_list handle on success or pointer to the error
* when it failed.
*/
static inline struct tegra_prod *devm_tegra_prod_get(struct device *dev)
{
return (struct tegra_prod *)dev;
}
/**
* devm_tegra_prod_get_from_node(): Get the prod handle from the node.
* @dev: Device handle.
* @np: Node pointer on which prod setting nodes are available.
*
* Parse the prod-setting node of the node pointer "np" and keep all prod
* setting data in prod handle.
* This handle is used for setting prod configurations.
*
* Returns valid prod_list handle on success or pointer to the error
* when it failed.
* The allocated resource is released by driver core framework when device
* is unbinded and so no need to call any release APIs for the tegra_prod
* handle.
*/
static inline struct tegra_prod *devm_tegra_prod_get_from_node(struct device *dev,
struct device_node *np)
{
return (struct tegra_prod *)dev;
}
#endif /* TEGRA_PROD_LEGACY_DUMMY_H__ */

View File

@@ -1,81 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.
*/
#ifndef __LINUX_TEGRA_PROD_UPSTREAM_DUMMY_H__
#define __LINUX_TEGRA_PROD_UPSTREAM_DUMMY_H__
#include <linux/types.h>
/**
* Prod configuration of device provided from client.
* This structure have the details about each of prod settings.
*/
struct tegra_prod_dev_reg_field {
const char *field_name;
uint32_t reg_index;
uint32_t reg_offset;
uint32_t field_start;
uint32_t field_len;
};
/**
* Prod setting from controller where it passes the total number of registers
* having prod, and their register field names.
*/
struct tegra_prod_dev_info {
uint32_t num_total_dev_reg;
uint32_t num_dev_reg_field;
const struct tegra_prod_dev_reg_field *dev_reg_field;
};
/**
* Prod register information as register index, offset from base,
* register mask for the given prod and prod value for given
* register field.
*/
struct tegra_prod_reg_info {
uint32_t reg_index;
uint32_t reg_offset;
uint32_t reg_mask;
uint32_t reg_value;
};
/**
* Contains prod setting of all registers.
*/
struct tegra_prod_cfg_info {
const char *prod_name;
uint32_t num_reg_info;
struct tegra_prod_reg_info *reg_info;
};
/**
* Contains prod setting list of all prod values.
*/
struct tegra_prod_cfg_list {
uint32_t num_list;
struct tegra_prod_cfg_info *prod_cfg;
};
static inline struct tegra_prod_cfg_info *tegra_prod_get_by_name_from_list(struct device *dev,
const struct tegra_prod_cfg_list *prod_list,
const char *prod_name)
{
return ERR_PTR(-ENODEV);
}
static inline struct tegra_prod_cfg_list *devm_tegra_prod_get_list_from_node(struct device *dev,
const struct device_node *np,
const struct tegra_prod_dev_info *prod_dev)
{
return ERR_PTR(-ENODEV);
}
static inline struct tegra_prod_cfg_list *devm_tegra_prod_get_list(struct device *dev,
const struct tegra_prod_dev_info *prod_dev)
{
return ERR_PTR(-ENODEV);
}
#endif /* __LINUX_TEGRA_PROD_UPSTREAM_DUMMY_H__ */

View File

@@ -230,9 +230,9 @@ NV_HEADER_PRESENCE_TESTS = \
generated/autoconf.h \
linux/kconfig.h \
linux/iosys-map.h \
linux/tegra_prod.h \
net/gso.h \
net/page_pool.h \
soc/tegra/tegra-prod.h \
ufs/ufshcd.h
# Filename to store the define for the header in $(1); this is only consumed by