[PATCH v2] staging: rtl8188eu: remove unnecessary comments in hal8188e_phy_cfg.h
Remove unnecessary comments in hal8188e_phy_cfg.h to improve readability and clear multiple blank lines checkpatch issues. CHECK: Please don't use multiple blank lines Signed-off-by: Michael Straube --- v1 -> v2 Remove one more line as suggested by Dan Carpenter. .../rtl8188eu/include/hal8188e_phy_cfg.h | 25 --- 1 file changed, 25 deletions(-) diff --git a/drivers/staging/rtl8188eu/include/hal8188e_phy_cfg.h b/drivers/staging/rtl8188eu/include/hal8188e_phy_cfg.h index 0c5b2b0948f5..a1055ceb7206 100644 --- a/drivers/staging/rtl8188eu/include/hal8188e_phy_cfg.h +++ b/drivers/staging/rtl8188eu/include/hal8188e_phy_cfg.h @@ -7,8 +7,6 @@ #ifndef __INC_HAL8188EPHYCFG_H__ #define __INC_HAL8188EPHYCFG_H__ - -/*--Define Parameters---*/ #define LOOP_LIMIT 5 #define MAX_STALL_TIME 50 /* us */ #define AntennaDiversityValue 0x80 @@ -17,11 +15,6 @@ #define MAX_AGGR_NUM 0x07 - -/*--Define Parameters---*/ - - -/*--Define structure*/ enum sw_chnl_cmd_id { CmdID_End, CmdID_SetTxPowerLevel, @@ -145,22 +138,6 @@ struct bb_reg_def { */ }; -/*--Define structure*/ - - -/*Export global variable*/ -/*Export global variable*/ - - -/*Export Marco Definition---*/ -/*Export Marco Definition---*/ - - -/*--Exported Function prototype-*/ -/* */ -/* BB and RF register read/write */ -/* */ - /* Read initi reg value for tx power setting. */ void rtl8192c_PHY_GetHWRegOriginalValue(struct adapter *adapter); @@ -181,8 +158,6 @@ void PHY_EnableHostClkReq(struct adapter *adapter); bool SetAntennaConfig92C(struct adapter *adapter, u8 defaultant); -/*--Exported Function prototype-*/ - #define PHY_SetMacReg PHY_SetBBReg #defineSIC_HW_SUPPORT 0 -- 2.27.0 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v3] staging: wfx: Get descriptors for GPIOs
The code has the functionality to insert the GPIO lines using the global GPIO numbers through module parameters. As we are clearly deprecating the use of global GPIO numbers look up the GPIO descriptors from the device instead. This usually falls back to device hardware descriptions using e.g. device tree or ACPI. This device clearly supports device tree when used over SPI for example. For example, this can be supplied in the device tree like so: wfx@0x01 { compatible = "silabs,wf200"; reset-gpios = <&gpio0 1>; wakeup-gpios = <&gpio0 2>; }; Cc: Jérôme Pouiller Signed-off-by: Linus Walleij --- ChangeLog v2->v3: - ERR_CAST not PTR_CAST ChangeLog v1->v2: - Fixed a cast and a variable name. - I still don't know how to compile this but hey the zeroday robot does. --- drivers/staging/wfx/bus_spi.c | 11 + drivers/staging/wfx/main.c| 42 --- drivers/staging/wfx/main.h| 2 -- 3 files changed, 9 insertions(+), 46 deletions(-) diff --git a/drivers/staging/wfx/bus_spi.c b/drivers/staging/wfx/bus_spi.c index e8da61fb096b..88ca5d453e83 100644 --- a/drivers/staging/wfx/bus_spi.c +++ b/drivers/staging/wfx/bus_spi.c @@ -8,7 +8,6 @@ */ #include #include -#include #include #include #include @@ -21,10 +20,6 @@ #include "main.h" #include "bh.h" -static int gpio_reset = -2; -module_param(gpio_reset, int, 0644); -MODULE_PARM_DESC(gpio_reset, "gpio number for reset. -1 for none."); - #define SET_WRITE 0x7FFF/* usage: and operation */ #define SET_READ 0x8000 /* usage: or operation */ @@ -211,10 +206,14 @@ static int wfx_spi_probe(struct spi_device *func) bus->need_swab = true; spi_set_drvdata(func, bus); - bus->gpio_reset = wfx_get_gpio(&func->dev, gpio_reset, "reset"); + bus->gpio_reset = devm_gpiod_get_optional(&func->dev, "reset" + GPIOD_OUT_HIGH); + if (IS_ERR(bus->gpio_reset)) + return PTR_ERR(bus->gpio_reset); if (!bus->gpio_reset) { dev_warn(&func->dev, "try to load firmware anyway\n"); } else { + gpiod_set_consumer_name(bus->gpio_reset, "wfx reset"); if (spi_get_device_id(func)->driver_data & WFX_RESET_INVERTED) gpiod_toggle_active_low(bus->gpio_reset); gpiod_set_value_cansleep(bus->gpio_reset, 1); diff --git a/drivers/staging/wfx/main.c b/drivers/staging/wfx/main.c index 6bd96f476388..d90169fe1851 100644 --- a/drivers/staging/wfx/main.c +++ b/drivers/staging/wfx/main.c @@ -13,7 +13,6 @@ #include #include #include -#include #include #include #include @@ -41,10 +40,6 @@ MODULE_DESCRIPTION("Silicon Labs 802.11 Wireless LAN driver for WFx"); MODULE_AUTHOR("Jérôme Pouiller "); MODULE_LICENSE("GPL"); -static int gpio_wakeup = -2; -module_param(gpio_wakeup, int, 0644); -MODULE_PARM_DESC(gpio_wakeup, "gpio number for wakeup. -1 for none."); - #define RATETAB_ENT(_rate, _rateid, _flags) { \ .bitrate = (_rate), \ .hw_value = (_rateid), \ @@ -170,38 +165,6 @@ bool wfx_api_older_than(struct wfx_dev *wdev, int major, int minor) return false; } -struct gpio_desc *wfx_get_gpio(struct device *dev, - int override, const char *label) -{ - struct gpio_desc *ret; - char label_buf[256]; - - if (override >= 0) { - snprintf(label_buf, sizeof(label_buf), "wfx_%s", label); - ret = ERR_PTR(devm_gpio_request_one(dev, override, - GPIOF_OUT_INIT_LOW, - label_buf)); - if (!ret) - ret = gpio_to_desc(override); - } else if (override == -1) { - ret = NULL; - } else { - ret = devm_gpiod_get(dev, label, GPIOD_OUT_LOW); - } - if (IS_ERR_OR_NULL(ret)) { - if (!ret || PTR_ERR(ret) == -ENOENT) - dev_warn(dev, "gpio %s is not defined\n", label); - else - dev_warn(dev, "error while requesting gpio %s\n", -label); - ret = NULL; - } else { - dev_dbg(dev, "using gpio %d for %s\n", - desc_to_gpio(ret), label); - } - return ret; -} - /* NOTE: wfx_send_pds() destroy buf */ int wfx_send_pds(struct wfx_dev *wdev, u8 *buf, size_t len) { @@ -340,7 +303,10 @@ struct wfx_dev *wfx_init_common(struct device *dev, memcpy(&wdev->pdata, pdata, sizeof(*pdata)); of_property_read_string(dev->of_node, "config-file", &wdev->pdata.file_pds); - wdev->pdata.gpio_wakeup = wfx_get_gpio(dev, gpio_wakeup, "wakeup"); + wdev->pdata.gpio_wakeup = devm_gpiod_get(dev, "wakeup", GPIOD_IN); + if (IS_ERR(wdev->pdata.gpio_wakeup)) +
Re: [PATCH v3] staging: wfx: Get descriptors for GPIOs
On Sun, Jun 28, 2020 at 10:52:36AM +0200, Linus Walleij wrote: > The code has the functionality to insert the GPIO lines using > the global GPIO numbers through module parameters. > > As we are clearly deprecating the use of global GPIO numbers > look up the GPIO descriptors from the device instead. This > usually falls back to device hardware descriptions using e.g. > device tree or ACPI. This device clearly supports device > tree when used over SPI for example. > > For example, this can be supplied in the device tree like so: > > wfx@0x01 { > compatible = "silabs,wf200"; > reset-gpios = <&gpio0 1>; > wakeup-gpios = <&gpio0 2>; > }; > > Cc: Jérôme Pouiller > Signed-off-by: Linus Walleij > --- > ChangeLog v2->v3: > - ERR_CAST not PTR_CAST > ChangeLog v1->v2: > - Fixed a cast and a variable name. > - I still don't know how to compile this but hey the zeroday > robot does. I can build this on my desktop, and this patch still blows up the build. What is wrong with your setup that this doesn't build for you? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v3] staging: wfx: Get descriptors for GPIOs
On Sun, Jun 28, 2020 at 12:43:02PM +0200, Greg KH wrote: > On Sun, Jun 28, 2020 at 10:52:36AM +0200, Linus Walleij wrote: > > The code has the functionality to insert the GPIO lines using > > the global GPIO numbers through module parameters. > > > > As we are clearly deprecating the use of global GPIO numbers > > look up the GPIO descriptors from the device instead. This > > usually falls back to device hardware descriptions using e.g. > > device tree or ACPI. This device clearly supports device > > tree when used over SPI for example. > > > > For example, this can be supplied in the device tree like so: > > > > wfx@0x01 { > > compatible = "silabs,wf200"; > > reset-gpios = <&gpio0 1>; > > wakeup-gpios = <&gpio0 2>; > > }; > > > > Cc: Jérôme Pouiller > > Signed-off-by: Linus Walleij > > --- > > ChangeLog v2->v3: > > - ERR_CAST not PTR_CAST > > ChangeLog v1->v2: > > - Fixed a cast and a variable name. > > - I still don't know how to compile this but hey the zeroday > > robot does. > > I can build this on my desktop, and this patch still blows up the build. Oh, and here's the breakage: rivers/staging/wfx/bus_spi.c: In function ‘wfx_spi_probe’: drivers/staging/wfx/bus_spi.c:209:63: error: expected ‘)’ before ‘GPIOD_OUT_HIGH’ 209 | bus->gpio_reset = devm_gpiod_get_optional(&func->dev, "reset" | ^ | ) 210 | GPIOD_OUT_HIGH); | ~~ ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging/wilc1000: let wilc_mac_xmit() to NETDEV_TX_OK
The method ndo_start_xmit() is defined as returning an 'netdev_tx_t', which is a typedef for an enum type defining 'NETDEV_TX_OK' but this driver returns '0' instead of 'NETDEV_TX_OK'. Fix this by returning ''NETDEV_TX_OK' instead of 0. Signed-off-by: Luc Van Oostenryck --- drivers/staging/wilc1000/netdev.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/wilc1000/netdev.c b/drivers/staging/wilc1000/netdev.c index fda0ab97b02c..be3ae5486f44 100644 --- a/drivers/staging/wilc1000/netdev.c +++ b/drivers/staging/wilc1000/netdev.c @@ -678,14 +678,14 @@ netdev_tx_t wilc_mac_xmit(struct sk_buff *skb, struct net_device *ndev) if (skb->dev != ndev) { netdev_err(ndev, "Packet not destined to this device\n"); - return 0; + return NETDEV_TX_OK; } tx_data = kmalloc(sizeof(*tx_data), GFP_ATOMIC); if (!tx_data) { dev_kfree_skb(skb); netif_wake_queue(ndev); - return 0; + return NETDEV_TX_OK; } tx_data->buff = skb->data; @@ -710,7 +710,7 @@ netdev_tx_t wilc_mac_xmit(struct sk_buff *skb, struct net_device *ndev) srcu_read_unlock(&wilc->srcu, srcu_idx); } - return 0; + return NETDEV_TX_OK; } static int wilc_mac_close(struct net_device *ndev) -- 2.27.0 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: ks7010: fix ks_wlan_start_xmit()'s return type
The method ndo_start_xmit() is defined as returning an 'netdev_tx_t', which is a typedef for an enum type, but the implementation in this driver returns an 'int'. Fix this by returning 'netdev_tx_t' in this driver too and usind 'NETDEV_TX_OK' instead of 0 accordingly. Signed-off-by: Luc Van Oostenryck --- drivers/staging/ks7010/ks_wlan_net.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/ks7010/ks_wlan_net.c b/drivers/staging/ks7010/ks_wlan_net.c index 211dd4a11cac..334ae1ded684 100644 --- a/drivers/staging/ks7010/ks_wlan_net.c +++ b/drivers/staging/ks7010/ks_wlan_net.c @@ -46,7 +46,7 @@ struct wep_key { */ static int ks_wlan_open(struct net_device *dev); static void ks_wlan_tx_timeout(struct net_device *dev, unsigned int txqueue); -static int ks_wlan_start_xmit(struct sk_buff *skb, struct net_device *dev); +static netdev_tx_t ks_wlan_start_xmit(struct sk_buff *skb, struct net_device *dev); static int ks_wlan_close(struct net_device *dev); static void ks_wlan_set_rx_mode(struct net_device *dev); static struct net_device_stats *ks_wlan_get_stats(struct net_device *dev); @@ -2511,7 +2511,7 @@ void ks_wlan_tx_timeout(struct net_device *dev, unsigned int txqueue) } static -int ks_wlan_start_xmit(struct sk_buff *skb, struct net_device *dev) +netdev_tx_t ks_wlan_start_xmit(struct sk_buff *skb, struct net_device *dev) { struct ks_wlan_private *priv = netdev_priv(dev); int ret; -- 2.27.0 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] fbtft-bus.c: Removing that prohibited space before ')'
Hi K, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on staging/staging-testing] [also build test WARNING on v5.8-rc2 next-20200626] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/B-K-Karthik/fbtft-bus-c-Removing-that-prohibited-space-before/20200627-125315 base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 92cd1b5d65f5c67147c7da39a3c2ad7e6ff81027 config: ia64-randconfig-s031-20200624 (attached as .config) compiler: ia64-linux-gcc (GCC) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.2-dirty # save the attached .config to linux build tree make W=1 C=1 ARCH=ia64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> drivers/staging/fbtft/fbtft-bus.c:65:1: sparse: sparse: macro >> "define_fbtft_write_reg" requires 4 arguments, but only 3 given drivers/staging/fbtft/fbtft-bus.c:67:1: sparse: sparse: macro "define_fbtft_write_reg" requires 4 arguments, but only 3 given drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at end of declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got void drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ) in function declarator drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got ( >> drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Trying to use >> reserved word 'if' as identifier drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ) in function declarator drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got = >> drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Trying to use >> reserved word 'for' as identifier drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at end of declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got < drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at end of declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got ++ drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at end of declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got += drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at the end of type declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got } drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at end of declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got += drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at the end of type declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got } drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at end of declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got += drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at the end of type declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got } drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at end of declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got += drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at the end of type declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got } drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at the end of type declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got } >> drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Trying to use >> reserved word 'do' as identifier drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at end of declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got { drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at the end of type declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got } drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at the end of type declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got } drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ) in function declarator drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got -> >> drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Trying to use >> reserved word 'if' as identifier drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at the end of type declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got } drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: Expected ; at end of declaration drivers/staging/fbtft/fbtft-bus.c:66:1: sparse: sparse: got += dri
Re: [PATCH 1/4] usb: cdns3: gadget: Replace trace_printk by dev_dbg
On 20-06-27 15:03:04, Nicolas Boichat wrote: > trace_printk should not be used in production code, replace it > call with dev_dbg. > > Signed-off-by: Nicolas Boichat > > --- > > Unclear why a trace_printk was used in the first place, it's > possible that some rate-limiting is necessary here. > > drivers/usb/cdns3/gadget.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/cdns3/gadget.c b/drivers/usb/cdns3/gadget.c > index 5e24c2e57c0d8c8..c303ab7c62d1651 100644 > --- a/drivers/usb/cdns3/gadget.c > +++ b/drivers/usb/cdns3/gadget.c > @@ -421,7 +421,7 @@ static int cdns3_start_all_request(struct cdns3_device > *priv_dev, > if ((priv_req->flags & REQUEST_INTERNAL) || > (priv_ep->flags & EP_TDLCHK_EN) || > priv_ep->use_streams) { > - trace_printk("Blocking external request\n"); > + dev_dbg(priv_dev->dev, "Blocking external request\n"); > return ret; > } > } > -- Reviewed-by: Peter Chen -- Thanks, Peter Chen ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v2 4/4] staging: qlge: replace pr_err with netdev_err
On 2020-06-27 22:58 +0800, Coiby Xu wrote: [...] > void ql_dump_qdev(struct ql_adapter *qdev) > { > @@ -1611,99 +1618,100 @@ void ql_dump_qdev(struct ql_adapter *qdev) > #ifdef QL_CB_DUMP > void ql_dump_wqicb(struct wqicb *wqicb) > { > - pr_err("Dumping wqicb stuff...\n"); > - pr_err("wqicb->len = 0x%x\n", le16_to_cpu(wqicb->len)); > - pr_err("wqicb->flags = %x\n", le16_to_cpu(wqicb->flags)); > - pr_err("wqicb->cq_id_rss = %d\n", > -le16_to_cpu(wqicb->cq_id_rss)); > - pr_err("wqicb->rid = 0x%x\n", le16_to_cpu(wqicb->rid)); > - pr_err("wqicb->wq_addr = 0x%llx\n", > -(unsigned long long)le64_to_cpu(wqicb->addr)); > - pr_err("wqicb->wq_cnsmr_idx_addr = 0x%llx\n", > -(unsigned long long)le64_to_cpu(wqicb->cnsmr_idx_addr)); > + netdev_err(qdev->ndev, "Dumping wqicb stuff...\n"); drivers/staging/qlge/qlge_dbg.c:1621:13: error: ‘qdev’ undeclared (first use in this function); did you mean ‘cdev’? 1621 | netdev_err(qdev->ndev, "Dumping wqicb stuff...\n"); | ^~~~ | cdev [...] and many more like that Anyways, qlge_dbg.h is a dumpster. It has hundreds of lines of code bitrotting away in ifdef land. See this comment from David Miller on the topic of ifdef'ed debugging code: https://lore.kernel.org/netdev/20200303.145916.1506066510928020193.da...@davemloft.net/ ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: rtl8188eu: include: hal8188e_rate_adaptive.h: fixed a blank space coding style issue
added blank space around arithmetic operators to improve readability Signed-off-by: B K Karthik --- .../rtl8188eu/include/hal8188e_rate_adaptive.h | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/staging/rtl8188eu/include/hal8188e_rate_adaptive.h b/drivers/staging/rtl8188eu/include/hal8188e_rate_adaptive.h index 5b59c25e4c8a..79c0d2f9961e 100644 --- a/drivers/staging/rtl8188eu/include/hal8188e_rate_adaptive.h +++ b/drivers/staging/rtl8188eu/include/hal8188e_rate_adaptive.h @@ -35,17 +35,17 @@ #define GET_TX_REPORT_TYPE1_RERTY_0(__pAddr) \ LE_BITS_TO_4BYTE(__pAddr, 0, 16) #define GET_TX_REPORT_TYPE1_RERTY_1(__pAddr) \ - LE_BITS_TO_1BYTE(__pAddr+2, 0, 8) + LE_BITS_TO_1BYTE(__pAddr + 2, 0, 8) #define GET_TX_REPORT_TYPE1_RERTY_2(__pAddr) \ - LE_BITS_TO_1BYTE(__pAddr+3, 0, 8) + LE_BITS_TO_1BYTE(__pAddr + 3, 0, 8) #define GET_TX_REPORT_TYPE1_RERTY_3(__pAddr) \ - LE_BITS_TO_1BYTE(__pAddr+4, 0, 8) + LE_BITS_TO_1BYTE(__pAddr + 4, 0, 8) #define GET_TX_REPORT_TYPE1_RERTY_4(__pAddr) \ - LE_BITS_TO_1BYTE(__pAddr+4+1, 0, 8) + LE_BITS_TO_1BYTE(__pAddr + 4 + 1, 0, 8) #define GET_TX_REPORT_TYPE1_DROP_0(__pAddr)\ - LE_BITS_TO_1BYTE(__pAddr+4+2, 0, 8) + LE_BITS_TO_1BYTE(__pAddr + 4 + 2, 0, 8) #define GET_TX_REPORT_TYPE1_DROP_1(__pAddr)\ - LE_BITS_TO_1BYTE(__pAddr+4+3, 0, 8) + LE_BITS_TO_1BYTE(__pAddr + 4 + 3, 0, 8) /* End rate adaptive define */ -- 2.20.1 signature.asc Description: PGP signature ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel