FINANCE YOUR PROJECT

2020-08-15 Thread AES International Limited
Hello

I am the  CEO AES International Company.  We are  offering Corporate and 
Personal Loan for project funding investment placement  for  Healthcare, Real 
Estate, Transportation and Agriculture at  3% interest  rate for a duration of 
15 years.
We also pay 1% commission to brokers, who introduce project owners for finance 
or other opportunities.

Faithfully,
Sam Instone
CEO AES International 
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [RFC 1/3] Initialize devlink health dump framework for the dlge driver

2020-08-15 Thread Benjamin Poirier
On 2020-08-15 00:05 +0800, Coiby Xu wrote:
> Initialize devlink health dump framework for the dlge driver so the
> coredump could be done via devlink.
> 
> Signed-off-by: Coiby Xu 
> ---
>  drivers/staging/qlge/Makefile  |  2 +-
>  drivers/staging/qlge/qlge.h|  9 +++
>  drivers/staging/qlge/qlge_health.c | 43 ++
>  drivers/staging/qlge/qlge_health.h |  2 ++
>  drivers/staging/qlge/qlge_main.c   | 21 +++
>  5 files changed, 76 insertions(+), 1 deletion(-)
>  create mode 100644 drivers/staging/qlge/qlge_health.c
>  create mode 100644 drivers/staging/qlge/qlge_health.h
> 
> diff --git a/drivers/staging/qlge/Makefile b/drivers/staging/qlge/Makefile
> index 1dc2568e820c..0a1e4c8dd546 100644
> --- a/drivers/staging/qlge/Makefile
> +++ b/drivers/staging/qlge/Makefile
> @@ -5,4 +5,4 @@
>  
>  obj-$(CONFIG_QLGE) += qlge.o
>  
> -qlge-objs := qlge_main.o qlge_dbg.o qlge_mpi.o qlge_ethtool.o
> +qlge-objs := qlge_main.o qlge_dbg.o qlge_mpi.o qlge_ethtool.o qlge_health.o
> diff --git a/drivers/staging/qlge/qlge.h b/drivers/staging/qlge/qlge.h
> index fc8c5ca8935d..055ded6dab60 100644
> --- a/drivers/staging/qlge/qlge.h
> +++ b/drivers/staging/qlge/qlge.h
> @@ -2061,6 +2061,14 @@ struct nic_operations {
>   int (*port_initialize) (struct ql_adapter *);
>  };
>  

