Re: [PATCH] Staging: bcm: CmHost: unline split quoted strings.
On Sun, Mar 16, 2014 at 10:16:09PM -0400, Gary Rookard wrote: On Sun, 16 Mar 2014, Gary Rookard wrote: On Sun, 16 Mar 2014, Mark Einon wrote: On Sun, Mar 16, 2014 at 02:19:51PM -0400, Gary Rookard wrote: I unline split some quoted strings. Hi, Why? What issue does it fix? -- Hi, It fixes a checkpatch error/warning quoted string split across lines or something phrased very simular. Is there a problem with. -- Hi again, Well firstly I do know that there is a trade off going on with the patch that way, but for me, the general rule of thumb is that not sometimes but most of the time you want your strings avalable for grep. And with them split across lines it is hard - impossible to accomplish. Thus line length becomes meaningless or should I say not quit as bad as it sounds. If you look they are sill shorter then alot of the code in that region of the file. -- Hi Gary, Ok. Fixing the split line issue is good - there's no problems with what you're trying to do there. However: * The commit message should explain both what you're doing, and why you're doing it - this makes reviewing the patch and referencing in future far easier. For a checkpatch fix, you would normally expect checkpatch to be mentioned and the issues that are being addressed - cut and pasting the checkpatch output would work in this case, as it's not too verbose. (Also applies to your other patch). * You've fixed one checkpatch issue, but introduced another - meaning that * another patch is probably needed. Why not make the code more readable while * you're at it? Cheers, Mark Signed-off-by: Gary Alan Rookard garyrook...@gmail.com --- On branch staging-next drivers/staging/bcm/CmHost.c | 12 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/staging/bcm/CmHost.c b/drivers/staging/bcm/CmHost.c index 2d1f94d..4cb59d7 100644 --- a/drivers/staging/bcm/CmHost.c +++ b/drivers/staging/bcm/CmHost.c @@ -975,8 +975,7 @@ static VOID DumpCmControlPacket(PVOID pvBuffer) psfCSType-cCPacketClassificationRule.u8EthernetDestMacAddressLength); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, DUMP_CONTROL, - DBG_LVL_ALL, u8EthernetSourceMACAddress[6]: - %pM, psfCSType-cCPacketClassificationRule. + DBG_LVL_ALL, u8EthernetSourceMACAddress[6]: %pM, psfCSType-cCPacketClassificationRule. u8EthernetSourceMACAddress); You've also gone way over the 80 char limit for the line, for no real reason. if anything, I would consider making psfCSType-cCPacketClassificationRule.u8EthernetSourceMACAddress more readable. Similarly for the changes below. Cheers, Mark BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, DUMP_CONTROL, DBG_LVL_ALL, u8EthertypeLength: 0x%02X , @@ -1092,8 +1091,7 @@ static VOID DumpCmControlPacket(PVOID pvBuffer) psfCSType-cCPacketClassificationRule.u8ProtocolSourcePortRangeLength); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, DUMP_CONTROL, - DBG_LVL_ALL, u8ProtocolSourcePortRange[4]: - 0x%*ph , 4, psfCSType- + DBG_LVL_ALL, u8ProtocolSourcePortRange[4]: 0x%*ph , 4, psfCSType- cCPacketClassificationRule. u8ProtocolSourcePortRange); @@ -1101,8 +1099,7 @@ static VOID DumpCmControlPacket(PVOID pvBuffer) psfCSType-cCPacketClassificationRule.u8ProtocolDestPortRangeLength); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, DUMP_CONTROL, - DBG_LVL_ALL, u8ProtocolDestPortRange[4]: - 0x%*ph , 4, psfCSType- + DBG_LVL_ALL, u8ProtocolDestPortRange[4]: 0x%*ph , 4, psfCSType- cCPacketClassificationRule. u8ProtocolDestPortRange); @@ -1118,8 +1115,7 @@ static VOID DumpCmControlPacket(PVOID pvBuffer) psfCSType-cCPacketClassificationRule.u8EthernetDestMacAddressLength); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, DUMP_CONTROL, - DBG_LVL_ALL, u8EthernetSourceMACAddress[6]: - %pM, psfCSType-cCPacketClassificationRule. + DBG_LVL_ALL, u8EthernetSourceMACAddress[6]: %pM, psfCSType-cCPacketClassificationRule. u8EthernetSourceMACAddress); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, DUMP_CONTROL, DBG_LVL_ALL, u8EthertypeLength: 0x%02X , psfCSType-cCPacketClassificationRule.u8EthertypeLength); -- 1.9.0 ___ devel mailing list de...@linuxdriverproject.org
Re: [PATCH] Staging: gdm724x: gdm_lte.h: fixed coding style
On Mon, 2014-03-17 at 08:18 +1300, Daniel Ngu wrote: Missing space after return type Not really. diff --git a/drivers/staging/gdm724x/gdm_lte.h b/drivers/staging/gdm724x/gdm_lte.h [] @@ -56,7 +56,7 @@ struct phy_dev { int (*cb)(void *cb_data, void *data, int len, int context), void *cb_data, int context); - struct gdm_endian *(*get_endian)(void *priv_dev); + struct gdm_endian * (*get_endian)(void *priv_dev); That one was a defect in checkpatch that was corrected in -next by: commit 93ca9441419b0bfbf96243e01f39b5a80565215e Author: Joe Perches j...@perches.com Date: Thu Mar 6 11:02:08 2014 +1100 checkpatch: don't warn on some function pointer return styles Checks for some function pointer return styles are too strict. Fix them. Multiple spaces after function pointer return types are allowed. int (*foo)(int bar) Spaces after function pointer returns of pointer types are not required. int *(*foo)(int bar) ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH RFC] staging: dgap: more 80+ char lines work
On 03/07/2014 05:46 PM, Dan Carpenter wrote: I still prefer my patch. Unless I'm missing something? Could you review it and I will submit it as a patch tomorrow. regards, dan carpenter diff --git a/drivers/staging/dgap/dgap.c b/drivers/staging/dgap/dgap.c index d00283a226a2..783cd75a2d96 100644 --- a/drivers/staging/dgap/dgap.c +++ b/drivers/staging/dgap/dgap.c @@ -5730,6 +5730,33 @@ static void dgap_parity_scan(struct channel_t *ch, unsigned char *cbuf, *len = count; } +static void dgap_write_wakeup(struct board_t *bd, struct channel_t *ch, + struct un_t *un, u32 mask, + unsigned long *irq_flags1, + unsigned long *irq_flags2) +{ + if (!(un-un_flags mask)) + return; + + un-un_flags = ~mask; + + if (!(un-un_flags UN_ISOPEN)) + return; + + if ((un-un_tty-flags (1 TTY_DO_WRITE_WAKEUP)) + un-un_tty-ldisc-ops-write_wakeup) { + spin_unlock_irqrestore(ch-ch_lock, *irq_flags2); + spin_unlock_irqrestore(bd-bd_lock, *irq_flags1); + + (un-un_tty-ldisc-ops-write_wakeup)(un-un_tty); + + spin_lock_irqsave(bd-bd_lock, *irq_flags1); + spin_lock_irqsave(ch-ch_lock, *irq_flags2); + } + wake_up_interruptible(un-un_tty-write_wait); + wake_up_interruptible(un-un_flags_wait); +} + /*=== * * dgap_event - FEP to host event processing routine. @@ -5881,42 +5908,10 @@ static int dgap_event(struct board_t *bd) * Process Transmit low. */ if (reason IFTLW) { - - if (ch-ch_tun.un_flags UN_LOW) { - ch-ch_tun.un_flags = ~UN_LOW; - - if (ch-ch_tun.un_flags UN_ISOPEN) { - if ((ch-ch_tun.un_tty-flags - (1 TTY_DO_WRITE_WAKEUP)) - ch-ch_tun.un_tty-ldisc-ops-write_wakeup) { - DGAP_UNLOCK(ch-ch_lock, lock_flags2); - DGAP_UNLOCK(bd-bd_lock, lock_flags); - (ch-ch_tun.un_tty-ldisc-ops-write_wakeup)(ch-ch_tun.un_tty); - DGAP_LOCK(bd-bd_lock, lock_flags); - DGAP_LOCK(ch-ch_lock, lock_flags2); - } - wake_up_interruptible(ch-ch_tun.un_tty-write_wait); - wake_up_interruptible(ch-ch_tun.un_flags_wait); - } - } - - if (ch-ch_pun.un_flags UN_LOW) { - ch-ch_pun.un_flags = ~UN_LOW; - if (ch-ch_pun.un_flags UN_ISOPEN) { - if ((ch-ch_pun.un_tty-flags - (1 TTY_DO_WRITE_WAKEUP)) - ch-ch_pun.un_tty-ldisc-ops-write_wakeup) { - DGAP_UNLOCK(ch-ch_lock, lock_flags2); - DGAP_UNLOCK(bd-bd_lock, lock_flags); - (ch-ch_pun.un_tty-ldisc-ops-write_wakeup)(ch-ch_pun.un_tty); - DGAP_LOCK(bd-bd_lock, lock_flags); - DGAP_LOCK(ch-ch_lock, lock_flags2); - } - wake_up_interruptible(ch-ch_pun.un_tty-write_wait); - wake_up_interruptible(ch-ch_pun.un_flags_wait); - } - } - + dgap_write_wakeup(bd, ch, ch-ch_tun, UN_LOW, + lock_flags, lock_flags2); + dgap_write_wakeup(bd, ch, ch-ch_pun, UN_LOW, + lock_flags, lock_flags2); if (ch-ch_flags CH_WLOW) { ch-ch_flags = ~CH_WLOW; wake_up_interruptible(ch-ch_flags_wait); @@ -5927,42 +5922,10 @@ static int dgap_event(struct board_t *bd) * Process Transmit empty. */ if (reason IFTEM) { - if (ch-ch_tun.un_flags UN_EMPTY) { - ch-ch_tun.un_flags = ~UN_EMPTY; - if (ch-ch_tun.un_flags UN_ISOPEN) { - if ((ch-ch_tun.un_tty-flags - (1
Re: [PATCH 07/12] drm: drm_display_mode: add signal polarity flags
Hi Denis, Thanks for the patch. On 03/13/2014 06:17 PM, Denis Carikli wrote: We need a way to pass signal polarity informations between DRM panels, and the display drivers. To do that, a pol_flags field was added to drm_display_mode. Signed-off-by: Denis Carikli de...@eukrea.com --- ChangeLog v10-v11: - Since the imx-drm won't be able to retrive its regulators from the device tree when using display-timings nodes, and that I was told that the drm simple-panel driver already supported that, I then, instead, added what was lacking to make the eukrea displays work with the drm-simple-panel driver. That required a way to get back the display polarity informations from the imx-drm driver without affecting userspace. --- include/drm/drm_crtc.h |8 1 file changed, 8 insertions(+) diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index f764654..61a4fe1 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -131,6 +131,13 @@ enum drm_mode_status { #define DRM_MODE_FLAG_3D_MAX DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF +#define DRM_MODE_FLAG_POL_PIXDATA_NEGEDGEBIT(1) +#define DRM_MODE_FLAG_POL_PIXDATA_POSEDGEBIT(2) +#define DRM_MODE_FLAG_POL_PIXDATA_PRESERVE BIT(3) +#define DRM_MODE_FLAG_POL_DE_NEGEDGE BIT(4) +#define DRM_MODE_FLAG_POL_DE_POSEDGE BIT(5) +#define DRM_MODE_FLAG_POL_DE_PRESERVEBIT(6) Could you add some description to these flags. What are *_PRESERVE flags for? Are those flags 1:1 compatible with respective 'videomode:flags'? I guess DE flags should be rather DRM_MODE_FLAG_POL_DE_(LOW|HIGH), am I right? Regards Andrzej + struct drm_display_mode { /* Header */ struct list_head head; @@ -183,6 +190,7 @@ struct drm_display_mode { int vrefresh; /* in Hz */ int hsync; /* in kHz */ enum hdmi_picture_aspect picture_aspect_ratio; + unsigned int pol_flags; }; static inline bool drm_mode_is_stereo(const struct drm_display_mode *mode) ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 6/6] Staging: unisys: visorutil: Clean up sparse warnings in visorutil code
On 03/16/2014 05:13 PM, Mark Einon wrote: On 13/03/14 20:39, Ken Cox wrote: Clean up code to get rid of sparse warnings. Also fixed variable length arrays declared on the stack. Signed-off-by: Ken Cox j...@redhat.com --- drivers/staging/unisys/visorutil/procobjecttree.c | 2 +- drivers/staging/unisys/visorutil/visorkmodutils.c | 6 ++ 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/staging/unisys/visorutil/procobjecttree.c b/drivers/staging/unisys/visorutil/procobjecttree.c index e4d734e..7c7f001 100644 --- a/drivers/staging/unisys/visorutil/procobjecttree.c +++ b/drivers/staging/unisys/visorutil/procobjecttree.c @@ -150,7 +150,7 @@ MYPROCTYPE *visor_proc_CreateType(struct proc_dir_entry *procDirRoot, type-nNames = 0; type-show_property = show_property; type-procDirRoot = procDirRoot; -if (type-propertyNames != 0) +if (type-propertyNames != NULL) while (type-propertyNames[type-nProperties] != NULL) type-nProperties++; while (type-name[type-nNames] != NULL) diff --git a/drivers/staging/unisys/visorutil/visorkmodutils.c b/drivers/staging/unisys/visorutil/visorkmodutils.c index ed46208..f66acd9 100644 --- a/drivers/staging/unisys/visorutil/visorkmodutils.c +++ b/drivers/staging/unisys/visorutil/visorkmodutils.c @@ -20,8 +20,6 @@ #define MYDRVNAME timskmodutils -BOOL Debug_Malloc_Enabled = FALSE; - /** Print the hexadecimal contents of a data buffer to a supplied print buffer. * @param dest the print buffer where text characters will * be written @@ -42,8 +40,8 @@ int visor_hexDumpToBuffer(char *dest, int destSize, char *prefix, char *src, { int i = 0; int pos = 0; -char printable[bytesToDumpPerLine + 1]; -char hex[(bytesToDumpPerLine * 3) + 1]; +char printable[24]; +char hex[64]; Hi, This isn't a good fix - this introduces a bug as later in this function, 'printable' and 'hex' are memset and assigned using the bytesToDumpPerLine parameter. I'll get rid of this function altogether and just use hex_dump_to_buffer(). Revised patch coming soon. Cheers, Mark char *line = NULL; int linesize = 1000; int linelen = 0; ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 07/12] drm: drm_display_mode: add signal polarity flags
Hello, On Monday 17 March 2014 14:41:09 Andrzej Hajda wrote: On 03/13/2014 06:17 PM, Denis Carikli wrote: We need a way to pass signal polarity informations between DRM panels, and the display drivers. To do that, a pol_flags field was added to drm_display_mode. Signed-off-by: Denis Carikli de...@eukrea.com --- ChangeLog v10-v11: - Since the imx-drm won't be able to retrive its regulators from the device tree when using display-timings nodes, and that I was told that the drm simple-panel driver already supported that, I then, instead, added what was lacking to make the eukrea displays work with the drm-simple-panel driver. That required a way to get back the display polarity informations from the imx-drm driver without affecting userspace. --- include/drm/drm_crtc.h |8 1 file changed, 8 insertions(+) diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index f764654..61a4fe1 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -131,6 +131,13 @@ enum drm_mode_status { #define DRM_MODE_FLAG_3D_MAX DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF +#define DRM_MODE_FLAG_POL_PIXDATA_NEGEDGE BIT(1) +#define DRM_MODE_FLAG_POL_PIXDATA_POSEDGE BIT(2) +#define DRM_MODE_FLAG_POL_PIXDATA_PRESERVE BIT(3) +#define DRM_MODE_FLAG_POL_DE_NEGEDGE BIT(4) +#define DRM_MODE_FLAG_POL_DE_POSEDGE BIT(5) +#define DRM_MODE_FLAG_POL_DE_PRESERVE BIT(6) Could you add some description to these flags. What are *_PRESERVE flags for? Are those flags 1:1 compatible with respective 'videomode:flags'? I guess DE flags should be rather DRM_MODE_FLAG_POL_DE_(LOW|HIGH), am I right? Possibly nitpicking, I wouldn't call the clock edge on which data signals are generated/sampled data polarity. This is clock polarity information. Have you seen cases where pixel data and DE are geenrated or need to be sampled on different edges ? + struct drm_display_mode { /* Header */ struct list_head head; @@ -183,6 +190,7 @@ struct drm_display_mode { int vrefresh; /* in Hz */ int hsync; /* in kHz */ enum hdmi_picture_aspect picture_aspect_ratio; + unsigned int pol_flags; }; static inline bool drm_mode_is_stereo(const struct drm_display_mode *mode) -- Regards, Laurent Pinchart ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: comedi: das6402: rewrite broken driver
On 2014-03-14 19:24, H Hartley Sweeten wrote: This driver is _really_ broken. It initializes an analog input subdevice that only has a (*cancel) function. It also does a request_irq() to hookup an interrupt handler using it-options[0] as the IRQ. This option is actually the base address of the I/O region used by the board. If the interrupt handler actually did get hooked up, the rest of the code assumes that IRQ 10 is being used. Rewrite the driver to properly support the hardware. The DAS6402-12/16 boards have 64 single-ended / 32 differential analog inputs, 2 analog outputs, 8 digital inputs, and 8 digital outputs. Add proper support for these subdevices. Stub in the analog input async command support. Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com Cc: Ian Abbott abbo...@mev.co.uk Cc: Greg Kroah-Hartman gre...@linuxfoundation.org I guess it won't have been run-tested, but it can't be worse than the old one! Reviewed-by: Ian Abbott abbo...@mev.co.uk -- -=( Ian Abbott @ MEV Ltd.E-mail: abbo...@mev.co.uk)=- -=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=- ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: bcm: CmHost: unline split quoted strings.
On Mon, 17 Mar 2014, Mark Einon wrote: On Sun, Mar 16, 2014 at 10:16:09PM -0400, Gary Rookard wrote: On Sun, 16 Mar 2014, Gary Rookard wrote: On Sun, 16 Mar 2014, Mark Einon wrote: On Sun, Mar 16, 2014 at 02:19:51PM -0400, Gary Rookard wrote: I unline split some quoted strings. Hi, Why? What issue does it fix? -- Hi, It fixes a checkpatch error/warning quoted string split across lines or something phrased very simular. Is there a problem with. -- Hi again, Well firstly I do know that there is a trade off going on with the patch that way, but for me, the general rule of thumb is that not sometimes but most of the time you want your strings avalable for grep. And with them split across lines it is hard - impossible to accomplish. Thus line length becomes meaningless or should I say not quit as bad as it sounds. If you look they are sill shorter then alot of the code in that region of the file. -- Hi Gary, Ok. Fixing the split line issue is good - there's no problems with what you're trying to do there. However: * The commit message should explain both what you're doing, and why you're doing it - this makes reviewing the patch and referencing in future far easier. For a checkpatch fix, you would normally expect checkpatch to be mentioned and the issues that are being addressed - cut and pasting the checkpatch output would work in this case, as it's not too verbose. (Also applies to your other patch). * You've fixed one checkpatch issue, but introduced another - meaning that * another patch is probably needed. Why not make the code more readable while * you're at it? Cheers, Mark -- Hi, Agreed, my commit messages are sorely lacking in appropriate content. Will fix these up, and in the future try to be more mindful about. Thanks, Gary Signed-off-by: Gary Alan Rookard garyrook...@gmail.com --- On branch staging-next drivers/staging/bcm/CmHost.c | 12 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/staging/bcm/CmHost.c b/drivers/staging/bcm/CmHost.c index 2d1f94d..4cb59d7 100644 --- a/drivers/staging/bcm/CmHost.c +++ b/drivers/staging/bcm/CmHost.c @@ -975,8 +975,7 @@ static VOID DumpCmControlPacket(PVOID pvBuffer) psfCSType-cCPacketClassificationRule.u8EthernetDestMacAddressLength); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, DUMP_CONTROL, - DBG_LVL_ALL, u8EthernetSourceMACAddress[6]: - %pM, psfCSType-cCPacketClassificationRule. + DBG_LVL_ALL, u8EthernetSourceMACAddress[6]: %pM, psfCSType-cCPacketClassificationRule. u8EthernetSourceMACAddress); You've also gone way over the 80 char limit for the line, for no real reason. if anything, I would consider making psfCSType-cCPacketClassificationRule.u8EthernetSourceMACAddress more readable. Similarly for the changes below. Cheers, Mark BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, DUMP_CONTROL, DBG_LVL_ALL, u8EthertypeLength: 0x%02X , @@ -1092,8 +1091,7 @@ static VOID DumpCmControlPacket(PVOID pvBuffer) psfCSType-cCPacketClassificationRule.u8ProtocolSourcePortRangeLength); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, DUMP_CONTROL, - DBG_LVL_ALL, u8ProtocolSourcePortRange[4]: - 0x%*ph , 4, psfCSType- + DBG_LVL_ALL, u8ProtocolSourcePortRange[4]: 0x%*ph , 4, psfCSType- cCPacketClassificationRule. u8ProtocolSourcePortRange); @@ -1101,8 +1099,7 @@ static VOID DumpCmControlPacket(PVOID pvBuffer) psfCSType-cCPacketClassificationRule.u8ProtocolDestPortRangeLength); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, DUMP_CONTROL, - DBG_LVL_ALL, u8ProtocolDestPortRange[4]: - 0x%*ph , 4, psfCSType- + DBG_LVL_ALL, u8ProtocolDestPortRange[4]: 0x%*ph , 4, psfCSType- cCPacketClassificationRule. u8ProtocolDestPortRange); @@ -1118,8 +1115,7 @@ static VOID DumpCmControlPacket(PVOID pvBuffer) psfCSType-cCPacketClassificationRule.u8EthernetDestMacAddressLength); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, DUMP_CONTROL, - DBG_LVL_ALL, u8EthernetSourceMACAddress[6]: - %pM, psfCSType-cCPacketClassificationRule. + DBG_LVL_ALL, u8EthernetSourceMACAddress[6]: %pM, psfCSType-cCPacketClassificationRule. u8EthernetSourceMACAddress);
[Patch V2 6/6] Staging: unisys: visorutil: Clean up sparse warnings in visorutil code
Clean up code to get rid of sparse warnings. Also fixed variable length arrays declared on the stack by removing visor_hexDumpToBuffer() and using hex_dump_to_buffer() instead. Signed-off-by: Ken Cox j...@redhat.com --- drivers/staging/unisys/include/timskmodutils.h | 22 -- .../unisys/visorchannel/visorchannel_funcs.c | 15 ++-- drivers/staging/unisys/visorutil/procobjecttree.c | 2 +- drivers/staging/unisys/visorutil/visorkmodutils.c | 87 -- 4 files changed, 11 insertions(+), 115 deletions(-) diff --git a/drivers/staging/unisys/include/timskmodutils.h b/drivers/staging/unisys/include/timskmodutils.h index ea0ec49..2d81d46 100644 --- a/drivers/staging/unisys/include/timskmodutils.h +++ b/drivers/staging/unisys/include/timskmodutils.h @@ -24,28 +24,6 @@ void *kmalloc_kernel(size_t siz); void myprintk(const char *myDrvName, const char *devname, const char *template, ...); -/** Print the hexadecimal contents of a data buffer to a supplied print buffer. - * @param dest the print buffer where text characters will be - *written - * @param destSize the maximum number of bytes that can be written - *to #dest - * @param srcthe buffer that contains the data that is to be - *hex-dumped - * @param srcLen the number of bytes at #src to be hex-dumped - * @param bytesToDumpPerLine output will be formatted such that at most this - *many of the input data bytes will be represented - *on each line of output - * @return the number of text characters written to #dest - *(not including the trailing '\0' byte) - * @ingroup internal - */ -int visor_hexDumpToBuffer(char *dest, - int destSize, - char *prefix, - char *src, - int srcLen, - int bytesToDumpPerLine); - /** *--- GENERAL MESSAGEQ STUFF ---* **/ diff --git a/drivers/staging/unisys/visorchannel/visorchannel_funcs.c b/drivers/staging/unisys/visorchannel/visorchannel_funcs.c index 611be77..f397d83 100644 --- a/drivers/staging/unisys/visorchannel/visorchannel_funcs.c +++ b/drivers/staging/unisys/visorchannel/visorchannel_funcs.c @@ -603,9 +603,9 @@ void visorchannel_dump_section(VISORCHANNEL *chan, char *s, int off, int len, struct seq_file *seq) { - char *buf = NULL, *fmtbuf = NULL; + char *buf, *tbuf, *fmtbuf; int fmtbufsize = 0; - int i = 0; + int i; int errcode = 0; fmtbufsize = 100 * COVQ(len, 16); @@ -621,9 +621,14 @@ visorchannel_dump_section(VISORCHANNEL *chan, char *s, goto Away; } seq_printf(seq, channel %s:\n, s); - visor_hexDumpToBuffer(fmtbuf, fmtbufsize, , buf, len, 16); - for (i = 0; fmtbuf[i] != '\0'; i++) - seq_printf(seq, %c, fmtbuf[i]); + tbuf = buf; + while (len 0) { + i = (len 16) ? len : 16; + hex_dump_to_buffer(tbuf, i, 16, 1, fmtbuf, fmtbufsize, TRUE); + seq_printf(seq, %s\n, fmtbuf); + tbuf += 16; + len -= 16; + } Away: if (buf != NULL) { diff --git a/drivers/staging/unisys/visorutil/procobjecttree.c b/drivers/staging/unisys/visorutil/procobjecttree.c index e4d734e..7c7f001 100644 --- a/drivers/staging/unisys/visorutil/procobjecttree.c +++ b/drivers/staging/unisys/visorutil/procobjecttree.c @@ -150,7 +150,7 @@ MYPROCTYPE *visor_proc_CreateType(struct proc_dir_entry *procDirRoot, type-nNames = 0; type-show_property = show_property; type-procDirRoot = procDirRoot; - if (type-propertyNames != 0) + if (type-propertyNames != NULL) while (type-propertyNames[type-nProperties] != NULL) type-nProperties++; while (type-name[type-nNames] != NULL) diff --git a/drivers/staging/unisys/visorutil/visorkmodutils.c b/drivers/staging/unisys/visorutil/visorkmodutils.c index ed46208..ef06469 100644 --- a/drivers/staging/unisys/visorutil/visorkmodutils.c +++ b/drivers/staging/unisys/visorutil/visorkmodutils.c @@ -20,93 +20,6 @@ #define MYDRVNAME timskmodutils -BOOL Debug_Malloc_Enabled = FALSE; - -/** Print the hexadecimal contents of a data buffer to a supplied print buffer. - * @param dest the print buffer where text characters will - * be written - * @param destSize the maximum number of bytes that can be written - * to #dest - * @param srcthe buffer that contains the data that is to be - * hex-dumped - * @param srcLen
Re: [PATCH 07/12] drm: drm_display_mode: add signal polarity flags
Hi Lothar, On Monday 17 March 2014 16:14:36 Lothar Waßmann wrote: Laurent Pinchart wrote: On Monday 17 March 2014 14:41:09 Andrzej Hajda wrote: On 03/13/2014 06:17 PM, Denis Carikli wrote: We need a way to pass signal polarity informations between DRM panels, and the display drivers. To do that, a pol_flags field was added to drm_display_mode. Signed-off-by: Denis Carikli de...@eukrea.com --- ChangeLog v10-v11: - Since the imx-drm won't be able to retrive its regulators from the device tree when using display-timings nodes, and that I was told that the drm simple-panel driver already supported that, I then, instead, added what was lacking to make the eukrea displays work with the drm-simple-panel driver. That required a way to get back the display polarity informations from the imx-drm driver without affecting userspace. --- include/drm/drm_crtc.h |8 1 file changed, 8 insertions(+) diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index f764654..61a4fe1 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -131,6 +131,13 @@ enum drm_mode_status { #define DRM_MODE_FLAG_3D_MAX DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF +#define DRM_MODE_FLAG_POL_PIXDATA_NEGEDGE BIT(1) +#define DRM_MODE_FLAG_POL_PIXDATA_POSEDGE BIT(2) +#define DRM_MODE_FLAG_POL_PIXDATA_PRESERVE BIT(3) +#define DRM_MODE_FLAG_POL_DE_NEGEDGE BIT(4) +#define DRM_MODE_FLAG_POL_DE_POSEDGE BIT(5) +#define DRM_MODE_FLAG_POL_DE_PRESERVE BIT(6) Could you add some description to these flags. What are *_PRESERVE flags for? Are those flags 1:1 compatible with respective 'videomode:flags'? I guess DE flags should be rather DRM_MODE_FLAG_POL_DE_(LOW|HIGH), am I right? Possibly nitpicking, I wouldn't call the clock edge on which data signals are generated/sampled data polarity. This is clock polarity information. Have you seen cases where pixel data and DE are geenrated or need to be sampled on different edges ? DE is not a clock signal, but an 'Enable' signal whose value (high or low) defines the window in which the pixel data is valid. The flag defines whether data is valid during the HIGH or LOW period of DE. The DRM_MODE_FLAG_POL_DE_(LOW|HIGH) do, by my impression of the proposed new DRM_MODE_FLAG_POL_DE_*EDGE flags is that they define sampling clock edges, not active levels. -- Regards, Laurent Pinchart ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 07/12] drm: drm_display_mode: add signal polarity flags
Hi, Laurent Pinchart wrote: Hello, On Monday 17 March 2014 14:41:09 Andrzej Hajda wrote: On 03/13/2014 06:17 PM, Denis Carikli wrote: We need a way to pass signal polarity informations between DRM panels, and the display drivers. To do that, a pol_flags field was added to drm_display_mode. Signed-off-by: Denis Carikli de...@eukrea.com --- ChangeLog v10-v11: - Since the imx-drm won't be able to retrive its regulators from the device tree when using display-timings nodes, and that I was told that the drm simple-panel driver already supported that, I then, instead, added what was lacking to make the eukrea displays work with the drm-simple-panel driver. That required a way to get back the display polarity informations from the imx-drm driver without affecting userspace. --- include/drm/drm_crtc.h |8 1 file changed, 8 insertions(+) diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index f764654..61a4fe1 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -131,6 +131,13 @@ enum drm_mode_status { #define DRM_MODE_FLAG_3D_MAX DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF +#define DRM_MODE_FLAG_POL_PIXDATA_NEGEDGEBIT(1) +#define DRM_MODE_FLAG_POL_PIXDATA_POSEDGEBIT(2) +#define DRM_MODE_FLAG_POL_PIXDATA_PRESERVE BIT(3) +#define DRM_MODE_FLAG_POL_DE_NEGEDGE BIT(4) +#define DRM_MODE_FLAG_POL_DE_POSEDGE BIT(5) +#define DRM_MODE_FLAG_POL_DE_PRESERVEBIT(6) Could you add some description to these flags. What are *_PRESERVE flags for? Are those flags 1:1 compatible with respective 'videomode:flags'? I guess DE flags should be rather DRM_MODE_FLAG_POL_DE_(LOW|HIGH), am I right? Possibly nitpicking, I wouldn't call the clock edge on which data signals are generated/sampled data polarity. This is clock polarity information. Have you seen cases where pixel data and DE are geenrated or need to be sampled on different edges ? DE is not a clock signal, but an 'Enable' signal whose value (high or low) defines the window in which the pixel data is valid. The flag defines whether data is valid during the HIGH or LOW period of DE. Lothar Waßmann -- ___ Ka-Ro electronics GmbH | Pascalstraße 22 | D - 52076 Aachen Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10 Geschäftsführer: Matthias Kaussen Handelsregistereintrag: Amtsgericht Aachen, HRB 4996 www.karo-electronics.de | i...@karo-electronics.de ___ ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/3] staging/ozwpan: formatting coding style
On 13/03/14 01:17, Jérôme Pinot wrote: This fixes the following spacing issues detected by checkpatch.pl: WARNING: line over 80 characters #357: FILE: drivers/staging/ozwpan/ozhcd.c:357: +static struct oz_urb_link *oz_uncancel_urb(struct oz_hcd *ozhcd, struct urb *urb) ERROR: trailing whitespace #25: FILE: drivers/staging/ozwpan/ozpd.h:25: +/* $ Signed-off-by: Jerome Pinot ngc...@gmail.com --- drivers/staging/ozwpan/ozhcd.c | 3 ++- drivers/staging/ozwpan/ozpd.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/staging/ozwpan/ozhcd.c b/drivers/staging/ozwpan/ozhcd.c index efaf26f..e7901aa 100644 --- a/drivers/staging/ozwpan/ozhcd.c +++ b/drivers/staging/ozwpan/ozhcd.c @@ -354,7 +354,8 @@ static struct oz_endpoint *oz_ep_alloc(int buffer_size, gfp_t mem_flags) * disabled. * Context: softirq or process */ -static struct oz_urb_link *oz_uncancel_urb(struct oz_hcd *ozhcd, struct urb *urb) +static struct oz_urb_link *oz_uncancel_urb(struct oz_hcd *ozhcd, + struct urb *urb) { struct oz_urb_link *urbl; struct list_head *e; diff --git a/drivers/staging/ozwpan/ozpd.h b/drivers/staging/ozwpan/ozpd.h index 56e6fdf..ad5fe7a 100644 --- a/drivers/staging/ozwpan/ozpd.h +++ b/drivers/staging/ozwpan/ozpd.h @@ -22,7 +22,7 @@ #define OZ_TIMER_HEARTBEAT2 #define OZ_TIMER_STOP 3 -/* +/* *External spinlock variable */ extern spinlock_t g_polling_lock; Acked-by: Rupesh Gujare rupesh.guj...@atmel.com ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 2/3] staging/ozwpan: coding style __constant_
On 13/03/14 01:20, Jérôme Pinot wrote: This fixes the following issues detected by checkpatch.pl: WARNING: __constant_cpu_to_le16 should be cpu_to_le16 #1991: FILE: drivers/staging/ozwpan/ozhcd.c:1991: + __constant_cpu_to_le16(0x0001); WARNING: __constant_cpu_to_le32 should be cpu_to_le32 #2185: FILE: drivers/staging/ozwpan/ozhcd.c:2185: + put_unaligned(__constant_cpu_to_le32(0), (__le32 *)buf); WARNING: __constant_htons should be htons #675: FILE: drivers/staging/ozwpan/ozproto.c:675: + binding-ptype.type = __constant_htons(OZ_ETHERTYPE); Signed-off-by: Jerome Pinot ngc...@gmail.com --- drivers/staging/ozwpan/ozhcd.c | 5 ++--- drivers/staging/ozwpan/ozproto.c | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/staging/ozwpan/ozhcd.c b/drivers/staging/ozwpan/ozhcd.c index e7901aa..b3d401a 100644 --- a/drivers/staging/ozwpan/ozhcd.c +++ b/drivers/staging/ozwpan/ozhcd.c @@ -1987,8 +1987,7 @@ static void oz_get_hub_descriptor(struct usb_hcd *hcd, memset(desc, 0, sizeof(*desc)); desc-bDescriptorType = 0x29; desc-bDescLength = 9; - desc-wHubCharacteristics = (__force __u16) - __constant_cpu_to_le16(0x0001); + desc-wHubCharacteristics = (__force __u16)cpu_to_le16(0x0001); desc-bNbrPorts = OZ_NB_PORTS; } @@ -2182,7 +2181,7 @@ static int oz_hcd_hub_control(struct usb_hcd *hcd, u16 req_type, u16 wvalue, break; case GetHubStatus: oz_dbg(HUB, GetHubStatus: req_type = 0x%x\n, req_type); - put_unaligned(__constant_cpu_to_le32(0), (__le32 *)buf); + put_unaligned(cpu_to_le32(0), (__le32 *)buf); break; case GetPortStatus: err = oz_get_port_status(hcd, windex, buf); diff --git a/drivers/staging/ozwpan/ozproto.c b/drivers/staging/ozwpan/ozproto.c index c1325a6..f09acd0 100644 --- a/drivers/staging/ozwpan/ozproto.c +++ b/drivers/staging/ozwpan/ozproto.c @@ -672,7 +672,7 @@ void oz_binding_add(const char *net_dev) if (!binding) return; - binding-ptype.type = __constant_htons(OZ_ETHERTYPE); + binding-ptype.type = htons(OZ_ETHERTYPE); binding-ptype.func = oz_pkt_recv; if (net_dev *net_dev) { memcpy(binding-name, net_dev, OZ_MAX_BINDING_LEN); Acked-by: Rupesh Gujare rupesh.guj...@atmel.com ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 3/3] staging/ozwpan: coding style ether_addr_copy
On 13/03/14 01:21, Jérôme Pinot wrote: This fixes the following issues detected by checkpatch.pl: WARNING: Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) #220: FILE: drivers/staging/ozwpan/ozcdev.c:220: + memcpy(g_cdev.active_addr, addr, ETH_ALEN); WARNING: Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) #286: FILE: drivers/staging/ozwpan/ozcdev.c:286: + memcpy(addr, g_cdev.active_addr, ETH_ALEN); WARNING: Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) #176: FILE: drivers/staging/ozwpan/ozpd.c:176: + memcpy(pd-mac_addr, mac_addr, ETH_ALEN); WARNING: Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) #795: FILE: drivers/staging/ozwpan/ozproto.c:795: + memcpy(addr[count++], pd-mac_addr, ETH_ALEN); Signed-off-by: Jerome Pinot ngc...@gmail.com --- drivers/staging/ozwpan/ozcdev.c | 4 ++-- drivers/staging/ozwpan/ozpd.c| 2 +- drivers/staging/ozwpan/ozproto.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/staging/ozwpan/ozcdev.c b/drivers/staging/ozwpan/ozcdev.c index 5de5981..10c0a96 100644 --- a/drivers/staging/ozwpan/ozcdev.c +++ b/drivers/staging/ozwpan/ozcdev.c @@ -217,7 +217,7 @@ static int oz_set_active_pd(const u8 *addr) pd = oz_pd_find(addr); if (pd) { spin_lock_bh(g_cdev.lock); - memcpy(g_cdev.active_addr, addr, ETH_ALEN); + ether_addr_copy(g_cdev.active_addr, addr); old_pd = g_cdev.active_pd; g_cdev.active_pd = pd; spin_unlock_bh(g_cdev.lock); @@ -283,7 +283,7 @@ static long oz_cdev_ioctl(struct file *filp, unsigned int cmd, u8 addr[ETH_ALEN]; oz_dbg(ON, OZ_IOCTL_GET_ACTIVE_PD\n); spin_lock_bh(g_cdev.lock); - memcpy(addr, g_cdev.active_addr, ETH_ALEN); + ether_addr_copy(addr, g_cdev.active_addr); spin_unlock_bh(g_cdev.lock); if (copy_to_user((void __user *)arg, addr, ETH_ALEN)) return -EFAULT; diff --git a/drivers/staging/ozwpan/ozpd.c b/drivers/staging/ozwpan/ozpd.c index 29a23a3..4740238 100644 --- a/drivers/staging/ozwpan/ozpd.c +++ b/drivers/staging/ozwpan/ozpd.c @@ -173,7 +173,7 @@ struct oz_pd *oz_pd_alloc(const u8 *mac_addr) pd-last_rx_pkt_num = 0x; oz_pd_set_state(pd, OZ_PD_S_IDLE); pd-max_tx_size = OZ_MAX_TX_SIZE; - memcpy(pd-mac_addr, mac_addr, ETH_ALEN); + ether_addr_copy(pd-mac_addr, mac_addr); if (0 != oz_elt_buf_init(pd-elt_buff)) { kfree(pd); pd = NULL; diff --git a/drivers/staging/ozwpan/ozproto.c b/drivers/staging/ozwpan/ozproto.c index f09acd0..a7e953d 100644 --- a/drivers/staging/ozwpan/ozproto.c +++ b/drivers/staging/ozwpan/ozproto.c @@ -792,7 +792,7 @@ int oz_get_pd_list(struct oz_mac_addr *addr, int max_count) if (count = max_count) break; pd = container_of(e, struct oz_pd, link); - memcpy(addr[count++], pd-mac_addr, ETH_ALEN); + ether_addr_copy(addr[count++], pd-mac_addr); } spin_unlock_bh(g_polling_lock); return count; Acked-by: Rupesh Gujare rupesh.guj...@atmel.com ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] Staging: bcm: CmHost: moved and removed declarations
Firstly, some background is needed to confirm the validity of this patch as error fixing. It seems the developer when writing this driver from scratch, used what are known to me as error suppressors in the form of extra tmp bracing added to the case labels. They aid during construction time, but are not intended to remain. In this scenario there are declarations occupying space only reserved for statements. If these tmp braces were to be removed before the declarations in question were reassigned to there proper place in the funtion, compile time errors would result. So, having that said, I moved the declarations, UINT uiSearchRuleIndex = 0; and ULONG ulSFID;, and also deleted the duplicates thereof from the switch/case statement. Signed-off-by: Gary Alan Rookard garyrook...@gmail.com --- On branch staging-next drivers/staging/bcm/CmHost.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/staging/bcm/CmHost.c b/drivers/staging/bcm/CmHost.c index cc91b5e..2d1f94d 100644 --- a/drivers/staging/bcm/CmHost.c +++ b/drivers/staging/bcm/CmHost.c @@ -1637,7 +1637,8 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to struct bcm_add_indication_alt *pstAddIndication = NULL; struct bcm_change_indication *pstChangeIndication = NULL; struct bcm_leader *pLeader = NULL; - + UINT uiSearchRuleIndex = 0; + ULONG ulSFID; /* * Otherwise the message contains a target address from where we need to * read out the rest of the service flow param structure @@ -1685,7 +1686,6 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to } /* no break here..we should go down. */ case DSA_ACK: { - UINT uiSearchRuleIndex = 0; BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, VCID:0x%X, ntohs(pstAddIndication-u16VCID)); @@ -1794,7 +1794,6 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to } case DSC_ACK: { - UINT uiSearchRuleIndex = 0; pstChangeIndication = (struct bcm_change_indication *)pstAddIndication; uiSearchRuleIndex = SearchSfid(Adapter, ntohl(pstChangeIndication-sfActiveSet.u32SFID)); @@ -1853,8 +1852,6 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to break; case DSD_REQ: { - UINT uiSearchRuleIndex; - ULONG ulSFID; pLeader-PLength = sizeof(struct bcm_del_indication); *((struct bcm_del_indication *)(Adapter-caDsxReqResp[LEADER_SIZE])) = *((struct bcm_del_indication *)pstAddIndication); -- 1.9.0 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: bcm: CmHost: added breaks and /* FALLTHROUGH */ to switch/case.
On Sun, Mar 16, 2014 at 03:31:18PM -0400, Gary Rookard wrote: I added a couple of breaks, and a /* FALLTHROUGH */ comment to switch/case assuming that is the actual desired effect needed by the case label. Signed-off-by: Gary Alan Rookard garyrook...@gmail.com --- On branch staging-next drivers/staging/bcm/CmHost.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/staging/bcm/CmHost.c b/drivers/staging/bcm/CmHost.c index 4cb59d7..9252ef1 100644 --- a/drivers/staging/bcm/CmHost.c +++ b/drivers/staging/bcm/CmHost.c @@ -1678,8 +1678,7 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to *((struct bcm_add_indication_alt *)(Adapter-caDsxReqResp[LEADER_SIZE])) = *pstAddIndication; ((struct bcm_add_indication_alt *)(Adapter-caDsxReqResp[LEADER_SIZE]))-u8Type = DSA_ACK; - - } /* no break here..we should go down. */ + } /* FALLTHROUGH */ case DSA_ACK: { @@ -1787,6 +1786,7 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, SENDING DSC ACK TO MAC %d, pLeader-PLength); *((struct bcm_change_indication *)(Adapter-caDsxReqResp[LEADER_SIZE])) = *pstChangeIndication; ((struct bcm_change_indication *)(Adapter-caDsxReqResp[LEADER_SIZE]))-u8Type = DSC_ACK; + break; } case DSC_ACK: { @@ -1865,6 +1865,7 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, SENDING DSD RESPONSE TO MAC); ((struct bcm_del_indication *)(Adapter-caDsxReqResp[LEADER_SIZE]))-u8Type = DSD_RSP; CopyBufferToControlPacket(Adapter, (PVOID)Adapter-caDsxReqResp); + break; Are you _sure_ these two changes are ok? Do you have a device to test? If not, I can't really take this patch as it does change the logic involved here :( thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: bcm:CmHost: removed extra parenthesis.
On Sun, Mar 16, 2014 at 03:59:53PM -0400, Gary Rookard wrote: I removed some useless extra parenthesis. Signed-off-by: Gary Alan Rookard garyrook...@gmail.com --- On branch staging-next drivers/staging/bcm/CmHost.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/bcm/CmHost.c b/drivers/staging/bcm/CmHost.c index 9252ef1..41cb3de 100644 --- a/drivers/staging/bcm/CmHost.c +++ b/drivers/staging/bcm/CmHost.c @@ -1689,7 +1689,7 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to uiSearchRuleIndex); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, Direction:0x%X , pstAddIndication-u8Direction); - if ((uiSearchRuleIndex NO_OF_QUEUES)) { + if (uiSearchRuleIndex NO_OF_QUEUES) { Adapter-PackInfo[uiSearchRuleIndex].ucDirection = pstAddIndication-u8Direction; BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, bValid:0x%X , @@ -1796,7 +1796,7 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to if (uiSearchRuleIndex NO_OF_QUEUES-1) BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, SF doesn't exist for which DSC_ACK is received); - if ((uiSearchRuleIndex NO_OF_QUEUES)) { + if (uiSearchRuleIndex NO_OF_QUEUES) { Adapter-PackInfo[uiSearchRuleIndex].ucDirection = pstChangeIndication-u8Direction; if (pstChangeIndication-sfActiveSet.bValid == TRUE) Adapter-PackInfo[uiSearchRuleIndex].bActiveSet = TRUE; This change was done by someone else before you, sorry :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: bcm: CmHost: added breaks and /* FALLTHROUGH */ to switch/case.
On Mon, 17 Mar 2014, Greg KH wrote: On Sun, Mar 16, 2014 at 03:31:18PM -0400, Gary Rookard wrote: I added a couple of breaks, and a /* FALLTHROUGH */ comment to switch/case assuming that is the actual desired effect needed by the case label. Signed-off-by: Gary Alan Rookard garyrook...@gmail.com --- On branch staging-next drivers/staging/bcm/CmHost.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/staging/bcm/CmHost.c b/drivers/staging/bcm/CmHost.c index 4cb59d7..9252ef1 100644 --- a/drivers/staging/bcm/CmHost.c +++ b/drivers/staging/bcm/CmHost.c @@ -1678,8 +1678,7 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to *((struct bcm_add_indication_alt *)(Adapter-caDsxReqResp[LEADER_SIZE])) = *pstAddIndication; ((struct bcm_add_indication_alt *)(Adapter-caDsxReqResp[LEADER_SIZE]))-u8Type = DSA_ACK; - - } /* no break here..we should go down. */ + } /* FALLTHROUGH */ case DSA_ACK: { @@ -1787,6 +1786,7 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, SENDING DSC ACK TO MAC %d, pLeader-PLength); *((struct bcm_change_indication *)(Adapter-caDsxReqResp[LEADER_SIZE])) = *pstChangeIndication; ((struct bcm_change_indication *)(Adapter-caDsxReqResp[LEADER_SIZE]))-u8Type = DSC_ACK; + break; } case DSC_ACK: { @@ -1865,6 +1865,7 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, SENDING DSD RESPONSE TO MAC); ((struct bcm_del_indication *)(Adapter-caDsxReqResp[LEADER_SIZE]))-u8Type = DSD_RSP; CopyBufferToControlPacket(Adapter, (PVOID)Adapter-caDsxReqResp); + break; Are you _sure_ these two changes are ok? Do you have a device to test? If not, I can't really take this patch as it does change the logic involved here :( thanks, greg k-h -- No device, based on assumption, and code study. Possible logic change maybe but not likely. Your decision either way is fine with me. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: bcm: CmHost: moved and removed declarations in switch/case.
On Mon, 17 Mar 2014, Greg KH wrote: On Sun, Mar 16, 2014 at 01:09:49AM -0400, Gary Rookard wrote: I moved the declarations UINT uiSearchRuleIndex = 0; and ULONG ulSFID; from out of a switch/case statement. And also, removed useless duplicate UINT uiSearchRuleIndex = 0; and a variant UINT uiSearchRuleIndex;. Signed-off-by: Gary Alan Rookard garyrook...@gmail.com --- On branch staging-next drivers/staging/bcm/CmHost.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/staging/bcm/CmHost.c b/drivers/staging/bcm/CmHost.c index cc91b5e..2d1f94d 100644 --- a/drivers/staging/bcm/CmHost.c +++ b/drivers/staging/bcm/CmHost.c @@ -1637,7 +1637,8 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to struct bcm_add_indication_alt *pstAddIndication = NULL; struct bcm_change_indication *pstChangeIndication = NULL; struct bcm_leader *pLeader = NULL; - + UINT uiSearchRuleIndex = 0; + ULONG ulSFID; /* No newline before the comment? * Otherwise the message contains a target address from where we need to * read out the rest of the service flow param structure @@ -1685,7 +1686,6 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to } /* no break here..we should go down. */ case DSA_ACK: { - UINT uiSearchRuleIndex = 0; You could now drop the { } and the newline, right? Yes, redoing it now to include. Should be there shortly. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH net-next,v2,1/1] hyperv: Add support for virtual Receive Side Scaling (vRSS)
From: Haiyang Zhang haiya...@microsoft.com Date: Sat, 15 Mar 2014 10:18:07 -0700 - if (netif_queue_stopped(ndev) !net_device-start_remove - (hv_ringbuf_avail_percent(device-channel-outbound) - RING_AVAIL_PERCENT_HIWATER || - num_outstanding_sends 1)) - netif_wake_queue(ndev); + if (netif_tx_queue_stopped(netdev_get_tx_queue(ndev, q_idx)) + !net_device-start_remove + (hv_ringbuf_avail_percent(channel-outbound) + RING_AVAIL_PERCENT_HIWATER || queue_sends 1)) + netif_tx_wake_queue(netdev_get_tx_queue( + ndev, q_idx)); This is not indented properly, make it: if (A B (C D || E 1)) Never put operators at the beginning of a conditional line, always at the end. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH net-next,v2,1/1] hyperv: Add support for virtual Receive Side Scaling (vRSS)
On Sat, 2014-03-15 at 10:18 -0700, Haiyang Zhang wrote: [...] #define RING_SIZE_MIN 64 -static int ring_size = 128; +int ring_size = 128; module_param(ring_size, int, S_IRUGO); MODULE_PARM_DESC(ring_size, Ring buffer size (# of pages)); You have to add some driver-specific prefix to the variable name if it is going to be extern. (And use module_param_named to avoid changing the parameter name too.) [...] +u8 hash_key[HASH_KEYLEN] = { + 0x6d, 0x5a, 0x56, 0xda, 0x25, 0x5b, 0x0e, 0xc2, + 0x41, 0x67, 0x25, 0x3d, 0x43, 0xa3, 0x8f, 0xb0, + 0xd0, 0xca, 0x2b, 0xcb, 0xae, 0x7b, 0x30, 0xb4, + 0x77, 0xcb, 0x2d, 0xa3, 0x80, 0x30, 0xf2, 0x0c, + 0x6a, 0x42, 0xb7, 0x3b, 0xbe, 0xac, 0x01, 0xfa +}; [...] Same for this one. Ben. -- Ben Hutchings I'm always amazed by the number of people who take up solipsism because they heard someone else explain it. - E*Borg on alt.fan.pratchett signature.asc Description: This is a digitally signed message part ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
RE: [PATCH net-next,v2,1/1] hyperv: Add support for virtual Receive Side Scaling (vRSS)
-Original Message- From: David Miller [mailto:da...@davemloft.net] Sent: Monday, March 17, 2014 4:20 PM To: Haiyang Zhang Cc: net...@vger.kernel.org; KY Srinivasan; o...@aepfle.de; jasow...@redhat.com; linux-ker...@vger.kernel.org; driverdev- de...@linuxdriverproject.org Subject: Re: [PATCH net-next,v2,1/1] hyperv: Add support for virtual Receive Side Scaling (vRSS) From: Haiyang Zhang haiya...@microsoft.com Date: Sat, 15 Mar 2014 10:18:07 -0700 - if (netif_queue_stopped(ndev) !net_device-start_remove - (hv_ringbuf_avail_percent(device-channel- outbound) -RING_AVAIL_PERCENT_HIWATER || - num_outstanding_sends 1)) - netif_wake_queue(ndev); + if (netif_tx_queue_stopped(netdev_get_tx_queue(ndev, q_idx)) +!net_device-start_remove + (hv_ringbuf_avail_percent(channel-outbound) +RING_AVAIL_PERCENT_HIWATER || queue_sends 1)) + netif_tx_wake_queue(netdev_get_tx_queue( + ndev, q_idx)); This is not indented properly, make it: if (A B (C D || E 1)) Never put operators at the beginning of a conditional line, always at the end. I will do. Thanks, - Haiyang ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
RE: [PATCH net-next,v2,1/1] hyperv: Add support for virtual Receive Side Scaling (vRSS)
-Original Message- From: Ben Hutchings [mailto:b...@decadent.org.uk] Sent: Monday, March 17, 2014 4:28 PM To: Haiyang Zhang Cc: da...@davemloft.net; net...@vger.kernel.org; KY Srinivasan; o...@aepfle.de; jasow...@redhat.com; linux-ker...@vger.kernel.org; driverdev-devel@linuxdriverproject.org Subject: Re: [PATCH net-next,v2,1/1] hyperv: Add support for virtual Receive Side Scaling (vRSS) On Sat, 2014-03-15 at 10:18 -0700, Haiyang Zhang wrote: [...] #define RING_SIZE_MIN 64 -static int ring_size = 128; +int ring_size = 128; module_param(ring_size, int, S_IRUGO); MODULE_PARM_DESC(ring_size, Ring buffer size (# of pages)); You have to add some driver-specific prefix to the variable name if it is going to be extern. (And use module_param_named to avoid changing the parameter name too.) [...] +u8 hash_key[HASH_KEYLEN] = { + 0x6d, 0x5a, 0x56, 0xda, 0x25, 0x5b, 0x0e, 0xc2, + 0x41, 0x67, 0x25, 0x3d, 0x43, 0xa3, 0x8f, 0xb0, + 0xd0, 0xca, 0x2b, 0xcb, 0xae, 0x7b, 0x30, 0xb4, + 0x77, 0xcb, 0x2d, 0xa3, 0x80, 0x30, 0xf2, 0x0c, + 0x6a, 0x42, 0xb7, 0x3b, 0xbe, 0xac, 0x01, 0xfa }; [...] Same for this one. I will do. Thanks, - Haiyang ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/2] Staging: comedi: Fix if/else style in hwdrv_apci1500.c
On Sun, Mar 09, 2014 at 09:24:40AM -0700, Conrad Meyer wrote: Also kill some useless comments while I was there, e.g.: if (foo) { ... } /* if (foo) */ With vim: :%s/}\t\t*\/\*\s\s*\(if\|else\|for\|while\|switch\).*$/}/ Neither of these patches apply to my tree, can you redo them and resend? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: bcm:CmHost: removed extra parenthesis.
On Mon, 17 Mar 2014, Greg KH wrote: On Sun, Mar 16, 2014 at 03:59:53PM -0400, Gary Rookard wrote: I removed some useless extra parenthesis. Signed-off-by: Gary Alan Rookard garyrook...@gmail.com --- On branch staging-next drivers/staging/bcm/CmHost.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/bcm/CmHost.c b/drivers/staging/bcm/CmHost.c index 9252ef1..41cb3de 100644 --- a/drivers/staging/bcm/CmHost.c +++ b/drivers/staging/bcm/CmHost.c @@ -1689,7 +1689,7 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to uiSearchRuleIndex); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, Direction:0x%X , pstAddIndication-u8Direction); - if ((uiSearchRuleIndex NO_OF_QUEUES)) { + if (uiSearchRuleIndex NO_OF_QUEUES) { Adapter-PackInfo[uiSearchRuleIndex].ucDirection = pstAddIndication-u8Direction; BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, bValid:0x%X , @@ -1796,7 +1796,7 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to if (uiSearchRuleIndex NO_OF_QUEUES-1) BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, SF doesn't exist for which DSC_ACK is received); - if ((uiSearchRuleIndex NO_OF_QUEUES)) { + if (uiSearchRuleIndex NO_OF_QUEUES) { Adapter-PackInfo[uiSearchRuleIndex].ucDirection = pstChangeIndication-u8Direction; if (pstChangeIndication-sfActiveSet.bValid == TRUE) Adapter-PackInfo[uiSearchRuleIndex].bActiveSet = TRUE; This change was done by someone else before you, sorry :( -- Oh well... :/ ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 2/2] staging: comedi: poc: remove obsolete driver
On Tue, Mar 11, 2014 at 12:04:18PM -0700, H Hartley Sweeten wrote: From: H Hartley Sweeten hartl...@visionengravers.com The DAC02 board, which is the only board supported by this driver, now has its own comedi driver (dac02). Remove this obsolete driver. Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com Reviewed-by: Ian Abbott abbo...@mev.co.uk --- drivers/staging/comedi/Kconfig | 9 -- drivers/staging/comedi/drivers/Makefile | 1 - drivers/staging/comedi/drivers/poc.c| 157 3 files changed, 167 deletions(-) delete mode 100644 drivers/staging/comedi/drivers/poc.c This patch fails to apply to my tree, can you refresh it and resend? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/2] staging: cxtie1: remove unneeded mkret() calls
On Mon, Mar 10, 2014 at 08:54:18AM +0900, Daeseok Youn wrote: The mkret() change a value of error from positive to negative. This patch is modified to return negative value when it failed. It doesn't need to call with function for changing from positive to negative. Signed-off-by: Daeseok Youn daeseok.y...@gmail.com --- drivers/staging/cxt1e1/linux.c | 72 +-- drivers/staging/cxt1e1/musycc.c|2 +- drivers/staging/cxt1e1/pmcc4_drv.c | 40 ++-- 3 files changed, 48 insertions(+), 66 deletions(-) This patch no longer applies to my tree, can you refresh it and resend? ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 3/3] Staging: lustre: fld: moved EXPORT_SYMBOL() for a fix.
On Thu, Mar 13, 2014 at 08:58:09PM -0400, Gary Rookard wrote: I moved EXPORT_SYMBOL(fld_client_proc_fini); for a EXPORT_SYMBOL should be immediately below its function warning fix. Signed-off-by: Gary Alan Rookard garyrook...@gmail.com --- Correct patch, first two breaks build. Patch 3/3? Where are the previous 2? And if I didn't apply the first 2, why would I need this one? Please resend whatever patch you wish to have applied, I've flushed all of your pending ones from my queue. totally confused, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: dgap: Fixed sparse error: same symbol redeclared with different type
On Sun, Mar 09, 2014 at 12:57:35AM -0800, Masood Mehmood wrote: sparse reported dgap_do_fep_load is redeclared with different type. while fixing, I noticed __user attribute is used incorrectly in declaration. There is no need to define __user for firware-data. Replaced the __user with 'const uchar *' from function dgap_do_fep_load and did the same for function dgap_do_bios_load. Signed-off-by: Masood Mehmood ody.g...@gmail.com --- drivers/staging/dgap/dgap.c | 13 ++--- 1 file changed, 6 insertions(+), 7 deletions(-) This patch does not apply to my tree, can you redo it? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 04/04] staging: dgap: Add a pr_info per board info
On Wed, Mar 12, 2014 at 12:50:56PM -0400, Mark Hounschell wrote: This patch adds a pr_info per board that indicates board number, type, etc.. Signed-off-by: Mark Hounschell ma...@compro.net --- drivers/staging/dgap/dgap.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/staging/dgap/dgap.c b/drivers/staging/dgap/dgap.c index ddeff5f..77d6428 100644 --- a/drivers/staging/dgap/dgap.c +++ b/drivers/staging/dgap/dgap.c @@ -820,6 +820,10 @@ static int dgap_found_board(struct pci_dev *pdev, int id) if (i) brd-state = BOARD_FAILED; + pr_info(dgap: board %d: %s (rev %d), irq %ld, %s\n, + dgap_NumBoards, brd-name, brd-rev, brd-irq, + brd-state ? NOT READY\0 : READY\0); + This is ok for now, but eventually the driver should not make any noise when a device is found and attached to it, otherwise it's just a mess in the kernel log. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: dgap: Fixed sparse error: same symbol redeclared with different type
On Wed, Mar 12, 2014 at 08:55:44PM -0700, Masood Mehmood wrote: sparse reported dgap_do_fep_load is redeclared with different type. while fixing, I noticed __user attribute is used incorrectly in declaration. There is no need to define __user for firware-data. Replaced the __user with 'const uchar *' from function dgap_do_fep_load and did the same for function dgap_do_bios_load. Signed-off-by: Masood Mehmood ody.g...@gmail.com --- drivers/staging/dgap/dgap.c | 13 ++--- 1 file changed, 6 insertions(+), 7 deletions(-) This patch does not apply :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] [staging][r8188eu]: memory leak in rtw_free_cmd_obj if command is (_Set_Drv_Extra)
On Mon, Mar 10, 2014 at 11:37:44AM -0400, Wang, Xiaoming wrote: pcmd-parmbuf-pbuf has been allocated if command is GEN_CMD_CODE(_Set_Drv_Extra), and it enqueued by rtw_enqueue_cmd. rtw_cmd_thread dequeue pcmd by rtw_dequeue_cmd. The memory leak happened on this branch if( _FAIL == rtw_cmd_filter(pcmdpriv, pcmd) ) which goto post_process directly against freeing pcmd-parmbuf-pbuf in rtw_drvextra_cmd_hdl which is the cmd_hdl if command is (_Set_Drv_Extra). This patch free pcmd-parmbuf-pbuf on the forgotten branch to avoid memory leak. Signed-off-by: Zhang Dongxing dongxing.zh...@intel.com Signed-off-by: xiaoming wang xiaoming.w...@intel.com Reviewed-by: Chuansheng Liu chuansheng@intel.com diff --git a/drivers/staging/rtl8188eu/core/rtw_cmd.c b/drivers/staging/rtl8188eu/core/rtw_cmd.c index c0a0a52..1c7f505 100644 --- a/drivers/staging/rtl8188eu/core/rtw_cmd.c +++ b/drivers/staging/rtl8188eu/core/rtw_cmd.c @@ -288,7 +288,7 @@ int rtw_cmd_thread(void *context) void (*pcmd_callback)(struct adapter *dev, struct cmd_obj *pcmd); struct adapter *padapter = (struct adapter *)context; struct cmd_priv *pcmdpriv = (padapter-cmdpriv); - + struct drvextra_cmd_parm *extra_parm = NULL; thread_enter(RTW_CMD_THREAD); @@ -323,6 +323,11 @@ _next: if (_FAIL == rtw_cmd_filter(pcmdpriv, pcmd)) { pcmd-res = H2C_DROPPED; + if (pcmd-cmdcode == GEN_CMD_CODE(_Set_Drv_Extra)) { + extra_parm = (struct drvextra_cmd_parm *)pcmd-parmbuf; + if (extra_parm extra_parm-pbuf extra_parm-size 0) + rtw_mfree(extra_parm-pbuf, extra_parm-size); + } goto post_process; } This patch has all the tabs converted to spaces and can not be applied :( Please fix your email client and try again. greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: unisys: use kzalloc instead of kmalloc/memset 0
On Wed, Mar 12, 2014 at 07:37:50PM +0900, Daeseok Youn wrote: Signed-off-by: Daeseok Youn daeseok.y...@gmail.com --- drivers/staging/unisys/uislib/uislib.c |5 + drivers/staging/unisys/uislib/uisutils.c |2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/staging/unisys/uislib/uislib.c b/drivers/staging/unisys/uislib/uislib.c index d77df9a..9748fcb 100644 --- a/drivers/staging/unisys/uislib/uislib.c +++ b/drivers/staging/unisys/uislib/uislib.c @@ -339,8 +339,6 @@ create_bus(CONTROLVM_MESSAGE *msg, char *buf) return CONTROLVM_RESP_ERROR_KMALLOC_FAILED; } - memset(bus, 0, size); - /* Currently by default, the bus Number is the GuestHandle. * Configure Bus message can override this. */ @@ -530,7 +528,6 @@ create_device(CONTROLVM_MESSAGE *msg, char *buf) return CONTROLVM_RESP_ERROR_KMALLOC_FAILED; } - memset(dev, 0, sizeof(struct device_info)); dev-channelTypeGuid = msg-cmd.createDevice.dataTypeGuid; dev-intr = msg-cmd.createDevice.intr; dev-channelAddr = msg-cmd.createDevice.channelAddr; @@ -1437,7 +1434,7 @@ uislib_malloc(size_t siz, gfp_t gfp, U8 contiguous, char *fn, int ln) * get memory for you (like, invoke oom killer), which * will probably cripple the system. */ - p = kmalloc(siz, gfp | __GFP_NORETRY); + p = kzalloc(siz, gfp | __GFP_NORETRY); } if (p == NULL) { LOGERR(uislib_malloc failed to alloc %d bytes @%s:%d, diff --git a/drivers/staging/unisys/uislib/uisutils.c b/drivers/staging/unisys/uislib/uisutils.c index 208b7ea..2f05be1 100644 --- a/drivers/staging/unisys/uislib/uisutils.c +++ b/drivers/staging/unisys/uislib/uisutils.c @@ -294,7 +294,7 @@ ReqHandlerAdd(GUID switchTypeGuid, rc = UISMALLOC(sizeof(*rc), GFP_ATOMIC); if (!rc) return NULL; - memset(rc, 0, sizeof(*rc)); + rc-switchTypeGuid = switchTypeGuid; rc-controlfunc = controlfunc; rc-min_channel_bytes = min_channel_bytes; Can you just remove the UISMALLOC() macro completly, so that it's easier to verify that changes like this are actually correct? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/6] Staging: unisys: channels: Cleanup sparse warnings
Clean up multiple sparse warnings mostly due to different address spaces when accessing I/O memory. Also, remove SignalRemoveAll(), SignalQueueHasOneElement(), SignalQueueIsFull(), because they were never called. Signed-off-by: Ken Cox jkc at redhat.com snip diff --git a/drivers/staging/unisys/include/commontypes.h b/drivers/staging/unisys/include/commontypes.h index ae46bed..ef12af4 100644 --- a/drivers/staging/unisys/include/commontypes.h +++ b/drivers/staging/unisys/include/commontypes.h @@ -23,6 +23,7 @@ #ifdef __KERNEL__ #include linux/types.h #include linux/version.h +#include linux/io.h #else #include stdint.h #include syslog.h @@ -72,6 +73,7 @@ typedef U64 GUEST_PHYSICAL_ADDRESS; #define MEMSET(ptr, val, len) memset(ptr, val, len) #define MEMCMP(m1, m2, len) memcmp(m1, m2, len) +#define MEMCMP_IO(m1, m2, len) memcmp((void __force *)m1, m2, len) #define STRLEN(s) ((UINTN)strlen((const char *)s)) #define STRCPY(d, s) (strcpy((char *)d, (const char *)s)) @@ -81,6 +83,8 @@ typedef U64 GUEST_PHYSICAL_ADDRESS; #ifdef __KERNEL__ #define MEMORYBARRIER mb() #define MEMCPY(dest, src, len) memcpy(dest, src, len) +#define MEMCPY_TOIO(dest, src, len) memcpy_toio(dest, src, len) +#define MEMCPY_FROMIO(dest, src, len) memcpy_fromio(dest, src, len) We know we're in the kernel, so there's no need for this #ifdef - also why not get rid of the define altogether, and use the memcpy_toio() function call direct? ...similarly for the other defines here. Cheers, Mark #define CHANNEL_GUID_MISMATCH(chType, chName, field, expected, actual, fil, \ lin, logCtx) \ -- ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [RFC PATCH 03/22] staging: crypto: skein: allow building statically
On Tue, Mar 11, 2014 at 09:32:35PM +, Jason Cooper wrote: These are the minimum changes required to get the code to build statically in the kernel. It's necessary to do this first so that we can empirically determine that future cleanup patches aren't changing the generated object code. Signed-off-by: Jason Cooper ja...@lakedaemon.net This doesn't apply to my latest tree :( --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile @@ -65,3 +65,4 @@ obj-$(CONFIG_XILLYBUS) += xillybus/ obj-$(CONFIG_DGNC) += dgnc/ obj-$(CONFIG_DGAP) += dgap/ obj-$(CONFIG_MTD_SPINAND_MT29F) += mt29f_spinand/ +obj-$(CONFIG_CRYPTO_SKEIN) += skein/ Care to align these up with the way this file is formatted? And I have no objection to taking the drivers/staging/ patches, the script looks useful, but I can't take it through the staging tree, sorry. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 3/3] Staging: lustre: fld: moved EXPORT_SYMBOL() for a fix.
On Mon, 17 Mar 2014, Greg KH wrote: On Thu, Mar 13, 2014 at 08:58:09PM -0400, Gary Rookard wrote: I moved EXPORT_SYMBOL(fld_client_proc_fini); for a EXPORT_SYMBOL should be immediately below its function warning fix. Signed-off-by: Gary Alan Rookard garyrook...@gmail.com --- Correct patch, first two breaks build. Patch 3/3? Where are the previous 2? And if I didn't apply the first 2, why would I need this one? Please resend whatever patch you wish to have applied, I've flushed all of your pending ones from my queue. totally confused, greg k-h -- The problem stems from me doing my normal work alongside what I'm trying to do here, sorry. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] Staging: bcm: CmHost: moved and removed declarations and tmp bracing.
Firstly, some background is needed to confirm the validity of this patch as error fixing. It seems the developer when writing this driver from scratch, used what are known to me as error suppressors in the form of extra tmp bracing added to the case labels. They aid during construction time, but are not intended to remain. In this scenario there are declarations occupying space only reserved for statements. If these tmp braces were to be removed before the declarations in question were reassigned to there proper place in the funtion, compile time errors would result. So, having that said, I moved the declarations, UINT uiSearchRuleIndex = 0; and ULONG ulSFID;, and also deleted the duplicates thereof from the switch/case statement. Removed temporary bracing from case labels. Removed new lines as needed. Signed-off-by: Gary Rookard garyrook...@gmail.com --- On branch staging-next drivers/staging/bcm/CmHost.c | 27 +++ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/drivers/staging/bcm/CmHost.c b/drivers/staging/bcm/CmHost.c index cc82588..b3002d7 100644 --- a/drivers/staging/bcm/CmHost.c +++ b/drivers/staging/bcm/CmHost.c @@ -1635,7 +1635,8 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to struct bcm_add_indication_alt *pstAddIndication = NULL; struct bcm_change_indication *pstChangeIndication = NULL; struct bcm_leader *pLeader = NULL; - + UINT uiSearchRuleIndex = 0; + ULONG ulSFID; /* * Otherwise the message contains a target address from where we need to * read out the rest of the service flow param structure @@ -1658,7 +1659,6 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, ### TID RECEIVED %d\n, pstAddIndication-u16TID); switch (pstAddIndication-u8Type) { case DSA_REQ: - { pLeader-PLength = sizeof(struct bcm_add_indication_alt); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, Sending DSA Response\n); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, SENDING DSA RESPONSE TO MAC %d, pLeader-PLength); @@ -1669,10 +1669,8 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, VCID = %x, ntohs(pstAddIndication-u16VCID)); CopyBufferToControlPacket(Adapter, (PVOID)Adapter-caDsxReqResp); kfree(pstAddIndication); - } break; case DSA_RSP: - { pLeader-PLength = sizeof(struct bcm_add_indication_alt); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, SENDING DSA ACK TO MAC %d, pLeader-PLength); @@ -1680,11 +1678,8 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to = *pstAddIndication; ((struct bcm_add_indication_alt *)(Adapter-caDsxReqResp[LEADER_SIZE]))-u8Type = DSA_ACK; - } /* no break here..we should go down. */ + /* no break here..we should go down. */ case DSA_ACK: - { - UINT uiSearchRuleIndex = 0; - BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, VCID:0x%X, ntohs(pstAddIndication-u16VCID)); uiSearchRuleIndex = SearchFreeSfid(Adapter); @@ -1767,10 +1762,8 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to kfree(pstAddIndication); return false; } - } break; case DSC_REQ: - { pLeader-PLength = sizeof(struct bcm_change_indication); pstChangeIndication = (struct bcm_change_indication *)pstAddIndication; BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, SENDING DSC RESPONSE TO MAC %d, pLeader-PLength); @@ -1780,20 +1773,14 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to CopyBufferToControlPacket(Adapter, (PVOID)Adapter-caDsxReqResp); kfree(pstAddIndication); - } break; case DSC_RSP: - { pLeader-PLength = sizeof(struct bcm_change_indication); pstChangeIndication = (struct bcm_change_indication *)pstAddIndication; BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, SENDING DSC ACK TO MAC %d, pLeader-PLength); *((struct bcm_change_indication *)(Adapter-caDsxReqResp[LEADER_SIZE])) = *pstChangeIndication; ((struct bcm_change_indication *)(Adapter-caDsxReqResp[LEADER_SIZE]))-u8Type = DSC_ACK; - } case DSC_ACK: - { - UINT
RE: [PATCH 2/2] staging: comedi: poc: remove obsolete driver
On Monday, March 17, 2014 2:14 PM, Greg KH wrote: On Tue, Mar 11, 2014 at 12:04:18PM -0700, H Hartley Sweeten wrote: From: H Hartley Sweeten hartl...@visionengravers.com The DAC02 board, which is the only board supported by this driver, now has its own comedi driver (dac02). Remove this obsolete driver. Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com Reviewed-by: Ian Abbott abbo...@mev.co.uk --- drivers/staging/comedi/Kconfig | 9 -- drivers/staging/comedi/drivers/Makefile | 1 - drivers/staging/comedi/drivers/poc.c| 157 3 files changed, 167 deletions(-) delete mode 100644 drivers/staging/comedi/drivers/poc.c This patch fails to apply to my tree, can you refresh it and resend? Sorry about that. I spotted this issue last week and forgot to submit an updated patch. I'll get one to you soon. BTW, I got two notices from you on this patch being added: staging: comedi: dac02: introduce comedi driver for DAC02 boards I assume this was an email issue and the patch was only added once... Thanks, Hartley ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 2/2] staging: comedi: poc: remove obsolete driver
On Mon, Mar 17, 2014 at 10:12:01PM +, Hartley Sweeten wrote: On Monday, March 17, 2014 2:14 PM, Greg KH wrote: On Tue, Mar 11, 2014 at 12:04:18PM -0700, H Hartley Sweeten wrote: From: H Hartley Sweeten hartl...@visionengravers.com The DAC02 board, which is the only board supported by this driver, now has its own comedi driver (dac02). Remove this obsolete driver. Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com Reviewed-by: Ian Abbott abbo...@mev.co.uk --- drivers/staging/comedi/Kconfig | 9 -- drivers/staging/comedi/drivers/Makefile | 1 - drivers/staging/comedi/drivers/poc.c| 157 3 files changed, 167 deletions(-) delete mode 100644 drivers/staging/comedi/drivers/poc.c This patch fails to apply to my tree, can you refresh it and resend? Sorry about that. I spotted this issue last week and forgot to submit an updated patch. I'll get one to you soon. BTW, I got two notices from you on this patch being added: staging: comedi: dac02: introduce comedi driver for DAC02 boards I assume this was an email issue and the patch was only added once... Yes, that was my fault, sorry. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: bcm: CmHost: moved and removed declarations and tmp bracing.
On Mon, Mar 17, 2014 at 06:01:24PM -0400, Gary Rookard wrote: Firstly, some background is needed to confirm the validity of this patch as error fixing. It seems the developer when writing this driver from scratch, used what are known to me as error suppressors in the form of extra tmp bracing added to the case labels. They aid during construction time, but are not intended to remain. In this scenario there are declarations occupying space only reserved for statements. If these tmp braces were to be removed before the declarations in question were reassigned to there proper place in the funtion, compile time errors would result. So, having that said, I moved the declarations, UINT uiSearchRuleIndex = 0; and ULONG ulSFID;, and also deleted the duplicates thereof from the switch/case statement. Removed temporary bracing from case labels. Removed new lines as needed. Signed-off-by: Gary Rookard garyrook...@gmail.com --- On branch staging-next drivers/staging/bcm/CmHost.c | 27 +++ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/drivers/staging/bcm/CmHost.c b/drivers/staging/bcm/CmHost.c index cc82588..b3002d7 100644 --- a/drivers/staging/bcm/CmHost.c +++ b/drivers/staging/bcm/CmHost.c @@ -1635,7 +1635,8 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to struct bcm_add_indication_alt *pstAddIndication = NULL; struct bcm_change_indication *pstChangeIndication = NULL; struct bcm_leader *pLeader = NULL; - + UINT uiSearchRuleIndex = 0; + ULONG ulSFID; /* You forgot to add a line after the variable and before the comment here :( * Otherwise the message contains a target address from where we need to * read out the rest of the service flow param structure @@ -1658,7 +1659,6 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, ### TID RECEIVED %d\n, pstAddIndication-u16TID); switch (pstAddIndication-u8Type) { case DSA_REQ: - { pLeader-PLength = sizeof(struct bcm_add_indication_alt); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, Sending DSA Response\n); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, SENDING DSA RESPONSE TO MAC %d, pLeader-PLength); @@ -1669,10 +1669,8 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, VCID = %x, ntohs(pstAddIndication-u16VCID)); CopyBufferToControlPacket(Adapter, (PVOID)Adapter-caDsxReqResp); kfree(pstAddIndication); - } break; Can you properly indent the break; lines as well? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/2] staging: cxtie1: remove unneeded mkret() calls
Ok. I will rebase this patch in staging-next branch and send it again. Thanks. Daeseok Youn. 2014-03-18 6:23 GMT+09:00 Greg KH gre...@linuxfoundation.org: On Mon, Mar 10, 2014 at 08:54:18AM +0900, Daeseok Youn wrote: The mkret() change a value of error from positive to negative. This patch is modified to return negative value when it failed. It doesn't need to call with function for changing from positive to negative. Signed-off-by: Daeseok Youn daeseok.y...@gmail.com --- drivers/staging/cxt1e1/linux.c | 72 +-- drivers/staging/cxt1e1/musycc.c|2 +- drivers/staging/cxt1e1/pmcc4_drv.c | 40 ++-- 3 files changed, 48 insertions(+), 66 deletions(-) This patch no longer applies to my tree, can you refresh it and resend? ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: bcm: CmHost: moved and removed declarations and tmp bracing.
On Mon, 17 Mar 2014, Greg KH wrote: On Mon, Mar 17, 2014 at 06:01:24PM -0400, Gary Rookard wrote: Firstly, some background is needed to confirm the validity of this patch as error fixing. It seems the developer when writing this driver from scratch, used what are known to me as error suppressors in the form of extra tmp bracing added to the case labels. They aid during construction time, but are not intended to remain. In this scenario there are declarations occupying space only reserved for statements. If these tmp braces were to be removed before the declarations in question were reassigned to there proper place in the funtion, compile time errors would result. So, having that said, I moved the declarations, UINT uiSearchRuleIndex = 0; and ULONG ulSFID;, and also deleted the duplicates thereof from the switch/case statement. Removed temporary bracing from case labels. Removed new lines as needed. Signed-off-by: Gary Rookard garyrook...@gmail.com --- On branch staging-next drivers/staging/bcm/CmHost.c | 27 +++ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/drivers/staging/bcm/CmHost.c b/drivers/staging/bcm/CmHost.c index cc82588..b3002d7 100644 --- a/drivers/staging/bcm/CmHost.c +++ b/drivers/staging/bcm/CmHost.c @@ -1635,7 +1635,8 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to struct bcm_add_indication_alt *pstAddIndication = NULL; struct bcm_change_indication *pstChangeIndication = NULL; struct bcm_leader *pLeader = NULL; - + UINT uiSearchRuleIndex = 0; + ULONG ulSFID; /* You forgot to add a line after the variable and before the comment here :( * Otherwise the message contains a target address from where we need to * read out the rest of the service flow param structure @@ -1658,7 +1659,6 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, ### TID RECEIVED %d\n, pstAddIndication-u16TID); switch (pstAddIndication-u8Type) { case DSA_REQ: - { pLeader-PLength = sizeof(struct bcm_add_indication_alt); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, Sending DSA Response\n); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, SENDING DSA RESPONSE TO MAC %d, pLeader-PLength); @@ -1669,10 +1669,8 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, VCID = %x, ntohs(pstAddIndication-u16VCID)); CopyBufferToControlPacket(Adapter, (PVOID)Adapter-caDsxReqResp); kfree(pstAddIndication); - } break; Can you properly indent the break; lines as well? thanks, greg k-h -- Most certainly. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
USB, TTY, char/misc, and Staging trees now closed for 3.15
Hi all, Given that 3.14 will be out in a few days, it's time to close my trees for new patches until 3.15-rc1 is out. Please feel free to send me patches for these trees, but note that I'll be ignoring them until 3.15-rc1 is out, at which point in time I'll start reviewing them again and applying them to the various places they belong. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] [staging][r8188eu]: memory leak in rtw_free_cmd_obj if command is (_Set_Drv_Extra)
pcmd-parmbuf-pbuf has been allocated if command is GEN_CMD_CODE(_Set_Drv_Extra), and it enqueued by rtw_enqueue_cmd. rtw_cmd_thread dequeue pcmd by rtw_dequeue_cmd. The memory leak happened on this branch if( _FAIL == rtw_cmd_filter(pcmdpriv, pcmd) ) which goto post_process directly against freeing pcmd-parmbuf-pbuf in rtw_drvextra_cmd_hdl which is the cmd_hdl if command is (_Set_Drv_Extra). This patch free pcmd-parmbuf-pbuf on the forgotten branch to avoid memory leak. Signed-off-by: Zhang Dongxing dongxing.zh...@intel.com Signed-off-by: xiaoming wang xiaoming.w...@intel.com diff --git a/drivers/staging/rtl8188eu/core/rtw_cmd.c b/drivers/staging/rtl8188eu/core/rtw_cmd.c index c0a0a52..1c7f505 100644 --- a/drivers/staging/rtl8188eu/core/rtw_cmd.c +++ b/drivers/staging/rtl8188eu/core/rtw_cmd.c @@ -288,7 +288,7 @@ int rtw_cmd_thread(void *context) void (*pcmd_callback)(struct adapter *dev, struct cmd_obj *pcmd); struct adapter *padapter = (struct adapter *)context; struct cmd_priv *pcmdpriv = (padapter-cmdpriv); - + struct drvextra_cmd_parm *extra_parm = NULL; thread_enter(RTW_CMD_THREAD); @@ -323,6 +323,11 @@ _next: if (_FAIL == rtw_cmd_filter(pcmdpriv, pcmd)) { pcmd-res = H2C_DROPPED; + if (pcmd-cmdcode == GEN_CMD_CODE(_Set_Drv_Extra)) { + extra_parm = (struct drvextra_cmd_parm *)pcmd-parmbuf; + if (extra_parm extra_parm-pbuf extra_parm-size 0) + rtw_mfree(extra_parm-pbuf, extra_parm-size); + } goto post_process; } ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] Staging: bcm: CmHost: moved and removed declarations and tmp bracing.
Firstly, some background is needed to confirm the validity of this patch as error fixing. It seems the developer when writing this driver from scratch, used what are known to me as error suppressors in the form of extra tmp bracing added to the case labels. They aid during construction time, but are not intended to remain. In this scenario there are declarations occupying space only reserved for statements. If these tmp braces were to be removed before the declarations in question were reassigned to there proper place in the funtion, compile time errors would result. So, having that said, I moved the declarations, UINT uiSearchRuleIndex = 0; and ULONG ulSFID;, and also deleted the duplicates thereof from the switch/case statement. Removed temporary bracing from case labels. Removed new lines as needed. Properly indented case breaks. Signed-off-by: Gary Rookard garyrook...@gmail.com --- On branch staging-next drivers/staging/bcm/CmHost.c | 38 -- 1 file changed, 8 insertions(+), 30 deletions(-) diff --git a/drivers/staging/bcm/CmHost.c b/drivers/staging/bcm/CmHost.c index cc82588..8d46b38 100644 --- a/drivers/staging/bcm/CmHost.c +++ b/drivers/staging/bcm/CmHost.c @@ -1635,7 +1635,8 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to struct bcm_add_indication_alt *pstAddIndication = NULL; struct bcm_change_indication *pstChangeIndication = NULL; struct bcm_leader *pLeader = NULL; - + UINT uiSearchRuleIndex = 0; + ULONG ulSFID; /* * Otherwise the message contains a target address from where we need to * read out the rest of the service flow param structure @@ -1658,7 +1659,6 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, ### TID RECEIVED %d\n, pstAddIndication-u16TID); switch (pstAddIndication-u8Type) { case DSA_REQ: - { pLeader-PLength = sizeof(struct bcm_add_indication_alt); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, Sending DSA Response\n); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, SENDING DSA RESPONSE TO MAC %d, pLeader-PLength); @@ -1669,22 +1669,16 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, VCID = %x, ntohs(pstAddIndication-u16VCID)); CopyBufferToControlPacket(Adapter, (PVOID)Adapter-caDsxReqResp); kfree(pstAddIndication); - } - break; + break; case DSA_RSP: - { pLeader-PLength = sizeof(struct bcm_add_indication_alt); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, SENDING DSA ACK TO MAC %d, pLeader-PLength); *((struct bcm_add_indication_alt *)(Adapter-caDsxReqResp[LEADER_SIZE])) = *pstAddIndication; ((struct bcm_add_indication_alt *)(Adapter-caDsxReqResp[LEADER_SIZE]))-u8Type = DSA_ACK; - - } /* no break here..we should go down. */ + /* no break here..we should go down. */ case DSA_ACK: - { - UINT uiSearchRuleIndex = 0; - BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, VCID:0x%X, ntohs(pstAddIndication-u16VCID)); uiSearchRuleIndex = SearchFreeSfid(Adapter); @@ -1767,10 +1761,8 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to kfree(pstAddIndication); return false; } - } - break; + break; case DSC_REQ: - { pLeader-PLength = sizeof(struct bcm_change_indication); pstChangeIndication = (struct bcm_change_indication *)pstAddIndication; BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, SENDING DSC RESPONSE TO MAC %d, pLeader-PLength); @@ -1780,20 +1772,14 @@ bool CmControlResponseMessage(struct bcm_mini_adapter *Adapter, /* Pointer to CopyBufferToControlPacket(Adapter, (PVOID)Adapter-caDsxReqResp); kfree(pstAddIndication); - } - break; + break; case DSC_RSP: - { pLeader-PLength = sizeof(struct bcm_change_indication); pstChangeIndication = (struct bcm_change_indication *)pstAddIndication; BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, SENDING DSC ACK TO MAC %d, pLeader-PLength); *((struct bcm_change_indication *)(Adapter-caDsxReqResp[LEADER_SIZE])) = *pstChangeIndication; ((struct bcm_change_indication
Re: [PATCH] staging: unisys: use kzalloc instead of kmalloc/memset 0
I think vmalloc/kmalloc in uislib_malloc() can be removed and just use vmalloc/kmalloc directly. (UISMALLOC() macro is also removed.) And uislib_malloc() is renamed to uislib_trace_buffer_status() which is just tracing buffer status(Malloc_FailuresAlloc, Malloc_BytesInUse ...) for info_proc_read_helper(). If this change is accepted, it also need to change uislib_free(). Is it fine to change like this? Thanks. Daeseok Youn. 2014-03-18 6:41 GMT+09:00 Greg KH gre...@linuxfoundation.org: On Wed, Mar 12, 2014 at 07:37:50PM +0900, Daeseok Youn wrote: Signed-off-by: Daeseok Youn daeseok.y...@gmail.com --- drivers/staging/unisys/uislib/uislib.c |5 + drivers/staging/unisys/uislib/uisutils.c |2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/staging/unisys/uislib/uislib.c b/drivers/staging/unisys/uislib/uislib.c index d77df9a..9748fcb 100644 --- a/drivers/staging/unisys/uislib/uislib.c +++ b/drivers/staging/unisys/uislib/uislib.c @@ -339,8 +339,6 @@ create_bus(CONTROLVM_MESSAGE *msg, char *buf) return CONTROLVM_RESP_ERROR_KMALLOC_FAILED; } - memset(bus, 0, size); - /* Currently by default, the bus Number is the GuestHandle. * Configure Bus message can override this. */ @@ -530,7 +528,6 @@ create_device(CONTROLVM_MESSAGE *msg, char *buf) return CONTROLVM_RESP_ERROR_KMALLOC_FAILED; } - memset(dev, 0, sizeof(struct device_info)); dev-channelTypeGuid = msg-cmd.createDevice.dataTypeGuid; dev-intr = msg-cmd.createDevice.intr; dev-channelAddr = msg-cmd.createDevice.channelAddr; @@ -1437,7 +1434,7 @@ uislib_malloc(size_t siz, gfp_t gfp, U8 contiguous, char *fn, int ln) * get memory for you (like, invoke oom killer), which * will probably cripple the system. */ - p = kmalloc(siz, gfp | __GFP_NORETRY); + p = kzalloc(siz, gfp | __GFP_NORETRY); } if (p == NULL) { LOGERR(uislib_malloc failed to alloc %d bytes @%s:%d, diff --git a/drivers/staging/unisys/uislib/uisutils.c b/drivers/staging/unisys/uislib/uisutils.c index 208b7ea..2f05be1 100644 --- a/drivers/staging/unisys/uislib/uisutils.c +++ b/drivers/staging/unisys/uislib/uisutils.c @@ -294,7 +294,7 @@ ReqHandlerAdd(GUID switchTypeGuid, rc = UISMALLOC(sizeof(*rc), GFP_ATOMIC); if (!rc) return NULL; - memset(rc, 0, sizeof(*rc)); + rc-switchTypeGuid = switchTypeGuid; rc-controlfunc = controlfunc; rc-min_channel_bytes = min_channel_bytes; Can you just remove the UISMALLOC() macro completly, so that it's easier to verify that changes like this are actually correct? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: unisys: use kzalloc instead of kmalloc/memset 0
On Tue, Mar 18, 2014 at 09:26:07AM +0900, DaeSeok Youn wrote: I think vmalloc/kmalloc in uislib_malloc() can be removed and just use vmalloc/kmalloc directly. Yes. Actually, just use kmalloc, I don't knwo why vmalloc is being used, but cc: the driver maintainers just to be sure. (UISMALLOC() macro is also removed.) Yes. And uislib_malloc() is renamed to uislib_trace_buffer_status() which is just tracing buffer status(Malloc_FailuresAlloc, Malloc_BytesInUse ...) for info_proc_read_helper(). The whole tracing stuff needs to be ripped out, so no problem deleting it here as well. If this change is accepted, it also need to change uislib_free(). Drop it and just use kfree(). thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2] staging: cxt1e1: remove unneeded mkret() calls
The mkret() change a value of error from positive to negative. This patch is modified to return negative value when it failed. It doesn't need to call with function for changing from positive to negative. Signed-off-by: Daeseok Youn daeseok.y...@gmail.com --- v2: fix a typo in subject this patch is rebased in staging-next branch. drivers/staging/cxt1e1/linux.c | 72 +-- drivers/staging/cxt1e1/musycc.c|2 +- drivers/staging/cxt1e1/pmcc4_drv.c | 30 -- 3 files changed, 45 insertions(+), 59 deletions(-) diff --git a/drivers/staging/cxt1e1/linux.c b/drivers/staging/cxt1e1/linux.c index 58fe0fe..9005d55 100644 --- a/drivers/staging/cxt1e1/linux.c +++ b/drivers/staging/cxt1e1/linux.c @@ -145,16 +145,6 @@ get_hdlc_name(hdlc_device *hdlc) return dev-name; } - -static status_t -mkret(int bsd) -{ - if (bsd 0) - return -bsd; - else - return bsd; -} - /***/ #include linux/workqueue.h @@ -290,8 +280,8 @@ chan_open(struct net_device *ndev) } ret = c4_chan_up(priv-ci, priv-channum); - if (ret) - return -ret; + if (ret 0) + return ret; try_module_get(THIS_MODULE); netif_start_queue(ndev); return 0; /* no error = success */ @@ -521,8 +511,8 @@ do_get_port(struct net_device *ndev, void *data) if (!ci) return -EINVAL; /* get card info */ - ret = mkret(c4_get_port(ci, pp.portnum)); - if (ret) + ret = c4_get_port(ci, pp.portnum); + if (ret 0) return ret; if (copy_to_user(data, ci-port[pp.portnum].p, sizeof(struct sbecom_port_param))) @@ -549,7 +539,7 @@ do_set_port(struct net_device *ndev, void *data) return -ENXIO; memcpy(ci-port[pp.portnum].p, pp, sizeof(struct sbecom_port_param)); - return mkret(c4_set_port(ci, pp.portnum)); + return c4_set_port(ci, pp.portnum); } /* work the port loopback mode as per directed */ @@ -564,7 +554,7 @@ do_port_loop(struct net_device *ndev, void *data) ci = get_ci_by_dev(ndev); if (!ci) return -EINVAL; - return mkret(c4_loop_port(ci, pp.portnum, pp.port_mode)); + return c4_loop_port(ci, pp.portnum, pp.port_mode); } /* set the specified register with the given value / or just read it */ @@ -580,8 +570,8 @@ do_framer_rw(struct net_device *ndev, void *data) ci = get_ci_by_dev(ndev); if (!ci) return -EINVAL; - ret = mkret(c4_frame_rw(ci, pp)); - if (ret) + ret = c4_frame_rw(ci, pp); + if (ret 0) return ret; if (copy_to_user(data, pp, sizeof(struct sbecom_port_param))) return -EFAULT; @@ -601,7 +591,8 @@ do_pld_rw(struct net_device *ndev, void *data) ci = get_ci_by_dev(ndev); if (!ci) return -EINVAL; - ret = mkret(c4_pld_rw(ci, pp)); + + ret = c4_pld_rw(ci, pp); if (ret) return ret; if (copy_to_user(data, pp, sizeof(struct sbecom_port_param))) @@ -622,8 +613,8 @@ do_musycc_rw(struct net_device *ndev, void *data) ci = get_ci_by_dev(ndev); if (!ci) return -EINVAL; - ret = mkret(c4_musycc_rw(ci, mp)); - if (ret) + ret = c4_musycc_rw(ci, mp); + if (ret 0) return ret; if (copy_to_user(data, mp, sizeof(struct c4_musycc_param))) return -EFAULT; @@ -640,8 +631,8 @@ do_get_chan(struct net_device *ndev, void *data) sizeof(struct sbecom_chan_param))) return -EFAULT; - ret = mkret(c4_get_chan(cp.channum, cp)); - if (ret) + ret = c4_get_chan(cp.channum, cp); + if (ret 0) return ret; if (copy_to_user(data, cp, sizeof(struct sbecom_chan_param))) @@ -653,7 +644,6 @@ static status_t do_set_chan(struct net_device *ndev, void *data) { struct sbecom_chan_param cp; - int ret; ci_t *ci; if (copy_from_user(cp, data, sizeof(struct sbecom_chan_param))) @@ -661,13 +651,7 @@ do_set_chan(struct net_device *ndev, void *data) ci = get_ci_by_dev(ndev); if (!ci) return -EINVAL; - switch (ret = mkret(c4_set_chan(cp.channum, cp))) - { - case 0: - return 0; - default: - return ret; - } + return c4_set_chan(cp.channum, cp); } static status_t @@ -686,8 +670,8 @@ do_create_chan(struct net_device *ndev, void *data) dev = create_chan(ndev, ci, cp); if (!dev) return -EBUSY; - ret = mkret(c4_new_chan(ci, cp.port, cp.channum, dev)); - if (ret) { + ret = c4_new_chan(ci, cp.port,
[PATCH 1/2] mmc: rtsx: add R1-no-CRC mmc command type handle
From: Micky Ching micky_ch...@realsil.com.cn commit a27fbf2f067b0cd6f172c8b696b9a44c58bfaa7a mmc: add ignorance case for CMD13 CRC error produced a cmd.flags unhandled in realtek pci host driver. This will make MMC card failed initialize, this patch is used to handle the new cmd.flags condition and MMC card can be used. Signed-off-by: Micky Ching micky_ch...@realsil.com.cn --- drivers/mmc/host/rtsx_pci_sdmmc.c |3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/mmc/host/rtsx_pci_sdmmc.c b/drivers/mmc/host/rtsx_pci_sdmmc.c index 5fb994f..0d8904a 100644 --- a/drivers/mmc/host/rtsx_pci_sdmmc.c +++ b/drivers/mmc/host/rtsx_pci_sdmmc.c @@ -346,6 +346,9 @@ static void sd_send_cmd(struct realtek_pci_sdmmc *host, struct mmc_command *cmd) case MMC_RSP_R1: rsp_type = SD_RSP_TYPE_R1; break; + case MMC_RSP_R1 ~MMC_RSP_CRC: + rsp_type = SD_RSP_TYPE_R1 | SD_NO_CHECK_CRC7; + break; case MMC_RSP_R1B: rsp_type = SD_RSP_TYPE_R1b; break; -- 1.7.9.5 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 0/2] add new cmd type handle and remove smatch warnings
From: Micky Ching micky_ch...@realsil.com.cn Add new command type(R1 without CRC) handle, without this patch mmc card initialize will be failed. Using a more careful handle in request timeout, and debug info is printed using non DMA mode. Smatch warning was removed. Micky Ching (2): mmc: rtsx: add R1-no-CRC mmc command type handle mmc: rtsx: modify error handle and remove smatch warnings drivers/mmc/host/rtsx_pci_sdmmc.c | 121 - 1 file changed, 67 insertions(+), 54 deletions(-) -- 1.7.9.5 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 2/2] mmc: rtsx: modify error handle and remove smatch warnings
From: Micky Ching micky_ch...@realsil.com.cn Using non-DMA dump-regs, which would be more exactly for DMA transfer failed. More careful handle when cmd/data timeout, add stop(CMD12) cmd before go to finish request when multi-rw timeout. Remove some static checher warings. on commit: mmc: rtsx: add support for pre_req and post_req drivers/mmc/host/rtsx_pci_sdmmc.c:194 sd_finish_request() error: we previously assumed 'mrq' could be null (see line 158) drivers/mmc/host/rtsx_pci_sdmmc.c:504 sd_get_rsp() error: we previously assumed 'cmd' could be null (see line 434) drivers/mmc/host/rtsx_pci_sdmmc.c:525 sd_pre_dma_transfer() warn: we tested 'next' before and it was 'false' Signed-off-by: Micky Ching micky_ch...@realsil.com.cn --- drivers/mmc/host/rtsx_pci_sdmmc.c | 118 - 1 file changed, 64 insertions(+), 54 deletions(-) diff --git a/drivers/mmc/host/rtsx_pci_sdmmc.c b/drivers/mmc/host/rtsx_pci_sdmmc.c index 0d8904a..d00a94e 100644 --- a/drivers/mmc/host/rtsx_pci_sdmmc.c +++ b/drivers/mmc/host/rtsx_pci_sdmmc.c @@ -81,25 +81,23 @@ static inline void sd_clear_error(struct realtek_pci_sdmmc *host) } #ifdef DEBUG +static inline void sd_print_reg(struct realtek_pci_sdmmc *host, u16 reg) +{ + u8 val; + if (rtsx_pci_read_register(host-pcr, reg, val) 0) + dev_dbg(sdmmc_dev(host), read 0x%04x failed\n, reg); + else + dev_dbg(sdmmc_dev(host), 0x%04X: 0x%02x\n, reg, val); +} + static void sd_print_debug_regs(struct realtek_pci_sdmmc *host) { - struct rtsx_pcr *pcr = host-pcr; u16 i; - u8 *ptr; - - /* Print SD host internal registers */ - rtsx_pci_init_cmd(pcr); - for (i = 0xFDA0; i = 0xFDAE; i++) - rtsx_pci_add_cmd(pcr, READ_REG_CMD, i, 0, 0); - for (i = 0xFD52; i = 0xFD69; i++) - rtsx_pci_add_cmd(pcr, READ_REG_CMD, i, 0, 0); - rtsx_pci_send_cmd(pcr, 100); - ptr = rtsx_pci_get_cmd_data(pcr); for (i = 0xFDA0; i = 0xFDAE; i++) - dev_dbg(sdmmc_dev(host), 0x%04X: 0x%02x\n, i, *(ptr++)); + sd_print_reg(host, i); for (i = 0xFD52; i = 0xFD69; i++) - dev_dbg(sdmmc_dev(host), 0x%04X: 0x%02x\n, i, *(ptr++)); + sd_print_reg(host, i); } #else #define sd_print_debug_regs(host) @@ -125,19 +123,27 @@ static void sd_request_timeout(unsigned long host_addr) spin_lock_irqsave(host-lock, flags); if (!host-mrq) { - dev_err(sdmmc_dev(host), error: no request exist\n); - goto out; + dev_err(sdmmc_dev(host), error: request not exist\n); + spin_unlock_irqrestore(host-lock, flags); + return; } - if (host-cmd) + if (host-cmd host-data) + dev_err(sdmmc_dev(host), error: cmd and data conflict\n); + + if (host-cmd) { host-cmd-error = -ETIMEDOUT; - if (host-data) - host-data-error = -ETIMEDOUT; + dev_dbg(sdmmc_dev(host), timeout for cmd %d\n, + host-cmd-opcode); + tasklet_schedule(host-cmd_tasklet); + } - dev_dbg(sdmmc_dev(host), timeout for request\n); + if (host-data) { + host-data-error = -ETIMEDOUT; + dev_dbg(sdmmc_dev(host), timeout for data transfer\n); + tasklet_schedule(host-data_tasklet); + } -out: - tasklet_schedule(host-finish_tasklet); spin_unlock_irqrestore(host-lock, flags); } @@ -157,7 +163,8 @@ static void sd_finish_request(unsigned long host_addr) mrq = host-mrq; if (!mrq) { dev_err(sdmmc_dev(host), error: no request need finish\n); - goto out; + spin_unlock_irqrestore(host-lock, flags); + return; } cmd = mrq-cmd; @@ -167,11 +174,6 @@ static void sd_finish_request(unsigned long host_addr) (mrq-stop mrq-stop-error) || (cmd cmd-error) || (data data-error); - if (any_error) { - rtsx_pci_stop_cmd(pcr); - sd_clear_error(host); - } - if (data) { if (any_error) data-bytes_xfered = 0; @@ -188,7 +190,6 @@ static void sd_finish_request(unsigned long host_addr) host-cmd = NULL; host-data = NULL; -out: spin_unlock_irqrestore(host-lock, flags); mutex_unlock(pcr-pcr_mutex); mmc_request_done(host-mmc, mrq); @@ -373,8 +374,11 @@ static void sd_send_cmd(struct realtek_pci_sdmmc *host, struct mmc_command *cmd) if (cmd-opcode == SD_SWITCH_VOLTAGE) { err = rtsx_pci_write_register(pcr, SD_BUS_STAT, 0xFF, SD_CLK_TOGGLE_EN); - if (err 0) + if (err 0) { + rtsx_pci_write_register(pcr, SD_BUS_STAT, +
[PATCH] staging: slicoss: Fix prefer ether_addr_copy over memcpy
This patch fixes the following checkpatch.pl issues caused by the new function: ether_addr_copy Signed-off-by: Joel Pelaez Jorge joelpel...@gmail.com --- diff --git a/drivers/staging/slicoss/slicoss.c b/drivers/staging/slicoss/slicoss.c index 12aafe3..4ff39aa 100644 --- a/drivers/staging/slicoss/slicoss.c +++ b/drivers/staging/slicoss/slicoss.c @@ -2313,7 +2313,7 @@ static int slic_mcast_add_list(struct adapter *adapter, char *address) if (mcaddr == NULL) return 1; -memcpy(mcaddr-address, address, ETH_ALEN); +ether_addr_copy(mcaddr-address, address); mcaddr-next = adapter-mcastaddrs; adapter-mcastaddrs = mcaddr; ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: dgap: Fixed sparse error: same symbol redeclared with different type
sparse reported dgap_do_fep_load is redeclared with different type. while fixing, I noticed __user attribute is used incorrectly in declaration. There is no need to define __user for firware-data. Replaced the __user with 'const uchar *' from function dgap_do_fep_load and did the same for function dgap_do_bios_load patch generated against: next-20140317 Signed-off-by: Masood Mehmood ody.g...@gmail.com --- drivers/staging/dgap/dgap.c | 13 ++--- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/staging/dgap/dgap.c b/drivers/staging/dgap/dgap.c index bfafe7e..bbacbba 100644 --- a/drivers/staging/dgap/dgap.c +++ b/drivers/staging/dgap/dgap.c @@ -210,9 +210,8 @@ static uint dgap_config_get_useintr(struct board_t *bd); static uint dgap_config_get_altpin(struct board_t *bd); static int dgap_ms_sleep(ulong ms); -static void dgap_do_bios_load(struct board_t *brd, uchar __user *ubios, - int len); -static void dgap_do_fep_load(struct board_t *brd, uchar __user *ufep, int len); +static void dgap_do_bios_load(struct board_t *brd, const uchar *ubios, int len); +static void dgap_do_fep_load(struct board_t *brd, const uchar *ufep, int len); #ifdef DIGI_CONCENTRATORS_SUPPORTED static void dgap_do_conc_load(struct board_t *brd, uchar *uaddr, int len); #endif @@ -936,7 +935,7 @@ static int dgap_firmware_load(struct pci_dev *pdev, int card_type) fw_info[card_type].bios_name); return ret; } - dgap_do_bios_load(brd, (char *)fw-data, fw-size); + dgap_do_bios_load(brd, fw-data, fw-size); release_firmware(fw); /* Wait for BIOS to test board... */ @@ -954,7 +953,7 @@ static int dgap_firmware_load(struct pci_dev *pdev, int card_type) fw_info[card_type].fep_name); return ret; } - dgap_do_fep_load(brd, (char *)fw-data, fw-size); + dgap_do_fep_load(brd, fw-data, fw-size); release_firmware(fw); /* Wait for FEP to load on board... */ @@ -4350,7 +4349,7 @@ static int dgap_tty_register_ports(struct board_t *brd) * Copies the BIOS code from the user to the board, * and starts the BIOS running. */ -static void dgap_do_bios_load(struct board_t *brd, uchar __user *ubios, int len) +static void dgap_do_bios_load(struct board_t *brd, const uchar *ubios, int len) { uchar *addr; uint offset; @@ -4426,7 +4425,7 @@ static void dgap_do_wait_for_bios(struct board_t *brd) * Copies the FEP code from the user to the board, * and starts the FEP running. */ -static void dgap_do_fep_load(struct board_t *brd, uchar *ufep, int len) +static void dgap_do_fep_load(struct board_t *brd, const uchar *ufep, int len) { uchar *addr; uint offset; -- 1.8.3.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: slicoss: Fix prefer ether_addr_copy over memcpy
On Tuesday, March 18, 2014 12:18 PM, Joel Pelaez Jorge wrote: This patch fixes the following checkpatch.pl issues caused by the new function: ether_addr_copy Signed-off-by: Joel Pelaez Jorge joelpel...@gmail.com --- diff --git a/drivers/staging/slicoss/slicoss.c b/drivers/staging/slicoss/slicoss.c index 12aafe3..4ff39aa 100644 --- a/drivers/staging/slicoss/slicoss.c +++ b/drivers/staging/slicoss/slicoss.c @@ -2313,7 +2313,7 @@ static int slic_mcast_add_list(struct adapter *adapter, char *address) if (mcaddr == NULL) return 1; -memcpy(mcaddr-address, address, ETH_ALEN); +ether_addr_copy(mcaddr-address, address); In addition to this, there are the same cases like this, in this file as below. Please search other same cases. For instance, 'grep' will be a good way to find it. static void slic_adapter_set_hwaddr(struct adapter *adapter) { struct sliccard *card = adapter-card; if ((adapter-card) (card-config_set)) { memcpy(adapter-macaddr, card-config.MacInfo[adapter-functionnumber].macaddrA, sizeof(struct slic_config_mac)); if (is_zero_ether_addr(adapter-currmacaddr)) memcpy(adapter-currmacaddr, adapter-macaddr, ETH_ALEN); if (adapter-netdev) memcpy(adapter-netdev-dev_addr, adapter-currmacaddr, ETH_ALEN); } } Joe Perches, These are not spotted by checkpatch.pl. However, after modifying it as below, checkpatch warnings are printed. Would you confirm it? if (is_zero_ether_addr(adapter-currmacaddr)) memcpy(adapter-currmacaddr, adapter-macaddr, ETH_ALEN); if (adapter-netdev) memcpy(adapter-netdev-dev_addr, adapter-currmacaddr, ETH_ALEN); } Best regards, Jingoo Han mcaddr-next = adapter-mcastaddrs; adapter-mcastaddrs = mcaddr; ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: slicoss: Fix prefer ether_addr_copy over memcpy
On Tue, 2014-03-18 at 12:38 +0900, Jingoo Han wrote: In addition to this, there are the same cases like this, in this file as below. Please search other same cases. For instance, 'grep' will be a good way to find it. [] static void slic_adapter_set_hwaddr(struct adapter *adapter) { struct sliccard *card = adapter-card; [] if (is_zero_ether_addr(adapter-currmacaddr)) memcpy(adapter-currmacaddr, adapter-macaddr, ETH_ALEN); if (adapter-netdev) memcpy(adapter-netdev-dev_addr, adapter-currmacaddr, ETH_ALEN); } } Joe Perches, These are not spotted by checkpatch.pl. However, after modifying it as below, checkpatch warnings are printed. Would you confirm it? If it's not on a single line, checkpatch won't find it. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: slicoss: Fix prefer ether_addr_copy over memcpy
This patch fixes the following checkpatch.pl issues caused by the new function: ether_addr_copy Signed-off-by: Joel Pelaez Jorge joelpel...@gmail.com --- drivers/staging/slicoss/slicoss.c | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/staging/slicoss/slicoss.c b/drivers/staging/slicoss/slicoss.c index 12aafe3..0e0e374 100644 --- a/drivers/staging/slicoss/slicoss.c +++ b/drivers/staging/slicoss/slicoss.c @@ -581,15 +581,15 @@ static void slic_adapter_set_hwaddr(struct adapter *adapter) struct sliccard *card = adapter-card; if ((adapter-card) (card-config_set)) { - memcpy(adapter-macaddr, - card-config.MacInfo[adapter-functionnumber].macaddrA, - sizeof(struct slic_config_mac)); + ether_addr_copy(adapter-macaddr, + card-config.MacInfo[adapter-functionnumber] + .macaddrA); if (is_zero_ether_addr(adapter-currmacaddr)) - memcpy(adapter-currmacaddr, adapter-macaddr, - ETH_ALEN); + ether_addr_copy(adapter-currmacaddr, + adapter-macaddr); if (adapter-netdev) - memcpy(adapter-netdev-dev_addr, adapter-currmacaddr, - ETH_ALEN); + ether_addr_copy(adapter-netdev-dev_addr, + adapter-currmacaddr); } } @@ -810,8 +810,8 @@ static int slic_mac_set_address(struct net_device *dev, void *ptr) if (!is_valid_ether_addr(addr-sa_data)) return -EINVAL; - memcpy(dev-dev_addr, addr-sa_data, dev-addr_len); - memcpy(adapter-currmacaddr, addr-sa_data, dev-addr_len); + ether_addr_copy(dev-dev_addr, addr-sa_data); + ether_addr_copy(adapter-currmacaddr, addr-sa_data); slic_config_set(adapter, true); return 0; @@ -2313,7 +2313,7 @@ static int slic_mcast_add_list(struct adapter *adapter, char *address) if (mcaddr == NULL) return 1; - memcpy(mcaddr-address, address, ETH_ALEN); + ether_addr_copy(mcaddr-address, address); mcaddr-next = adapter-mcastaddrs; adapter-mcastaddrs = mcaddr; -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: slicoss: Fix prefer ether_addr_copy over memcpy
On Tuesday, March 18, 2014 2:04 PM, Joel Pelaez Jorge wrote: This patch fixes the following checkpatch.pl issues caused by the new function: ether_addr_copy Signed-off-by: Joel Pelaez Jorge joelpel...@gmail.com --- drivers/staging/slicoss/slicoss.c | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/staging/slicoss/slicoss.c b/drivers/staging/slicoss/slicoss.c index 12aafe3..0e0e374 100644 --- a/drivers/staging/slicoss/slicoss.c +++ b/drivers/staging/slicoss/slicoss.c @@ -581,15 +581,15 @@ static void slic_adapter_set_hwaddr(struct adapter *adapter) struct sliccard *card = adapter-card; if ((adapter-card) (card-config_set)) { - memcpy(adapter-macaddr, -card-config.MacInfo[adapter-functionnumber].macaddrA, -sizeof(struct slic_config_mac)); + ether_addr_copy(adapter-macaddr, + card-config.MacInfo[adapter-functionnumber] + .macaddrA); As declared in ./include/linux/etherdevice.h, Copied size should be a six-byte. static inline void ether_addr_copy(u8 *dst, const u8 *src) { #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) *(u32 *)dst = *(const u32 *)src; *(u16 *)(dst + 4) = *(const u16 *)(src + 4); #else u16 *a = (u16 *)dst; const u16 *b = (const u16 *)src; a[0] = b[0]; a[1] = b[1]; a[2] = b[2]; #endif } In this case, sizeof(struct slic_config_mac) will be 6 byte, as below. So, it looks good. ./drivers/staging/slicoss/slichw.h struct slic_config_mac { u8 macaddrA[6]; }; if (is_zero_ether_addr(adapter-currmacaddr)) - memcpy(adapter-currmacaddr, adapter-macaddr, -ETH_ALEN); + ether_addr_copy(adapter-currmacaddr, + adapter-macaddr); if (adapter-netdev) - memcpy(adapter-netdev-dev_addr, adapter-currmacaddr, -ETH_ALEN); + ether_addr_copy(adapter-netdev-dev_addr, + adapter-currmacaddr); } } ETH_ALEN is defined as 6. It looks good, too. ./include/uapi/linux/if_ether.h #define ETH_ALEN 6 @@ -810,8 +810,8 @@ static int slic_mac_set_address(struct net_device *dev, void *ptr) if (!is_valid_ether_addr(addr-sa_data)) return -EINVAL; - memcpy(dev-dev_addr, addr-sa_data, dev-addr_len); - memcpy(adapter-currmacaddr, addr-sa_data, dev-addr_len); + ether_addr_copy(dev-dev_addr, addr-sa_data); + ether_addr_copy(adapter-currmacaddr, addr-sa_data); By the way, I am wondering if 'dev-addr_len' is 6 bytes. Is there anyone who can confirm it? If nobody can confirm 'dev-addr_len' is 6 bytes, it should not be changed to 'ether_addr_copy()'. Best regards, Jingoo Han slic_config_set(adapter, true); return 0; @@ -2313,7 +2313,7 @@ static int slic_mcast_add_list(struct adapter *adapter, char *address) if (mcaddr == NULL) return 1; - memcpy(mcaddr-address, address, ETH_ALEN); + ether_addr_copy(mcaddr-address, address); mcaddr-next = adapter-mcastaddrs; adapter-mcastaddrs = mcaddr; -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel