<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.linux.drivers.driver-project.devel">
    <title>gmane.linux.drivers.driver-project.devel</title>
    <link>http://blog.gmane.org/gmane.linux.drivers.driver-project.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38183"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38177"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38176"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38175"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38174"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38173"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38172"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38171"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38170"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38164"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38161"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38160"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38159"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38158"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38157"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38156"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38146"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38144"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38134"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38122"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38183">
    <title>[PATCH] staging/xgifb: Remove dead assignments/increments</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38183</link>
    <description>&lt;pre&gt;The code now contains several dead assignments which are shadowed by
another assignment a few lines later.

-&amp;gt; This patch removes them (and possibly associated code).

Signed-off-by: Peter Huewe &amp;lt;peterhuewe&amp;lt; at &amp;gt;gmx.de&amp;gt;
---

The patch did not remove occurences where a register from the device is read.
If the device does not have implicit actions associated with reading from its
registers these instances could also be removed.

 drivers/staging/xgifb/vb_init.c    |  1 -
 drivers/staging/xgifb/vb_setmode.c | 20 +-------------------
 2 files changed, 1 insertion(+), 20 deletions(-)

diff --git a/drivers/staging/xgifb/vb_init.c b/drivers/staging/xgifb/vb_init.c
index 090c424..5c72104 100644
--- a/drivers/staging/xgifb/vb_init.c
+++ b/drivers/staging/xgifb/vb_init.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1296,7 +1296,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; unsigned char XGIInitNew(struct pci_dev *pdev)
 xgifb_reg_set(pVBInfo-&amp;gt;Part1Port, 0x00, 0x00);
 /* chk if BCLK&amp;gt;=100MHz */
 temp1 = xgifb_reg_get(pVBInfo-&amp;gt;P3d4, 0x7B);
-temp = (unsigned char) ((temp1 &amp;gt;&amp;gt; 4) &amp;amp; 0x0F);
 
 xgifb_reg_set(pVBInfo-&amp;gt;Part1Port,
       0x02, XGI330_CRT2Data_1_2);
