[PATCH] staging: wilc1000: Fixes Alignment should match open parenthesis
From: Richard Miller This patch fixes the following checkpatch.pl check: CHECK: Alignment should match open parenthesis Signed-off-by: Richard Miller --- drivers/staging/wilc1000/host_interface.c | 2 +- drivers/staging/wilc1000/linux_wlan.c | 8 drivers/staging/wilc1000/wilc_spi.c | 2 +- drivers/staging/wilc1000/wilc_wfi_cfgoperations.c | 19 +-- drivers/staging/wilc1000/wilc_wlan.c | 12 ++-- 5 files changed, 21 insertions(+), 22 deletions(-) diff --git a/drivers/staging/wilc1000/host_interface.c b/drivers/staging/wilc1000/host_interface.c index c307ccef..ef25850f 100644 --- a/drivers/staging/wilc1000/host_interface.c +++ b/drivers/staging/wilc1000/host_interface.c @@ -1350,7 +1350,7 @@ static s32 Handle_RcvdGnrlAsyncInfo(struct wilc_vif *vif, if (u32RcvdAssocRespInfoLen != 0) { s32Err = wilc_parse_assoc_resp_info(rcv_assoc_resp, u32RcvdAssocRespInfoLen, - &pstrConnectRespInfo); + &pstrConnectRespInfo); if (s32Err) { netdev_err(vif->ndev, "wilc_parse_assoc_resp_info() returned error %d\n", s32Err); } else { diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c index 2eebc621..1cb6f172 100644 --- a/drivers/staging/wilc1000/linux_wlan.c +++ b/drivers/staging/wilc1000/linux_wlan.c @@ -870,12 +870,12 @@ static int wilc_mac_open(struct net_device *ndev) if (memcmp(wl->vif[i ^ 1]->bssid, wl->vif[i ^ 1]->src_addr, 6)) wilc_set_wfi_drv_handler(vif, -wilc_get_vif_idx(vif), -0); + wilc_get_vif_idx(vif), +0); else wilc_set_wfi_drv_handler(vif, -wilc_get_vif_idx(vif), -1); + wilc_get_vif_idx(vif), +1); } wilc_set_operation_mode(vif, vif->iftype); diff --git a/drivers/staging/wilc1000/wilc_spi.c b/drivers/staging/wilc1000/wilc_spi.c index 55d53c3a..8d0c4c69 100644 --- a/drivers/staging/wilc1000/wilc_spi.c +++ b/drivers/staging/wilc1000/wilc_spi.c @@ -410,7 +410,7 @@ static int spi_cmd_complete(struct wilc *wilc, u8 cmd, u32 adr, u8 *b, u32 sz, if (len2 > ARRAY_SIZE(wb)) { dev_err(&spi->dev, "spi buffer size too small (%d) (%zu)\n", -len2, ARRAY_SIZE(wb)); + len2, ARRAY_SIZE(wb)); return N_FAIL; } /* zero spi write buffers. */ diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c index 7961d1c5..ed398ed5 100644 --- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c +++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c @@ -1301,16 +1301,16 @@ static int set_pmksa(struct wiphy *wiphy, struct net_device *netdev, for (i = 0; i < priv->pmkid_list.numpmkid; i++) { if (!memcmp(pmksa->bssid, priv->pmkid_list.pmkidlist[i].bssid, -ETH_ALEN)) { + ETH_ALEN)) { flag = PMKID_FOUND; break; } } if (i < WILC_MAX_NUM_PMKIDS) { memcpy(priv->pmkid_list.pmkidlist[i].bssid, pmksa->bssid, - ETH_ALEN); + ETH_ALEN); memcpy(priv->pmkid_list.pmkidlist[i].pmkid, pmksa->pmkid, - PMKID_LEN); + PMKID_LEN); if (!(flag == PMKID_FOUND)) priv->pmkid_list.numpmkid++; } else { @@ -1334,7 +1334,7 @@ static int del_pmksa(struct wiphy *wiphy, struct net_device *netdev, for (i = 0; i < priv->pmkid_list.numpmkid; i++) { if (!memcmp(pmksa->bssid, priv->pmkid_list.pmkidlist[i].bssid, -ETH_ALEN)) { + ETH_ALEN)) { memset(&priv->pmkid_list.pmkidlist[i], 0, sizeof(struct host_if_pmkid)); break; } @@ -1343,11 +1343,11 @@ static int del_pmksa(struct w
[patch 1/1] staging: speakup: add send_xchar and tiocmset methods
This adds two methods to spk_synth struct: send_xchar and tiocmset, and creates serial implementation for each of them. It takes existing code in apollo, audptr and spkout which already fits the behaviour of send_xchar and tiocmset. In follow-up patches there will be TTY-based implementations of these methods. Then migrating the synths to TTY will include repointing these methods to their TTY implementations Rest of the changes simply make use of serial implementation of these two functions. Signed-off-by: Okash Khawaja Reviewed-by: Samuel Thibault Index: linux-staging/drivers/staging/speakup/serialio.c === --- linux-staging.orig/drivers/staging/speakup/serialio.c +++ linux-staging/drivers/staging/speakup/serialio.c @@ -26,8 +26,13 @@ static const struct old_serial_port *ser static int timeouts; static int spk_serial_out(struct spk_synth *in_synth, const char ch); +static void spk_serial_send_xchar(char ch); +static void spk_serial_tiocmset(unsigned int set, unsigned int clear); + struct spk_io_ops spk_serial_io_ops = { .synth_out = spk_serial_out, + .send_xchar = spk_serial_send_xchar, + .tiocmset = spk_serial_tiocmset, }; EXPORT_SYMBOL_GPL(spk_serial_io_ops); @@ -136,6 +141,24 @@ static void start_serial_interrupt(int i outb(1, speakup_info.port_tts + UART_FCR); /* Turn FIFO On */ } +static void spk_serial_send_xchar(char ch) +{ + int timeout = SPK_XMITR_TIMEOUT; + + while (spk_serial_tx_busy()) { + if (!--timeout) + break; + udelay(1); + } + outb(ch, speakup_info.port_tts); +} + +static void spk_serial_tiocmset(unsigned int set, unsigned int clear) +{ + int old = inb(speakup_info.port_tts + UART_MCR); + outb((old & ~clear) | set, speakup_info.port_tts + UART_MCR); +} + int spk_serial_synth_probe(struct spk_synth *synth) { const struct old_serial_port *ser; Index: linux-staging/drivers/staging/speakup/speakup_apollo.c === --- linux-staging.orig/drivers/staging/speakup/speakup_apollo.c +++ linux-staging/drivers/staging/speakup/speakup_apollo.c @@ -171,9 +171,8 @@ static void do_catch_up(struct spk_synth full_time_val = full_time->u.n.value; spin_unlock_irqrestore(&speakup_info.spinlock, flags); if (!synth->io_ops->synth_out(synth, ch)) { - outb(UART_MCR_DTR, speakup_info.port_tts + UART_MCR); - outb(UART_MCR_DTR | UART_MCR_RTS, -speakup_info.port_tts + UART_MCR); + synth->io_ops->tiocmset(0, UART_MCR_RTS); + synth->io_ops->tiocmset(UART_MCR_RTS, 0); schedule_timeout(msecs_to_jiffies(full_time_val)); continue; } Index: linux-staging/drivers/staging/speakup/speakup_audptr.c === --- linux-staging.orig/drivers/staging/speakup/speakup_audptr.c +++ linux-staging/drivers/staging/speakup/speakup_audptr.c @@ -128,14 +128,7 @@ static struct spk_synth synth_audptr = { static void synth_flush(struct spk_synth *synth) { - int timeout = SPK_XMITR_TIMEOUT; - - while (spk_serial_tx_busy()) { - if (!--timeout) - break; - udelay(1); - } - outb(SYNTH_CLEAR, speakup_info.port_tts); + synth->io_ops->send_xchar(SYNTH_CLEAR); synth->io_ops->synth_out(synth, PROCSPEECH); } Index: linux-staging/drivers/staging/speakup/speakup_spkout.c === --- linux-staging.orig/drivers/staging/speakup/speakup_spkout.c +++ linux-staging/drivers/staging/speakup/speakup_spkout.c @@ -126,14 +126,7 @@ static struct spk_synth synth_spkout = { static void synth_flush(struct spk_synth *synth) { - int timeout = SPK_XMITR_TIMEOUT; - - while (spk_serial_tx_busy()) { - if (!--timeout) - break; - udelay(1); - } - outb(SYNTH_CLEAR, speakup_info.port_tts); + synth->io_ops->send_xchar(SYNTH_CLEAR); } module_param_named(ser, synth_spkout.ser, int, 0444); Index: linux-staging/drivers/staging/speakup/spk_types.h === --- linux-staging.orig/drivers/staging/speakup/spk_types.h +++ linux-staging/drivers/staging/speakup/spk_types.h @@ -150,6 +150,8 @@ struct spk_synth; struct spk_io_ops { int (*synth_out)(struct spk_synth *synth, const char ch); + void (*send_xchar)(char ch); + void (*tiocmset)(unsigned int set, unsigned int clear); }; struct spk_synth { ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverprojec
[patch 0/1] staging: speakup: refactor to allow smoother migration to TTY-based comms with external synths
This is part of move away from raw serial i/o to TTY-based one. Details are in the patch header. Thanks, Okash ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 1/2] staging: vt6656: use off stack for out buffer USB transfers.
Since 4.9 mandated USB buffers be heap allocated this causes the driver to fail. Since there is a wide range of buffer sizes use kmemdup to create allocated buffer. Signed-off-by: Malcolm Priestley Cc: # v4.9+ --- drivers/staging/vt6656/usbpipe.c | 14 -- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/staging/vt6656/usbpipe.c b/drivers/staging/vt6656/usbpipe.c index 9ad8503d2589..ea5a7c65ad1b 100644 --- a/drivers/staging/vt6656/usbpipe.c +++ b/drivers/staging/vt6656/usbpipe.c @@ -47,15 +47,25 @@ int vnt_control_out(struct vnt_private *priv, u8 request, u16 value, u16 index, u16 length, u8 *buffer) { int status = 0; + u8 *usb_buffer; if (test_bit(DEVICE_FLAGS_DISCONNECTED, &priv->flags)) return STATUS_FAILURE; mutex_lock(&priv->usb_lock); + usb_buffer = kmemdup(buffer, length, GFP_KERNEL); + if (!usb_buffer) { + mutex_unlock(&priv->usb_lock); + return -ENOMEM; + } + status = usb_control_msg(priv->usb, - usb_sndctrlpipe(priv->usb, 0), request, 0x40, value, - index, buffer, length, USB_CTL_WAIT); +usb_sndctrlpipe(priv->usb, 0), +request, 0x40, value, +index, usb_buffer, length, USB_CTL_WAIT); + + kfree(usb_buffer); mutex_unlock(&priv->usb_lock); -- 2.11.0 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 2/2] staging: vt6656: use off stack for in buffer USB transfers.
Since 4.9 mandated USB buffers to be heap allocated. This causes the driver to fail. Create buffer for USB transfers. Signed-off-by: Malcolm Priestley Cc: # v4.9+ --- drivers/staging/vt6656/usbpipe.c | 17 +++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/staging/vt6656/usbpipe.c b/drivers/staging/vt6656/usbpipe.c index ea5a7c65ad1b..dc11a05be8c4 100644 --- a/drivers/staging/vt6656/usbpipe.c +++ b/drivers/staging/vt6656/usbpipe.c @@ -85,15 +85,28 @@ int vnt_control_in(struct vnt_private *priv, u8 request, u16 value, u16 index, u16 length, u8 *buffer) { int status; + u8 *usb_buffer; if (test_bit(DEVICE_FLAGS_DISCONNECTED, &priv->flags)) return STATUS_FAILURE; mutex_lock(&priv->usb_lock); + usb_buffer = kmalloc(length, GFP_KERNEL); + if (!usb_buffer) { + mutex_unlock(&priv->usb_lock); + return -ENOMEM; + } + status = usb_control_msg(priv->usb, - usb_rcvctrlpipe(priv->usb, 0), request, 0xc0, - value, index, buffer, length, USB_CTL_WAIT); +usb_rcvctrlpipe(priv->usb, 0), +request, 0xc0, value, +index, usb_buffer, length, USB_CTL_WAIT); + + if (status == length) + memcpy(buffer, usb_buffer, length); + + kfree(usb_buffer); mutex_unlock(&priv->usb_lock); -- 2.11.0 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: rtl8188eu: prevent an underflow in rtw_check_beacon_data()
The "len" could be as low as -14 so we should check for negatives. Fixes: 9a7fe54ddc3a ("staging: r8188eu: Add source files for new driver - part 1") Signed-off-by: Dan Carpenter diff --git a/drivers/staging/rtl8188eu/core/rtw_ap.c b/drivers/staging/rtl8188eu/core/rtw_ap.c index 91156a21b8f2..519b4d3584a2 100644 --- a/drivers/staging/rtl8188eu/core/rtw_ap.c +++ b/drivers/staging/rtl8188eu/core/rtw_ap.c @@ -878,7 +878,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len) return _FAIL; - if (len > MAX_IE_SZ) + if (len < 0 || len > MAX_IE_SZ) return _FAIL; pbss_network->IELength = len; ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: fbtft: fix character limit, trailing ; warning, etc.
checkpatch spits out a warning about the 80 character line limit. Split the parameters of these functions onto different lines. Put the ; with the macro caller instead. Lined up parameters as there was another CHECK warning about that. Signed-off-by: Eric Curtin --- drivers/staging/fbtft/fbtft-bus.c | 27 --- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/drivers/staging/fbtft/fbtft-bus.c b/drivers/staging/fbtft/fbtft-bus.c index ec45043..3143050 100644 --- a/drivers/staging/fbtft/fbtft-bus.c +++ b/drivers/staging/fbtft/fbtft-bus.c @@ -24,7 +24,14 @@ void func(struct fbtft_par *par, int len, ...) \ buf[i] = (type)va_arg(args, unsigned int);\ } \ va_end(args); \ - fbtft_par_dbg_hex(DEBUG_WRITE_REGISTER, par, par->info->device, type, buf, len, "%s: ", __func__); \ + fbtft_par_dbg_hex(DEBUG_WRITE_REGISTER, \ + par,\ + par->info->device, \ + type, \ + buf,\ + len,\ + "%s: ", \ + __func__); \ } \ \ va_start(args, len); \ @@ -41,7 +48,10 @@ void func(struct fbtft_par *par, int len, ...) \ ret = par->fbtftops.write(par, par->buf, sizeof(type) + offset); \ if (ret < 0) {\ va_end(args); \ - dev_err(par->info->device, "%s: write() failed and returned %d\n", __func__, ret); \ + dev_err(par->info->device,\ + "%s: write() failed and returned %d\n", \ + __func__, \ + ret); \ return; \ } \ len--;\ @@ -60,17 +70,20 @@ void func(struct fbtft_par *par, int len, ...) \ len * (sizeof(type) + offset)); \ if (ret < 0) {\ va_end(args); \ - dev_err(par->info->device, "%s: write() failed and returned %d\n", __func__, ret); \ + dev_err(par->info->device,\ + "%s: write() failed and returned %d\n", \ + __func__, \ + ret); \ return; \ } \ } \ va_end(args); \ } \ -EXPORT_SYMBOL(func); +EXPORT_SYMBOL(func) -define_fbtft_write_reg(fbtft_write_reg8_bus8, u8, ) -define_fbtft_write_reg(fbtft_write_reg16_bus8, u16, cpu_to_be16) -define_fbtft_write_reg(fbtft_write_reg16_bus16, u16, ) +define_fbtft_write_reg(fbtft_write_reg8_bus8, u8, ); +define_fbtft_write_reg(fbtft_write_reg16_bus8, u16, cpu_to_be16); +define_fbtft_write_reg(fbtft_write_reg16_bus16, u16, ); void fbtft_write_reg8_bus9(struct fbtft_par *par, int len, ...) { -- 2.7.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: wilc1000: Fixes Alignment should match open parenthesis
On Sat, 2017-04-22 at 07:28 +0100, rich...@netpro.work wrote: > This patch fixes the following checkpatch.pl > check: CHECK: Alignment should match open parenthesis Please strive for improved code for human readers and not just shutting up checkpatch. > diff --git a/drivers/staging/wilc1000/linux_wlan.c > b/drivers/staging/wilc1000/linux_wlan.c [] > @@ -870,12 +870,12 @@ static int wilc_mac_open(struct net_device *ndev) > if (memcmp(wl->vif[i ^ 1]->bssid, > wl->vif[i ^ 1]->src_addr, 6)) > wilc_set_wfi_drv_handler(vif, > - wilc_get_vif_idx(vif), > - 0); > + > wilc_get_vif_idx(vif), > + 0); > else > wilc_set_wfi_drv_handler(vif, > - wilc_get_vif_idx(vif), > - 1); > + > wilc_get_vif_idx(vif), > + 1); Depending on alignment, perhaps a good bit of this code could use ether_addr_ functions. wilc_set_wfi_drv_handler(vif, wilc_get_vif_idx(vif), ether_addr_equals(wl->vif[i ^ 1]->bssid, wl->vif[i ^ 1]->src_addr)); The code could also be restructured to reduce indentation by using if / continue; if (ndev != wl->vif[i]->ndev) continue; Using a temporary for the repeated use of wilc_get_vif_idx(vif) would also help code length. > diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c > b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c [] > @@ -1301,16 +1301,16 @@ static int set_pmksa(struct wiphy *wiphy, struct > net_device *netdev, > > for (i = 0; i < priv->pmkid_list.numpmkid; i++) { > if (!memcmp(pmksa->bssid, priv->pmkid_list.pmkidlist[i].bssid, > - ETH_ALEN)) { > + ETH_ALEN)) { ether_addr_equals() > flag = PMKID_FOUND; > break; > } > } > if (i < WILC_MAX_NUM_PMKIDS) { > memcpy(priv->pmkid_list.pmkidlist[i].bssid, pmksa->bssid, > - ETH_ALEN); > +ETH_ALEN); ether_addr_copy() etc. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: rtl8192u: Improve readability and fix sparse warnings: cast from restricted __le16
This patch fixes following sparse warnings: drivers/staging/rtl8192u//r8192U_dm.c:2307:49: warning: cast from restricted __le16 drivers/staging/rtl8192u//r8192U_dm.c:2308:44: warning: cast from restricted __le16 drivers/staging/rtl8192u//r8192U_dm.c:2309:44: warning: cast from restricted __le16 In order to avoid the warnings the u4bAcParam variable is constructed using the cpu's endianness and in case of big endian architectures the variable is converted back to little endian before passed to write_nic_dword function. Also the patch improves readability by getting rid of unnecessary scope and splitting complex variable construction to multiple lines. Signed-off-by: Tuomo Rinne --- drivers/staging/rtl8192u/r8192U_dm.c | 77 1 file changed, 42 insertions(+), 35 deletions(-) diff --git a/drivers/staging/rtl8192u/r8192U_dm.c b/drivers/staging/rtl8192u/r8192U_dm.c index 9209aad..c63974a 100644 --- a/drivers/staging/rtl8192u/r8192U_dm.c +++ b/drivers/staging/rtl8192u/r8192U_dm.c @@ -2189,7 +2189,7 @@ staticvoid dm_cs_ratio( struct net_device *dev) { struct r8192_priv *priv = ieee80211_priv(dev); - static u8 initialized, force_write; + static u8 initialized, force_write; static u32 reset_cnt; if (dm_digtable.dig_algorithm_switch) { @@ -2295,43 +2295,50 @@ static void dm_check_edca_turbo( * Restore original EDCA according to the declaration of AP. */ if (priv->bcurrent_turbo_EDCA) { + u8 u1bAIFS; + u32 u4bAcParam, op_limit, cw_max, cw_min; + + struct ieee80211_qos_parameters *qos_parameters = &priv->ieee80211->current_network.qos_data.parameters; + u8 mode = priv->ieee80211->mode; + + /* For Each time updating EDCA parameter, reset EDCA turbo mode status. */ + dm_init_edca_turbo(dev); + u1bAIFS = qos_parameters->aifs[0] * ((mode & (IEEE_G | IEEE_N_24G)) ? 9 : 20) + aSifsTime; + + op_limit = (u32)le16_to_cpu(qos_parameters->tx_op_limit[0]); + cw_max = (u32)le16_to_cpu(qos_parameters->cw_max[0]); + cw_min = (u32)le16_to_cpu(qos_parameters->cw_min[0]); + + op_limit <<= AC_PARAM_TXOP_LIMIT_OFFSET; + cw_max <<= AC_PARAM_ECW_MAX_OFFSET; + cw_min <<= AC_PARAM_ECW_MIN_OFFSET; + u1bAIFS <<= AC_PARAM_AIFS_OFFSET; + + u4bAcParam = op_limit | cw_max | cw_min | u1bAIFS; + + cpu_to_le32s(u4bAcParam); + write_nic_dword(dev, EDCAPARA_BE, u4bAcParam); + + /* +* Check ACM bit. +* If it is set, immediately set ACM control bit to downgrading AC for passing WMM testplan. Annie, 2005-12-13. +*/ { - u8 u1bAIFS; - u32 u4bAcParam; - struct ieee80211_qos_parameters *qos_parameters = &priv->ieee80211->current_network.qos_data.parameters; - u8 mode = priv->ieee80211->mode; - - /* For Each time updating EDCA parameter, reset EDCA turbo mode status. */ - dm_init_edca_turbo(dev); - u1bAIFS = qos_parameters->aifs[0] * ((mode&(IEEE_G|IEEE_N_24G)) ? 9 : 20) + aSifsTime; - u4bAcParam = (((u32)(qos_parameters->tx_op_limit[0])) << AC_PARAM_TXOP_LIMIT_OFFSET)| - (((u32)(qos_parameters->cw_max[0])) << AC_PARAM_ECW_MAX_OFFSET)| - (((u32)(qos_parameters->cw_min[0])) << AC_PARAM_ECW_MIN_OFFSET)| - ((u32)u1bAIFS << AC_PARAM_AIFS_OFFSET); - /*write_nic_dword(dev, WDCAPARA_ADD[i], u4bAcParam);*/ - write_nic_dword(dev, EDCAPARA_BE, u4bAcParam); - - /* -* Check ACM bit. -* If it is set, immediately set ACM control bit to downgrading AC for passing WMM testplan. Annie, 2005-12-13. -*/ - { - /* TODO: Modified this part and try to set acm control in only 1 IO processing!! */ - - PACI_AIFSN pAciAifsn = (PACI_AIFSN)&(qos_parameters->aifs[0]); - u8 AcmCtrl; - - read_nic_
Re: [PATCH] staging: fbtft: fix character limit, trailing ; warning, etc.
On Sat, 2017-04-22 at 16:26 +0100, Eric Curtin wrote: > checkpatch spits out a warning about the 80 character line limit. Split > the parameters of these functions onto different lines. Put the ; with > the macro caller instead. Lined up parameters as there was another > CHECK warning about that. [] > diff --git a/drivers/staging/fbtft/fbtft-bus.c > b/drivers/staging/fbtft/fbtft-bus.c [] > @@ -24,7 +24,14 @@ void func(struct fbtft_par *par, int len, ...) >\ > buf[i] = (type)va_arg(args, unsigned int);\ > } \ > va_end(args); \ > - fbtft_par_dbg_hex(DEBUG_WRITE_REGISTER, par, par->info->device, > type, buf, len, "%s: ", __func__); \ > + fbtft_par_dbg_hex(DEBUG_WRITE_REGISTER, \ > + par,\ > + par->info->device, \ > + type, \ > + buf,\ > + len,\ > + "%s: ", \ > + __func__); \ > } \ Multiple arguments per line please before 80 columns fbtft_par_dbg_hex(DEBUG_WRITE_REGISTER, par, \ par->info->device, type, buf, len, \ "%s: ", __func__); \ ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel