summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale/fman/src
diff options
context:
space:
mode:
authorMatthew Weigel <Matthew.Weigel@freescale.com>2014-11-14 13:35:54 (GMT)
committerMatthew Weigel <Matthew.Weigel@freescale.com>2014-12-11 18:40:41 (GMT)
commit731a7f815cc8d300d51b96eeacc058295dc61402 (patch)
treea8d02c4fc62ae5c01039215d1ef60db2c8090e2f /drivers/net/ethernet/freescale/fman/src
parent6337363a3c85f8da8a524a56c32829dbd7ae3433 (diff)
downloadlinux-fsl-qoriq-731a7f815cc8d300d51b96eeacc058295dc61402.tar.xz
Revert "fmd: fix static analysis issues"
This reverts commit 5e921ed07acbc6f05536aac89b9edc2578663840. Change-Id: Ic4d1166b5ad6419f369e3be278f41ea5764ff6fc Reviewed-on: http://git.am.freescale.net:8181/23784 Reviewed-by: Matthew Weigel <Matthew.Weigel@freescale.com> Tested-by: Matthew Weigel <Matthew.Weigel@freescale.com>
Diffstat (limited to 'drivers/net/ethernet/freescale/fman/src')
-rwxr-xr-xdrivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c2
-rw-r--r--drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm.c20
-rw-r--r--drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.c6
-rw-r--r--drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_sysfs_fm.c2
-rw-r--r--drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_sysfs_fm_port.c2
-rw-r--r--drivers/net/ethernet/freescale/fman/src/xx/Makefile2
-rw-r--r--drivers/net/ethernet/freescale/fman/src/xx/xx_linux.c25
7 files changed, 37 insertions, 22 deletions
diff --git a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c
index d7f94ab..58283fd 100755
--- a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c
+++ b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c
@@ -237,9 +237,7 @@ early_param(FSL_FM_RX_EXTRA_HEADROOM_BOOTARG, fm_set_rx_extra_headroom);
static irqreturn_t fm_irq(int irq, void *_dev)
{
t_LnxWrpFmDev *p_LnxWrpFmDev = (t_LnxWrpFmDev *)_dev;
-#ifdef CONFIG_PM_SLEEP
t_Fm *p_Fm = (t_Fm*)p_LnxWrpFmDev->h_Dev;
-#endif
if (!p_LnxWrpFmDev || !p_LnxWrpFmDev->h_Dev)
return IRQ_NONE;
diff --git a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm.c b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm.c
index 8fa4c89..473c3b0 100644
--- a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm.c
+++ b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm.c
@@ -1992,10 +1992,9 @@ invalid_port_id:
compat_copy_fm_pcd_cc_tbl_get_miss(compat_param, &param, COMPAT_K_TO_US);
if (copy_to_user((ioc_compat_fm_pcd_cc_tbl_get_miss_params_t*) compat_ptr(arg),
compat_param,
- sizeof(ioc_compat_fm_pcd_cc_tbl_get_miss_params_t))){
- XX_Free(compat_param);
+ sizeof(ioc_compat_fm_pcd_cc_tbl_get_miss_params_t)))
RETURN_ERROR(MINOR, E_READ_FAILED, NO_MSG);
- }
+
XX_Free(compat_param);
}
else
@@ -2067,10 +2066,9 @@ invalid_port_id:
compat_copy_fm_pcd_cc_tbl_get_miss(compat_param, &param, COMPAT_K_TO_US);
if (copy_to_user((ioc_compat_fm_pcd_cc_tbl_get_miss_params_t*) compat_ptr(arg),
compat_param,
- sizeof(ioc_compat_fm_pcd_cc_tbl_get_miss_params_t))){
- XX_Free(compat_param);
+ sizeof(ioc_compat_fm_pcd_cc_tbl_get_miss_params_t)))
RETURN_ERROR(MINOR, E_READ_FAILED, NO_MSG);
- }
+
XX_Free(compat_param);
}
else
@@ -2261,7 +2259,6 @@ invalid_port_id:
else
{
XX_Free(compat_param);
- XX_Free(param);
err = E_INVALID_VALUE;
break;
}
@@ -3245,21 +3242,18 @@ t_Error LnxwrpFmIOCTL(t_LnxWrpFmDev *p_LnxWrpFmDev, unsigned int cmd, unsigned l
{
if (copy_to_user((ioc_fm_revision_info_t *)compat_ptr(arg),
param,
- sizeof(ioc_fm_revision_info_t))){
- XX_Free(param);
+ sizeof(ioc_fm_revision_info_t)))
RETURN_ERROR(MINOR, E_READ_FAILED, NO_MSG);
- }
}
else
#endif
{
if (copy_to_user((ioc_fm_revision_info_t *)arg,
param,
- sizeof(ioc_fm_revision_info_t))){
- XX_Free(param);
+ sizeof(ioc_fm_revision_info_t)))
RETURN_ERROR(MINOR, E_READ_FAILED, NO_MSG);
- }
}
+
XX_Free(param);
break;
}
diff --git a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.c b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.c
index 5dc7294..3c1ac30 100644
--- a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.c
+++ b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_ioctls_fm_compat.c
@@ -367,7 +367,6 @@ static inline void compat_copy_fm_pcd_cc_next_engine(
case e_IOC_FM_PCD_DONE:
case e_IOC_FM_PCD_PLCR:
param->manip_id = compat_pcd_id2ptr(compat_param->manip_id);
- break;
default:
memcpy(&param->params, &compat_param->params, sizeof(param->params));
}
@@ -394,7 +393,6 @@ static inline void compat_copy_fm_pcd_cc_next_engine(
case e_IOC_FM_PCD_DONE:
case e_IOC_FM_PCD_PLCR:
compat_param->manip_id = compat_pcd_ptr2id(param->manip_id);
- break;
default:
memcpy(&compat_param->params, &param->params, sizeof(compat_param->params));
}
@@ -940,8 +938,8 @@ void compat_copy_keys(
#if (DPAA_VERSION >= 11)
memcpy(&compat_param->frame_length_ranges,
&param->frame_length_ranges,
- sizeof(compat_param->frame_length_ranges[0]) *
- IOC_FM_PCD_CC_STATS_MAX_NUM_OF_FLR);
+ sizeof(compat_param->frame_length_ranges[0] *
+ IOC_FM_PCD_CC_STATS_MAX_NUM_OF_FLR));
#endif /* (DPAA_VERSION >= 11) */
}
diff --git a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_sysfs_fm.c b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_sysfs_fm.c
index dd3bc3e..0ea6d1c 100644
--- a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_sysfs_fm.c
+++ b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_sysfs_fm.c
@@ -1736,7 +1736,7 @@ int fm_plcr_dump_regs(void *h_fm_pcd, char *buf, int nn)
&p_pcd->p_FmPcdPlcr->p_FmPcdPlcrRegs->fmpl_pmr,
"fmpl_pmr");
- for (i = 0; i < 63; ++i)
+ for (i = 0; i < 64; ++i)
FM_DMP_MEM_32(buf, n,
&p_pcd->p_FmPcdPlcr->p_FmPcdPlcrRegs->fmpl_pmr[i]);
diff --git a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_sysfs_fm_port.c b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_sysfs_fm_port.c
index ae4bb87..ebed557 100644
--- a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_sysfs_fm_port.c
+++ b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_sysfs_fm_port.c
@@ -1201,6 +1201,8 @@ int fm_port_dump_regs_bmi(void *h_dev, char *buf, int nn)
FM_DMP_SUBTITLE(buf, n, "\n");
FM_DMP_V32(buf, n, &p_bmi->txPortBmiRegs, fmbm_tgpr);
break;
+ default:
+ return -EINVAL;
}
FM_DMP_SUBTITLE(buf, n, "\n");
diff --git a/drivers/net/ethernet/freescale/fman/src/xx/Makefile b/drivers/net/ethernet/freescale/fman/src/xx/Makefile
index 3e857d8..1e0db57 100644
--- a/drivers/net/ethernet/freescale/fman/src/xx/Makefile
+++ b/drivers/net/ethernet/freescale/fman/src/xx/Makefile
@@ -8,5 +8,5 @@ include $(srctree)/drivers/net/ethernet/freescale/fman/ncsw_config.mk
obj-y += fsl-ncsw-xx.o
-fsl-ncsw-xx-objs := xx_linux.o stdlib.o \
+fsl-ncsw-xx-objs := xx_linux.o udivdi3.o stdlib.o \
module_strings.o
diff --git a/drivers/net/ethernet/freescale/fman/src/xx/xx_linux.c b/drivers/net/ethernet/freescale/fman/src/xx/xx_linux.c
index d5c639a..546c68b 100644
--- a/drivers/net/ethernet/freescale/fman/src/xx/xx_linux.c
+++ b/drivers/net/ethernet/freescale/fman/src/xx/xx_linux.c
@@ -400,10 +400,33 @@ typedef struct {
t_Handle interruptHandlers[0x00010000];
+static irqreturn_t LinuxInterruptHandler (int irq, void *dev_id)
+{
+ t_InterruptHandler *p_IntrHndl = (t_InterruptHandler *)dev_id;
+ p_IntrHndl->f_Isr(p_IntrHndl->handle);
+ return IRQ_HANDLED;
+}
t_Error XX_SetIntr(int irq, t_Isr *f_Isr, t_Handle handle)
{
-/* not used */
+ const char *device;
+ t_InterruptHandler *p_IntrHndl;
+
+ device = GetDeviceName(irq);
+ if (device == NULL)
+ RETURN_ERROR(MAJOR, E_INVALID_VALUE, ("Interrupt source - %d", irq));
+
+ p_IntrHndl = (t_InterruptHandler *)XX_Malloc(sizeof(t_InterruptHandler));
+ if (p_IntrHndl == NULL)
+ RETURN_ERROR(MAJOR, E_NO_MEMORY, NO_MSG);
+ p_IntrHndl->f_Isr = f_Isr;
+ p_IntrHndl->handle = handle;
+ interruptHandlers[irq] = p_IntrHndl;
+
+ if (request_irq(GetDeviceIrqNum(irq), LinuxInterruptHandler, 0, device, p_IntrHndl) < 0)
+ RETURN_ERROR(MAJOR, E_BUSY, ("Can't get IRQ %s\n", device));
+ disable_irq(GetDeviceIrqNum(irq));
+
return E_OK;
}