diff --git a/drivers/staging/xgifb/vb_setmode.c b/drivers/staging/xgifb/vb_setmode.c
index 5fb699d..bee4b38 100644
--- a/drivers/staging/xgifb/vb_setmode.c
+++ b/drivers/staging/xgifb/vb_setmode.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -759,7 +759,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void XGI_SetCRT1DE(struct xgi_hw_device_info *HwDeviceExtension,
 
 xgifb_reg_and_or(pVBInfo-&amp;gt;P3d4, 0x07, ~0x42, tempax);
 data = xgifb_reg_get(pVBInfo-&amp;gt;P3d4, 0x07);
-data &amp;amp;= 0xFF;
 tempax = 0;
 
 if (tempbx &amp;amp; 0x04)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1589,10 +1588,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void XGI_SetLVDSRegs(unsigned short ModeNo, unsigned short ModeIdIndex,
 xgifb_reg_and_or(pVBInfo-&amp;gt;Part1Port, 0x1a, 0x07,
 tempax);
 
-tempcx = pVBInfo-&amp;gt;VGAVT;
 tempbx = pVBInfo-&amp;gt;VDE;
 tempax = pVBInfo-&amp;gt;VGAVDE;
-tempcx -= tempax;
 
 temp = tempax; /* 0430 ylshieh */
 temp1 = (temp &amp;lt;&amp;lt; 18) / tempbx;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2657,10 +2654,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void XGI_GetCRT2Data(unsigned short ModeNo, unsigned short ModeIdIndex,
 tempbx = 775;
 else if (pVBInfo-&amp;gt;VGAVDE == 600)
 tempbx = 775;
-else
-tempbx = 768;
-} else
-tempbx = 768;
+}
 } else if (pVBInfo-&amp;gt;LCDResInfo == Panel_1024x768x75) {
 tempax = 1024;
 tempbx = 768;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3015,9 +3009,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void XGI_SetGroup1(unsigned short ModeNo, unsigned short ModeIdIndex,
 temp |= ((tempcx &amp;amp; 0xFF00) &amp;gt;&amp;gt; 8);
 xgifb_reg_set(pVBInfo-&amp;gt;Part1Port, 0x12, temp);
 
-tempax = pVBInfo-&amp;gt;VGAVDE;
-tempbx = pVBInfo-&amp;gt;VGAVDE;
-tempcx = pVBInfo-&amp;gt;VGAVT;
 /* BTVGA2VRS 0x10,0x11 */
 tempbx = (pVBInfo-&amp;gt;VGAVT + pVBInfo-&amp;gt;VGAVDE) &amp;gt;&amp;gt; 1;
 /* BTVGA2VRE 0x11 */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3226,7 +3217,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void XGI_SetLockRegs(unsigned short ModeNo, unsigned short ModeIdIndex,
 }
 }
 tempbx--;
-temp = tempbx &amp;amp; 0x00FF;
 tempbx--;
 temp = tempbx &amp;amp; 0x00FF;
 /* 0x10 vertical Blank Start */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3445,9 +3435,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void XGI_SetGroup2(unsigned short ModeNo, unsigned short ModeIdIndex,
 temp &amp;amp;= 0x80;
 xgifb_reg_and_or(pVBInfo-&amp;gt;Part2Port, 0x0A, 0xFF, temp);
 
-if (pVBInfo-&amp;gt;VBInfo &amp;amp; SetCRT2ToHiVision)
-tempax = 950;
-
 if (pVBInfo-&amp;gt;TVInfo &amp;amp; TVSetPAL)
 tempax = 520;
 else
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -4211,11 +4198,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void XGI_SetGroup4(unsigned short ModeNo, unsigned short ModeIdIndex,
 
 tempebx = pVBInfo-&amp;gt;VDE;
 
-if (tempcx &amp;amp; SetCRT2ToHiVision) {
-if (!(temp &amp;amp; 0xE000))
-tempbx = tempbx &amp;gt;&amp;gt; 1;
-}
-
 tempcx = pVBInfo-&amp;gt;RVBHRS;
 temp = tempcx &amp;amp; 0x00FF;
 xgifb_reg_set(pVBInfo-&amp;gt;Part4Port, 0x18, temp);
&lt;/pre&gt;</description>
    <dc:creator>Peter Huewe</dc:creator>
    <dc:date>2013-05-17T22:19:54</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38177">
    <title>[PATCH 1/2] staging/btmtk_usb: use module_usb_driver to register driver</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38177</link>
    <description>&lt;pre&gt;Removing some boilerplate by using module_usb_driver instead of calling
register and unregister in the otherwise empty init/exit functions

Signed-off-by: Peter Huewe &amp;lt;peterhuewe&amp;lt; at &amp;gt;gmx.de&amp;gt;
---
 drivers/staging/btmtk_usb/btmtk_usb.c | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)

diff --git a/drivers/staging/btmtk_usb/btmtk_usb.c b/drivers/staging/btmtk_usb/btmtk_usb.c
index 6b01f61..772c49e 100644
--- a/drivers/staging/btmtk_usb/btmtk_usb.c
+++ b/drivers/staging/btmtk_usb/btmtk_usb.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1771,20 +1771,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct usb_driver btmtk_usb_driver = {
 .disable_hub_initiated_lpm = 1,
 };
 
-static int __init btmtk_usb_init(void)
-{
-BT_INFO("btmtk usb driver ver %s", VERSION);
-
-return usb_register(&amp;amp;btmtk_usb_driver);
-}
-
-static void __exit btmtk_usb_exit(void)
-{
-usb_deregister(&amp;amp;btmtk_usb_driver);
-}
-
-module_init(btmtk_usb_init);
-module_exit(btmtk_usb_exit);
+module_usb_driver(btmtk_usb_driver);
 
 MODULE_DESCRIPTION("Mediatek Bluetooth USB driver ver " VERSION);
 MODULE_VERSION(VERSION);
&lt;/pre&gt;</description>
    <dc:creator>Peter Huewe</dc:creator>
    <dc:date>2013-05-17T21:51:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38176">
    <title>[PATCH 5/6] staging: comedi: me_daq: use comedi_load_firmware()</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38176</link>
    <description>&lt;pre&gt;Use comedi_load_firmware() instead of duplicating the code in a
private function.

Signed-off-by: H Hartley Sweeten &amp;lt;hsweeten&amp;lt; at &amp;gt;visionengravers.com&amp;gt;
Cc: Ian Abbott &amp;lt;abbotti&amp;lt; at &amp;gt;mev.co.uk&amp;gt;
Cc: Greg Kroah-Hartman &amp;lt;gregkh&amp;lt; at &amp;gt;linuxfoundation.org&amp;gt;
---
 drivers/staging/comedi/drivers/me_daq.c | 21 +++------------------
 1 file changed, 3 insertions(+), 18 deletions(-)

diff --git a/drivers/staging/comedi/drivers/me_daq.c b/drivers/staging/comedi/drivers/me_daq.c
index a5551e6..313f702 100644
--- a/drivers/staging/comedi/drivers/me_daq.c
+++ b/drivers/staging/comedi/drivers/me_daq.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -33,7 +33,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include &amp;lt;linux/pci.h&amp;gt;
 #include &amp;lt;linux/interrupt.h&amp;gt;
 #include &amp;lt;linux/sched.h&amp;gt;
-#include &amp;lt;linux/firmware.h&amp;gt;
 
 #include "../comedidev.h"
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -456,22 +455,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int me2600_xilinx_download(struct comedi_device *dev,
 return 0;
 }
 
-static int me2600_upload_firmware(struct comedi_device *dev)
-{
-struct pci_dev *pcidev = comedi_to_pci_dev(dev);
-const struct firmware *fw;
-int ret;
-
-ret = request_firmware(&amp;amp;fw, ME2600_FIRMWARE, &amp;amp;pcidev-&amp;gt;dev);
-if (ret)
-return ret;
-
-ret = me2600_xilinx_download(dev, fw-&amp;gt;data, fw-&amp;gt;size);
-release_firmware(fw);
-
-return ret;
-}
-
 static int me_reset(struct comedi_device *dev)
 {
 struct me_private_data *dev_private = dev-&amp;gt;private;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -525,7 +508,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int me_auto_attach(struct comedi_device *dev,
 
 /* Download firmware and reset card */
 if (board-&amp;gt;needs_firmware) {
-ret = me2600_upload_firmware(dev);
+ret = comedi_load_firmware(dev, &amp;amp;comedi_to_pci_dev(dev)-&amp;gt;dev,
+   ME2600_FIRMWARE,
+   me2600_xilinx_download);
 if (ret &amp;lt; 0)
 return ret;
 }
&lt;/pre&gt;</description>
    <dc:creator>H Hartley Sweeten</dc:creator>
    <dc:date>2013-05-17T18:17:40</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38175">
    <title>[PATCH 6/6] staging: comedi: ni_pcidio: use comedi_load_firmware()</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38175</link>
    <description>&lt;pre&gt;Use comedi_load_firmware() instead of duplicating the code in a
private function.

This driver loads multiple firmware images to the device. Modify
comedi_load_firmware() to take a 'context' that is passed to the
firmware upload callback function.

Signed-off-by: H Hartley Sweeten &amp;lt;hsweeten&amp;lt; at &amp;gt;visionengravers.com&amp;gt;
Cc: Ian Abbott &amp;lt;abbotti&amp;lt; at &amp;gt;mev.co.uk&amp;gt;
Cc: Greg Kroah-Hartman &amp;lt;gregkh&amp;lt; at &amp;gt;linuxfoundation.org&amp;gt;
---
 drivers/staging/comedi/comedidev.h            |  4 +++-
 drivers/staging/comedi/drivers.c              |  7 +++++--
 drivers/staging/comedi/drivers/daqboard2000.c |  5 +++--
 drivers/staging/comedi/drivers/jr3_pci.c      |  9 +++++----
 drivers/staging/comedi/drivers/me_daq.c       |  5 +++--
 drivers/staging/comedi/drivers/ni_pcidio.c    | 25 +++++++++++--------------
 6 files changed, 30 insertions(+), 25 deletions(-)

diff --git a/drivers/staging/comedi/comedidev.h b/drivers/staging/comedi/comedidev.h
index 7adc426..a31915f 100644
--- a/drivers/staging/comedi/comedidev.h
+++ b/drivers/staging/comedi/comedidev.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -349,7 +349,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void comedi_spriv_free(struct comedi_device *, int subdev_num);
 int comedi_load_firmware(struct comedi_device *, struct device *,
  const char *name,
  int (*cb)(struct comedi_device *,
-   const u8 *data, size_t size));
+   const u8 *data, size_t size,
+   unsigned long context),
+ unsigned long context);
 
 int __comedi_request_region(struct comedi_device *,
     unsigned long start, unsigned long len);
diff --git a/drivers/staging/comedi/drivers.c b/drivers/staging/comedi/drivers.c
index 12f1974..f3e57fd 100644
--- a/drivers/staging/comedi/drivers.c
+++ b/drivers/staging/comedi/drivers.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -353,12 +353,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void comedi_report_boards(struct comedi_driver *driv)
  * &amp;lt; at &amp;gt;hw_device: device struct for the comedi_device
  * &amp;lt; at &amp;gt;name: the name of the firmware image
  * &amp;lt; at &amp;gt;cb: callback to the upload the firmware image
+ * &amp;lt; at &amp;gt;context: private context from the driver
  */
 int comedi_load_firmware(struct comedi_device *dev,
  struct device *device,
  const char *name,
  int (*cb)(struct comedi_device *dev,
-   const u8 *data, size_t size))
+   const u8 *data, size_t size,
+   unsigned long context),
+ unsigned long context)
 {
 const struct firmware *fw;
 int ret;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -368,7 +371,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int comedi_load_firmware(struct comedi_device *dev,
 
 ret = request_firmware(&amp;amp;fw, name, device);
 if (ret == 0) {
-ret = cb(dev, fw-&amp;gt;data, fw-&amp;gt;size);
+ret = cb(dev, fw-&amp;gt;data, fw-&amp;gt;size, context);
 release_firmware(fw);
 }
 
diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index ed3b3e6..f5aa386 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -518,7 +518,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int daqboard2000_writeCPLD(struct comedi_device *dev, int data)
 }
 
 static int initialize_daqboard2000(struct comedi_device *dev,
-   const u8 *cpld_array, size_t len)
+   const u8 *cpld_array, size_t len,
+   unsigned long context)
 {
 struct daqboard2000_private *devpriv = dev-&amp;gt;private;
 int result = -EIO;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -704,7 +705,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int daqboard2000_auto_attach(struct comedi_device *dev,
 
 result = comedi_load_firmware(dev, &amp;amp;comedi_to_pci_dev(dev)-&amp;gt;dev,
       DAQBOARD2000_FIRMWARE,
-      initialize_daqboard2000);
+      initialize_daqboard2000, 0);
 if (result &amp;lt; 0)
 return result;
 
diff --git a/drivers/staging/comedi/drivers/jr3_pci.c b/drivers/staging/comedi/drivers/jr3_pci.c
index 6c5406c..94609f4 100644
--- a/drivers/staging/comedi/drivers/jr3_pci.c
+++ b/drivers/staging/comedi/drivers/jr3_pci.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -325,8 +325,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int read_idm_word(const u8 *data, size_t size, int *pos,
 return result;
 }
 
-static int jr3_download_firmware(struct comedi_device *dev, const u8 *data,
- size_t size)
+static int jr3_download_firmware(struct comedi_device *dev,
+ const u8 *data, size_t size,
+ unsigned long context)
 {
 /*
  * IDM file format is:
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -733,7 +734,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int jr3_pci_auto_attach(struct comedi_device *dev,
 
 result = comedi_load_firmware(dev, &amp;amp;comedi_to_pci_dev(dev)-&amp;gt;dev,
       "comedi/jr3pci.idm",
-      jr3_download_firmware);
+      jr3_download_firmware, 0);
 dev_dbg(dev-&amp;gt;class_dev, "Firmare load %d\n", result);
 
 if (result &amp;lt; 0)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -745,7 +746,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int jr3_pci_auto_attach(struct comedi_device *dev,
  *
  *     comedi_load_firmware(dev, &amp;amp;comedi_to_pci_dev(dev)-&amp;gt;dev,
  *                          "comedi/jr3_offsets_table",
- *                          jr3_download_firmware);
+ *                          jr3_download_firmware, 1);
  */
 
 /*
diff --git a/drivers/staging/comedi/drivers/me_daq.c b/drivers/staging/comedi/drivers/me_daq.c
index 313f702..7533ece 100644
--- a/drivers/staging/comedi/drivers/me_daq.c
+++ b/drivers/staging/comedi/drivers/me_daq.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -386,7 +386,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int me_ao_insn_read(struct comedi_device *dev,
 }
 
 static int me2600_xilinx_download(struct comedi_device *dev,
-  const u8 *data, size_t size)
+  const u8 *data, size_t size,
+  unsigned long context)
 {
 struct me_private_data *dev_private = dev-&amp;gt;private;
 unsigned int value;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -510,7 +511,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int me_auto_attach(struct comedi_device *dev,
 if (board-&amp;gt;needs_firmware) {
 ret = comedi_load_firmware(dev, &amp;amp;comedi_to_pci_dev(dev)-&amp;gt;dev,
    ME2600_FIRMWARE,
-   me2600_xilinx_download);
+   me2600_xilinx_download, 0);
 if (ret &amp;lt; 0)
 return ret;
 }
diff --git a/drivers/staging/comedi/drivers/ni_pcidio.c b/drivers/staging/comedi/drivers/ni_pcidio.c
index 934b700..5b2f72e 100644
--- a/drivers/staging/comedi/drivers/ni_pcidio.c
+++ b/drivers/staging/comedi/drivers/ni_pcidio.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -53,7 +53,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; comedi_nonfree_firmware tarball available from http://www.comedi.org
 #include &amp;lt;linux/delay.h&amp;gt;
 #include &amp;lt;linux/interrupt.h&amp;gt;
 #include &amp;lt;linux/sched.h&amp;gt;
-#include &amp;lt;linux/firmware.h&amp;gt;
 
 #include "../comedidev.h"
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -966,11 +965,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int ni_pcidio_change(struct comedi_device *dev,
 return 0;
 }
 
-static int pci_6534_load_fpga(struct comedi_device *dev, int fpga_index,
-      const u8 *data, size_t data_len)
+static int pci_6534_load_fpga(struct comedi_device *dev,
+      const u8 *data, size_t data_len,
+      unsigned long context)
 {
 struct nidio96_private *devpriv = dev-&amp;gt;private;
 static const int timeout = 1000;
+int fpga_index = context;
 int i;
 size_t j;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1028,7 +1029,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int pci_6534_load_fpga(struct comedi_device *dev, int fpga_index,
 
 static int pci_6534_reset_fpga(struct comedi_device *dev, int fpga_index)
 {
-return pci_6534_load_fpga(dev, fpga_index, NULL, 0);
+return pci_6534_load_fpga(dev, NULL, 0, fpga_index);
 }
 
 static int pci_6534_reset_fpgas(struct comedi_device *dev)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1062,13 +1063,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void pci_6534_init_main_fpga(struct comedi_device *dev)
 static int pci_6534_upload_firmware(struct comedi_device *dev)
 {
 struct nidio96_private *devpriv = dev-&amp;gt;private;
-int ret;
-const struct firmware *fw;
 static const char *const fw_file[3] = {
 FW_PCI_6534_SCARAB_DI,/* loaded into scarab A for DI */
 FW_PCI_6534_SCARAB_DO,/* loaded into scarab B for DO */
 FW_PCI_6534_MAIN,/* loaded into main FPGA */
 };
+int ret;
 int n;
 
 ret = pci_6534_reset_fpgas(dev);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1076,14 +1076,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int pci_6534_upload_firmware(struct comedi_device *dev)
 return ret;
 /* load main FPGA first, then the two scarabs */
 for (n = 2; n &amp;gt;= 0; n--) {
-ret = request_firmware(&amp;amp;fw, fw_file[n],
-       &amp;amp;devpriv-&amp;gt;mite-&amp;gt;pcidev-&amp;gt;dev);
-if (ret == 0) {
-ret = pci_6534_load_fpga(dev, n, fw-&amp;gt;data, fw-&amp;gt;size);
-if (ret == 0 &amp;amp;&amp;amp; n == 2)
-pci_6534_init_main_fpga(dev);
-release_firmware(fw);
-}
+ret = comedi_load_firmware(dev, &amp;amp;devpriv-&amp;gt;mite-&amp;gt;pcidev-&amp;gt;dev,
+   fw_file[n],
+   pci_6534_load_fpga, n);
+if (ret == 0 &amp;amp;&amp;amp; n == 2)
+pci_6534_init_main_fpga(dev);
 if (ret &amp;lt; 0)
 break;
 }
&lt;/pre&gt;</description>
    <dc:creator>H Hartley Sweeten</dc:creator>
    <dc:date>2013-05-17T18:18:01</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38174">
    <title>[PATCH 4/6] staging: comedi: daqboard2000: use comedi_load_firmware()</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38174</link>
    <description>&lt;pre&gt;Use comedi_load_firmware() instead of duplicating the code in a
private function.

Signed-off-by: H Hartley Sweeten &amp;lt;hsweeten&amp;lt; at &amp;gt;visionengravers.com&amp;gt;
Cc: Ian Abbott &amp;lt;abbotti&amp;lt; at &amp;gt;mev.co.uk&amp;gt;
Cc: Greg Kroah-Hartman &amp;lt;gregkh&amp;lt; at &amp;gt;linuxfoundation.org&amp;gt;
---
 drivers/staging/comedi/drivers/daqboard2000.c | 21 +++------------------
 1 file changed, 3 insertions(+), 18 deletions(-)

diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c
index 6e6a9bb..ed3b3e6 100644
--- a/drivers/staging/comedi/drivers/daqboard2000.c
+++ b/drivers/staging/comedi/drivers/daqboard2000.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -105,7 +105,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Configuration options: not applicable, uses PCI auto config
 #include &amp;lt;linux/pci.h&amp;gt;
 #include &amp;lt;linux/delay.h&amp;gt;
 #include &amp;lt;linux/interrupt.h&amp;gt;
-#include &amp;lt;linux/firmware.h&amp;gt;
 
 #include "../comedidev.h"
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -560,22 +559,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int initialize_daqboard2000(struct comedi_device *dev,
 return result;
 }
 
-static int daqboard2000_upload_firmware(struct comedi_device *dev)
-{
-struct pci_dev *pcidev = comedi_to_pci_dev(dev);
-const struct firmware *fw;
-int ret;
-
-ret = request_firmware(&amp;amp;fw, DAQBOARD2000_FIRMWARE, &amp;amp;pcidev-&amp;gt;dev);
-if (ret)
-return ret;
-
-ret = initialize_daqboard2000(dev, fw-&amp;gt;data, fw-&amp;gt;size);
-release_firmware(fw);
-
-return ret;
-}
-
 static void daqboard2000_adcStopDmaTransfer(struct comedi_device *dev)
 {
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -719,7 +702,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int daqboard2000_auto_attach(struct comedi_device *dev,
 
 readl(devpriv-&amp;gt;plx + 0x6c);
 
-result = daqboard2000_upload_firmware(dev);
+result = comedi_load_firmware(dev, &amp;amp;comedi_to_pci_dev(dev)-&amp;gt;dev,
+      DAQBOARD2000_FIRMWARE,
+      initialize_daqboard2000);
 if (result &amp;lt; 0)
 return result;
 
&lt;/pre&gt;</description>
    <dc:creator>H Hartley Sweeten</dc:creator>
    <dc:date>2013-05-17T18:17:22</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38173">
    <title>[PATCH 3/6] staging: comedi: drivers: generalize comedi_load_firmware()</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38173</link>
    <description>&lt;pre&gt;Move comedi_load_firmware() from jr3_pci.c to drivers.c and export
it for general use by the comedi drivers.

Signed-off-by: H Hartley Sweeten &amp;lt;hsweeten&amp;lt; at &amp;gt;visionengravers.com&amp;gt;
Cc: Ian Abbott &amp;lt;abbotti&amp;lt; at &amp;gt;mev.co.uk&amp;gt;
Cc: Greg Kroah-Hartman &amp;lt;gregkh&amp;lt; at &amp;gt;linuxfoundation.org&amp;gt;
---
 drivers/staging/comedi/comedidev.h       |  5 +++++
 drivers/staging/comedi/drivers.c         | 30 +++++++++++++++++++++++++++
 drivers/staging/comedi/drivers/jr3_pci.c | 35 +++++---------------------------
 3 files changed, 40 insertions(+), 30 deletions(-)

diff --git a/drivers/staging/comedi/comedidev.h b/drivers/staging/comedi/comedidev.h
index ff7fc45..7adc426 100644
--- a/drivers/staging/comedi/comedidev.h
+++ b/drivers/staging/comedi/comedidev.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -346,6 +346,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int comedi_alloc_subdevices(struct comedi_device *, int);
 
 void comedi_spriv_free(struct comedi_device *, int subdev_num);
 
+int comedi_load_firmware(struct comedi_device *, struct device *,
+ const char *name,
+ int (*cb)(struct comedi_device *,
+   const u8 *data, size_t size));
+
 int __comedi_request_region(struct comedi_device *,
     unsigned long start, unsigned long len);
 int comedi_request_region(struct comedi_device *,
diff --git a/drivers/staging/comedi/drivers.c b/drivers/staging/comedi/drivers.c
index 216ba44..12f1974 100644
--- a/drivers/staging/comedi/drivers.c
+++ b/drivers/staging/comedi/drivers.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -33,6 +33,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include &amp;lt;linux/dma-mapping.h&amp;gt;
 #include &amp;lt;linux/io.h&amp;gt;
 #include &amp;lt;linux/interrupt.h&amp;gt;
+#include &amp;lt;linux/firmware.h&amp;gt;
 
 #include "comedidev.h"
 #include "comedi_internal.h"
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -347,6 +348,35 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void comedi_report_boards(struct comedi_driver *driv)
 }
 
 /**
+ * comedi_load_firmware() - Request and load firmware for a device.
+ * &amp;lt; at &amp;gt;dev: comedi_device struct
+ * &amp;lt; at &amp;gt;hw_device: device struct for the comedi_device
+ * &amp;lt; at &amp;gt;name: the name of the firmware image
+ * &amp;lt; at &amp;gt;cb: callback to the upload the firmware image
+ */
+int comedi_load_firmware(struct comedi_device *dev,
+ struct device *device,
+ const char *name,
+ int (*cb)(struct comedi_device *dev,
+   const u8 *data, size_t size))
+{
+const struct firmware *fw;
+int ret;
+
+if (!cb)
+return -EINVAL;
+
+ret = request_firmware(&amp;amp;fw, name, device);
+if (ret == 0) {
+ret = cb(dev, fw-&amp;gt;data, fw-&amp;gt;size);
+release_firmware(fw);
+}
+
+return ret;
+}
+EXPORT_SYMBOL_GPL(comedi_load_firmware);
+
+/**
  * __comedi_request_region() - Request an I/O reqion for a legacy driver.
  * &amp;lt; at &amp;gt;dev: comedi_device struct
  * &amp;lt; at &amp;gt;start: base address of the I/O reqion
diff --git a/drivers/staging/comedi/drivers/jr3_pci.c b/drivers/staging/comedi/drivers/jr3_pci.c
index 9b61b55..6c5406c 100644
--- a/drivers/staging/comedi/drivers/jr3_pci.c
+++ b/drivers/staging/comedi/drivers/jr3_pci.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -41,7 +41,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include &amp;lt;linux/pci.h&amp;gt;
 #include &amp;lt;linux/delay.h&amp;gt;
 #include &amp;lt;linux/ctype.h&amp;gt;
-#include &amp;lt;linux/firmware.h&amp;gt;
 #include &amp;lt;linux/jiffies.h&amp;gt;
 #include &amp;lt;linux/slab.h&amp;gt;
 #include &amp;lt;linux/timer.h&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -92,33 +91,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct jr3_pci_subdev_private {
 int retries;
 };
 
-/* Hotplug firmware loading stuff */
-static int comedi_load_firmware(struct comedi_device *dev, const char *name,
-int (*cb)(struct comedi_device *dev,
-  const u8 *data, size_t size))
-{
-struct pci_dev *pcidev = comedi_to_pci_dev(dev);
-const struct firmware *fw;
-char *firmware_path;
-int ret;
-
-if (!cb)
-return -EINVAL;
-
-firmware_path = kasprintf(GFP_KERNEL, "comedi/%s", name);
-if (!firmware_path)
-return -ENOMEM;
-
-ret = request_firmware(&amp;amp;fw, firmware_path, &amp;amp;pcidev-&amp;gt;dev);
-if (ret == 0) {
-ret = cb(dev, fw-&amp;gt;data, fw-&amp;gt;size);
-release_firmware(fw);
-}
-kfree(firmware_path);
-
-return ret;
-}
-
 static struct poll_delay_t poll_delay_min_max(int min, int max)
 {
 struct poll_delay_t result;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -759,7 +731,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int jr3_pci_auto_attach(struct comedi_device *dev,
 /*  Reset DSP card */
 writel(0, &amp;amp;devpriv-&amp;gt;iobase-&amp;gt;channel[0].reset);
 
-result = comedi_load_firmware(dev, "jr3pci.idm", jr3_download_firmware);
+result = comedi_load_firmware(dev, &amp;amp;comedi_to_pci_dev(dev)-&amp;gt;dev,
+      "comedi/jr3pci.idm",
+      jr3_download_firmware);
 dev_dbg(dev-&amp;gt;class_dev, "Firmare load %d\n", result);
 
 if (result &amp;lt; 0)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -769,7 +743,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int jr3_pci_auto_attach(struct comedi_device *dev,
  * format:
  *     model serial Fx Fy Fz Mx My Mz\n
  *
- *     comedi_load_firmware(dev, "jr3_offsets_table",
+ *     comedi_load_firmware(dev, &amp;amp;comedi_to_pci_dev(dev)-&amp;gt;dev,
+ *                          "comedi/jr3_offsets_table",
  *                          jr3_download_firmware);
  */
 
&lt;/pre&gt;</description>
    <dc:creator>H Hartley Sweeten</dc:creator>
    <dc:date>2013-05-17T18:17:00</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38172">
    <title>[PATCH 2/6] staging: comedi: jr3_pci: tidy up comedi_load_firmware()</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38172</link>
    <description>&lt;pre&gt;Refactor the function to remove some unnecessary indents and make
it a bit more concise.

Signed-off-by: H Hartley Sweeten &amp;lt;hsweeten&amp;lt; at &amp;gt;visionengravers.com&amp;gt;
Cc: Ian Abbott &amp;lt;abbotti&amp;lt; at &amp;gt;mev.co.uk&amp;gt;
Cc: Greg Kroah-Hartman &amp;lt;gregkh&amp;lt; at &amp;gt;linuxfoundation.org&amp;gt;
---
 drivers/staging/comedi/drivers/jr3_pci.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/comedi/drivers/jr3_pci.c b/drivers/staging/comedi/drivers/jr3_pci.c
index 42e78d1..9b61b55 100644
--- a/drivers/staging/comedi/drivers/jr3_pci.c
+++ b/drivers/staging/comedi/drivers/jr3_pci.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -95,28 +95,28 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct jr3_pci_subdev_private {
 /* Hotplug firmware loading stuff */
 static int comedi_load_firmware(struct comedi_device *dev, const char *name,
 int (*cb)(struct comedi_device *dev,
-const u8 *data, size_t size))
+  const u8 *data, size_t size))
 {
 struct pci_dev *pcidev = comedi_to_pci_dev(dev);
-int result = 0;
 const struct firmware *fw;
 char *firmware_path;
+int ret;
+
+if (!cb)
+return -EINVAL;
 
 firmware_path = kasprintf(GFP_KERNEL, "comedi/%s", name);
-if (!firmware_path) {
-result = -ENOMEM;
-} else {
-result = request_firmware(&amp;amp;fw, firmware_path, &amp;amp;pcidev-&amp;gt;dev);
-if (result == 0) {
-if (!cb)
-result = -EINVAL;
-else
-result = cb(dev, fw-&amp;gt;data, fw-&amp;gt;size);
-release_firmware(fw);
-}
-kfree(firmware_path);
+if (!firmware_path)
+return -ENOMEM;
+
+ret = request_firmware(&amp;amp;fw, firmware_path, &amp;amp;pcidev-&amp;gt;dev);
+if (ret == 0) {
+ret = cb(dev, fw-&amp;gt;data, fw-&amp;gt;size);
+release_firmware(fw);
 }
-return result;
+kfree(firmware_path);
+
+return ret;
 }
 
 static struct poll_delay_t poll_delay_min_max(int min, int max)
&lt;/pre&gt;</description>
    <dc:creator>H Hartley Sweeten</dc:creator>
    <dc:date>2013-05-17T18:16:39</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38171">
    <title>[PATCH 1/6] staging: comedi: jr3_pci: use kasprintf</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38171</link>
    <description>&lt;pre&gt;kasprintf combines kmalloc and sprintf, and takes care of the size
calculation itself.

Signed-off-by: H Hartley Sweeten &amp;lt;hsweeten&amp;lt; at &amp;gt;visionengravers.com&amp;gt;
Cc: Ian Abbott &amp;lt;abbotti&amp;lt; at &amp;gt;mev.co.uk&amp;gt;
Cc: Greg Kroah-Hartman &amp;lt;gregkh&amp;lt; at &amp;gt;linuxfoundation.org&amp;gt;
---
 drivers/staging/comedi/drivers/jr3_pci.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/staging/comedi/drivers/jr3_pci.c b/drivers/staging/comedi/drivers/jr3_pci.c
index c240e6d..42e78d1 100644
--- a/drivers/staging/comedi/drivers/jr3_pci.c
+++ b/drivers/staging/comedi/drivers/jr3_pci.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -101,15 +101,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int comedi_load_firmware(struct comedi_device *dev, const char *name,
 int result = 0;
 const struct firmware *fw;
 char *firmware_path;
-static const char *prefix = "comedi/";
 
-firmware_path = kmalloc(strlen(prefix) + strlen(name) + 1, GFP_KERNEL);
+firmware_path = kasprintf(GFP_KERNEL, "comedi/%s", name);
 if (!firmware_path) {
 result = -ENOMEM;
 } else {
-firmware_path[0] = '\0';
-strcat(firmware_path, prefix);
-strcat(firmware_path, name);
 result = request_firmware(&amp;amp;fw, firmware_path, &amp;amp;pcidev-&amp;gt;dev);
 if (result == 0) {
 if (!cb)
&lt;/pre&gt;</description>
    <dc:creator>H Hartley Sweeten</dc:creator>
    <dc:date>2013-05-17T18:16:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38170">
    <title>[PATCH 0/6] staging: comedi: export comedi_load_firmware()</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38170</link>
    <description>&lt;pre&gt;Cleanup and make comedi_load_firmware(), currently in the jr3_pci driver,
a generic helper function that is exported by the comedi core.

Use the exported helper in the comedi drivers instead of duplicating
the code privately.

The usbdux* drivers currently use request_firmware_nowait() to get the
firmware image asynchronously.

The usbduxfast driver has already been converted to use request_firmware()
but the patches have not shown up on linux-next yet. I will submit a patch
to use the the exported helper in this driver as soon as they do.

The usbdux and usbduxsigma drivers will also be converted to request the
firmware synchronously and use the exported helper.

H Hartley Sweeten (6):
  staging: comedi: jr3_pci: use kasprintf
  staging: comedi: jr3_pci: tidy up comedi_load_firmware()
  staging: comedi: drivers: generalize comedi_load_firmware()
  staging: comedi: daqboard2000: use comedi_load_firmware()
  staging: comedi: me_daq: use comedi_load_firmware()
  staging: comedi: ni_pcidio: use comedi_load_firmware()

 drivers/staging/comedi/comedidev.h            |  7 ++++
 drivers/staging/comedi/drivers.c              | 33 +++++++++++++++++++
 drivers/staging/comedi/drivers/daqboard2000.c | 24 +++-----------
 drivers/staging/comedi/drivers/jr3_pci.c      | 46 ++++++---------------------
 drivers/staging/comedi/drivers/me_daq.c       | 24 +++-----------
 drivers/staging/comedi/drivers/ni_pcidio.c    | 25 +++++++--------
 6 files changed, 70 insertions(+), 89 deletions(-)

&lt;/pre&gt;</description>
    <dc:creator>H Hartley Sweeten</dc:creator>
    <dc:date>2013-05-17T18:15:43</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38164">
    <title>[PATCH 1/1] Staging: bcm: Fix of various code style issues.</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38164</link>
    <description>&lt;pre&gt;Changed comment style to C89 in Version.h
Fixed some whitespace issues in Typedefs.h
Changed comment style to C89 in vendorspecificextn.c
All issues found with checkpatch.pl

Signed-off-by: Severin Gsponer &amp;lt;svgsponer&amp;lt; at &amp;gt;gmail.com&amp;gt;
---
 drivers/staging/bcm/Typedefs.h           |   22 ++--
 drivers/staging/bcm/Version.h            |    8 +-
 drivers/staging/bcm/vendorspecificextn.c |  197 +++++++++++++++---------------
 3 files changed, 110 insertions(+), 117 deletions(-)

diff --git a/drivers/staging/bcm/Typedefs.h b/drivers/staging/bcm/Typedefs.h
index a985abf..3dea509 100644
--- a/drivers/staging/bcm/Typedefs.h
+++ b/drivers/staging/bcm/Typedefs.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -25,16 +25,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef unsigned int B_UINT32;
 typedef unsigned long ULONG;
 typedef unsigned long DWORD;
 
-typedef char* PCHAR;
-typedef short* PSHORT;
-typedef int* PINT;
-typedef long* PLONG;
-typedef void* PVOID;
-
-typedef unsigned char* PUCHAR;
-typedef unsigned short* PUSHORT;
-typedef unsigned int* PUINT;
-typedef unsigned long* PULONG;
+typedef char *PCHAR;
+typedef short *PSHORT;
+typedef int *PINT;
+typedef long *PLONG;
+typedef void *PVOID;
+
+typedef unsigned char *PUCHAR;
+typedef unsigned short *PUSHORT;
+typedef unsigned int *PUINT;
+typedef unsigned long *PULONG;
 typedef unsigned long long ULONG64;
 typedef unsigned long long LARGE_INTEGER;
 typedef unsigned int UINT32;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -43,5 +43,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; typedef unsigned int UINT32;
 #endif
 
 
-#endif//__TYPEDEFS_H__
+#endif/* __TYPEDEFS_H__ */
 
diff --git a/drivers/staging/bcm/Version.h b/drivers/staging/bcm/Version.h
index a07b956..c5c5fab 100644
--- a/drivers/staging/bcm/Version.h
+++ b/drivers/staging/bcm/Version.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -17,7 +17,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Abstract:
 #define VER_FILETYPE                VFT_DRV
 #define VER_FILESUBTYPE             VFT2_DRV_NETWORK
 
-
 #define VER_FILEVERSION             5.2.45
 #define VER_FILEVERSION_STR         "5.2.45"
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -27,9 +26,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Abstract:
 #undef VER_PRODUCTVERSION_STR
 #define VER_PRODUCTVERSION_STR      VER_FILEVERSION_STR
 
+/* #include "common.ver" */
 
-
-
-//#include "common.ver"
-
-#endif //VERSION_H
+#endif /* VERSION_H */
diff --git a/drivers/staging/bcm/vendorspecificextn.c b/drivers/staging/bcm/vendorspecificextn.c
index be1f91d..29f13d7 100644
--- a/drivers/staging/bcm/vendorspecificextn.c
+++ b/drivers/staging/bcm/vendorspecificextn.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,70 +1,70 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include "headers.h"
-//-----------------------------------------------------------------------------
-// Procedure:vendorextnGetSectionInfo
-//
-// Description: Finds the type of NVM used.
-//
-// Arguments:
-//Adapter    - ptr to Adapter object instance
-//pNVMType   - ptr to NVM type.
-// Returns:
-//STATUS_SUCCESS/STATUS_FAILURE
-//
-//-----------------------------------------------------------------------------
+/*
+ * Procedure:vendorextnGetSectionInfo
+ *
+ * Description: Finds the type of NVM used.
+ *
+ * Arguments:
+ *Adapter    - ptr to Adapter object instance
+ *pNVMType   - ptr to NVM type.
+ * Returns:
+ *STATUS_SUCCESS/STATUS_FAILURE
+ *
+ */
 INT vendorextnGetSectionInfo(PVOID  pContext, struct bcm_flash2x_vendor_info *pVendorInfo)
 {
 return STATUS_FAILURE;
 }
 
-//-----------------------------------------------------------------------------
-// Procedure:   vendorextnInit
-//
-// Description: Initializing the vendor extension NVM interface
-//
-// Arguments:
-//              Adapter   - Pointer to MINI Adapter Structure.
-
-// Returns:
-//              STATUS_SUCCESS/STATUS_FAILURE
-//
-//-----------------------------------------------------------------------------
+/*
+ * Procedure:   vendorextnInit
+ *
+ * Description: Initializing the vendor extension NVM interface
+ *
+ * Arguments:
+ *              Adapter   - Pointer to MINI Adapter Structure
+ * Returns:
+ *             STATUS_SUCCESS/STATUS_FAILURE
+ *
+ *
+ */
 INT vendorextnInit(struct bcm_mini_adapter *Adapter)
 {
 return STATUS_SUCCESS;
 }
 
-//-----------------------------------------------------------------------------
-// Procedure:   vendorextnExit
-//
-// Description: Free the resource associated with vendor extension NVM interface
-//
-// Arguments:
-//              Adapter   - Pointer to MINI Adapter Structure.
-
-// Returns:
-//              STATUS_SUCCESS/STATUS_FAILURE
-//
-//-----------------------------------------------------------------------------
+/*
+ * Procedure:   vendorextnExit
+ *
+ * Description: Free the resource associated with vendor extension NVM interface
+ *
+ * Arguments:
+ *
+ * Returns:
+ *              STATUS_SUCCESS/STATUS_FAILURE
+ *
+ *
+ */
 INT vendorextnExit(struct bcm_mini_adapter *Adapter)
 {
 return STATUS_SUCCESS;
 }
 
-//------------------------------------------------------------------------
-// Procedure:vendorextnIoctl
-//
-// Description: execute the vendor extension specific ioctl
-//
-//Arguments:
-//Adapter -Beceem private Adapter Structure
-//cmd -vendor extension specific Ioctl commad
-//arg-input parameter sent by vendor
-//
-// Returns:
-//CONTINUE_COMMON_PATH in case it is not meant to be processed by vendor ioctls
-//STATUS_SUCCESS/STATUS_FAILURE as per the IOCTL return value
-//
-//--------------------------------------------------------------------------
+/*
+ * Procedure:vendorextnIoctl
+ *
+ * Description: execute the vendor extension specific ioctl
+ *
+ * Arguments:
+ *Adapter -Beceem private Adapter Structure
+ *cmd-vendor extension specific Ioctl commad
+ *arg-input parameter sent by vendor
+ *
+ * Returns:
+ *CONTINUE_COMMON_PATH in case it is not meant to be processed by vendor ioctls
+ *STATUS_SUCCESS/STATUS_FAILURE as per the IOCTL return value
+ */
+
 INT vendorextnIoctl(struct bcm_mini_adapter *Adapter, UINT cmd, ULONG arg)
 {
 return CONTINUE_COMMON_PATH;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -72,22 +72,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; INT vendorextnIoctl(struct bcm_mini_adapter *Adapter, UINT cmd, ULONG arg)
 
 
 
-//------------------------------------------------------------------
-// Procedure:vendorextnReadSection
-//
-// Description: Reads from a section of NVM
-//
-// Arguments:
-//pContext - ptr to Adapter object instance
-//pBuffer - Read the data from Vendor Area to this buffer
-//SectionVal   - Value of type of Section
-//Offset - Read from the Offset of the Vendor Section.
-//numOfBytes - Read numOfBytes from the Vendor section to Buffer
-//
-// Returns:
-//STATUS_SUCCESS/STATUS_FAILURE
-//
-//------------------------------------------------------------------
+/*
+ * Procedure:vendorextnReadSection
+ *
+ * Description: Reads from a section of NVM
+ *
+ * Arguments:
+ *pContext - ptr to Adapter object instance
+ *pBuffer - Read the data from Vendor Area to this buffer
+ *SectionVal   - Value of type of Section
+ *Offset - Read from the Offset of the Vendor Section.
+ *numOfBytes - Read numOfBytes from the Vendor section to Buffer
+ *
+ * Returns:
+ *STATUS_SUCCESS/STATUS_FAILURE
+ */
 
 INT vendorextnReadSection(PVOID  pContext, PUCHAR pBuffer, enum bcm_flash2x_section_val SectionVal,
 UINT offset, UINT numOfBytes)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -97,23 +96,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; INT vendorextnReadSection(PVOID  pContext, PUCHAR pBuffer, enum bcm_flash2x_sect
 
 
 
-//------------------------------------------------------------------
-// Procedure:vendorextnWriteSection
-//
-// Description: Write to a Section of NVM
-//
-// Arguments:
-//pContext - ptr to Adapter object instance
-//pBuffer - Write the data provided in the buffer
-//SectionVal   - Value of type of Section
-//Offset - Writes to the Offset of the Vendor Section.
-//numOfBytes - Write num Bytes after reading from pBuffer.
-//bVerify - the Buffer Written should be verified.
-//
-// Returns:
-//STATUS_SUCCESS/STATUS_FAILURE
-//
-//------------------------------------------------------------------
+/*
+ * Procedure:vendorextnWriteSection
+ *
+ * Description: Write to a Section of NVM
+ *
+ * Arguments:
+ *pContext - ptr to Adapter object instance
+ *pBuffer - Write the data provided in the buffer
+ *SectionVal   - Value of type of Section
+ *Offset - Writes to the Offset of the Vendor Section.
+ *numOfBytes - Write num Bytes after reading from pBuffer.
+ *bVerify - the Buffer Written should be verified.
+ *
+ * Returns:
+ *STATUS_SUCCESS/STATUS_FAILURE
+ */
 INT vendorextnWriteSection(PVOID  pContext, PUCHAR pBuffer, enum bcm_flash2x_section_val SectionVal,
 UINT offset, UINT numOfBytes, BOOLEAN bVerify)
 {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -122,22 +120,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; INT vendorextnWriteSection(PVOID  pContext, PUCHAR pBuffer, enum bcm_flash2x_sec
 
 
 
-//------------------------------------------------------------------
-// Procedure:vendorextnWriteSectionWithoutErase
-//
-// Description: Write to a Section of NVM without erasing the sector
-//
-// Arguments:
-//pContext - ptr to Adapter object instance
-//pBuffer - Write the data provided in the buffer
-//SectionVal   - Value of type of Section
-//Offset - Writes to the Offset of the Vendor Section.
-//numOfBytes - Write num Bytes after reading from pBuffer.
-//
-// Returns:
-//STATUS_SUCCESS/STATUS_FAILURE
-//
-//------------------------------------------------------------------
+/*
+ * Procedure:vendorextnWriteSectionWithoutErase
+ *
+ * Description: Write to a Section of NVM without erasing the sector
+ *
+ * Arguments:
+ *pContext - ptr to Adapter object instance
+ *pBuffer - Write the data provided in the buffer
+ *SectionVal   - Value of type of Section
+ *Offset - Writes to the Offset of the Vendor Section.
+ *numOfBytes - Write num Bytes after reading from pBuffer.
+ *
+ * Returns:
+ *STATUS_SUCCESS/STATUS_FAILURE
+ */
 INT vendorextnWriteSectionWithoutErase(PVOID  pContext, PUCHAR pBuffer, enum bcm_flash2x_section_val SectionVal,
 UINT offset, UINT numOfBytes)
 {
&lt;/pre&gt;</description>
    <dc:creator>Severin Gsponer</dc:creator>
    <dc:date>2013-05-17T14:44:22</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38161">
    <title>[PATCH] staging/solo6x10: select the desired font</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38161</link>
    <description>&lt;pre&gt;From: Xiong Zhou &amp;lt;jencce.kernel&amp;lt; at &amp;gt;gmail.com&amp;gt;

Make sure FONT_8x16 can be found by find_font().

Signed-off-by: Xiong Zhou &amp;lt;jencce.kernel&amp;lt; at &amp;gt;gmail.com&amp;gt;
---
 drivers/staging/media/solo6x10/Kconfig |    1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/media/solo6x10/Kconfig b/drivers/staging/media/solo6x10/Kconfig
index ec32776..0bc743b 100644
--- a/drivers/staging/media/solo6x10/Kconfig
+++ b/drivers/staging/media/solo6x10/Kconfig
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -4,6 +4,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; config SOLO6X10
 select VIDEOBUF2_DMA_SG
 select VIDEOBUF2_DMA_CONTIG
 select SND_PCM
+select FONT_8x16
 ---help---
   This driver supports the Softlogic based MPEG-4 and h.264 codec
   cards.
&lt;/pre&gt;</description>
    <dc:creator>Xiong Zhou</dc:creator>
    <dc:date>2013-05-17T11:24:05</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38160">
    <title>[PATCH -next] staging: wlags49_h2: fix error return code in wl_adapter_insert()</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38160</link>
    <description>&lt;pre&gt;From: Wei Yongjun &amp;lt;yongjun_wei&amp;lt; at &amp;gt;trendmicro.com.cn&amp;gt;

When return from wl_adapter_insert() in the register_netdev() error
handling case, 'ret' which is 0 is returned, but we should return a
negative error code instead, so fix to return the return value of
register_netdev().

Introduce by commit 657d4c86d4cd85a4696445f6fb2fe0941a5724ff
(staging: wlags49_h2: fix error handling in pcmcia probe function)

Signed-off-by: Wei Yongjun &amp;lt;yongjun_wei&amp;lt; at &amp;gt;trendmicro.com.cn&amp;gt;
---
 drivers/staging/wlags49_h2/wl_cs.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/wlags49_h2/wl_cs.c b/drivers/staging/wlags49_h2/wl_cs.c
index f9e5fd3..b55dc43 100644
--- a/drivers/staging/wlags49_h2/wl_cs.c
+++ b/drivers/staging/wlags49_h2/wl_cs.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -259,7 +259,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int wl_adapter_insert(struct pcmcia_device *link)
 dev-&amp;gt;base_addr  = link-&amp;gt;resource[0]-&amp;gt;start;
 
 SET_NETDEV_DEV(dev, &amp;amp;link-&amp;gt;dev);
-if (register_netdev(dev) != 0) {
+ret = register_netdev(dev);
+if (ret != 0) {
 printk("%s: register_netdev() failed\n", MODULE_NAME);
 goto failed;
 }
&lt;/pre&gt;</description>
    <dc:creator>Wei Yongjun</dc:creator>
    <dc:date>2013-05-17T08:43:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38159">
    <title>[PATCH -next] staging: lustre: fix to use list_for_each_entry_safe() when delete items</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38159</link>
    <description>&lt;pre&gt;From: Wei Yongjun &amp;lt;yongjun_wei&amp;lt; at &amp;gt;trendmicro.com.cn&amp;gt;

Since we will remove items off the list using list_del_init() we need
to use a safe version of the list_for_each_entry() macro aptly named
list_for_each_entry_safe().

Signed-off-by: Wei Yongjun &amp;lt;yongjun_wei&amp;lt; at &amp;gt;trendmicro.com.cn&amp;gt;
---
 drivers/staging/lustre/lustre/osc/osc_cache.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/lustre/lustre/osc/osc_cache.c b/drivers/staging/lustre/lustre/osc/osc_cache.c
index 206fead..116ea31 100644
--- a/drivers/staging/lustre/lustre/osc/osc_cache.c
+++ b/drivers/staging/lustre/lustre/osc/osc_cache.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2620,7 +2620,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int osc_queue_sync_pages(const struct lu_env *env, struct osc_object *obj,
 {
 struct client_obd     *cli = osc_cli(obj);
 struct osc_extent     *ext;
-struct osc_async_page *oap;
+struct osc_async_page *oap, *tmp;
 int     page_count = 0;
 int     mppr       = cli-&amp;gt;cl_max_pages_per_rpc;
 pgoff_t start      = CL_PAGE_EOF;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2639,7 +2639,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int osc_queue_sync_pages(const struct lu_env *env, struct osc_object *obj,
 
 ext = osc_extent_alloc(obj);
 if (ext == NULL) {
-list_for_each_entry(oap, list, oap_pending_item) {
+list_for_each_entry_safe(oap, tmp, list, oap_pending_item) {
 list_del_init(&amp;amp;oap-&amp;gt;oap_pending_item);
 osc_ap_completion(env, cli, oap, 0, -ENOMEM);
 }
&lt;/pre&gt;</description>
    <dc:creator>Wei Yongjun</dc:creator>
    <dc:date>2013-05-17T08:27:05</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38158">
    <title>vme_tsi148 &amp; vme_user driver questions</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38158</link>
    <description>&lt;pre&gt;Dear all,


I'm trying to get optimal results with a XVME6300 Single Board Computer,
using the VME_TSI148 driver from Martyn Welch, combined with the VME_USER device driver.

So far, I can read/write a block of data (eg. 64 bytes, 16 LWORDS) from/to a slave on the VME-bus,
but I encounter the following problems (as seen with a VME analyzer in the crate):

- in SCT mode, each LWORD being read is separated approx 3 microseconds from eachother,
  while the duration for the read itself only takes 0.5 microseconds.
  In other words: there's lots of unused bandwith, causing slow performance.
  What could be causing the delay of 2.5 microseconds ? 

- The TSI148 bridge is using PCI-X on my-board, and is behind a PCIe-PCIX bridge.
  According to the TSI148 manual, every read will result in a 'split read',
  and the TSI148 should take further care of the read command.
  Does this mean, that the TSI148 will ensure that all my LWORDs are being read
  if I do a read of multiple bytes (eg. 64) ?
  If so, can the TSI148 itself be responsible for the 3 microseconds ?

- BLT mode is no different than SCT mode according to the signal charts I get from the analyser?
  Each read/write modifies the address-lines, which shouldn't be the case, right?
  Could it be my slave card does not support BLT transfers?

Apart from this:

- Could somebody show me how to do DMA access with the VME_TSI148 driver ?

- Is it realistic to modify the VME_USER driver to add DMA capabilities ?


PS: using simple access to /dev/mem at the correct address, 
I was able to change the Requester mode from Release-When-Done to Release-On-Request,
but this has no influence on all of the above...
(maybe this can be added to vme_tsi148 ?)

I know these are a lot of (rather difficult) questions,
but I'm very grateful to everybody that can help me out here...


Kind regards,
Steven De Roo
&lt;/pre&gt;</description>
    <dc:creator>De Roo, Steven</dc:creator>
    <dc:date>2013-05-17T07:36:44</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38157">
    <title>Photo Retouching Services - Photo Cut Out - Photo Editing</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38157</link>
    <description>&lt;pre&gt;Hi,

We are one of the best digital images retouching/editing professionals located in China. We provide all kinds of image editing solutions to different companies all over the world.

We provide best quality service in best price.

Our image editing services are: -

 . Cut out/masking, clipping path, deep etching, transparent background
 . Dust cleaning, spot cleaning
 . Colour correction, black and white, light and shadows etc.
 . Beauty retouching, skin retouching, face retouching, body retouching
 . Fashion/Beauty Image Retouching
 . Product image Retouching
 . Jewellery image Retouching
 . Real estate image Retouching
 . Portrait image Retouching
 . Restoration and repair old images
 . Wedding &amp;amp; Event Album Design.
 . Vector Conversion

You can try us by sending a sample image for free test to judge our quality work.

We are waiting for your reply.

Thanks &amp;amp; Regards,
Rick
Rondruanin Imaging Professionals
Contact: imagecontact&amp;lt; at &amp;gt;126.com




-------------------------------------------------

This e-mail (and any attachments) is confidential and may contain
personal views which are not the views of us. unless specifically stated. If you have received
it in error, please delete it from your system, do not use, copy or
disclose the information in any way nor act in reliance on it and
notify the sender immediately.

UNSUBSCRIBE INSTRUCTIONS
If you do not wish to receive our newsletter, pls send address to imremove&amp;lt; at &amp;gt;yeah.net for remove.
Before printing think about the Environment.
&lt;/pre&gt;</description>
    <dc:creator>Rick</dc:creator>
    <dc:date>2013-05-17T05:22:20</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38156">
    <title>[PATCH] Staging: wlan-ng: Replace printk with pr_ to fix checkpatch warnings.</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38156</link>
    <description>&lt;pre&gt;Checkpatch scripts recommends using pr_warn,pr_err calls
in place of printk(KERN_WARNING, printk(KERN_ERR respectively.
This patch fixes the checkpatch warnings.

Signed-off-by: Vivek Agate &amp;lt;vivekagate&amp;lt; at &amp;gt;gmail.com&amp;gt;
---
 drivers/staging/wlan-ng/cfg80211.c |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/wlan-ng/cfg80211.c b/drivers/staging/wlan-ng/cfg80211.c
index f1bce18..9f97ae1 100644
--- a/drivers/staging/wlan-ng/cfg80211.c
+++ b/drivers/staging/wlan-ng/cfg80211.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -122,7 +122,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int prism2_change_virtual_intf(struct wiphy *wiphy,
 data = 1;
 break;
 default:
-printk(KERN_WARNING "Operation mode: %d not support\n", type);
+pr_warn("Operation mode: %d not support\n", type);
 return -EOPNOTSUPP;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -352,7 +352,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int prism2_scan(struct wiphy *wiphy, struct cfg80211_scan_request *request)
 return -EBUSY;
 
 if (wlandev-&amp;gt;macmode == WLAN_MACMODE_ESS_AP) {
-printk(KERN_ERR "Can't scan in AP mode\n");
+pr_err("Can't scan in AP mode\n");
 return -EOPNOTSUPP;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -510,8 +510,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int prism2_connect(struct wiphy *wiphy, struct net_device *dev,
 ((sme-&amp;gt;auth_type == NL80211_AUTHTYPE_AUTOMATIC) &amp;amp;&amp;amp; is_wep))
 msg_join.authtype.data = P80211ENUM_authalg_sharedkey;
 else
-printk(KERN_WARNING
-"Unhandled authorisation type for connect (%d)\n",
+pr_warn("Unhandled authorisation type for connect (%d)\n",
 sme-&amp;gt;auth_type);
 
 /* Set the encryption - we only support wep */
&lt;/pre&gt;</description>
    <dc:creator>Vivek Agate</dc:creator>
    <dc:date>2013-05-17T04:07:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38146">
    <title>[PATCH 2/2] Staging: android: sync: use seq_puts()/seq_putc() to follow coding style</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38146</link>
    <description>&lt;pre&gt;From: Brandon Height &amp;lt;bmheight&amp;lt; at &amp;gt;gmail.com&amp;gt;

Utilized seq_puts() for strings without format specifiers.
Utilized seq_putc() for seq_printf(s, "\n")

Signed-off-by: Brandon Height &amp;lt;bmheight&amp;lt; at &amp;gt;gmail.com&amp;gt;
---
 drivers/staging/android/sync.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/android/sync.c b/drivers/staging/android/sync.c
index 36ed35e..a7891e6 100644
--- a/drivers/staging/android/sync.c
+++ b/drivers/staging/android/sync.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -875,11 +875,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void sync_print_pt(struct seq_file *s, struct sync_pt *pt, bool fence)
 seq_printf(s, " / %s", value);
 }
 } else if (pt-&amp;gt;parent-&amp;gt;ops-&amp;gt;print_pt) {
-seq_printf(s, ": ");
+seq_puts(s, ": ");
 pt-&amp;gt;parent-&amp;gt;ops-&amp;gt;print_pt(s, pt);
 }
 
-seq_printf(s, "\n");
+seq_putc(s, '\n');
 }
 
 static void sync_print_obj(struct seq_file *s, struct sync_timeline *obj)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -894,11 +894,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void sync_print_obj(struct seq_file *s, struct sync_timeline *obj)
 obj-&amp;gt;ops-&amp;gt;timeline_value_str(obj, value, sizeof(value));
 seq_printf(s, ": %s", value);
 } else if (obj-&amp;gt;ops-&amp;gt;print_obj) {
-seq_printf(s, ": ");
+seq_puts(s, ": ");
 obj-&amp;gt;ops-&amp;gt;print_obj(s, obj);
 }
 
-seq_printf(s, "\n");
+seq_putc(s, '\n');
 
 spin_lock_irqsave(&amp;amp;obj-&amp;gt;child_list_lock, flags);
 list_for_each(pos, &amp;amp;obj-&amp;gt;child_list_head) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -939,7 +939,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int sync_debugfs_show(struct seq_file *s, void *unused)
 unsigned long flags;
 struct list_head *pos;
 
-seq_printf(s, "objs:\n--------------\n");
+seq_puts(s, "objs:\n--------------\n");
 
 spin_lock_irqsave(&amp;amp;sync_timeline_list_lock, flags);
 list_for_each(pos, &amp;amp;sync_timeline_list_head) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -948,11 +948,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int sync_debugfs_show(struct seq_file *s, void *unused)
      sync_timeline_list);
 
 sync_print_obj(s, obj);
-seq_printf(s, "\n");
+seq_putc(s, '\n');
 }
 spin_unlock_irqrestore(&amp;amp;sync_timeline_list_lock, flags);
 
-seq_printf(s, "fences:\n--------------\n");
+seq_puts(s, "fences:\n--------------\n");
 
 spin_lock_irqsave(&amp;amp;sync_fence_list_lock, flags);
 list_for_each(pos, &amp;amp;sync_fence_list_head) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -960,7 +960,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int sync_debugfs_show(struct seq_file *s, void *unused)
 container_of(pos, struct sync_fence, sync_fence_list);
 
 sync_print_fence(s, fence);
-seq_printf(s, "\n");
+seq_putc(s, '\n');
 }
 spin_unlock_irqrestore(&amp;amp;sync_fence_list_lock, flags);
 return 0;
&lt;/pre&gt;</description>
    <dc:creator>bmheight&lt; at &gt;gmail.com</dc:creator>
    <dc:date>2013-05-16T20:30:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38144">
    <title>[PATCH] Staging: android: sync: fixed a brace coding style issue</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38144</link>
    <description>&lt;pre&gt;From: Brandon Height &amp;lt;bmheight&amp;lt; at &amp;gt;gmail.com&amp;gt;

Fixed a coding style issue.

Signed-off-by: Brandon Height &amp;lt;bmheight&amp;lt; at &amp;gt;gmail.com&amp;gt;
---
 drivers/staging/android/sync.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/android/sync.c b/drivers/staging/android/sync.c
index 3893a35..36ed35e 100644
--- a/drivers/staging/android/sync.c
+++ b/drivers/staging/android/sync.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -125,9 +125,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void sync_timeline_remove_pt(struct sync_pt *pt)
 spin_unlock_irqrestore(&amp;amp;obj-&amp;gt;active_list_lock, flags);
 
 spin_lock_irqsave(&amp;amp;obj-&amp;gt;child_list_lock, flags);
-if (!list_empty(&amp;amp;pt-&amp;gt;child_list)) {
+if (!list_empty(&amp;amp;pt-&amp;gt;child_list))
 list_del_init(&amp;amp;pt-&amp;gt;child_list);
-}
 spin_unlock_irqrestore(&amp;amp;obj-&amp;gt;child_list_lock, flags);
 }
 
&lt;/pre&gt;</description>
    <dc:creator>bmheight&lt; at &gt;gmail.com</dc:creator>
    <dc:date>2013-05-16T18:42:22</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38134">
    <title>[PATCH] staging: lustre: fix return type of lo_release.</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38134</link>
    <description>&lt;pre&gt;The return type of block_device_operations.release() changed to void in commit
db2a144b.

Found with the following Coccinelle patch:
&amp;lt;smpl&amp;gt;
&amp;lt; at &amp;gt;has_release_func&amp;lt; at &amp;gt;
identifier i;
identifier release_func;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
struct block_device_operations i = {
 .release = release_func
};

&amp;lt; at &amp;gt;depends on has_release_func&amp;lt; at &amp;gt;
identifier has_release_func.release_func;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
- int
+ void
release_func(...) {
...
- return ...;
}
&amp;lt;/smpl&amp;gt;

Signed-off-by: Cyril Roelandt &amp;lt;tipecaml&amp;lt; at &amp;gt;gmail.com&amp;gt;
---
 drivers/staging/lustre/lustre/llite/lloop.c |    4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/staging/lustre/lustre/llite/lloop.c b/drivers/staging/lustre/lustre/llite/lloop.c
index b72f257..9d4c17e 100644
--- a/drivers/staging/lustre/lustre/llite/lloop.c
+++ b/drivers/staging/lustre/lustre/llite/lloop.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -596,15 +596,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int lo_open(struct block_device *bdev, fmode_t mode)
 return 0;
 }
 
-static int lo_release(struct gendisk *disk, fmode_t mode)
+static void lo_release(struct gendisk *disk, fmode_t mode)
 {
 struct lloop_device *lo = disk-&amp;gt;private_data;
 
 mutex_lock(&amp;amp;lo-&amp;gt;lo_ctl_mutex);
 --lo-&amp;gt;lo_refcnt;
 mutex_unlock(&amp;amp;lo-&amp;gt;lo_ctl_mutex);
-
-return 0;
 }
 
 /* lloop device node's ioctl function. */
&lt;/pre&gt;</description>
    <dc:creator>Cyril Roelandt</dc:creator>
    <dc:date>2013-05-16T16:06:20</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38122">
    <title>[PATCH] staging: Swap zram and zsmalloc in Kconfig</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38122</link>
    <description>&lt;pre&gt;ZRAM support depends on ZSMALLOC so present ZSMALLOC to the user
first.

Signed-off-by: Jean Delvare &amp;lt;jdelvare&amp;lt; at &amp;gt;suse.de&amp;gt;
Cc: Greg Kroah-Hartman &amp;lt;gregkh&amp;lt; at &amp;gt;linuxfoundation.org&amp;gt;
---
 drivers/staging/Kconfig |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- linux-3.10-rc1.orig/drivers/staging/Kconfig2013-05-13
15:27:46.939153254 +0200
+++ linux-3.10-rc1/drivers/staging/Kconfig2013-05-16 13:41:26.116195573
+0200
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -72,10 +72,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; source "drivers/staging/sep/Kconfig"
 
 source "drivers/staging/iio/Kconfig"
 
-source "drivers/staging/zram/Kconfig"
-
 source "drivers/staging/zsmalloc/Kconfig"
 
+source "drivers/staging/zram/Kconfig"
+
 source "drivers/staging/wlags49_h2/Kconfig"
 
 source "drivers/staging/wlags49_h25/Kconfig"

&lt;/pre&gt;</description>
    <dc:creator>Jean Delvare</dc:creator>
    <dc:date>2013-05-16T13:18:29</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38106">
    <title>[PATCH 00/33] devm improvement series, part 1, take 2</title>
    <link>http://comments.gmane.org/gmane.linux.drivers.driver-project.devel/38106</link>
    <description>&lt;pre&gt;Lately, I have been experimenting how to improve the devm interface to make
writing device drivers easier and less error prone while also getting rid of
its subtle issues. I think it has more potential but still needs work and
definately conistency, especiall in its usage.

The first thing I come up with is a low hanging fruit regarding
devm_ioremap_resouce(). This function already checks if the passed resource is
valid and gives an error message if not. So, we can remove similar checks from
the drivers and get rid of a bit of code and a number of inconsistent error
strings.

Unlike the RFC version, this series only removes the unneeded check iff
devm_ioremap_resource() follows platform_get_resource directly. The previous
version tried to shuffle code if needed, too, what lead to an embarrasing bug.
It turned out to me that shuffling code for all cases found will make the
automated script too complex, so I am unsure if an automated cleanup is the
proper tool for this case. Removing the easy stuff seems worthwhile to me,
though, so I post this series in a simplified form.

Despite various architectures and platform dependencies, I managed to compile
test 45 out of 57 modified files locally using heuristics and defconfigs.
If somebody knows how to create a minimal .config with a certain kconfig symbol
(and its dependencies) set, I'd love to hear about it.

Since this series looks quite different from the RFC (less files touched
mainly) I did not copy over the ACKs from the RFC, although a few people agreed
with the aproach basically (except the major flaw the old series had).

The repo is here [1]. I'd think it would be nice to have in 3.10. and sending a
pull request to Linus would be easiest, probably. Some non-buggy RFC patches
already slipped into subtrees, yet this won't cause any conflicts.

Looking forward to comments.

Thanks,

   Wolfram

[1] git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git devm_no_resource_check


Wolfram Sang (33):
  drivers/ata: don't check resource with devm_ioremap_resource
  drivers/char/hw_random: don't check resource with
    devm_ioremap_resource
  drivers/cpufreq: don't check resource with devm_ioremap_resource
  drivers/dma: don't check resource with devm_ioremap_resource
  drivers/gpio: don't check resource with devm_ioremap_resource
  drivers/gpu/drm/exynos: don't check resource with
    devm_ioremap_resource
  drivers/gpu/host1x/drm: don't check resource with
    devm_ioremap_resource
  drivers/i2c/busses: don't check resource with devm_ioremap_resource
  drivers/memory: don't check resource with devm_ioremap_resource
  drivers/mfd: don't check resource with devm_ioremap_resource
  drivers/misc: don't check resource with devm_ioremap_resource
  drivers/mtd/nand: don't check resource with devm_ioremap_resource
  drivers/net/ethernet/renesas: don't check resource with
    devm_ioremap_resource
  drivers/pinctrl: don't check resource with devm_ioremap_resource
  drivers/pwm: don't check resource with devm_ioremap_resource
  drivers/rtc: don't check resource with devm_ioremap_resource
  drivers/spi: don't check resource with devm_ioremap_resource
  drivers/staging/dwc2: don't check resource with devm_ioremap_resource
  drivers/staging/nvec: don't check resource with devm_ioremap_resource
  drivers/thermal: don't check resource with devm_ioremap_resource
  drivers/usb/chipidea: don't check resource with devm_ioremap_resource
  drivers/usb/gadget: don't check resource with devm_ioremap_resource
  drivers/usb/host: don't check resource with devm_ioremap_resource
  drivers/usb/phy: don't check resource with devm_ioremap_resource
  drivers/video/omap2: don't check resource with devm_ioremap_resource
  drivers/video/omap2/dss: don't check resource with
    devm_ioremap_resource
  drivers/w1/masters: don't check resource with devm_ioremap_resource
  drivers/watchdog: don't check resource with devm_ioremap_resource
  arch/arm/mach-tegra: don't check resource with devm_ioremap_resource
  arch/arm/plat-samsung: don't check resource with
    devm_ioremap_resource
  arch/mips/lantiq/xway: don't check resource with
    devm_ioremap_resource
  sound/soc/fsl: don't check resource with devm_ioremap_resource
  sound/soc/kirkwood: don't check resource with devm_ioremap_resource

 arch/arm/mach-tegra/tegra2_emc.c      |    5 -----
 arch/arm/plat-samsung/adc.c           |    5 -----
 arch/mips/lantiq/xway/gptu.c          |    4 ----
 drivers/ata/pata_ep93xx.c             |    5 -----
 drivers/char/hw_random/mxc-rnga.c     |    6 ------
 drivers/char/hw_random/omap-rng.c     |    5 -----
 drivers/cpufreq/kirkwood-cpufreq.c    |    4 ----
 drivers/dma/tegra20-apb-dma.c         |    5 -----
 drivers/gpio/gpio-mvebu.c             |    5 -----
 drivers/gpio/gpio-tegra.c             |    5 -----
 drivers/gpu/drm/exynos/exynos_hdmi.c  |    5 -----
 drivers/gpu/host1x/drm/dc.c           |    5 -----
 drivers/i2c/busses/i2c-s3c2410.c      |    5 -----
 drivers/i2c/busses/i2c-sirf.c         |    6 ------
 drivers/i2c/busses/i2c-tegra.c        |    5 -----
 drivers/memory/emif.c                 |    6 ------
 drivers/mfd/intel_msic.c              |    5 -----
 drivers/misc/atmel-ssc.c              |    5 -----
 drivers/mtd/nand/lpc32xx_mlc.c        |    5 -----
 drivers/net/ethernet/renesas/sh_eth.c |    5 -----
 drivers/pinctrl/pinctrl-coh901.c      |    5 -----
 drivers/pinctrl/pinctrl-exynos5440.c  |    5 -----
 drivers/pinctrl/pinctrl-samsung.c     |    5 -----
 drivers/pinctrl/pinctrl-xway.c        |    4 ----
 drivers/pwm/pwm-imx.c                 |    5 -----
 drivers/pwm/pwm-puv3.c                |    5 -----
 drivers/pwm/pwm-pxa.c                 |    5 -----
 drivers/pwm/pwm-tegra.c               |    5 -----
 drivers/pwm/pwm-tiecap.c              |    5 -----
 drivers/pwm/pwm-tiehrpwm.c            |    5 -----
 drivers/pwm/pwm-tipwmss.c             |    5 -----
 drivers/pwm/pwm-vt8500.c              |    5 -----
 drivers/rtc/rtc-nuc900.c              |    5 -----
 drivers/rtc/rtc-omap.c                |    5 -----
 drivers/rtc/rtc-s3c.c                 |    5 -----
 drivers/rtc/rtc-tegra.c               |    6 ------
 drivers/spi/spi-tegra20-sflash.c      |    5 -----
 drivers/staging/dwc2/platform.c       |    5 -----
 drivers/staging/nvec/nvec.c           |    5 -----
 drivers/thermal/armada_thermal.c      |   10 ----------
 drivers/thermal/dove_thermal.c        |    4 ----
 drivers/thermal/exynos_thermal.c      |    5 -----
 drivers/usb/chipidea/core.c           |    5 -----
 drivers/usb/gadget/bcm63xx_udc.c      |   10 ----------
 drivers/usb/host/ohci-nxp.c           |    6 ------
 drivers/usb/phy/phy-mv-u3d-usb.c      |    5 -----
 drivers/usb/phy/phy-mxs-usb.c         |    5 -----
 drivers/usb/phy/phy-samsung-usb2.c    |    5 -----
 drivers/usb/phy/phy-samsung-usb3.c    |    5 -----
 drivers/video/omap2/dss/hdmi.c        |    4 ----
 drivers/video/omap2/vrfb.c            |    5 -----
 drivers/w1/masters/omap_hdq.c         |    5 -----
 drivers/watchdog/ath79_wdt.c          |    5 -----
 drivers/watchdog/davinci_wdt.c        |    5 -----
 drivers/watchdog/imx2_wdt.c           |    5 -----
 sound/soc/fsl/imx-ssi.c               |    6 ------
 sound/soc/kirkwood/kirkwood-i2s.c     |    5 -----
 57 files changed, 296 deletions(-)

&lt;/pre&gt;</description>
    <dc:creator>Wolfram Sang</dc:creator>
    <dc:date>2013-05-16T11:15:28</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.linux.drivers.driver-project.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.linux.drivers.driver-project.devel</link>
  </textinput>
</rdf:RDF>
