mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-23 09:42:19 +03:00
nvidia: drivers: fix linux-5.7-rc5 build
Fix build linux-5.7-rc5 errors including following: - change timespec to timespec64. replace getnstimeofday with ktime_get_ts64 - replace usage of macro FIELD_SIZEOF with sizeof_field in ethtool.c nvethernet and eqos files. - support 2 arguments for of_get_phy_mode call bug 200617764 Change-Id: I46067d7d36d08ee9556b2722e9ccec707b8853d4 Signed-off-by: Bitan Biswas <bbiswas@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2347244 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
Revanth Kumar Uppala
parent
c6b2d05d26
commit
0e7b230bab
@@ -14,6 +14,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <linux/version.h>
|
||||
#include "ether_linux.h"
|
||||
|
||||
/**
|
||||
@@ -3576,7 +3577,15 @@ rst_clk_fail:
|
||||
static int ether_parse_phy_dt(struct ether_priv_data *pdata,
|
||||
struct device_node *node)
|
||||
{
|
||||
#if KERNEL_VERSION(5, 5, 0) > LINUX_VERSION_CODE
|
||||
pdata->interface = of_get_phy_mode(node);
|
||||
#else
|
||||
int err;
|
||||
|
||||
err = of_get_phy_mode(node, &pdata->interface);
|
||||
if (err < 0)
|
||||
pr_debug("%s(): phy interface not found\n", __func__);
|
||||
#endif
|
||||
|
||||
pdata->phy_node = of_parse_phandle(node, "phy-handle", 0);
|
||||
if (pdata->phy_node == NULL)
|
||||
|
||||
@@ -281,7 +281,7 @@ struct ether_priv_data {
|
||||
struct phy_device *phydev;
|
||||
/** Interface type assciated with MAC (SGMII/RGMII/...)
|
||||
* this information will be provided with phy-mode DT entry */
|
||||
int interface;
|
||||
phy_interface_t interface;
|
||||
/** Previous detected link */
|
||||
unsigned int oldlink;
|
||||
/** PHY link speed */
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <linux/version.h>
|
||||
#include "ether_linux.h"
|
||||
|
||||
/**
|
||||
@@ -42,9 +43,15 @@ struct ether_stats {
|
||||
* @brief Name of pkt_err statistics, with length of name not more than
|
||||
* ETH_GSTRING_LEN
|
||||
*/
|
||||
#if KERNEL_VERSION(5, 5, 0) > LINUX_VERSION_CODE
|
||||
#define ETHER_PKT_ERR_STAT(y) \
|
||||
{ (#y), FIELD_SIZEOF(struct osi_pkt_err_stats, y), \
|
||||
offsetof(struct osi_dma_priv_data, pkt_err_stats.y)}
|
||||
#else
|
||||
#define ETHER_PKT_ERR_STAT(y) \
|
||||
{ (#y), sizeof_field(struct osi_pkt_err_stats, y), \
|
||||
offsetof(struct osi_dma_priv_data, pkt_err_stats.y)}
|
||||
#endif
|
||||
/**
|
||||
* @brief ETHER clear pkt_err statistics
|
||||
*/
|
||||
@@ -62,9 +69,15 @@ static const struct ether_stats ether_cstrings_stats[] = {
|
||||
/**
|
||||
* @brief Name of extra DMA stat, with length of name not more than ETH_GSTRING_LEN
|
||||
*/
|
||||
#if KERNEL_VERSION(5, 5, 0) > LINUX_VERSION_CODE
|
||||
#define ETHER_DMA_EXTRA_STAT(a) \
|
||||
{ (#a), FIELD_SIZEOF(struct osi_xtra_dma_stat_counters, a), \
|
||||
offsetof(struct osi_dma_priv_data, dstats.a)}
|
||||
#else
|
||||
#define ETHER_DMA_EXTRA_STAT(a) \
|
||||
{ (#a), sizeof_field(struct osi_xtra_dma_stat_counters, a), \
|
||||
offsetof(struct osi_dma_priv_data, dstats.a)}
|
||||
#endif
|
||||
/**
|
||||
* @brief Ethernet DMA extra statistics
|
||||
*/
|
||||
@@ -101,9 +114,15 @@ static const struct ether_stats ether_dstrings_stats[] = {
|
||||
* @brief Name of extra Ethernet stats, with length of name not more than
|
||||
* ETH_GSTRING_LEN MAC
|
||||
*/
|
||||
#if KERNEL_VERSION(5, 5, 0) > LINUX_VERSION_CODE
|
||||
#define ETHER_EXTRA_STAT(b) \
|
||||
{ #b, FIELD_SIZEOF(struct osi_xtra_stat_counters, b), \
|
||||
offsetof(struct osi_core_priv_data, xstats.b)}
|
||||
#else
|
||||
#define ETHER_EXTRA_STAT(b) \
|
||||
{ #b, sizeof_field(struct osi_xtra_stat_counters, b), \
|
||||
offsetof(struct osi_core_priv_data, xstats.b)}
|
||||
#endif
|
||||
/**
|
||||
* @brief Ethernet extra statistics
|
||||
*/
|
||||
@@ -159,9 +178,15 @@ static const struct ether_stats ether_gstrings_stats[] = {
|
||||
* @brief HW MAC Management counters
|
||||
* Structure variable name MUST up to MAX length of ETH_GSTRING_LEN
|
||||
*/
|
||||
#if KERNEL_VERSION(5, 5, 0) > LINUX_VERSION_CODE
|
||||
#define ETHER_MMC_STAT(c) \
|
||||
{ #c, FIELD_SIZEOF(struct osi_mmc_counters, c), \
|
||||
offsetof(struct osi_core_priv_data, mmc.c)}
|
||||
#else
|
||||
#define ETHER_MMC_STAT(c) \
|
||||
{ #c, sizeof_field(struct osi_mmc_counters, c), \
|
||||
offsetof(struct osi_core_priv_data, mmc.c)}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief MMC statistics
|
||||
|
||||
@@ -105,7 +105,7 @@ struct ifr_data_timestamp_struct {
|
||||
/** Store kernel time */
|
||||
struct timespec64 kernel_ts;
|
||||
/** Store HW time */
|
||||
struct timespec hw_ptp_ts;
|
||||
struct timespec64 hw_ptp_ts;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <linux/version.h>
|
||||
#include "ether_linux.h"
|
||||
|
||||
/**
|
||||
@@ -297,7 +298,11 @@ int ether_handle_hwtstamp_ioctl(struct ether_priv_data *pdata,
|
||||
struct osi_core_priv_data *osi_core = pdata->osi_core;
|
||||
struct hwtstamp_config config;
|
||||
unsigned int hwts_rx_en = 1;
|
||||
#if KERNEL_VERSION(5, 4, 0) > LINUX_VERSION_CODE
|
||||
struct timespec now;
|
||||
#else
|
||||
struct timespec64 now;
|
||||
#endif
|
||||
|
||||
if (pdata->hw_feat.tsstssel == OSI_DISABLE) {
|
||||
dev_info(pdata->dev, "HW timestamping not available\n");
|
||||
@@ -436,7 +441,11 @@ int ether_handle_hwtstamp_ioctl(struct ether_priv_data *pdata,
|
||||
* can make use of it for coarse correction */
|
||||
osi_core->ptp_config.ptp_clock = pdata->ptp_ref_clock_speed;
|
||||
/* initialize system time */
|
||||
#if KERNEL_VERSION(5, 4, 0) > LINUX_VERSION_CODE
|
||||
getnstimeofday(&now);
|
||||
#else
|
||||
ktime_get_ts64(&now);
|
||||
#endif
|
||||
/* Store sec and nsec */
|
||||
osi_core->ptp_config.sec = now.tv_sec;
|
||||
osi_core->ptp_config.nsec = now.tv_nsec;
|
||||
@@ -518,7 +527,11 @@ int ether_handle_priv_ts_ioctl(struct ether_priv_data *pdata,
|
||||
|
||||
raw_spin_unlock_irqrestore(ðer_ts_lock, flags);
|
||||
|
||||
#if KERNEL_VERSION(5, 4, 0) > LINUX_VERSION_CODE
|
||||
dev_dbg(pdata->dev, "tv_sec = %ld, tv_nsec = %ld\n",
|
||||
#else
|
||||
dev_dbg(pdata->dev, "tv_sec = %lld, tv_nsec = %ld\n",
|
||||
#endif
|
||||
req.hw_ptp_ts.tv_sec, req.hw_ptp_ts.tv_nsec);
|
||||
|
||||
if (copy_to_user(ifr->ifr_data, &req, sizeof(req))) {
|
||||
|
||||
Reference in New Issue
Block a user