This patch doesn't apply over the latest staging tree. I think your tree
is missing commit d923bb6bf508 ("staging: qlge: qlge.h: Function
definition arguments should have names.")

> +
> +
> +struct qlge_devlink {
> +struct ql_adapter *qdev;
> +struct net_device *ndev;

I don't have experience implementing devlink callbacks but looking at
some other devlink users (mlx4, ionic, ice), all of them use devlink
priv space for their main private structure. That would be struct
ql_adapter in this case. Is there a good reason to stray from that
pattern?

> +struct devlink_health_reporter *reporter;
> +};
> +
>  /*
>   * The main Adapter structure definition.
>   * This structure has all fields relevant to the hardware.
> @@ -2078,6 +2086,7 @@ struct ql_adapter {
>   struct pci_dev *pdev;
>   struct net_device *ndev;/* Parent NET device */
>  
> + struct qlge_devlink *devlink;
>   /* Hardware information */
>   u32 chip_rev_id;
>   u32 fw_rev_id;
> diff --git a/drivers/staging/qlge/qlge_health.c 
> b/drivers/staging/qlge/qlge_health.c
> new file mode 100644
> index ..292f6b1827e1
> --- /dev/null
> +++ b/drivers/staging/qlge/qlge_health.c
> @@ -0,0 +1,43 @@
> +#include "qlge.h"
> +#include "qlge_health.h"
> +
> +static int
> +qlge_reporter_coredump(struct devlink_health_reporter *reporter,
> + struct devlink_fmsg *fmsg, void *priv_ctx,
> + struct netlink_ext_ack *extack)
> +{
> + return 0;
> +}
> +
> +static const struct devlink_health_reporter_ops qlge_reporter_ops = {
> + .name = "dummy",
> + .dump = qlge_reporter_coredump,
> +};

I think
select NET_DEVLINK
should be added to drivers/staging/qlge/Kconfig

> +
> +int qlge_health_create_reporters(struct qlge_devlink *priv)
> +{
> + int err;
> +
> + struct devlink_health_reporter *reporter;
> + struct devlink *devlink;
> +
> + devlink = priv_to_devlink(priv);
> + reporter =
> + devlink_health_reporter_create(devlink, _reporter_ops,
> +0,
> +priv);
> + if (IS_ERR(reporter)) {
> + netdev_warn(priv->ndev,
> + "Failed to create reporter, err = %ld\n",
> + PTR_ERR(reporter));
> + return PTR_ERR(reporter);
> + }
> + priv->reporter = reporter;
> +
> + if (err)
> + return err;
> +
> + return 0;
> +}
> +
> +

Stray newlines

> diff --git a/drivers/staging/qlge/qlge_health.h 
> b/drivers/staging/qlge/qlge_health.h
> new file mode 100644
> index ..07d3bafab845
> --- /dev/null
> +++ b/drivers/staging/qlge/qlge_health.h
> @@ -0,0 +1,2 @@
> +#include 
> +int qlge_health_create_reporters(struct qlge_devlink *priv);

I would suggest to put this in qlge.h instead of creating a new file.

> diff --git a/drivers/staging/qlge/qlge_main.c 
> b/drivers/staging/qlge/qlge_main.c
> index 1650de13842f..b2be7f4b7dd6 100644
> --- a/drivers/staging/qlge/qlge_main.c
> +++ b/drivers/staging/qlge/qlge_main.c
> @@ -42,6 +42,7 @@
>  #include 
>  
>  #include "qlge.h"
> +#include "qlge_health.h"
>  
>  char qlge_driver_name[] = DRV_NAME;
>  const char qlge_driver_version[] = DRV_VERSION;
> @@ -4550,6 +4551,8 @@ static void ql_timer(struct timer_list *t)
>   mod_timer(>timer, jiffies + (5 * HZ));
>  }
>  
> +static const struct devlink_ops qlge_devlink_ops;
> +
>  static int qlge_probe(struct pci_dev *pdev,
> const struct pci_device_id *pci_entry)
>  {
> @@ -4557,6 +4560,13 @@ static int 

Re: [RFC 3/3] staging: qlge: clean up code that dump info to dmesg

2020-08-15 Thread Benjamin Poirier
On 2020-08-15 00:06 +0800, Coiby Xu wrote:
> The related code are not necessary because,
> - Device status and general registers can be obtained by ethtool.
> - Coredump can be done via devlink health reporter.
> - Structure related to the hardware (struct ql_adapter) can be obtained
>   by crash or drgn.

I would suggest to add the drgn script from the cover letter to
Documentation/networking/device_drivers/qlogic/

I would also suggest to submit a separate patch now which fixes the
build breakage reported in <20200629053004.GA6165@f3> while you work on
removing that code.

> 
> Signed-off-by: Coiby Xu 
> ---
>  drivers/staging/qlge/qlge.h |  82 
>  drivers/staging/qlge/qlge_dbg.c | 672 
>  drivers/staging/qlge/qlge_ethtool.c |   1 -
>  drivers/staging/qlge/qlge_main.c|   6 -
>  4 files changed, 761 deletions(-)
> 
[...]
> diff --git a/drivers/staging/qlge/qlge_dbg.c b/drivers/staging/qlge/qlge_dbg.c
> index 058889687907..368394123d16 100644
> --- a/drivers/staging/qlge/qlge_dbg.c
> +++ b/drivers/staging/qlge/qlge_dbg.c
> @@ -1326,675 +1326,3 @@ void ql_mpi_core_to_log(struct work_struct *work)
>  sizeof(*qdev->mpi_coredump), false);
>  }
> 
> -#ifdef QL_REG_DUMP
> -static void ql_dump_intr_states(struct ql_adapter *qdev)
> -{
[...]
> - }
> -}
> -#endif

This leaves a stray newline at the end of the file and also does not
apply over latest staging.
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: r8188eu: remove unnecessary type cast of rtw_netdev_priv() result

2020-08-15 Thread Ivan Safonov
The type cast
padapter = (struct adapter *)rtw_netdev_priv(dev);
do nothing because type of rtw_netdev_priv() result
is (struct adapter *).

Signed-off-by: Ivan Safonov 
---
 drivers/staging/rtl8188eu/core/rtw_debug.c|  8 +-
 drivers/staging/rtl8188eu/core/rtw_pwrctrl.c  |  2 +-
 .../staging/rtl8188eu/os_dep/ioctl_linux.c| 88 +--
 drivers/staging/rtl8188eu/os_dep/os_intfs.c   | 10 +--
 .../staging/rtl8188eu/os_dep/rtw_android.c|  6 +-
 drivers/staging/rtl8188eu/os_dep/xmit_linux.c |  2 +-
 6 files changed, 58 insertions(+), 58 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_debug.c 
b/drivers/staging/rtl8188eu/core/rtw_debug.c
index fcc8bd1011e1..3c0d20cb9c6a 100644
--- a/drivers/staging/rtl8188eu/core/rtw_debug.c
+++ b/drivers/staging/rtl8188eu/core/rtw_debug.c
@@ -33,7 +33,7 @@ int proc_set_write_reg(struct file *file, const char __user 
*buffer,
   unsigned long count, void *data)
 {
struct net_device *dev = data;
-   struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
+   struct adapter *padapter = rtw_netdev_priv(dev);
char tmp[32];
u32 addr, val, len;
 
@@ -75,7 +75,7 @@ int proc_get_read_reg(char *page, char **start,
  int *eof, void *data)
 {
struct net_device *dev = data;
-   struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
+   struct adapter *padapter = rtw_netdev_priv(dev);
 
int len = 0;
 
@@ -135,7 +135,7 @@ int proc_get_adapter_state(char *page, char **start,
   int *eof, void *data)
 {
struct net_device *dev = data;
-   struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
+   struct adapter *padapter = rtw_netdev_priv(dev);
int len = 0;
 
len += scnprintf(page + len, count - len, "bSurpriseRemoved=%d, 
bDriverStopped=%d\n",
@@ -150,7 +150,7 @@ int proc_get_best_channel(char *page, char **start,
  int *eof, void *data)
 {
struct net_device *dev = data;
-   struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
+   struct adapter *padapter = rtw_netdev_priv(dev);
struct mlme_ext_priv *pmlmeext = >mlmeextpriv;
int len = 0;
u32 i, best_channel_24G = 1, index_24G = 0;
diff --git a/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c 
b/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
index 39ca97411fd5..f74753c37a29 100644
--- a/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
+++ b/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
@@ -84,7 +84,7 @@ static int rtw_hw_resume(struct adapter *padapter)
pwrpriv->bips_processing = true;
rtw_reset_drv_sw(padapter);
 
-   if (ips_netdrv_open((struct adapter *)rtw_netdev_priv(pnetdev)) != 
_SUCCESS) {
+   if (ips_netdrv_open(rtw_netdev_priv(pnetdev)) != _SUCCESS) {
mutex_unlock(>mutex_lock);
goto error_exit;
}
diff --git a/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c 
b/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
index 2e83d24fcb09..13f12edd81cd 100644
--- a/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
@@ -310,7 +310,7 @@ static char *translate_scan(struct adapter *padapter,
 
 static int wpa_set_auth_algs(struct net_device *dev, u32 value)
 {
-   struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
+   struct adapter *padapter = rtw_netdev_priv(dev);
int ret = 0;
 
if ((value & AUTH_ALG_SHARED_KEY) && (value & AUTH_ALG_OPEN_SYSTEM)) {
@@ -344,7 +344,7 @@ static int wpa_set_encryption(struct net_device *dev, 
struct ieee_param *param,
int ret = 0;
u32 wep_key_idx, wep_key_len, wep_total_len;
struct ndis_802_11_wep   *pwep = NULL;
-   struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
+   struct adapter *padapter = rtw_netdev_priv(dev);
struct mlme_priv*pmlmepriv = >mlmepriv;
struct security_priv *psecuritypriv = >securitypriv;
 
@@ -616,7 +616,7 @@ static int rtw_wx_get_name(struct net_device *dev,
 struct iw_request_info *info,
 union iwreq_data *wrqu, char *extra)
 {
-   struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
+   struct adapter *padapter = rtw_netdev_priv(dev);
u32 ht_ielen = 0;
char *p;
u8 ht_cap = false;
@@ -668,7 +668,7 @@ static int rtw_wx_get_freq(struct net_device *dev,
 struct iw_request_info *info,
 union iwreq_data *wrqu, char *extra)
 {
-   struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
+   struct adapter *padapter = rtw_netdev_priv(dev);
struct  mlme_priv   *pmlmepriv = >mlmepriv;
struct wlan_bssid_ex  *pcur_bss = >cur_network.network;
 
@@ -689,7 +689,7 @@ static int rtw_wx_get_freq(struct net_device 

Reply=

2020-08-15 Thread Ms. Reem
Hello,

My name is Ms. Reem Ebrahim Al-Hashimi, I am the "Minister of state and 
Petroleum" also "Minister of 

State for International Cooperation" in UAE.  I write to you on behalf of my 
other "three (3) 

colleagues" who has approved me to solicit for your "partnership in claiming of 
{us$90=Million}" 

from a Financial Home in Cambodia on their behalf and for our "Mutual Benefits".

The Fund {us$90=Million} is our "outstanding share from the Over-invoiced" 
Oil/Gas deal with 

Cambodian/Vietnam Government within  2013/2014, however, We don't want our 
government to know about 

the fund. If this proposal interests you, let me know, by sending me an email 
and I will send to you 

detailed information on how this business would be successfully transacted. Be 
informed that nobody 

knows about the secret of this fund except us, and we know how to carry out the 
entire transaction. 

So I am compelled to ask, that you will stand on our behalf and receive this 
fund into any account 

that is solely controlled by you.

We will compensate you with 30% of the total amount involved as gratification 
for being our partner 

in this transaction. Reply to my private email as stated: 
reemal-hash...@yandex.com

Regards,
Ms. Reem Ebrahim Al-Hashimi.
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel