[PATCH 1/1] Staging: comedi: amplc_pc236: a blank line inserted

2014-07-22 Thread Sam Asadi
A 'Missing a blank line after declarations' warning fixed by inserting
a blank line after struct pointer declaration.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/amplc_pc236.c |1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/comedi/drivers/amplc_pc236.c 
b/drivers/staging/comedi/drivers/amplc_pc236.c
index c9a96ad..d0f81f8 100644
--- a/drivers/staging/comedi/drivers/amplc_pc236.c
+++ b/drivers/staging/comedi/drivers/amplc_pc236.c
@@ -515,6 +515,7 @@ static void pc236_detach(struct comedi_device *dev)
comedi_legacy_detach(dev);
} else if (is_pci_board(thisboard)) {
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
+
if (dev->irq)
free_irq(dev->irq, dev);
comedi_pci_disable(dev);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/1] Staging: comedi: amplc_pc236: a blank line inserted

2014-07-22 Thread Sam Asadi
A 'Missing a blank line after declarations' warning fixed by inserting
a blank line after struct pointer declaration.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/amplc_pc236.c |1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/comedi/drivers/amplc_pc236.c 
b/drivers/staging/comedi/drivers/amplc_pc236.c
index c9a96ad..d0f81f8 100644
--- a/drivers/staging/comedi/drivers/amplc_pc236.c
+++ b/drivers/staging/comedi/drivers/amplc_pc236.c
@@ -515,6 +515,7 @@ static void pc236_detach(struct comedi_device *dev)
comedi_legacy_detach(dev);
} else if (is_pci_board(thisboard)) {
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
+
if (dev-irq)
free_irq(dev-irq, dev);
comedi_pci_disable(dev);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/2] Staging: comedi: amcc_s5933: a line over 80 fixed

2014-07-21 Thread Sam Asadi
A 'line over 80 characters' fixed by removing comment to
previous line.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/amcc_s5933.h |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/amcc_s5933.h 
b/drivers/staging/comedi/drivers/amcc_s5933.h
index 2ba7364..089b71f 100644
--- a/drivers/staging/comedi/drivers/amcc_s5933.h
+++ b/drivers/staging/comedi/drivers/amcc_s5933.h
@@ -52,7 +52,8 @@
 #define INTCSR_INBOX_BYTE(x)   (((x) & 0x3) << 8)
 #define INTCSR_INBOX_SELECT(x) (((x) & 0x3) << 10)
 #define INTCSR_INBOX_FULL_INT  0x1000  /*  enable inbox full interrupt */
-#define INTCSR_INBOX_INTR_STATUS   0x2 /*  read, or write clear inbox 
full interrupt */
+/* read, or write clear inbox full interrupt */
+#define INTCSR_INBOX_INTR_STATUS   0x2
 #define INTCSR_INTR_ASSERTED   0x80/*  read only, interrupt 
asserted */
 
 //
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2/2] Staging: comedi: amcc_s5933: a style issue fixed

2014-07-21 Thread Sam Asadi
A 'line over 80 characters' fixed by removing comment to the previous
line.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/amcc_s5933.h |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/amcc_s5933.h 
b/drivers/staging/comedi/drivers/amcc_s5933.h
index 089b71f..c9f2afa 100644
--- a/drivers/staging/comedi/drivers/amcc_s5933.h
+++ b/drivers/staging/comedi/drivers/amcc_s5933.h
@@ -54,7 +54,8 @@
 #define INTCSR_INBOX_FULL_INT  0x1000  /*  enable inbox full interrupt */
 /* read, or write clear inbox full interrupt */
 #define INTCSR_INBOX_INTR_STATUS   0x2
-#define INTCSR_INTR_ASSERTED   0x80/*  read only, interrupt 
asserted */
+/* read only, interrupt asserted */
+#define INTCSR_INTR_ASSERTED   0x80
 
 //
 /* AMCC - PCI non-volatile ram command register (byte 3 of master 
control/status register) */
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/2] Staging: comedi: amcc_s5933: a line over 80 fixed

2014-07-21 Thread Sam Asadi
A 'line over 80 characters' fixed by removing comment to
previous line.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/amcc_s5933.h |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/amcc_s5933.h 
b/drivers/staging/comedi/drivers/amcc_s5933.h
index 2ba7364..089b71f 100644
--- a/drivers/staging/comedi/drivers/amcc_s5933.h
+++ b/drivers/staging/comedi/drivers/amcc_s5933.h
@@ -52,7 +52,8 @@
 #define INTCSR_INBOX_BYTE(x)   (((x)  0x3)  8)
 #define INTCSR_INBOX_SELECT(x) (((x)  0x3)  10)
 #define INTCSR_INBOX_FULL_INT  0x1000  /*  enable inbox full interrupt */
-#define INTCSR_INBOX_INTR_STATUS   0x2 /*  read, or write clear inbox 
full interrupt */
+/* read, or write clear inbox full interrupt */
+#define INTCSR_INBOX_INTR_STATUS   0x2
 #define INTCSR_INTR_ASSERTED   0x80/*  read only, interrupt 
asserted */
 
 //
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2/2] Staging: comedi: amcc_s5933: a style issue fixed

2014-07-21 Thread Sam Asadi
A 'line over 80 characters' fixed by removing comment to the previous
line.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/amcc_s5933.h |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/amcc_s5933.h 
b/drivers/staging/comedi/drivers/amcc_s5933.h
index 089b71f..c9f2afa 100644
--- a/drivers/staging/comedi/drivers/amcc_s5933.h
+++ b/drivers/staging/comedi/drivers/amcc_s5933.h
@@ -54,7 +54,8 @@
 #define INTCSR_INBOX_FULL_INT  0x1000  /*  enable inbox full interrupt */
 /* read, or write clear inbox full interrupt */
 #define INTCSR_INBOX_INTR_STATUS   0x2
-#define INTCSR_INTR_ASSERTED   0x80/*  read only, interrupt 
asserted */
+/* read only, interrupt asserted */
+#define INTCSR_INTR_ASSERTED   0x80
 
 //
 /* AMCC - PCI non-volatile ram command register (byte 3 of master 
control/status register) */
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 3/7] Staging: comedi: adv_pci1710: A line style issue fixed

2014-07-20 Thread Sam Asadi
A 'line over 80 characters' fixed by removing over-lined comment
to previous line.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adv_pci1710.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index b4b8f85..887aa7e 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -1051,7 +1051,8 @@ static int pci171x_reset(struct comedi_device *dev)
outw(0x30, dev->iobase + PCI171x_CNTCTRL);
/* Software trigger, CNT0=external */
devpriv->CntrlReg = Control_SW | Control_CNT0;
-   outw(devpriv->CntrlReg, dev->iobase + PCI171x_CONTROL); /*  reset any 
operations */
+   /* reset any operations */
+   outw(devpriv->CntrlReg, dev->iobase + PCI171x_CONTROL);
outb(0, dev->iobase + PCI171x_CLRFIFO); /*  clear FIFO */
outb(0, dev->iobase + PCI171x_CLRINT);  /*  clear INT request */
pci171x_start_pacer(dev, false);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 5/7] Staging: comedi: adv_pci1710: a line over 80 characters resolved

2014-07-20 Thread Sam Asadi
An issue in 'line over 80 characters' fixed by taking back over-lined comment
a few characters.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adv_pci1710.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index bc73141..7ccd41b 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -1060,7 +1060,7 @@ static int pci171x_reset(struct comedi_device *dev)
if (this_board->n_aochan) {
/* set DACs to 0..5V */
outb(devpriv->da_ranges, dev->iobase + PCI171x_DAREF);
-   outw(0, dev->iobase + PCI171x_DA1); /*  set DA outputs to 
0V */
+   outw(0, dev->iobase + PCI171x_DA1); /* set DA outputs to 0V */
devpriv->ao_data[0] = 0x;
if (this_board->n_aochan > 1) {
outw(0, dev->iobase + PCI171x_DA2);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 6/7] Staging: comedi: adv_pci1710: an issue in line over 80 fixed

2014-07-20 Thread Sam Asadi
An issue in 'line over 80 characters' fixed by removing over-lined comment
to the previous line.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adv_pci1710.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index 7ccd41b..6bd5015 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -1080,8 +1080,8 @@ static int pci171x_reset(struct comedi_device *dev)
 static int pci1720_reset(struct comedi_device *dev)
 {
struct pci1710_private *devpriv = dev->private;
-
-   outb(Syncont_SC0, dev->iobase + PCI1720_SYNCONT);   /*  set 
synchronous output mode */
+   /* set synchronous output mode */
+   outb(Syncont_SC0, dev->iobase + PCI1720_SYNCONT);
devpriv->da_ranges = 0xAA;
outb(devpriv->da_ranges, dev->iobase + PCI1720_RANGE);  /*  set all 
ranges to +/-5V */
outw(0x0800, dev->iobase + PCI1720_DA0);/*  set outputs to 0V */
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 7/7] Staging: comedi: adv_pci1710: an issue in code style fixed

2014-07-20 Thread Sam Asadi
An issue in 'line over 80 characters' fixed by removing over-lined
comment to the previous line.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adv_pci1710.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index 6bd5015..e19ab95 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -1083,7 +1083,8 @@ static int pci1720_reset(struct comedi_device *dev)
/* set synchronous output mode */
outb(Syncont_SC0, dev->iobase + PCI1720_SYNCONT);
devpriv->da_ranges = 0xAA;
-   outb(devpriv->da_ranges, dev->iobase + PCI1720_RANGE);  /*  set all 
ranges to +/-5V */
+   /* set all ranges to +/-5V */
+   outb(devpriv->da_ranges, dev->iobase + PCI1720_RANGE);
outw(0x0800, dev->iobase + PCI1720_DA0);/*  set outputs to 0V */
outw(0x0800, dev->iobase + PCI1720_DA1);
outw(0x0800, dev->iobase + PCI1720_DA2);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/7] Staging: comedi: adv_pci1710: a line over 80 fixed

2014-07-20 Thread Sam Asadi
A 'line over 80' issue fixed, by removing comment to previous line. And
also, by this, 'a blank line' isssue resolved.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adv_pci1710.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index 602b7a1..a15a552 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -722,8 +722,8 @@ static int pci171x_ai_cancel(struct comedi_device *dev,
default:
devpriv->CntrlReg &= Control_CNT0;
devpriv->CntrlReg |= Control_SW;
-
-   outw(devpriv->CntrlReg, dev->iobase + PCI171x_CONTROL); /*  
reset any operations */
+   /* reset any operations */
+   outw(devpriv->CntrlReg, dev->iobase + PCI171x_CONTROL);
pci171x_start_pacer(dev, false);
outb(0, dev->iobase + PCI171x_CLRFIFO);
outb(0, dev->iobase + PCI171x_CLRINT);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2/7] Staging: comedi: adv_pci1710: a line over 80 issue fixed

2014-07-20 Thread Sam Asadi
By removing a comment to previous line, 'line over 80' issue
fixed.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adv_pci1710.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index a15a552..b4b8f85 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -1049,7 +1049,8 @@ static int pci171x_reset(struct comedi_device *dev)
struct pci1710_private *devpriv = dev->private;
 
outw(0x30, dev->iobase + PCI171x_CNTCTRL);
-   devpriv->CntrlReg = Control_SW | Control_CNT0;  /*  Software trigger, 
CNT0=external */
+   /* Software trigger, CNT0=external */
+   devpriv->CntrlReg = Control_SW | Control_CNT0;
outw(devpriv->CntrlReg, dev->iobase + PCI171x_CONTROL); /*  reset any 
operations */
outb(0, dev->iobase + PCI171x_CLRFIFO); /*  clear FIFO */
outb(0, dev->iobase + PCI171x_CLRINT);  /*  clear INT request */
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 4/7] Staging: comedi: adv_pci1710: a line over 80 characters fixed

2014-07-20 Thread Sam Asadi
An issue in 'line over 80 characters' fixed and over-lined comment
removed to the previous line.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adv_pci1710.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index 887aa7e..bc73141 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -1058,7 +1058,8 @@ static int pci171x_reset(struct comedi_device *dev)
pci171x_start_pacer(dev, false);
devpriv->da_ranges = 0;
if (this_board->n_aochan) {
-   outb(devpriv->da_ranges, dev->iobase + PCI171x_DAREF);  /*  set 
DACs to 0..5V */
+   /* set DACs to 0..5V */
+   outb(devpriv->da_ranges, dev->iobase + PCI171x_DAREF);
outw(0, dev->iobase + PCI171x_DA1); /*  set DA outputs to 
0V */
devpriv->ao_data[0] = 0x;
if (this_board->n_aochan > 1) {
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 4/7] Staging: comedi: adv_pci1710: a line over 80 characters fixed

2014-07-20 Thread Sam Asadi
An issue in 'line over 80 characters' fixed and over-lined comment
removed to the previous line.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adv_pci1710.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index 887aa7e..bc73141 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -1058,7 +1058,8 @@ static int pci171x_reset(struct comedi_device *dev)
pci171x_start_pacer(dev, false);
devpriv-da_ranges = 0;
if (this_board-n_aochan) {
-   outb(devpriv-da_ranges, dev-iobase + PCI171x_DAREF);  /*  set 
DACs to 0..5V */
+   /* set DACs to 0..5V */
+   outb(devpriv-da_ranges, dev-iobase + PCI171x_DAREF);
outw(0, dev-iobase + PCI171x_DA1); /*  set DA outputs to 
0V */
devpriv-ao_data[0] = 0x;
if (this_board-n_aochan  1) {
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/7] Staging: comedi: adv_pci1710: a line over 80 fixed

2014-07-20 Thread Sam Asadi
A 'line over 80' issue fixed, by removing comment to previous line. And
also, by this, 'a blank line' isssue resolved.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adv_pci1710.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index 602b7a1..a15a552 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -722,8 +722,8 @@ static int pci171x_ai_cancel(struct comedi_device *dev,
default:
devpriv-CntrlReg = Control_CNT0;
devpriv-CntrlReg |= Control_SW;
-
-   outw(devpriv-CntrlReg, dev-iobase + PCI171x_CONTROL); /*  
reset any operations */
+   /* reset any operations */
+   outw(devpriv-CntrlReg, dev-iobase + PCI171x_CONTROL);
pci171x_start_pacer(dev, false);
outb(0, dev-iobase + PCI171x_CLRFIFO);
outb(0, dev-iobase + PCI171x_CLRINT);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2/7] Staging: comedi: adv_pci1710: a line over 80 issue fixed

2014-07-20 Thread Sam Asadi
By removing a comment to previous line, 'line over 80' issue
fixed.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adv_pci1710.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index a15a552..b4b8f85 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -1049,7 +1049,8 @@ static int pci171x_reset(struct comedi_device *dev)
struct pci1710_private *devpriv = dev-private;
 
outw(0x30, dev-iobase + PCI171x_CNTCTRL);
-   devpriv-CntrlReg = Control_SW | Control_CNT0;  /*  Software trigger, 
CNT0=external */
+   /* Software trigger, CNT0=external */
+   devpriv-CntrlReg = Control_SW | Control_CNT0;
outw(devpriv-CntrlReg, dev-iobase + PCI171x_CONTROL); /*  reset any 
operations */
outb(0, dev-iobase + PCI171x_CLRFIFO); /*  clear FIFO */
outb(0, dev-iobase + PCI171x_CLRINT);  /*  clear INT request */
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 7/7] Staging: comedi: adv_pci1710: an issue in code style fixed

2014-07-20 Thread Sam Asadi
An issue in 'line over 80 characters' fixed by removing over-lined
comment to the previous line.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adv_pci1710.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index 6bd5015..e19ab95 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -1083,7 +1083,8 @@ static int pci1720_reset(struct comedi_device *dev)
/* set synchronous output mode */
outb(Syncont_SC0, dev-iobase + PCI1720_SYNCONT);
devpriv-da_ranges = 0xAA;
-   outb(devpriv-da_ranges, dev-iobase + PCI1720_RANGE);  /*  set all 
ranges to +/-5V */
+   /* set all ranges to +/-5V */
+   outb(devpriv-da_ranges, dev-iobase + PCI1720_RANGE);
outw(0x0800, dev-iobase + PCI1720_DA0);/*  set outputs to 0V */
outw(0x0800, dev-iobase + PCI1720_DA1);
outw(0x0800, dev-iobase + PCI1720_DA2);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 5/7] Staging: comedi: adv_pci1710: a line over 80 characters resolved

2014-07-20 Thread Sam Asadi
An issue in 'line over 80 characters' fixed by taking back over-lined comment
a few characters.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adv_pci1710.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index bc73141..7ccd41b 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -1060,7 +1060,7 @@ static int pci171x_reset(struct comedi_device *dev)
if (this_board-n_aochan) {
/* set DACs to 0..5V */
outb(devpriv-da_ranges, dev-iobase + PCI171x_DAREF);
-   outw(0, dev-iobase + PCI171x_DA1); /*  set DA outputs to 
0V */
+   outw(0, dev-iobase + PCI171x_DA1); /* set DA outputs to 0V */
devpriv-ao_data[0] = 0x;
if (this_board-n_aochan  1) {
outw(0, dev-iobase + PCI171x_DA2);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 6/7] Staging: comedi: adv_pci1710: an issue in line over 80 fixed

2014-07-20 Thread Sam Asadi
An issue in 'line over 80 characters' fixed by removing over-lined comment
to the previous line.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adv_pci1710.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index 7ccd41b..6bd5015 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -1080,8 +1080,8 @@ static int pci171x_reset(struct comedi_device *dev)
 static int pci1720_reset(struct comedi_device *dev)
 {
struct pci1710_private *devpriv = dev-private;
-
-   outb(Syncont_SC0, dev-iobase + PCI1720_SYNCONT);   /*  set 
synchronous output mode */
+   /* set synchronous output mode */
+   outb(Syncont_SC0, dev-iobase + PCI1720_SYNCONT);
devpriv-da_ranges = 0xAA;
outb(devpriv-da_ranges, dev-iobase + PCI1720_RANGE);  /*  set all 
ranges to +/-5V */
outw(0x0800, dev-iobase + PCI1720_DA0);/*  set outputs to 0V */
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 3/7] Staging: comedi: adv_pci1710: A line style issue fixed

2014-07-20 Thread Sam Asadi
A 'line over 80 characters' fixed by removing over-lined comment
to previous line.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adv_pci1710.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index b4b8f85..887aa7e 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -1051,7 +1051,8 @@ static int pci171x_reset(struct comedi_device *dev)
outw(0x30, dev-iobase + PCI171x_CNTCTRL);
/* Software trigger, CNT0=external */
devpriv-CntrlReg = Control_SW | Control_CNT0;
-   outw(devpriv-CntrlReg, dev-iobase + PCI171x_CONTROL); /*  reset any 
operations */
+   /* reset any operations */
+   outw(devpriv-CntrlReg, dev-iobase + PCI171x_CONTROL);
outb(0, dev-iobase + PCI171x_CLRFIFO); /*  clear FIFO */
outb(0, dev-iobase + PCI171x_CLRINT);  /*  clear INT request */
pci171x_start_pacer(dev, false);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/1] Staging: comedi: adv_pci1710: a line over 80 fixed

2014-07-19 Thread Sam Asadi
a line over 80 issue fixed by removing the cross-lined comment
to the previous line.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adv_pci1710.c |5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index 602b7a1..040a5cb 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -722,8 +722,9 @@ static int pci171x_ai_cancel(struct comedi_device *dev,
default:
devpriv->CntrlReg &= Control_CNT0;
devpriv->CntrlReg |= Control_SW;
-
-   outw(devpriv->CntrlReg, dev->iobase + PCI171x_CONTROL); /*  
reset any operations */
+
+   /* reset any operations */
+   outw(devpriv->CntrlReg, dev->iobase + PCI171x_CONTROL);
pci171x_start_pacer(dev, false);
outb(0, dev->iobase + PCI171x_CLRFIFO);
outb(0, dev->iobase + PCI171x_CLRINT);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2/2] Staging: comedi: adv_pci1710.c line over 80 fixed

2014-07-19 Thread Sam Asadi
A line over 80 issue fixed, which is a comment.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adv_pci1710.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index 602b7a1..13ff78c 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -723,7 +723,8 @@ static int pci171x_ai_cancel(struct comedi_device *dev,
devpriv->CntrlReg &= Control_CNT0;
devpriv->CntrlReg |= Control_SW;
 
-   outw(devpriv->CntrlReg, dev->iobase + PCI171x_CONTROL); /*  
reset any operations */
+   outw(devpriv->CntrlReg, dev->iobase + PCI171x_CONTROL);
+   /* reset any operations */
pci171x_start_pacer(dev, false);
outb(0, dev->iobase + PCI171x_CLRFIFO);
outb(0, dev->iobase + PCI171x_CLRINT);
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/1] Staging: comedi: 8255.c Missing a blank line fixed

2014-07-19 Thread Sam Asadi
A 'Missing a blank line after declarations' issue fixed and also tested
by 'make M=...'. It seems that after 'unsigned long iobase' declaration
a blank line is desperately needed.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/8255.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/comedi/drivers/8255.c 
b/drivers/staging/comedi/drivers/8255.c
index 46113a3..e591441 100644
--- a/drivers/staging/comedi/drivers/8255.c
+++ b/drivers/staging/comedi/drivers/8255.c
@@ -94,6 +94,7 @@ I/O port base address can be found in the output of 'lspci 
-v'.
 
 struct subdev_8255_private {
unsigned long iobase;
+
int (*io)(int, int, int, unsigned long);
 };
 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/1] Staging: comedi: adl_paci9118: organized entry comments

2014-07-19 Thread Sam Asadi
Introductory comments organized according to Linux's comment
coding style.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adl_pci9118.c |  109 +-
 1 file changed, 55 insertions(+), 54 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index a715cd3..f916632 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -7,61 +7,62 @@
  *
  * Author: Michal Dobes 
  *
-*/
+ */
+
 /*
-Driver: adl_pci9118
-Description: Adlink PCI-9118DG, PCI-9118HG, PCI-9118HR
-Author: Michal Dobes 
-Devices: [ADLink] PCI-9118DG (pci9118dg), PCI-9118HG (pci9118hg),
-  PCI-9118HR (pci9118hr)
-Status: works
-
-This driver supports AI, AO, DI and DO subdevices.
-AI subdevice supports cmd and insn interface,
-other subdevices support only insn interface.
-For AI:
-- If cmd->scan_begin_src=TRIG_EXT then trigger input is TGIN (pin 46).
-- If cmd->convert_src=TRIG_EXT then trigger input is EXTTRG (pin 44).
-- If cmd->start_src/stop_src=TRIG_EXT then trigger input is TGIN (pin 46).
-- It is not necessary to have cmd.scan_end_arg=cmd.chanlist_len but
-  cmd.scan_end_arg modulo cmd.chanlist_len must by 0.
-- If return value of cmdtest is 5 then you've bad channel list
-  (it isn't possible mixture S.E. and DIFF inputs or bipolar and unipolar
-  ranges).
-
-There are some hardware limitations:
-a) You cann't use mixture of unipolar/bipoar ranges or differencial/single
-   ended inputs.
-b) DMA transfers must have the length aligned to two samples (32 bit),
-   so there is some problems if cmd->chanlist_len is odd. This driver tries
-   bypass this with adding one sample to the end of the every scan and discard
-   it on output but this cann't be used if cmd->scan_begin_src=TRIG_FOLLOW
-   and is used flag TRIG_WAKE_EOS, then driver switch to interrupt driven mode
-   with interrupt after every sample.
-c) If isn't used DMA then you can use only mode where
-   cmd->scan_begin_src=TRIG_FOLLOW.
-
-Configuration options:
-  [0] - PCI bus of device (optional)
-  [1] - PCI slot of device (optional)
-   If bus/slot is not specified, then first available PCI
-   card will be used.
-  [2] - 0= standard 8 DIFF/16 SE channels configuration
-   n = external multiplexer connected, 1 <= n <= 256
-  [3] - 0=autoselect DMA or EOC interrupts operation
-   1 = disable DMA mode
-   3 = disable DMA and INT, only insn interface will work
-  [4] - sample signal - card can generate signal for external S board
-   0 = use SSHO(pin 45) signal is generated in onboard hardware S logic
-   0 != use ADCHN7(pin 23) signal is generated from driver, number say how
-   long delay is requested in ns and sign polarity of the hold
-   (in this case external multiplexor can serve only 128 channels)
-  [5] - 0=stop measure on all hardware errors
-   2 | = ignore ADOR - A/D Overrun status
-   8|=ignore Bover - A/D Burst Mode Overrun status
-   256|=ignore nFull - A/D FIFO Full status
-
-*/
+ * Driver: adl_pci9118
+ * Description: Adlink PCI-9118DG, PCI-9118HG, PCI-9118HR
+ * Author: Michal Dobes 
+ * Devices: [ADLink] PCI-9118DG (pci9118dg), PCI-9118HG (pci9118hg),
+ * PCI-9118HR (pci9118hr)
+ * Status: works
+ *
+ * This driver supports AI, AO, DI and DO subdevices.
+ * AI subdevice supports cmd and insn interface,
+ * other subdevices support only insn interface.
+ * For AI:
+ * - If cmd->scan_begin_src=TRIG_EXT then trigger input is TGIN (pin 46).
+ * - If cmd->convert_src=TRIG_EXT then trigger input is EXTTRG (pin 44).
+ * - If cmd->start_src/stop_src=TRIG_EXT then trigger input is TGIN (pin 46).
+ * - It is not necessary to have cmd.scan_end_arg=cmd.chanlist_len but
+ * cmd.scan_end_arg modulo cmd.chanlist_len must by 0.
+ * - If return value of cmdtest is 5 then you've bad channel list
+ * (it isn't possible mixture S.E. and DIFF inputs or bipolar and unipolar
+ * ranges).
+ *
+ * There are some hardware limitations:
+ * a) You cann't use mixture of unipolar/bipoar ranges or differencial/single
+ *  ended inputs.
+ * b) DMA transfers must have the length aligned to two samples (32 bit),
+ *  so there is some problems if cmd->chanlist_len is odd. This driver tries
+ *  bypass this with adding one sample to the end of the every scan and discard
+ *  it on output but this cann't be used if cmd->scan_begin_src=TRIG_FOLLOW
+ *  and is used flag TRIG_WAKE_EOS, then driver switch to interrupt driven mode
+ *  with interrupt after every sample.
+ * c) If isn't used DMA then you can use only mode where
+ *  cmd->scan_begin_src=TRIG_FOLLOW.
+ *
+ * Configuration options:
+ * [0] - PCI bus of device (optional)
+ * [1] - PCI slot of device (optional)
+ *  If bus/slot is not specified, then first available PCI
+ *  card will be used.
+ * [2] - 0= standard 8 DIFF/16 SE channels configuration
+ *  n = external m

[PATCH 1/1] Staging: comedi: adl_paci9118: organized entry comments

2014-07-19 Thread Sam Asadi
Introductory comments organized according to Linux's comment
coding style.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adl_pci9118.c |  109 +-
 1 file changed, 55 insertions(+), 54 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index a715cd3..f916632 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -7,61 +7,62 @@
  *
  * Author: Michal Dobes do...@tesnet.cz
  *
-*/
+ */
+
 /*
-Driver: adl_pci9118
-Description: Adlink PCI-9118DG, PCI-9118HG, PCI-9118HR
-Author: Michal Dobes do...@tesnet.cz
-Devices: [ADLink] PCI-9118DG (pci9118dg), PCI-9118HG (pci9118hg),
-  PCI-9118HR (pci9118hr)
-Status: works
-
-This driver supports AI, AO, DI and DO subdevices.
-AI subdevice supports cmd and insn interface,
-other subdevices support only insn interface.
-For AI:
-- If cmd-scan_begin_src=TRIG_EXT then trigger input is TGIN (pin 46).
-- If cmd-convert_src=TRIG_EXT then trigger input is EXTTRG (pin 44).
-- If cmd-start_src/stop_src=TRIG_EXT then trigger input is TGIN (pin 46).
-- It is not necessary to have cmd.scan_end_arg=cmd.chanlist_len but
-  cmd.scan_end_arg modulo cmd.chanlist_len must by 0.
-- If return value of cmdtest is 5 then you've bad channel list
-  (it isn't possible mixture S.E. and DIFF inputs or bipolar and unipolar
-  ranges).
-
-There are some hardware limitations:
-a) You cann't use mixture of unipolar/bipoar ranges or differencial/single
-   ended inputs.
-b) DMA transfers must have the length aligned to two samples (32 bit),
-   so there is some problems if cmd-chanlist_len is odd. This driver tries
-   bypass this with adding one sample to the end of the every scan and discard
-   it on output but this cann't be used if cmd-scan_begin_src=TRIG_FOLLOW
-   and is used flag TRIG_WAKE_EOS, then driver switch to interrupt driven mode
-   with interrupt after every sample.
-c) If isn't used DMA then you can use only mode where
-   cmd-scan_begin_src=TRIG_FOLLOW.
-
-Configuration options:
-  [0] - PCI bus of device (optional)
-  [1] - PCI slot of device (optional)
-   If bus/slot is not specified, then first available PCI
-   card will be used.
-  [2] - 0= standard 8 DIFF/16 SE channels configuration
-   n = external multiplexer connected, 1 = n = 256
-  [3] - 0=autoselect DMA or EOC interrupts operation
-   1 = disable DMA mode
-   3 = disable DMA and INT, only insn interface will work
-  [4] - samplehold signal - card can generate signal for external SH board
-   0 = use SSHO(pin 45) signal is generated in onboard hardware SH logic
-   0 != use ADCHN7(pin 23) signal is generated from driver, number say how
-   long delay is requested in ns and sign polarity of the hold
-   (in this case external multiplexor can serve only 128 channels)
-  [5] - 0=stop measure on all hardware errors
-   2 | = ignore ADOR - A/D Overrun status
-   8|=ignore Bover - A/D Burst Mode Overrun status
-   256|=ignore nFull - A/D FIFO Full status
-
-*/
+ * Driver: adl_pci9118
+ * Description: Adlink PCI-9118DG, PCI-9118HG, PCI-9118HR
+ * Author: Michal Dobes do...@tesnet.cz
+ * Devices: [ADLink] PCI-9118DG (pci9118dg), PCI-9118HG (pci9118hg),
+ * PCI-9118HR (pci9118hr)
+ * Status: works
+ *
+ * This driver supports AI, AO, DI and DO subdevices.
+ * AI subdevice supports cmd and insn interface,
+ * other subdevices support only insn interface.
+ * For AI:
+ * - If cmd-scan_begin_src=TRIG_EXT then trigger input is TGIN (pin 46).
+ * - If cmd-convert_src=TRIG_EXT then trigger input is EXTTRG (pin 44).
+ * - If cmd-start_src/stop_src=TRIG_EXT then trigger input is TGIN (pin 46).
+ * - It is not necessary to have cmd.scan_end_arg=cmd.chanlist_len but
+ * cmd.scan_end_arg modulo cmd.chanlist_len must by 0.
+ * - If return value of cmdtest is 5 then you've bad channel list
+ * (it isn't possible mixture S.E. and DIFF inputs or bipolar and unipolar
+ * ranges).
+ *
+ * There are some hardware limitations:
+ * a) You cann't use mixture of unipolar/bipoar ranges or differencial/single
+ *  ended inputs.
+ * b) DMA transfers must have the length aligned to two samples (32 bit),
+ *  so there is some problems if cmd-chanlist_len is odd. This driver tries
+ *  bypass this with adding one sample to the end of the every scan and discard
+ *  it on output but this cann't be used if cmd-scan_begin_src=TRIG_FOLLOW
+ *  and is used flag TRIG_WAKE_EOS, then driver switch to interrupt driven mode
+ *  with interrupt after every sample.
+ * c) If isn't used DMA then you can use only mode where
+ *  cmd-scan_begin_src=TRIG_FOLLOW.
+ *
+ * Configuration options:
+ * [0] - PCI bus of device (optional)
+ * [1] - PCI slot of device (optional)
+ *  If bus/slot is not specified, then first available PCI
+ *  card will be used.
+ * [2] - 0= standard 8 DIFF/16 SE channels configuration

[PATCH 1/1] Staging: comedi: 8255.c Missing a blank line fixed

2014-07-19 Thread Sam Asadi
A 'Missing a blank line after declarations' issue fixed and also tested
by 'make M=...'. It seems that after 'unsigned long iobase' declaration
a blank line is desperately needed.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/8255.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/comedi/drivers/8255.c 
b/drivers/staging/comedi/drivers/8255.c
index 46113a3..e591441 100644
--- a/drivers/staging/comedi/drivers/8255.c
+++ b/drivers/staging/comedi/drivers/8255.c
@@ -94,6 +94,7 @@ I/O port base address can be found in the output of 'lspci 
-v'.
 
 struct subdev_8255_private {
unsigned long iobase;
+
int (*io)(int, int, int, unsigned long);
 };
 
-- 
1.9.1

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2/2] Staging: comedi: adv_pci1710.c line over 80 fixed

2014-07-19 Thread Sam Asadi
A line over 80 issue fixed, which is a comment.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adv_pci1710.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index 602b7a1..13ff78c 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -723,7 +723,8 @@ static int pci171x_ai_cancel(struct comedi_device *dev,
devpriv-CntrlReg = Control_CNT0;
devpriv-CntrlReg |= Control_SW;
 
-   outw(devpriv-CntrlReg, dev-iobase + PCI171x_CONTROL); /*  
reset any operations */
+   outw(devpriv-CntrlReg, dev-iobase + PCI171x_CONTROL);
+   /* reset any operations */
pci171x_start_pacer(dev, false);
outb(0, dev-iobase + PCI171x_CLRFIFO);
outb(0, dev-iobase + PCI171x_CLRINT);
-- 
1.9.1

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/1] Staging: comedi: adv_pci1710: a line over 80 fixed

2014-07-19 Thread Sam Asadi
a line over 80 issue fixed by removing the cross-lined comment
to the previous line.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adv_pci1710.c |5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c 
b/drivers/staging/comedi/drivers/adv_pci1710.c
index 602b7a1..040a5cb 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -722,8 +722,9 @@ static int pci171x_ai_cancel(struct comedi_device *dev,
default:
devpriv-CntrlReg = Control_CNT0;
devpriv-CntrlReg |= Control_SW;
-
-   outw(devpriv-CntrlReg, dev-iobase + PCI171x_CONTROL); /*  
reset any operations */
+
+   /* reset any operations */
+   outw(devpriv-CntrlReg, dev-iobase + PCI171x_CONTROL);
pci171x_start_pacer(dev, false);
outb(0, dev-iobase + PCI171x_CLRFIFO);
outb(0, dev-iobase + PCI171x_CLRINT);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2/2] Staging: comedi: adl_pci9118: line over 80 fixed

2014-07-18 Thread Sam Asadi
A 'line over 80 characters' issue fixed.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adl_pci9118.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index 7365f31..a715cd3 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -346,7 +346,7 @@ struct pci9118_private {
 * on external start
 */
unsigned short ao_data[2];  /* data output buffer */
-   char dma_doublebuf; /* we can use double buffering 
*/
+   char dma_doublebuf; /* use double buffering */
unsigned int dma_actbuf;/* which buffer is used now */
unsigned short *dmabuf_virt[2]; /*
 * pointers to begin of
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/2] Staging: comedi: adl_pci9118: commenting style issue fixed

2014-07-18 Thread Sam Asadi
A 'quoted string split across lines' issue fixed, while a better use of
language applied to the comment.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adl_pci9118.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index 93bd9ee..7365f31 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -418,8 +418,7 @@ static int check_channel_list(struct comedi_device *dev,
if ((CR_RANGE(chanlist[i]) < PCI9118_BIPOLAR_RANGES) !=
(bipolar)) {
comedi_error(dev,
-"Bipolar and unipolar ranges "
-   "can't be mixtured!");
+"Bipolar and unipolar ranges can't 
be mixed!");
return 0;
}
if (!devpriv->usemux && differencial &&
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/2] Staging: comedi: adl_pci9118: commenting style issue fixed

2014-07-18 Thread Sam Asadi
A 'quoted string split across lines' issue fixed, while a better use of
language applied to the comment.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adl_pci9118.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index 93bd9ee..7365f31 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -418,8 +418,7 @@ static int check_channel_list(struct comedi_device *dev,
if ((CR_RANGE(chanlist[i])  PCI9118_BIPOLAR_RANGES) !=
(bipolar)) {
comedi_error(dev,
-Bipolar and unipolar ranges 
-   can't be mixtured!);
+Bipolar and unipolar ranges can't 
be mixed!);
return 0;
}
if (!devpriv-usemux  differencial 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2/2] Staging: comedi: adl_pci9118: line over 80 fixed

2014-07-18 Thread Sam Asadi
A 'line over 80 characters' issue fixed.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adl_pci9118.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index 7365f31..a715cd3 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -346,7 +346,7 @@ struct pci9118_private {
 * on external start
 */
unsigned short ao_data[2];  /* data output buffer */
-   char dma_doublebuf; /* we can use double buffering 
*/
+   char dma_doublebuf; /* use double buffering */
unsigned int dma_actbuf;/* which buffer is used now */
unsigned short *dmabuf_virt[2]; /*
 * pointers to begin of
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/1] Staging: adl_pci9118: a style issue fixed

2014-07-16 Thread Sam Asadi
a 'quoted string split across lines' fixed while better use of
English applied to the text.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adl_pci9118.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index 93bd9ee..7365f31 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -418,8 +418,7 @@ static int check_channel_list(struct comedi_device *dev,
if ((CR_RANGE(chanlist[i]) < PCI9118_BIPOLAR_RANGES) !=
(bipolar)) {
comedi_error(dev,
-"Bipolar and unipolar ranges "
-   "can't be mixtured!");
+"Bipolar and unipolar ranges can't 
be mixed!");
return 0;
}
if (!devpriv->usemux && differencial &&
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 3/3] Staging: adl_pci9118: a language issue fixed

2014-07-16 Thread Sam Asadi
For better use of English, 'mixtured' which is not right, replaced
by 'mixed'.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adl_pci9118.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index f2a2d04..93bd9ee 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -412,7 +412,7 @@ static int check_channel_list(struct comedi_device *dev,
if ((CR_AREF(chanlist[i]) == AREF_DIFF) !=
(differencial)) {
comedi_error(dev,
-"Differential and single ended 
inputs can't be mixtured!");
+"Differential and single ended 
inputs can't be mixed!");
return 0;
}
if ((CR_RANGE(chanlist[i]) < PCI9118_BIPOLAR_RANGES) !=
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2/2] Staging: comedi: adl_pci9118: fractured spelling fixed

2014-07-16 Thread Sam Asadi
a fractured spelling in previous style issue fix mended.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adl_pci9118.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index b2d25f5..f2a2d04 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -412,7 +412,7 @@ static int check_channel_list(struct comedi_device *dev,
if ((CR_AREF(chanlist[i]) == AREF_DIFF) !=
(differencial)) {
comedi_error(dev,
-"Differencial and single ended 
inputs can't be mixtured!");
+"Differential and single ended 
inputs can't be mixtured!");
return 0;
}
if ((CR_RANGE(chanlist[i]) < PCI9118_BIPOLAR_RANGES) !=
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/2] Staging: comedi: adl_pci9118: a style issue fixed

2014-07-16 Thread Sam Asadi
'quoted string split across lines' warning in checkpatching fixed
by group whole string in one line.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adl_pci9118.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index 59a65cb..b2d25f5 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -412,8 +412,7 @@ static int check_channel_list(struct comedi_device *dev,
if ((CR_AREF(chanlist[i]) == AREF_DIFF) !=
(differencial)) {
comedi_error(dev,
-"Differencial and single ended "
-   "inputs can't be mixtured!");
+"Differencial and single ended 
inputs can't be mixtured!");
return 0;
}
if ((CR_RANGE(chanlist[i]) < PCI9118_BIPOLAR_RANGES) !=
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 0/2] Staging: Comedi: adl_pci9118: 2 style issues fixed

2014-07-16 Thread Sam Asadi
2 style issues fixed: one misspelling & a quoted string split across lines.

Sam Asadi (2):
  Staging: comedi: adl_pci9118: a style issue fixed
  Staging: comedi: adl_pci9118: fractured spelling fixed

 drivers/staging/comedi/drivers/adl_pci9118.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] Staging: comedi: adl_pci9118: a style issue fixed

2014-07-16 Thread Sam Asadi
'quoted string split across lines' warning in checkpatching fixed
by group whole string in one line.

Signed-off-by: Sam Asadi 
---
 drivers/staging/comedi/drivers/adl_pci9118.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index 59a65cb..b2d25f5 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -412,8 +412,7 @@ static int check_channel_list(struct comedi_device *dev,
if ((CR_AREF(chanlist[i]) == AREF_DIFF) !=
(differencial)) {
comedi_error(dev,
-"Differencial and single ended "
-   "inputs can't be mixtured!");
+"Differencial and single ended 
inputs can't be mixtured!");
return 0;
}
if ((CR_RANGE(chanlist[i]) < PCI9118_BIPOLAR_RANGES) !=
--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] Staging: comedi: adl_pci9118: a style issue fixed

2014-07-16 Thread Sam Asadi
'quoted string split across lines' warning in checkpatching fixed
by group whole string in one line.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adl_pci9118.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index 59a65cb..b2d25f5 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -412,8 +412,7 @@ static int check_channel_list(struct comedi_device *dev,
if ((CR_AREF(chanlist[i]) == AREF_DIFF) !=
(differencial)) {
comedi_error(dev,
-Differencial and single ended 
-   inputs can't be mixtured!);
+Differencial and single ended 
inputs can't be mixtured!);
return 0;
}
if ((CR_RANGE(chanlist[i])  PCI9118_BIPOLAR_RANGES) !=
--
1.7.10.4
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 0/2] Staging: Comedi: adl_pci9118: 2 style issues fixed

2014-07-16 Thread Sam Asadi
2 style issues fixed: one misspelling  a quoted string split across lines.

Sam Asadi (2):
  Staging: comedi: adl_pci9118: a style issue fixed
  Staging: comedi: adl_pci9118: fractured spelling fixed

 drivers/staging/comedi/drivers/adl_pci9118.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2/2] Staging: comedi: adl_pci9118: fractured spelling fixed

2014-07-16 Thread Sam Asadi
a fractured spelling in previous style issue fix mended.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adl_pci9118.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index b2d25f5..f2a2d04 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -412,7 +412,7 @@ static int check_channel_list(struct comedi_device *dev,
if ((CR_AREF(chanlist[i]) == AREF_DIFF) !=
(differencial)) {
comedi_error(dev,
-Differencial and single ended 
inputs can't be mixtured!);
+Differential and single ended 
inputs can't be mixtured!);
return 0;
}
if ((CR_RANGE(chanlist[i])  PCI9118_BIPOLAR_RANGES) !=
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/2] Staging: comedi: adl_pci9118: a style issue fixed

2014-07-16 Thread Sam Asadi
'quoted string split across lines' warning in checkpatching fixed
by group whole string in one line.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adl_pci9118.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index 59a65cb..b2d25f5 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -412,8 +412,7 @@ static int check_channel_list(struct comedi_device *dev,
if ((CR_AREF(chanlist[i]) == AREF_DIFF) !=
(differencial)) {
comedi_error(dev,
-Differencial and single ended 
-   inputs can't be mixtured!);
+Differencial and single ended 
inputs can't be mixtured!);
return 0;
}
if ((CR_RANGE(chanlist[i])  PCI9118_BIPOLAR_RANGES) !=
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 3/3] Staging: adl_pci9118: a language issue fixed

2014-07-16 Thread Sam Asadi
For better use of English, 'mixtured' which is not right, replaced
by 'mixed'.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adl_pci9118.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index f2a2d04..93bd9ee 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -412,7 +412,7 @@ static int check_channel_list(struct comedi_device *dev,
if ((CR_AREF(chanlist[i]) == AREF_DIFF) !=
(differencial)) {
comedi_error(dev,
-Differential and single ended 
inputs can't be mixtured!);
+Differential and single ended 
inputs can't be mixed!);
return 0;
}
if ((CR_RANGE(chanlist[i])  PCI9118_BIPOLAR_RANGES) !=
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/1] Staging: adl_pci9118: a style issue fixed

2014-07-16 Thread Sam Asadi
a 'quoted string split across lines' fixed while better use of
English applied to the text.

Signed-off-by: Sam Asadi asadi.sam...@gmail.com
---
 drivers/staging/comedi/drivers/adl_pci9118.c |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c 
b/drivers/staging/comedi/drivers/adl_pci9118.c
index 93bd9ee..7365f31 100644
--- a/drivers/staging/comedi/drivers/adl_pci9118.c
+++ b/drivers/staging/comedi/drivers/adl_pci9118.c
@@ -418,8 +418,7 @@ static int check_channel_list(struct comedi_device *dev,
if ((CR_RANGE(chanlist[i])  PCI9118_BIPOLAR_RANGES) !=
(bipolar)) {
comedi_error(dev,
-Bipolar and unipolar ranges 
-   can't be mixtured!);
+Bipolar and unipolar ranges can't 
be mixed!);
return 0;
}
if (!devpriv-usemux  differencial 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 72/94] phy: omap-usb2: fix devm_ioremap_resource error detection code

2014-07-15 Thread Sam Asadi
From: Himangi Saraogi 

devm_ioremap_resource returns an ERR_PTR value, not NULL, on failure.

A simplified version of the semantic match that finds this problem is as
follows:

// 
@@
expression e,e1;
statement S;
@@

*e = devm_ioremap_resource(...);
if (!e1) S

// 

Signed-off-by: Himangi Saraogi 
Acked-by: Julia Lawall 
Signed-off-by: Kishon Vijay Abraham I 
Signed-off-by: Greg Kroah-Hartman 
Signed-off-by: sam-the-6 
---
 drivers/phy/phy-omap-usb2.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/phy/phy-omap-usb2.c b/drivers/phy/phy-omap-usb2.c
index 7007c11..2063d54 100644
--- a/drivers/phy/phy-omap-usb2.c
+++ b/drivers/phy/phy-omap-usb2.c
@@ -233,8 +233,8 @@ static int omap_usb2_probe(struct platform_device *pdev)
if (phy_data->flags & OMAP_USB2_CALIBRATE_FALSE_DISCONNECT) {
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
phy->phy_base = devm_ioremap_resource(>dev, res);
-   if (!phy->phy_base)
-   return -ENOMEM;
+   if (IS_ERR(phy->phy_base))
+   return PTR_ERR(phy->phy_base);
phy->flags |= OMAP_USB2_CALIBRATE_FALSE_DISCONNECT;
}
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 21/94] ARM: EXYNOS: Fix the check for non-smp configuration

2014-07-15 Thread Sam Asadi
From: Abhilash Kesavan 

Commit 1754c42e3db5("ARM: exynos: move sysram info to exynos.c") missed
out the CONFIG_ prefix causing exynos_sysram_init() to get called twice
for SMP configurations.

Signed-off-by: Abhilash Kesavan 
Reviewed-by: Sachin Kamat 
Signed-off-by: Kukjin Kim 
Signed-off-by: sam-the-6 
---
 arch/arm/mach-exynos/exynos.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index f38cf7c..95cad25 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -297,7 +297,7 @@ static void __init exynos_dt_machine_init(void)
 * This is called from smp_prepare_cpus if we've built for SMP, but
 * we still need to set it up for PM and firmware ops if not.
 */
-   if (!IS_ENABLED(SMP))
+   if (!IS_ENABLED(CONFIG_SMP))
exynos_sysram_init();
 
exynos_cpuidle_init();
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 18/94] ARM: kprobes: Fix test code compilation errors for ARMv4 targets

2014-07-15 Thread Sam Asadi
From: Jon Medhurst 

Conditionally compile kprobes test cases for ARMv5 instructions to avoid
compilation errors with ARMv4 targets like:

/tmp/cc7Tx8ST.s:16740: Error: selected processor does not support ARM mode `clz 
r0,r0'

Signed-off-by: Jon Medhurst 
Signed-off-by: sam-the-6 
---
 arch/arm/kernel/kprobes-test-arm.c |8 
 1 file changed, 8 insertions(+)

diff --git a/arch/arm/kernel/kprobes-test-arm.c 
b/arch/arm/kernel/kprobes-test-arm.c
index e73f9cf..cb14242 100644
--- a/arch/arm/kernel/kprobes-test-arm.c
+++ b/arch/arm/kernel/kprobes-test-arm.c
@@ -218,6 +218,7 @@ void kprobe_arm_test_cases(void)
TEST_BB_R("bx   r",7,2f,"")
TEST_BF_R("bxeq r",14,2f,"")
 
+#if __LINUX_ARM_ARCH__ >= 5
TEST_R("clz r0, r",0, 0x0,"")
TEST_R("clzeq   r7, r",14,0x1,"")
TEST_R("clz lr, r",7, 0x,"")
@@ -339,6 +340,7 @@ void kprobe_arm_test_cases(void)
TEST_UNSUPPORTED(__inst_arm(0xe16f02e1) " @ smultt pc, r1, r2")
TEST_UNSUPPORTED(__inst_arm(0xe16002ef) " @ smultt r0, pc, r2")
TEST_UNSUPPORTED(__inst_arm(0xe1600fe1) " @ smultt r0, r1, pc")
+#endif
 
TEST_GROUP("Multiply and multiply-accumulate")
 
@@ -561,6 +563,7 @@ void kprobe_arm_test_cases(void)
TEST_UNSUPPORTED("ldrshtr1, [r2], #48")
 #endif
 
+#if __LINUX_ARM_ARCH__ >= 5
TEST_RPR(  "strdr",0, VAL1,", [r",1, 48,", -r",2,24,"]")
TEST_RPR(  "strccd  r",8, VAL2,", [r",13,0, ", r",12,48,"]")
TEST_RPR(  "strdr",4, VAL1,", [r",2, 24,", r",3, 48,"]!")
@@ -597,6 +600,7 @@ void kprobe_arm_test_cases(void)
TEST_UNSUPPORTED(__inst_arm(0xe1efc3d0) "   @ ldrd r12, [pc, #48]!")
TEST_UNSUPPORTED(__inst_arm(0xe0c9f3d0) "   @ ldrd pc, [r9], #48")
TEST_UNSUPPORTED(__inst_arm(0xe0c9e3d0) "   @ ldrd lr, [r9], #48")
+#endif
 
TEST_GROUP("Miscellaneous")
 
@@ -1229,7 +1233,9 @@ void kprobe_arm_test_cases(void)
TEST_COPROCESSOR( "mrc"two" 0, 0, r0, cr0, cr0, 0")
 
COPROCESSOR_INSTRUCTIONS_ST_LD("",e)
+#if __LINUX_ARM_ARCH__ >= 5
COPROCESSOR_INSTRUCTIONS_MC_MR("",e)
+#endif
TEST_UNSUPPORTED("svc   0")
TEST_UNSUPPORTED("svc   0xff")
 
@@ -1289,7 +1295,9 @@ void kprobe_arm_test_cases(void)
TEST(   "blx__dummy_thumb_subroutine_odd")
 #endif /* __LINUX_ARM_ARCH__ >= 6 */
 
+#if __LINUX_ARM_ARCH__ >= 5
COPROCESSOR_INSTRUCTIONS_ST_LD("2",f)
+#endif
 #if __LINUX_ARM_ARCH__ >= 6
COPROCESSOR_INSTRUCTIONS_MC_MR("2",f)
 #endif
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 64/94] serial: Test for no tx data on tx restart

2014-07-15 Thread Sam Asadi
From: Peter Hurley 

Commit 717f3bbab3c7628736ef738fdbf3d9a28578c26c,
'serial_core: Fix conditional start_tx on ring buffer not empty'
exposes an incorrect assumption in several drivers' start_tx methods;
the tx ring buffer can, in fact, be empty when restarting tx while
performing flow control.

Affected drivers:
sunsab.c
ip22zilog.c
pmac_zilog.c
sunzilog.c
m32r_sio.c
imx.c

Other in-tree serial drivers either are not affected or already
test for empty tx ring buffer before transmitting.

Test for empty tx ring buffer in start_tx() method, after transmitting
x_char (if applicable).

Reported-by: Aaro Koskinen 
Cc: Seth Bollinger 
Cc: "David S. Miller" 
Cc: Sam Ravnborg 
Cc: Thomas Bogendoerfer 
Signed-off-by: Peter Hurley 
Cc: stable  # 3.15
Signed-off-by: Greg Kroah-Hartman 
Signed-off-by: sam-the-6 
---
 drivers/tty/serial/imx.c|3 +++
 drivers/tty/serial/ip22zilog.c  |2 ++
 drivers/tty/serial/m32r_sio.c   |8 +---
 drivers/tty/serial/pmac_zilog.c |3 +++
 drivers/tty/serial/sunsab.c |3 +++
 drivers/tty/serial/sunzilog.c   |2 ++
 6 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index e2f9387..56bd9aa 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -567,6 +567,9 @@ static void imx_start_tx(struct uart_port *port)
struct imx_port *sport = (struct imx_port *)port;
unsigned long temp;
 
+   if (uart_circ_empty(>xmit))
+   return;
+
if (USE_IRDA(sport)) {
/* half duplex in IrDA mode; have to disable receive mode */
temp = readl(sport->port.membase + UCR4);
diff --git a/drivers/tty/serial/ip22zilog.c b/drivers/tty/serial/ip22zilog.c
index 1efd4c3..99b7b86 100644
--- a/drivers/tty/serial/ip22zilog.c
+++ b/drivers/tty/serial/ip22zilog.c
@@ -603,6 +603,8 @@ static void ip22zilog_start_tx(struct uart_port *port)
} else {
struct circ_buf *xmit = >state->xmit;
 
+   if (uart_circ_empty(xmit))
+   return;
writeb(xmit->buf[xmit->tail], >data);
ZSDELAY();
ZS_WSYNC(channel);
diff --git a/drivers/tty/serial/m32r_sio.c b/drivers/tty/serial/m32r_sio.c
index 68f2c53..5702828 100644
--- a/drivers/tty/serial/m32r_sio.c
+++ b/drivers/tty/serial/m32r_sio.c
@@ -266,9 +266,11 @@ static void m32r_sio_start_tx(struct uart_port *port)
if (!(up->ier & UART_IER_THRI)) {
up->ier |= UART_IER_THRI;
serial_out(up, UART_IER, up->ier);
-   serial_out(up, UART_TX, xmit->buf[xmit->tail]);
-   xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
-   up->port.icount.tx++;
+   if (!uart_circ_empty(xmit)) {
+   serial_out(up, UART_TX, xmit->buf[xmit->tail]);
+   xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
+   up->port.icount.tx++;
+   }
}
while((serial_in(up, UART_LSR) & UART_EMPTY) != UART_EMPTY);
 #else
diff --git a/drivers/tty/serial/pmac_zilog.c b/drivers/tty/serial/pmac_zilog.c
index 8193635..f7ad5b9 100644
--- a/drivers/tty/serial/pmac_zilog.c
+++ b/drivers/tty/serial/pmac_zilog.c
@@ -653,6 +653,8 @@ static void pmz_start_tx(struct uart_port *port)
} else {
struct circ_buf *xmit = >state->xmit;
 
+   if (uart_circ_empty(xmit))
+   goto out;
write_zsdata(uap, xmit->buf[xmit->tail]);
zssync(uap);
xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
@@ -661,6 +663,7 @@ static void pmz_start_tx(struct uart_port *port)
if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
uart_write_wakeup(>port);
}
+ out:
pmz_debug("pmz: start_tx() done.\n");
 }
 
diff --git a/drivers/tty/serial/sunsab.c b/drivers/tty/serial/sunsab.c
index 80a58ec..2f57df9 100644
--- a/drivers/tty/serial/sunsab.c
+++ b/drivers/tty/serial/sunsab.c
@@ -427,6 +427,9 @@ static void sunsab_start_tx(struct uart_port *port)
struct circ_buf *xmit = >port.state->xmit;
int i;
 
+   if (uart_circ_empty(xmit))
+   return;
+
up->interrupt_mask1 &= ~(SAB82532_IMR1_ALLS|SAB82532_IMR1_XPR);
writeb(up->interrupt_mask1, >regs->w.imr1);

diff --git a/drivers/tty/serial/sunzilog.c b/drivers/tty/serial/sunzilog.c
index a85db8b..02df394 100644
--- a/drivers/tty/serial/sunzilog.c
+++ b/drivers/tty/serial/sunzilog.c
@@ -703,6 +703,8 @@ static void sunzilog_start_tx(struct uart_port *port)
} else {
struct circ_buf *xmit = >state->xmit;
 
+   if (uart_circ_empty(xmit))
+   return;
writeb(xmit->buf[xmit->tail], >data);
ZSDELAY();
ZS_WSYNC(channel);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line 

[PATCH 78/94] scripts/kernel-doc: handle object-like macros

2014-07-15 Thread Sam Asadi
From: Horia Geanta 

Object-like macros are different than function-like macros:
https://gcc.gnu.org/onlinedocs/cpp/Object-like-Macros.html
https://gcc.gnu.org/onlinedocs/cpp/Function-like-Macros.html

They are not parsed correctly, generating invalid intermediate
files (xmls) for cases like:
#define BIT_MASK(0xFF << BIT_SHIFT)
where "OxFF <<" is considered to be parameter type.

When parsing, we can differentiate beween these two types of macros by
checking whether there is at least one whitespace b/w "#define" and
first opening parenthesis.

Signed-off-by: Horia Geanta 
Signed-off-by: Randy Dunlap 
Signed-off-by: Linus Torvalds 
Signed-off-by: sam-the-6 
---
 scripts/kernel-doc |   15 ---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index da058da..16a07cf 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -2073,6 +2073,7 @@ sub check_return_section {
 sub dump_function($$) {
 my $prototype = shift;
 my $file = shift;
+my $noret = 0;
 
 $prototype =~ s/^static +//;
 $prototype =~ s/^extern +//;
@@ -2086,7 +2087,7 @@ sub dump_function($$) {
 $prototype =~ s/__init_or_module +//;
 $prototype =~ s/__must_check +//;
 $prototype =~ s/__weak +//;
-$prototype =~ s/^#\s*define\s+//; #ak added
+my $define = $prototype =~ s/^#\s*define\s+//; #ak added
 $prototype =~ s/__attribute__\s*\(\([a-z,]*\)\)//;
 
 # Yes, this truly is vile.  We are looking for:
@@ -2105,7 +2106,15 @@ sub dump_function($$) {
 # - atomic_set (macro)
 # - pci_match_device, __copy_to_user (long return type)
 
-if ($prototype =~ m/^()([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ ||
+if ($define && $prototype =~ m/^()([a-zA-Z0-9_~:]+)\s+/) {
+# This is an object-like macro, it has no return type and no parameter
+# list.
+# Function-like macros are not allowed to have spaces between
+# declaration_name and opening parenthesis (notice the \s+).
+$return_type = $1;
+$declaration_name = $2;
+$noret = 1;
+} elsif ($prototype =~ m/^()([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ ||
$prototype =~ m/^(\w+)\s+([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ ||
$prototype =~ m/^(\w+\s*\*)\s*([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ ||
$prototype =~ m/^(\w+\s+\w+)\s+([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ ||
@@ -2140,7 +2149,7 @@ sub dump_function($$) {
 # of warnings goes sufficiently down, the check is only performed in
 # verbose mode.
 # TODO: always perform the check.
-if ($verbose) {
+if ($verbose && !$noret) {
 check_return_section($file, $declaration_name, $return_type);
 }
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 29/94] iio: hid-sensor-gyro-3d: Fix return values

2014-07-15 Thread Sam Asadi
From: Sachin Kamat 

IIO_CHAN_INFO_SAMP_FREQ and IIO_CHAN_INFO_HYSTERESIS cases ignored
the actual return values (which could be -EINVAL) and instead
returned IIO_VAL_INT_PLUS_MICRO always. Return the actual value
obtained from the functions. Both functions return IIO_VAL_INT_PLUS_MICRO
upon success.

Signed-off-by: Sachin Kamat 
Cc: Srinivas Pandruvada 
Signed-off-by: Jonathan Cameron 
Signed-off-by: sam-the-6 
---
 drivers/iio/gyro/hid-sensor-gyro-3d.c |7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/gyro/hid-sensor-gyro-3d.c 
b/drivers/iio/gyro/hid-sensor-gyro-3d.c
index 40f4e49..fa034a3 100644
--- a/drivers/iio/gyro/hid-sensor-gyro-3d.c
+++ b/drivers/iio/gyro/hid-sensor-gyro-3d.c
@@ -110,7 +110,6 @@ static int gyro_3d_read_raw(struct iio_dev *indio_dev,
struct gyro_3d_state *gyro_state = iio_priv(indio_dev);
int report_id = -1;
u32 address;
-   int ret;
int ret_type;
s32 poll_value;
 
@@ -151,14 +150,12 @@ static int gyro_3d_read_raw(struct iio_dev *indio_dev,
ret_type = IIO_VAL_INT;
break;
case IIO_CHAN_INFO_SAMP_FREQ:
-   ret = hid_sensor_read_samp_freq_value(
+   ret_type = hid_sensor_read_samp_freq_value(
_state->common_attributes, val, val2);
-   ret_type = IIO_VAL_INT_PLUS_MICRO;
break;
case IIO_CHAN_INFO_HYSTERESIS:
-   ret = hid_sensor_read_raw_hyst_value(
+   ret_type = hid_sensor_read_raw_hyst_value(
_state->common_attributes, val, val2);
-   ret_type = IIO_VAL_INT_PLUS_MICRO;
break;
default:
ret_type = -EINVAL;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 48/94] ARM: dts: Fix TI CPSW Phy mode selection on IGEP COM AQUILA.

2014-07-15 Thread Sam Asadi
From: Enric Balletbo i Serra 

As this board use external clock for RMII interface we should specify 'rmii'
phy mode and 'rmii-clock-ext' to make ethernet working.

Signed-off-by: Enric Balletbo i Serra 
Signed-off-by: Tony Lindgren 
Signed-off-by: sam-the-6 
---
 arch/arm/boot/dts/am335x-igep0033.dtsi |6 ++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/boot/dts/am335x-igep0033.dtsi 
b/arch/arm/boot/dts/am335x-igep0033.dtsi
index 8a0a72d..a1a0cc5 100644
--- a/arch/arm/boot/dts/am335x-igep0033.dtsi
+++ b/arch/arm/boot/dts/am335x-igep0033.dtsi
@@ -105,10 +105,16 @@
 
 _emac0 {
phy_id = <_mdio>, <0>;
+   phy-mode = "rmii";
 };
 
 _emac1 {
phy_id = <_mdio>, <1>;
+   phy-mode = "rmii";
+};
+
+_sel {
+   rmii-clock-ext;
 };
 
  {
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 44/94] ARM: OMAP2+: create dsp device only on OMAP3 SoCs

2014-07-15 Thread Sam Asadi
From: Suman Anna 

The DSP platform device for TI DSP/Bridge is currently
created unconditionally whenever CONFIG_TIDSPBRIDGE is
enabled. This device should only be created on OMAP34xx/
OMAP36xx SoCs, and not for other OMAP3 derived SoCs or when
booting multi-arch images on other SoCs. So, add a check for
the SoC family both before creating the device and allocating
the carveout memory for the device.

Signed-off-by: Suman Anna 
Signed-off-by: Tony Lindgren 
Signed-off-by: sam-the-6 
---
 arch/arm/mach-omap2/dsp.c |   10 ++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm/mach-omap2/dsp.c b/arch/arm/mach-omap2/dsp.c
index b8208b4..f7492df 100644
--- a/arch/arm/mach-omap2/dsp.c
+++ b/arch/arm/mach-omap2/dsp.c
@@ -29,6 +29,7 @@
 #ifdef CONFIG_TIDSPBRIDGE_DVFS
 #include "omap-pm.h"
 #endif
+#include "soc.h"
 
 #include 
 
@@ -59,6 +60,9 @@ void __init omap_dsp_reserve_sdram_memblock(void)
phys_addr_t size = CONFIG_TIDSPBRIDGE_MEMPOOL_SIZE;
phys_addr_t paddr;
 
+   if (!cpu_is_omap34xx())
+   return;
+
if (!size)
return;
 
@@ -83,6 +87,9 @@ static int __init omap_dsp_init(void)
int err = -ENOMEM;
struct omap_dsp_platform_data *pdata = _dsp_pdata;
 
+   if (!cpu_is_omap34xx())
+   return 0;
+
pdata->phys_mempool_base = omap_dsp_get_mempool_base();
 
if (pdata->phys_mempool_base) {
@@ -115,6 +122,9 @@ module_init(omap_dsp_init);
 
 static void __exit omap_dsp_exit(void)
 {
+   if (!cpu_is_omap34xx())
+   return;
+
platform_device_unregister(omap_dsp_pdev);
 }
 module_exit(omap_dsp_exit);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 28/94] iio: hid-sensor-als: Fix return values

2014-07-15 Thread Sam Asadi
From: Sachin Kamat 

IIO_CHAN_INFO_SAMP_FREQ and IIO_CHAN_INFO_HYSTERESIS cases ignored
the actual return values (which could be -EINVAL) and instead
returned IIO_VAL_INT_PLUS_MICRO always. Return the actual value
obtained from the functions. Both functions return IIO_VAL_INT_PLUS_MICRO
upon success.

Signed-off-by: Sachin Kamat 
Cc: Srinivas Pandruvada 
Signed-off-by: Jonathan Cameron 
Signed-off-by: sam-the-6 
---
 drivers/iio/light/hid-sensor-als.c |7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/light/hid-sensor-als.c 
b/drivers/iio/light/hid-sensor-als.c
index f34c943..96e71e1 100644
--- a/drivers/iio/light/hid-sensor-als.c
+++ b/drivers/iio/light/hid-sensor-als.c
@@ -79,7 +79,6 @@ static int als_read_raw(struct iio_dev *indio_dev,
struct als_state *als_state = iio_priv(indio_dev);
int report_id = -1;
u32 address;
-   int ret;
int ret_type;
s32 poll_value;
 
@@ -129,14 +128,12 @@ static int als_read_raw(struct iio_dev *indio_dev,
ret_type = IIO_VAL_INT;
break;
case IIO_CHAN_INFO_SAMP_FREQ:
-   ret = hid_sensor_read_samp_freq_value(
+   ret_type = hid_sensor_read_samp_freq_value(
_state->common_attributes, val, val2);
-   ret_type = IIO_VAL_INT_PLUS_MICRO;
break;
case IIO_CHAN_INFO_HYSTERESIS:
-   ret = hid_sensor_read_raw_hyst_value(
+   ret_type = hid_sensor_read_raw_hyst_value(
_state->common_attributes, val, val2);
-   ret_type = IIO_VAL_INT_PLUS_MICRO;
break;
default:
ret_type = -EINVAL;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 31/94] ext4: fix unjournalled bg descriptor while initializing inode bitmap

2014-07-15 Thread Sam Asadi
From: Theodore Ts'o 

The first time that we allocate from an uninitialized inode allocation
bitmap, if the block allocation bitmap is also uninitalized, we need
to get write access to the block group descriptor before we start
modifying the block group descriptor flags and updating the free block
count, etc.  Otherwise, there is the potential of a bad journal
checksum (if journal checksums are enabled), and of the file system
becoming inconsistent if we crash at exactly the wrong time.

Signed-off-by: Theodore Ts'o 
Cc: sta...@vger.kernel.org
Signed-off-by: sam-the-6 
---
 fs/ext4/ialloc.c |   14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c
index a87455d..0840bf3 100644
--- a/fs/ext4/ialloc.c
+++ b/fs/ext4/ialloc.c
@@ -874,6 +874,13 @@ got:
goto out;
}
 
+   BUFFER_TRACE(group_desc_bh, "get_write_access");
+   err = ext4_journal_get_write_access(handle, group_desc_bh);
+   if (err) {
+   ext4_std_error(sb, err);
+   goto out;
+   }
+
/* We may have to initialize the block bitmap if it isn't already */
if (ext4_has_group_desc_csum(sb) &&
gdp->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) {
@@ -910,13 +917,6 @@ got:
}
}
 
-   BUFFER_TRACE(group_desc_bh, "get_write_access");
-   err = ext4_journal_get_write_access(handle, group_desc_bh);
-   if (err) {
-   ext4_std_error(sb, err);
-   goto out;
-   }
-
/* Update the relevant bg descriptor fields */
if (ext4_has_group_desc_csum(sb)) {
int free;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 40/94] USB: cp210x: add support for Corsair usb dongle

2014-07-15 Thread Sam Asadi
From: Andras Kovacs 

Corsair USB Dongles are shipped with Corsair AXi series PSUs.
These are cp210x serial usb devices, so make driver detect these.
I have a program, that can get information from these PSUs.

Tested with 2 different dongles shipped with Corsair AX860i and
AX1200i units.

Signed-off-by: Andras Kovacs 
Cc: 
Signed-off-by: Johan Hovold 
Signed-off-by: sam-the-6 
---
 drivers/usb/serial/cp210x.c |1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c
index 762e4a5..330df5c 100644
--- a/drivers/usb/serial/cp210x.c
+++ b/drivers/usb/serial/cp210x.c
@@ -153,6 +153,7 @@ static const struct usb_device_id id_table[] = {
{ USB_DEVICE(0x1843, 0x0200) }, /* Vaisala USB Instrument Cable */
{ USB_DEVICE(0x18EF, 0xE00F) }, /* ELV USB-I2C-Interface */
{ USB_DEVICE(0x1ADB, 0x0001) }, /* Schweitzer Engineering C662 Cable */
+   { USB_DEVICE(0x1B1C, 0x1C00) }, /* Corsair USB Dongle */
{ USB_DEVICE(0x1BE3, 0x07A6) }, /* WAGO 750-923 USB Service Cable */
{ USB_DEVICE(0x1E29, 0x0102) }, /* Festo CPX-USB */
{ USB_DEVICE(0x1E29, 0x0501) }, /* Festo CMSP */
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 50/94] ARM: EXYNOS: Update secondary boot addr for secure mode

2014-07-15 Thread Sam Asadi
From: Sachin Kamat 

Almost all Exynos-series of SoCs that run in secure mode don't need
additional offset for every CPU, with Exynos4412 being the only
exception.

Tested on Origen-Quad (Exynos4412) and Arndale-Octa (Exynos5420).

While at it, fix the coding style (space around *).

Signed-off-by: Sachin Kamat 
Signed-off-by: Tushar Behera 
Tested-by: Andreas Faerber 
Signed-off-by: Kukjin Kim 
Signed-off-by: sam-the-6 
---
 arch/arm/mach-exynos/firmware.c |9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-exynos/firmware.c b/arch/arm/mach-exynos/firmware.c
index eb91d23..e8797bb 100644
--- a/arch/arm/mach-exynos/firmware.c
+++ b/arch/arm/mach-exynos/firmware.c
@@ -57,8 +57,13 @@ static int exynos_set_cpu_boot_addr(int cpu, unsigned long 
boot_addr)
 
boot_reg = sysram_ns_base_addr + 0x1c;
 
-   if (!soc_is_exynos4212() && !soc_is_exynos3250())
-   boot_reg += 4*cpu;
+   /*
+* Almost all Exynos-series of SoCs that run in secure mode don't need
+* additional offset for every CPU, with Exynos4412 being the only
+* exception.
+*/
+   if (soc_is_exynos4412())
+   boot_reg += 4 * cpu;
 
__raw_writel(boot_addr, boot_reg);
return 0;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 42/94] ARM: DRA7/AM43XX: fix header definition for omap44xx_restart

2014-07-15 Thread Sam Asadi
From: Nishanth Menon 

omap44xx_restart is defined as a static void inline when DRA7/AM437X is
defined alone, which implies that the restart function is no longer
functional even though it is built in. So, fix the definition of the
same.

Signed-off-by: Nishanth Menon 
Signed-off-by: Tony Lindgren 
Signed-off-by: sam-the-6 
---
 arch/arm/mach-omap2/common.h |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h
index b2d252b..dc571f1 100644
--- a/arch/arm/mach-omap2/common.h
+++ b/arch/arm/mach-omap2/common.h
@@ -162,7 +162,8 @@ static inline void omap3xxx_restart(enum reboot_mode mode, 
const char *cmd)
 }
 #endif
 
-#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5)
+#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) || \
+   defined(CONFIG_SOC_DRA7XX) || defined(CONFIG_SOC_AM43XX)
 void omap44xx_restart(enum reboot_mode mode, const char *cmd);
 #else
 static inline void omap44xx_restart(enum reboot_mode mode, const char *cmd)
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 38/94] ARM: OMAP2+: clock/dpll: fix _dpll_test_fint arithmetics overflow

2014-07-15 Thread Sam Asadi
From: Tero Kristo 

The divider value provided to the _dpll_test_fint can reach value of
256 with J type DPLLs (USB etc.), which causes an overflow with the u8
datatype. Fix this by changing the parameter to be an int instead.

Signed-off-by: Tero Kristo 
[p...@pwsan.com: changed type of 'n' to unsigned int]
Signed-off-by: Paul Walmsley 
Signed-off-by: sam-the-6 
---
 arch/arm/mach-omap2/clkt_dpll.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-omap2/clkt_dpll.c b/arch/arm/mach-omap2/clkt_dpll.c
index 332af92..67fd26a 100644
--- a/arch/arm/mach-omap2/clkt_dpll.c
+++ b/arch/arm/mach-omap2/clkt_dpll.c
@@ -76,7 +76,7 @@
  * (assuming that it is counting N upwards), or -2 if the enclosing loop
  * should skip to the next iteration (again assuming N is increasing).
  */
-static int _dpll_test_fint(struct clk_hw_omap *clk, u8 n)
+static int _dpll_test_fint(struct clk_hw_omap *clk, unsigned int n)
 {
struct dpll_data *dd;
long fint, fint_min, fint_max;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 26/94] iio: hid-sensor-accel-3d: Fix return values

2014-07-15 Thread Sam Asadi
From: Sachin Kamat 

IIO_CHAN_INFO_SAMP_FREQ and IIO_CHAN_INFO_HYSTERESIS cases ignored
the actual return values (which could be -EINVAL) and instead
returned IIO_VAL_INT_PLUS_MICRO always. Return the actual value
obtained from the functions. Both functions return IIO_VAL_INT_PLUS_MICRO
upon success.

Signed-off-by: Sachin Kamat 
Cc: Srinivas Pandruvada 
Signed-off-by: Jonathan Cameron 
Signed-off-by: sam-the-6 
---
 drivers/iio/accel/hid-sensor-accel-3d.c |7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/accel/hid-sensor-accel-3d.c 
b/drivers/iio/accel/hid-sensor-accel-3d.c
index 69abf91..54e464e 100644
--- a/drivers/iio/accel/hid-sensor-accel-3d.c
+++ b/drivers/iio/accel/hid-sensor-accel-3d.c
@@ -110,7 +110,6 @@ static int accel_3d_read_raw(struct iio_dev *indio_dev,
struct accel_3d_state *accel_state = iio_priv(indio_dev);
int report_id = -1;
u32 address;
-   int ret;
int ret_type;
s32 poll_value;
 
@@ -151,14 +150,12 @@ static int accel_3d_read_raw(struct iio_dev *indio_dev,
ret_type = IIO_VAL_INT;
break;
case IIO_CHAN_INFO_SAMP_FREQ:
-   ret = hid_sensor_read_samp_freq_value(
+   ret_type = hid_sensor_read_samp_freq_value(
_state->common_attributes, val, val2);
-   ret_type = IIO_VAL_INT_PLUS_MICRO;
break;
case IIO_CHAN_INFO_HYSTERESIS:
-   ret = hid_sensor_read_raw_hyst_value(
+   ret_type = hid_sensor_read_raw_hyst_value(
_state->common_attributes, val, val2);
-   ret_type = IIO_VAL_INT_PLUS_MICRO;
break;
default:
ret_type = -EINVAL;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 37/94] ARM: DRA7: hwmod: Add SYSCONFIG for usb_otg_ss

2014-07-15 Thread Sam Asadi
From: Roger Quadros 

Add the sysconfig class bits for the Super Speed USB
controllers

Signed-off-by: Roger Quadros 
Reviewed-by: Rajendra Nayak 
Tested-by: Sekhar Nori 
Signed-off-by: Paul Walmsley 
Signed-off-by: sam-the-6 
---
 arch/arm/mach-omap2/omap_hwmod_7xx_data.c |   12 
 1 file changed, 12 insertions(+)

diff --git a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c 
b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
index 1209266..284324f 100644
--- a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
@@ -1727,8 +1727,20 @@ static struct omap_hwmod dra7xx_uart6_hwmod = {
  *
  */
 
+static struct omap_hwmod_class_sysconfig dra7xx_usb_otg_ss_sysc = {
+   .rev_offs   = 0x,
+   .sysc_offs  = 0x0010,
+   .sysc_flags = (SYSC_HAS_DMADISABLE | SYSC_HAS_MIDLEMODE |
+  SYSC_HAS_SIDLEMODE),
+   .idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
+  SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
+  MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
+   .sysc_fields= _hwmod_sysc_type2,
+};
+
 static struct omap_hwmod_class dra7xx_usb_otg_ss_hwmod_class = {
.name   = "usb_otg_ss",
+   .sysc   = _usb_otg_ss_sysc,
 };
 
 /* usb_otg_ss1 */
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 43/94] ARM: dts: dra7-evm: Make VDDA_1V8_PHY supply always on

2014-07-15 Thread Sam Asadi
From: Roger Quadros 

After clarification from the hardware team it was found that
this 1.8V PHY supply can't be switched OFF when SoC is Active.

Since the PHY IPs don't contain isolation logic built in the design to
allow the power rail to be switched off, there is a very high risk
of IP reliability and additional leakage paths which can result in
additional power consumption.

The only scenario where this rail can be switched off is part of Power on
reset sequencing, but it needs to be kept always-on during operation.

This patch is required for proper functionality of USB, SATA
and PCIe on DRA7-evm.

CC: Rajendra Nayak 
CC: Tero Kristo 
Signed-off-by: Roger Quadros 
Signed-off-by: Tony Lindgren 
Signed-off-by: sam-the-6 
---
 arch/arm/boot/dts/dra7-evm.dts |1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/dra7-evm.dts b/arch/arm/boot/dts/dra7-evm.dts
index 4adc280..8308954 100644
--- a/arch/arm/boot/dts/dra7-evm.dts
+++ b/arch/arm/boot/dts/dra7-evm.dts
@@ -240,6 +240,7 @@
regulator-name = "ldo3";
regulator-min-microvolt = <180>;
regulator-max-microvolt = <180>;
+   regulator-always-on;
regulator-boot-on;
};
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 51/94] ARM: dts: Update the parent for Audss clocks in Exynos5420

2014-07-15 Thread Sam Asadi
From: Tushar Behera 

Currently CLK_FOUT_EPLL was set as one of the parents of AUDSS mux.
As per the user manual, it should be CLK_MAU_EPLL.

The problem surfaced when the bootloader in Peach-pit board set
the EPLL clock as the parent of AUDSS mux. While booting the kernel,
we used to get a system hang during late boot if CLK_MAU_EPLL was
disabled.

Signed-off-by: Tushar Behera 
Signed-off-by: Shaik Ameer Basha 
Reported-by: Kevin Hilman 
Tested-by: Javier Martinez Canillas 
Tested-by: Doug Anderson 
Signed-off-by: Kukjin Kim 
Signed-off-by: sam-the-6 
---
 arch/arm/boot/dts/exynos5420.dtsi |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/exynos5420.dtsi 
b/arch/arm/boot/dts/exynos5420.dtsi
index e385322..79e9119 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -167,7 +167,7 @@
compatible = "samsung,exynos5420-audss-clock";
reg = <0x0381 0x0C>;
#clock-cells = <1>;
-   clocks = < CLK_FIN_PLL>, < CLK_FOUT_EPLL>,
+   clocks = < CLK_FIN_PLL>, < CLK_MAU_EPLL>,
 < CLK_SCLK_MAUDIO0>, < CLK_SCLK_MAUPCM0>;
clock-names = "pll_ref", "pll_in", "sclk_audio", "sclk_pcm_in";
};
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 76/94] ARM: at91: at91sam9x5: add clocks for usb device

2014-07-15 Thread Sam Asadi
From: Bo Shen 

Add clocks for usb device, or else switch to CCF, the gadget
won't work.

Reported-by: Jiri Prchal 
Signed-off-by: Bo Shen 
Acked-by: Alexandre Belloni 
Tested-by: Jiri Prchal 
Signed-off-by: Nicolas Ferre 
Signed-off-by: Olof Johansson 
Signed-off-by: sam-the-6 
---
 arch/arm/boot/dts/at91sam9x5.dtsi |2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi 
b/arch/arm/boot/dts/at91sam9x5.dtsi
index d6133f4..2ebc421 100644
--- a/arch/arm/boot/dts/at91sam9x5.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5.dtsi
@@ -1045,6 +1045,8 @@
reg = <0x0050 0x8
   0xf803c000 0x400>;
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 0>;
+   clocks = <>, <_clk>;
+   clock-names = "hclk", "pclk";
status = "disabled";
 
ep0 {
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 23/94] clocksource: exynos_mct: Fix ftrace

2014-07-15 Thread Sam Asadi
From: Doug Anderson 

In (93bfb76 clocksource: exynos_mct: register sched_clock callback) we
supported using the MCT as a scheduler clock.  We properly marked
exynos4_read_sched_clock() as notrace.  However, we then went and
called another function that _wasn't_ notrace.  That means if you do:

  cd /sys/kernel/debug/tracing/
  echo function_graph > current_tracer

You'll get a crash.

Fix this (but still let other readers of the MCT be trace-enabled) by
adding an extra function.  It's important to keep other users of MCT
traceable because the MCT is actually quite slow to access and we want
exynos4_frc_read() to show up in ftrace profiles if it's the
bottleneck.

Signed-off-by: Doug Anderson 
Signed-off-by: Kukjin Kim 
Signed-off-by: sam-the-6 
---
 drivers/clocksource/exynos_mct.c |9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c
index f71d55f..5ce99c0 100644
--- a/drivers/clocksource/exynos_mct.c
+++ b/drivers/clocksource/exynos_mct.c
@@ -162,7 +162,7 @@ static void exynos4_mct_frc_start(void)
exynos4_mct_write(reg, EXYNOS4_MCT_G_TCON);
 }
 
-static cycle_t exynos4_frc_read(struct clocksource *cs)
+static cycle_t notrace _exynos4_frc_read(void)
 {
unsigned int lo, hi;
u32 hi2 = __raw_readl(reg_base + EXYNOS4_MCT_G_CNT_U);
@@ -176,6 +176,11 @@ static cycle_t exynos4_frc_read(struct clocksource *cs)
return ((cycle_t)hi << 32) | lo;
 }
 
+static cycle_t exynos4_frc_read(struct clocksource *cs)
+{
+   return _exynos4_frc_read();
+}
+
 static void exynos4_frc_resume(struct clocksource *cs)
 {
exynos4_mct_frc_start();
@@ -192,7 +197,7 @@ struct clocksource mct_frc = {
 
 static u64 notrace exynos4_read_sched_clock(void)
 {
-   return exynos4_frc_read(_frc);
+   return _exynos4_frc_read();
 }
 
 static void __init exynos4_clocksource_init(void)
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 41/94] usb: option: Add ID for Telewell TW-LTE 4G v2

2014-07-15 Thread Sam Asadi
From: Bernd Wachter 

Add ID of the Telewell 4G v2 hardware to option driver to get legacy
serial interface working

Signed-off-by: Bernd Wachter 
Cc: 
Signed-off-by: Johan Hovold 
Signed-off-by: sam-the-6 
---
 drivers/usb/serial/option.c |2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index ac73f49..a968894 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -1487,6 +1487,8 @@ static const struct usb_device_id option_ids[] = {
.driver_info = (kernel_ulong_t)_intf2_blacklist },
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1426, 0xff, 0xff, 
0xff),  /* ZTE MF91 */
.driver_info = (kernel_ulong_t)_intf2_blacklist },
+   { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1428, 0xff, 0xff, 
0xff),  /* Telewell TW-LTE 4G v2 */
+   .driver_info = (kernel_ulong_t)_intf2_blacklist },
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1533, 0xff, 0xff, 
0xff) },
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1534, 0xff, 0xff, 
0xff) },
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1535, 0xff, 0xff, 
0xff) },
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 14/94] clk: s2mps11: Fix double free corruption during driver unbind

2014-07-15 Thread Sam Asadi
From: Krzysztof Kozlowski 

After unbinding the driver memory was corrupted by double free of
clk_lookup structure. This lead to OOPS when re-binding the driver
again.

The driver allocated memory for 'clk_lookup' with devm_kzalloc. During
driver removal this memory was freed twice: once by clkdev_drop() and
second by devm code.

Kernel panic log:
[   30.839284] Unable to handle kernel paging request at virtual address 
5f343173
[   30.846476] pgd = dee14000
[   30.849165] [5f343173] *pgd=
[   30.852703] Internal error: Oops: 805 [#1] PREEMPT SMP ARM
[   30.858166] Modules linked in:
[   30.861208] CPU: 0 PID: 1 Comm: bash Not tainted 
3.16.0-rc2-00239-g94bdf617b07e-dirty #40
[   30.869364] task: df478000 ti: df48 task.ti: df48
[   30.874752] PC is at clkdev_add+0x2c/0x38
[   30.878738] LR is at clkdev_add+0x18/0x38
[   30.882732] pc : []lr : []psr: 6013
[   30.882732] sp : df481e78  ip : 0001  fp : c0700ed8
[   30.894187] r10: 000c  r9 :   r8 : c07b0e3c
[   30.899396] r7 : 0002  r6 : df45f9d0  r5 : df421390  r4 : c0700d6c
[   30.905906] r3 : 5f343173  r2 : c0700d84  r1 : 6013  r0 : c0700d6c
[   30.912417] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
[   30.919534] Control: 10c53c7d  Table: 5ee1406a  DAC: 0015
[   30.925262] Process bash (pid: 1, stack limit = 0xdf480240)
[   30.930817] Stack: (0xdf481e78 to 0xdf482000)
[   30.935159] 1e60:   
1000 df6de610
[   30.943321] 1e80: df7f4558 c0355650 c05ec6ec c0700eb0 df6de600 df7f4510 
dec9d69c 0014
[   30.951480] 1ea0: 00167b48 df6de610 c0700e30 c0713518  c0700e30 
dec9d69c 0006
[   30.959639] 1ec0: 00167b48 c02c1b7c c02c1b64 df6de610 c07aff48 c02c0420 
c06fb150 c047cc20
[   30.967798] 1ee0: df6de610 df6de610 c0700e30 df6de644 c06fb150 000c 
dec9d690 c02bef90
[   30.975957] 1f00: dec9c6c0 dece4c00 df481f80 dece4c00 000c c02be73c 
000c c016ca8c
[   30.984116] 1f20: c016ca48   c016c1f4   
b6f18000 df481f80
[   30.992276] 1f40: df7f66c0 000c df48 df48 b6f18000 c011094c 
df47839c 6013
[   31.000435] 1f60:   df7f66c0 df7f66c0 000c df48 
b6f18000 c0110dd4
[   31.008594] 1f80:   000c b6ec05d8 000c b6f18000 
0004 c000f2a8
[   31.016753] 1fa0: 1000 c000f0e0 b6ec05d8 000c 0001 b6f18000 
000c 
[   31.024912] 1fc0: b6ec05d8 000c b6f18000 0004 000c 0001 
 00167b48
[   31.033071] 1fe0:  bed83a80 b6e004f0 b6e5122c 6010 0001 
 
[   31.041248] [] (clkdev_add) from [] 
(s2mps11_clk_probe+0x2b4/0x3b4)
[   31.049223] [] (s2mps11_clk_probe) from [] 
(platform_drv_probe+0x18/0x48)
[   31.057728] [] (platform_drv_probe) from [] 
(driver_probe_device+0x13c/0x384)
[   31.066579] [] (driver_probe_device) from [] 
(bind_store+0x88/0xd8)
[   31.074564] [] (bind_store) from [] 
(drv_attr_store+0x20/0x2c)
[   31.082118] [] (drv_attr_store) from [] 
(sysfs_kf_write+0x44/0x48)
[   31.090016] [] (sysfs_kf_write) from [] 
(kernfs_fop_write+0xc0/0x17c)
[   31.098176] [] (kernfs_fop_write) from [] 
(vfs_write+0xa0/0x1c4)
[   31.105899] [] (vfs_write) from [] (SyS_write+0x40/0x8c)
[   31.112931] [] (SyS_write) from [] 
(ret_fast_syscall+0x0/0x3c)
[   31.120481] Code: e2842018 e584501c e1a4 e885000c (e5835000)
[   31.126596] ---[ end trace efad45bfa3a61b05 ]---
[   31.131181] Kernel panic - not syncing: Fatal exception
[   31.136368] CPU1: stopping
[   31.139054] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G  D   
3.16.0-rc2-00239-g94bdf617b07e-dirty #40
[   31.148697] [] (unwind_backtrace) from [] 
(show_stack+0x10/0x14)
[   31.156419] [] (show_stack) from [] 
(dump_stack+0x80/0xcc)
[   31.163622] [] (dump_stack) from [] 
(handle_IPI+0x130/0x15c)
[   31.170998] [] (handle_IPI) from [] 
(gic_handle_irq+0x60/0x68)
[   31.178549] [] (gic_handle_irq) from [] 
(__irq_svc+0x40/0x70)
[   31.186009] Exception stack(0xdf4bdf88 to 0xdf4bdfd0)
[   31.191046] df80:   ffed    
df4bc000 c06d042c
[   31.199207] dfa0:  ffed c06d03c0  c070c288  
 df4bdfd0
[   31.207363] dfc0: c0010324 c0010328 6013 
[   31.212402] [] (__irq_svc) from [] 
(arch_cpu_idle+0x28/0x30)
[   31.219783] [] (arch_cpu_idle) from [] 
(cpu_startup_entry+0x2c4/0x3f0)
[   31.228027] [] (cpu_startup_entry) from [<400086c4>] (0x400086c4)
[   31.234968] ---[ end Kernel panic - not syncing: Fatal exception

Fixes: 7cc560dea415 ("clk: s2mps11: Add support for s2mps11")
Cc: 
Signed-off-by: Krzysztof Kozlowski 
Reviewed-by: Yadwinder Singh Brar 
Signed-off-by: Mike Turquette 
Signed-off-by: sam-the-6 
---
 drivers/clk/clk-s2mps11.c |7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c
index 9b7b585..3757e9e 100644
--- 

[PATCH 49/94] ARM: l2c: fix revision checking

2014-07-15 Thread Sam Asadi
From: Russell King 

The revision checking in l2c310_enable() was not correct; we were
masking the part number rather than the revision number.  Fix this
to use the correct macro.

Fixes: 4374d64933b1 ("ARM: l2c: add automatic enable of early BRESP")
Signed-off-by: Russell King 
Signed-off-by: sam-the-6 
---
 arch/arm/mm/cache-l2x0.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c
index 076172b..7c3fb41 100644
--- a/arch/arm/mm/cache-l2x0.c
+++ b/arch/arm/mm/cache-l2x0.c
@@ -664,7 +664,7 @@ static int l2c310_cpu_enable_flz(struct notifier_block *nb, 
unsigned long act, v
 
 static void __init l2c310_enable(void __iomem *base, u32 aux, unsigned 
num_lock)
 {
-   unsigned rev = readl_relaxed(base + L2X0_CACHE_ID) & 
L2X0_CACHE_ID_PART_MASK;
+   unsigned rev = readl_relaxed(base + L2X0_CACHE_ID) & 
L2X0_CACHE_ID_RTL_MASK;
bool cortex_a9 = read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9;
 
if (rev >= L310_CACHE_ID_RTL_R2P0) {
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 25/94] iio: hid-sensor-press: Fix return values

2014-07-15 Thread Sam Asadi
From: Sachin Kamat 

IIO_CHAN_INFO_SAMP_FREQ and IIO_CHAN_INFO_HYSTERESIS cases ignored
the actual return values (which could be -EINVAL) and instead
returned IIO_VAL_INT_PLUS_MICRO always. Return the actual value
obtained from the functions. Both functions return IIO_VAL_INT_PLUS_MICRO
upon success.

Agreed with by Srinivas.

Signed-off-by: Sachin Kamat 
Cc: Srinivas Pandruvada 
Signed-off-by: Jonathan Cameron 
Signed-off-by: sam-the-6 
---
 drivers/iio/pressure/hid-sensor-press.c |7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/pressure/hid-sensor-press.c 
b/drivers/iio/pressure/hid-sensor-press.c
index 1cd190c..2c0d2a4 100644
--- a/drivers/iio/pressure/hid-sensor-press.c
+++ b/drivers/iio/pressure/hid-sensor-press.c
@@ -78,7 +78,6 @@ static int press_read_raw(struct iio_dev *indio_dev,
struct press_state *press_state = iio_priv(indio_dev);
int report_id = -1;
u32 address;
-   int ret;
int ret_type;
s32 poll_value;
 
@@ -128,14 +127,12 @@ static int press_read_raw(struct iio_dev *indio_dev,
ret_type = IIO_VAL_INT;
break;
case IIO_CHAN_INFO_SAMP_FREQ:
-   ret = hid_sensor_read_samp_freq_value(
+   ret_type = hid_sensor_read_samp_freq_value(
_state->common_attributes, val, val2);
-   ret_type = IIO_VAL_INT_PLUS_MICRO;
break;
case IIO_CHAN_INFO_HYSTERESIS:
-   ret = hid_sensor_read_raw_hyst_value(
+   ret_type = hid_sensor_read_raw_hyst_value(
_state->common_attributes, val, val2);
-   ret_type = IIO_VAL_INT_PLUS_MICRO;
break;
default:
ret_type = -EINVAL;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 71/94] phy: sun4i: depend on RESET_CONTROLLER

2014-07-15 Thread Sam Asadi
From: Maxime Ripard 

The driver depend on the reset framework in a mandatory way. Make sure
reset_control_get is defined by adding this dependency in Kconfig

Signed-off-by: Maxime Ripard 
Reported-by: Arnd Bergmann 
Signed-off-by: Kishon Vijay Abraham I 
Signed-off-by: Greg Kroah-Hartman 
Signed-off-by: sam-the-6 
---
 drivers/phy/Kconfig |1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
index fcdfe7c..64b98d2 100644
--- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig
@@ -112,6 +112,7 @@ config PHY_EXYNOS5250_SATA
 config PHY_SUN4I_USB
tristate "Allwinner sunxi SoC USB PHY driver"
depends on ARCH_SUNXI && HAS_IOMEM && OF
+   depends on RESET_CONTROLLER
select GENERIC_PHY
help
  Enable this to support the transceiver that is part of Allwinner
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 20/94] ARM: dts: dra7xx-clocks: Fix the l3 and l4 clock rates

2014-07-15 Thread Sam Asadi
From: Rajendra Nayak 

Without the patch:
/debug/.../dpll_core_x2_ck/dpll_core_h12x2_ck # cat clk_rate
53200
/debug/.../dpll_core_x2_ck/dpll_core_h12x2_ck/l3_iclk_div # cat clk_rate
53200
/debug/.../dpll_core_x2_ck/dpll_core_h12x2_ck/l3_iclk_div/l4_root_clk_div # cat 
clk_rate
53200

With the patch:
/debug/.../dpll_core_x2_ck/dpll_core_h12x2_ck # cat clk_rate
53200
/debug/.../dpll_core_x2_ck/dpll_core_h12x2_ck/l3_iclk_div # cat clk_rate
26600
/debug/.../dpll_core_x2_ck/dpll_core_h12x2_ck/l3_iclk_div/l4_root_clk_div # cat 
clk_rate
13300

The l3 clock derived from core DPLL is actually a divider clock,
with the default divider set to 2. l4 then derived from l3 is a fixed factor
clock, but the fixed divider is 2 and not 1. Which means the l3 clock is
half of core DPLLs h12x2 and l4 is half of l3 (as seen with this patch)

Signed-off-by: Rajendra Nayak 
Signed-off-by: Tero Kristo 
Signed-off-by: sam-the-6 
---
 arch/arm/boot/dts/dra7xx-clocks.dtsi |   10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/dra7xx-clocks.dtsi 
b/arch/arm/boot/dts/dra7xx-clocks.dtsi
index c90c76d..dc7a292 100644
--- a/arch/arm/boot/dts/dra7xx-clocks.dtsi
+++ b/arch/arm/boot/dts/dra7xx-clocks.dtsi
@@ -673,10 +673,12 @@
 
l3_iclk_div: l3_iclk_div {
#clock-cells = <0>;
-   compatible = "fixed-factor-clock";
+   compatible = "ti,divider-clock";
+   ti,max-div = <2>;
+   ti,bit-shift = <4>;
+   reg = <0x0100>;
clocks = <_core_h12x2_ck>;
-   clock-mult = <1>;
-   clock-div = <1>;
+   ti,index-power-of-two;
};
 
l4_root_clk_div: l4_root_clk_div {
@@ -684,7 +686,7 @@
compatible = "fixed-factor-clock";
clocks = <_iclk_div>;
clock-mult = <1>;
-   clock-div = <1>;
+   clock-div = <2>;
};
 
video1_clk2_div: video1_clk2_div {
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 06/94] clk: samsung: fix several typos to fix boot on s3c2410

2014-07-15 Thread Sam Asadi
From: Vasily Khoruzhick 

There's a several typos in a driver: 2410 instead of S3C2410
and wrong argument to ARRAY_SIZE(). They prevent s3c2410
from properly booting.

Signed-off-by: Vasily Khoruzhick 
Reviewed-by: Heiko Stuebner 
Signed-off-by: Tomasz Figa 
Signed-off-by: sam-the-6 
---
 drivers/clk/samsung/clk-s3c2410.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/samsung/clk-s3c2410.c 
b/drivers/clk/samsung/clk-s3c2410.c
index ba07168..bd9a873 100644
--- a/drivers/clk/samsung/clk-s3c2410.c
+++ b/drivers/clk/samsung/clk-s3c2410.c
@@ -378,7 +378,7 @@ void __init s3c2410_common_clk_init(struct device_node *np, 
unsigned long xti_f,
if (!np)
s3c2410_common_clk_register_fixed_ext(ctx, xti_f);
 
-   if (current_soc == 2410) {
+   if (current_soc == S3C2410) {
if (_get_rate("xti") == 12 * MHZ) {
s3c2410_plls[mpll].rate_table = pll_s3c2410_12mhz_tbl;
s3c2410_plls[upll].rate_table = pll_s3c2410_12mhz_tbl;
@@ -432,7 +432,7 @@ void __init s3c2410_common_clk_init(struct device_node *np, 
unsigned long xti_f,
samsung_clk_register_fixed_factor(ctx, s3c2410_ffactor,
ARRAY_SIZE(s3c2410_ffactor));
samsung_clk_register_alias(ctx, s3c2410_aliases,
-   ARRAY_SIZE(s3c2410_common_aliases));
+   ARRAY_SIZE(s3c2410_aliases));
break;
case S3C2440:
samsung_clk_register_mux(ctx, s3c2440_muxes,
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 05/94] clk: ti: set CLK_SET_RATE_NO_REPARENT for ti,mux-clock

2014-07-15 Thread Sam Asadi
From: Tomi Valkeinen 

When setting the rate of a clock, by default the clock framework will
change the parent of the clock to the most suitable one in
__clk_mux_determine_rate() (most suitable by looking at the clock rate).

This is a rather dangerous default, and causes problems on AM43x when
using display and ethernet. There are multiple ways to select the clock
muxes on AM43x, and some of those clock paths have the same source
clocks for display and ethernet. When changing the clock rate for the
display subsystem, the clock framework decides to change the display mux
from the dedicated display PLL to a shared PLL which is used by the
ethernet, and then changes the rate of the shared PLL, breaking the
ethernet.

As I don't think there ever is a case where we want the clock framework
to automatically change the parent clock of a clock mux, this patch sets
the CLK_SET_RATE_NO_REPARENT for all ti,mux-clocks.

Signed-off-by: Tomi Valkeinen 
Reviewed-by: Paul Walmsley 
Tested-by: Felipe Balbi 
Signed-off-by: Tero Kristo 
Signed-off-by: sam-the-6 
---
 drivers/clk/ti/mux.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/ti/mux.c b/drivers/clk/ti/mux.c
index 0197a47..e9d650e 100644
--- a/drivers/clk/ti/mux.c
+++ b/drivers/clk/ti/mux.c
@@ -160,7 +160,7 @@ static void of_mux_clk_setup(struct device_node *node)
u8 clk_mux_flags = 0;
u32 mask = 0;
u32 shift = 0;
-   u32 flags = 0;
+   u32 flags = CLK_SET_RATE_NO_REPARENT;
 
num_parents = of_clk_get_parent_count(node);
if (num_parents < 2) {
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 08/94] clk: samsung: exynos4: Remove SRC_MASK_ISP gates

2014-07-15 Thread Sam Asadi
From: Tomasz Figa 

ISP special clocks have dedicated gating registers and so MUX SRC_MASK
register should not be used. This patch fixes the problem of
Exynos4x12-based boards freezing on system suspend, because those
mux outputs need not to be masked while suspending.

Signed-off-by: Tomasz Figa 
Cc: Mike Turquette 
Signed-off-by: sam-the-6 
---
 drivers/clk/samsung/clk-exynos4.c |   16 
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/drivers/clk/samsung/clk-exynos4.c 
b/drivers/clk/samsung/clk-exynos4.c
index 4f150c9..7f4a473 100644
--- a/drivers/clk/samsung/clk-exynos4.c
+++ b/drivers/clk/samsung/clk-exynos4.c
@@ -925,21 +925,13 @@ static struct samsung_gate_clock exynos4x12_gate_clks[] 
__initdata = {
GATE(CLK_RTC, "rtc", "aclk100", E4X12_GATE_IP_PERIR, 15,
0, 0),
GATE(CLK_KEYIF, "keyif", "aclk100", E4X12_GATE_IP_PERIR, 16, 0, 0),
-   GATE(CLK_SCLK_PWM_ISP, "sclk_pwm_isp", "div_pwm_isp",
-   E4X12_SRC_MASK_ISP, 0, CLK_SET_RATE_PARENT, 0),
-   GATE(CLK_SCLK_SPI0_ISP, "sclk_spi0_isp", "div_spi0_isp_pre",
-   E4X12_SRC_MASK_ISP, 4, CLK_SET_RATE_PARENT, 0),
-   GATE(CLK_SCLK_SPI1_ISP, "sclk_spi1_isp", "div_spi1_isp_pre",
-   E4X12_SRC_MASK_ISP, 8, CLK_SET_RATE_PARENT, 0),
-   GATE(CLK_SCLK_UART_ISP, "sclk_uart_isp", "div_uart_isp",
-   E4X12_SRC_MASK_ISP, 12, CLK_SET_RATE_PARENT, 0),
-   GATE(CLK_PWM_ISP_SCLK, "pwm_isp_sclk", "sclk_pwm_isp",
+   GATE(CLK_PWM_ISP_SCLK, "pwm_isp_sclk", "div_pwm_isp",
E4X12_GATE_IP_ISP, 0, 0, 0),
-   GATE(CLK_SPI0_ISP_SCLK, "spi0_isp_sclk", "sclk_spi0_isp",
+   GATE(CLK_SPI0_ISP_SCLK, "spi0_isp_sclk", "div_spi0_isp_pre",
E4X12_GATE_IP_ISP, 1, 0, 0),
-   GATE(CLK_SPI1_ISP_SCLK, "spi1_isp_sclk", "sclk_spi1_isp",
+   GATE(CLK_SPI1_ISP_SCLK, "spi1_isp_sclk", "div_spi1_isp_pre",
E4X12_GATE_IP_ISP, 2, 0, 0),
-   GATE(CLK_UART_ISP_SCLK, "uart_isp_sclk", "sclk_uart_isp",
+   GATE(CLK_UART_ISP_SCLK, "uart_isp_sclk", "div_uart_isp",
E4X12_GATE_IP_ISP, 3, 0, 0),
GATE(CLK_WDT, "watchdog", "aclk100", E4X12_GATE_IP_PERIR, 14, 0, 0),
GATE(CLK_PCM0, "pcm0", "aclk100", E4X12_GATE_IP_MAUDIO, 2,
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 13/94] Update imx-sdma cyclic handling to report residue

2014-07-15 Thread Sam Asadi
From: Russell King - ARM Linux 

I received a report this morning from one of the Novena developers that
the behaviour of the iMX6 ASoC codec driver (using imx-pcm-dma.c) was
sub-optimal under high system load.

While there are issues relating to system load remaining, upon reviewing
the ASoC imx-pcm-dma.c driver, it was noticed that it not using the
residue support, because SDMA doesn't support it.  This has the effect
that SDMA has to make multiple calls into the ASoC and ALSA code, one
for each period.

Since ALSA's snd_pcm_elapsed() does not need to be called multiple times
and it is entirely sufficient to call it once to update ALSA with the
current buffer position via the pointer method, we can do better here.
We can also avoid stopping the DMA entirely, just like real cyclic DMA
implementations behave.  While this means that we replay some old samples,
this is a nicer behaviour than having audio stop and restart.

The changes to achieve this are relatively minor - imx-sdma.c can track
where the DMA is to the nearest descriptor boundary - it does this
already when deciding how many callbacks to issue.  In doing this,
buf_tail always points at the descriptor which will complete next.

The residue is defined by the bytes remaining to the end of the buffer,
when the buffer is viewed as a single block of memory [start...end].
So, when we start out, there's a full buffer worth of residue, and this
counts down as we approach the end of the buffer, eventually becoming
zero at the end, before returning to the full buffer worth when we
wrap back to the start.

Moving the walking of the descriptors into the interrupt handler means
that we can update the BD_DONE flag at interrupt time, thus avoiding
a delayed tasklet stopping the cyclic DMA.

This means that the residue can be calculated from (total descriptors -
buf_tail) * descriptor size.  This is what the change below does.  We
update imx-pcm-dma.c to remove the NO_RESIDUE flag since we now provide
the residue.

Signed-off-by: Russell King 
Tested-by: Shawn Guo 
Signed-off-by: Vinod Koul 
Signed-off-by: sam-the-6 
---
 drivers/dma/imx-sdma.c  |   22 ++
 sound/soc/fsl/imx-pcm-dma.c |1 -
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
index 1287146..14867e3 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -255,6 +255,7 @@ struct sdma_channel {
enum dma_slave_buswidth word_size;
unsigned intbuf_tail;
unsigned intnum_bd;
+   unsigned intperiod_len;
struct sdma_buffer_descriptor   *bd;
dma_addr_t  bd_phys;
unsigned intpc_from_device, pc_to_device;
@@ -593,6 +594,12 @@ static void sdma_event_disable(struct sdma_channel *sdmac, 
unsigned int event)
 
 static void sdma_handle_channel_loop(struct sdma_channel *sdmac)
 {
+   if (sdmac->desc.callback)
+   sdmac->desc.callback(sdmac->desc.callback_param);
+}
+
+static void sdma_update_channel_loop(struct sdma_channel *sdmac)
+{
struct sdma_buffer_descriptor *bd;
 
/*
@@ -611,9 +618,6 @@ static void sdma_handle_channel_loop(struct sdma_channel 
*sdmac)
bd->mode.status |= BD_DONE;
sdmac->buf_tail++;
sdmac->buf_tail %= sdmac->num_bd;
-
-   if (sdmac->desc.callback)
-   sdmac->desc.callback(sdmac->desc.callback_param);
}
 }
 
@@ -669,6 +673,9 @@ static irqreturn_t sdma_int_handler(int irq, void *dev_id)
int channel = fls(stat) - 1;
struct sdma_channel *sdmac = >channel[channel];
 
+   if (sdmac->flags & IMX_DMA_SG_LOOP)
+   sdma_update_channel_loop(sdmac);
+
tasklet_schedule(>tasklet);
 
__clear_bit(channel, );
@@ -1129,6 +1136,7 @@ static struct dma_async_tx_descriptor 
*sdma_prep_dma_cyclic(
sdmac->status = DMA_IN_PROGRESS;
 
sdmac->buf_tail = 0;
+   sdmac->period_len = period_len;
 
sdmac->flags |= IMX_DMA_SG_LOOP;
sdmac->direction = direction;
@@ -1225,9 +1233,15 @@ static enum dma_status sdma_tx_status(struct dma_chan 
*chan,
  struct dma_tx_state *txstate)
 {
struct sdma_channel *sdmac = to_sdma_chan(chan);
+   u32 residue;
+
+   if (sdmac->flags & IMX_DMA_SG_LOOP)
+   residue = (sdmac->num_bd - sdmac->buf_tail) * sdmac->period_len;
+   else
+   residue = sdmac->chn_count - sdmac->chn_real_count;
 
dma_set_tx_state(txstate, chan->completed_cookie, chan->cookie,
-   sdmac->chn_count - sdmac->chn_real_count);
+residue);
 
return sdmac->status;
 }
diff --git a/sound/soc/fsl/imx-pcm-dma.c b/sound/soc/fsl/imx-pcm-dma.c
index 0849b7b..0db94f49 100644
--- 

[PATCH 15/94] clk: sunxi: fix devm_ioremap_resource error detection code

2014-07-15 Thread Sam Asadi
From: Himangi Saraogi 

devm_ioremap_resource returns an ERR_PTR value, not NULL, on failure.

A simplified version of the semantic match that finds this problem is as
follows:

// 
@@
expression e,e1;
statement S;
@@

*e = devm_ioremap_resource(...);
if (!e1) S

// 

Signed-off-by: Himangi Saraogi 
Acked-by: Julia Lawall 
Acked-by Boris BREZILLON 
Signed-off-by: Mike Turquette 
Signed-off-by: sam-the-6 
---
 drivers/clk/sunxi/clk-sun6i-apb0-gates.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/sunxi/clk-sun6i-apb0-gates.c 
b/drivers/clk/sunxi/clk-sun6i-apb0-gates.c
index 44cd27c..670f90d 100644
--- a/drivers/clk/sunxi/clk-sun6i-apb0-gates.c
+++ b/drivers/clk/sunxi/clk-sun6i-apb0-gates.c
@@ -29,7 +29,7 @@ static int sun6i_a31_apb0_gates_clk_probe(struct 
platform_device *pdev)
 
r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
reg = devm_ioremap_resource(>dev, r);
-   if (!reg)
+   if (IS_ERR(reg))
return PTR_ERR(reg);
 
clk_parent = of_clk_get_parent_name(np, 0);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 10/94] clk/exynos5250: fix bit number for tv sysmmu clock

2014-07-15 Thread Sam Asadi
From: Rahul Sharma 

Change bit from 2 to 9 for tv (mixer) sysmmu clock.

Signed-off-by: Rahul Sharma 
Reviewed-by: Sachin Kamat 
Acked-by: Kukjin Kim 
Signed-off-by: Tomasz Figa 
Signed-off-by: sam-the-6 
---
 drivers/clk/samsung/clk-exynos5250.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/samsung/clk-exynos5250.c 
b/drivers/clk/samsung/clk-exynos5250.c
index 1fad4c5..184f642 100644
--- a/drivers/clk/samsung/clk-exynos5250.c
+++ b/drivers/clk/samsung/clk-exynos5250.c
@@ -661,7 +661,7 @@ static struct samsung_gate_clock exynos5250_gate_clks[] 
__initdata = {
GATE(CLK_RTC, "rtc", "div_aclk66", GATE_IP_PERIS, 20, 0, 0),
GATE(CLK_TMU, "tmu", "div_aclk66", GATE_IP_PERIS, 21, 0, 0),
GATE(CLK_SMMU_TV, "smmu_tv", "mout_aclk200_disp1_sub",
-   GATE_IP_DISP1, 2, 0, 0),
+   GATE_IP_DISP1, 9, 0, 0),
GATE(CLK_SMMU_FIMD1, "smmu_fimd1", "mout_aclk200_disp1_sub",
GATE_IP_DISP1, 8, 0, 0),
GATE(CLK_SMMU_2D, "smmu_2d", "div_aclk200", GATE_IP_ACP, 7, 0, 0),
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 12/94] dma: cppi41: handle 0-length packets

2014-07-15 Thread Sam Asadi
From: Daniel Mack 

When a 0-length packet is received on the bus, desc->pd0 yields 1,
which confuses the driver's users. This information is clearly wrong
and not in accordance to the datasheet, but it's been observed on an
AM335x board, very reproducible.

Fix this by looking at bit 19 in PD2 of the completed packet. This bit
will tell us if a zero-length packet was received on a queue. If it's
set, ignore the value in PD0 and report a total length of 0 instead.

Signed-off-by: Daniel Mack 
Signed-off-by: Vinod Koul 
Signed-off-by: sam-the-6 
---
 drivers/dma/cppi41.c |   13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/drivers/dma/cppi41.c b/drivers/dma/cppi41.c
index d028f36..8f8b0b6 100644
--- a/drivers/dma/cppi41.c
+++ b/drivers/dma/cppi41.c
@@ -86,6 +86,9 @@
 
 #define USBSS_IRQ_PD_COMP  (1 <<  2)
 
+/* Packet Descriptor */
+#define PD2_ZERO_LENGTH(1 << 19)
+
 struct cppi41_channel {
struct dma_chan chan;
struct dma_async_tx_descriptor txd;
@@ -307,7 +310,7 @@ static irqreturn_t cppi41_irq(int irq, void *data)
__iormb();
 
while (val) {
-   u32 desc;
+   u32 desc, len;
 
q_num = __fls(val);
val &= ~(1 << q_num);
@@ -319,9 +322,13 @@ static irqreturn_t cppi41_irq(int irq, void *data)
q_num, desc);
continue;
}
-   c->residue = pd_trans_len(c->desc->pd6) -
-   pd_trans_len(c->desc->pd0);
 
+   if (c->desc->pd2 & PD2_ZERO_LENGTH)
+   len = 0;
+   else
+   len = pd_trans_len(c->desc->pd0);
+
+   c->residue = pd_trans_len(c->desc->pd6) - len;
dma_cookie_complete(>txd);
c->txd.callback(c->txd.callback_param);
}
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 09/94] clk: s3c64xx: Hookup SPI clocks correctly

2014-07-15 Thread Sam Asadi
From: Charles Keepax 

In the move to this clock driver the hookups for the SPI clocks were
dropped, which causes my system Cragganmore (s3c6410 based) to be unable
to locate any spibus clocks. This patch adds them back in.

When taking the clock from the epll clock (SCLK) the rates on the SPI
bus are incorrect, this needs further debugging but the hookup here
should be correct and the problem should be else where.

The USBCLK case has been dropped because this requires the USB PHY to be
enabled.

Signed-off-by: Charles Keepax 
Signed-off-by: Tomasz Figa 
Signed-off-by: sam-the-6 
---
 drivers/clk/samsung/clk-s3c64xx.c |6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/samsung/clk-s3c64xx.c 
b/drivers/clk/samsung/clk-s3c64xx.c
index efa16ee..8889ff1c 100644
--- a/drivers/clk/samsung/clk-s3c64xx.c
+++ b/drivers/clk/samsung/clk-s3c64xx.c
@@ -418,8 +418,10 @@ static struct samsung_clock_alias s3c64xx_clock_aliases[] 
= {
ALIAS(SCLK_MMC2, "s3c-sdhci.2", "mmc_busclk.2"),
ALIAS(SCLK_MMC1, "s3c-sdhci.1", "mmc_busclk.2"),
ALIAS(SCLK_MMC0, "s3c-sdhci.0", "mmc_busclk.2"),
-   ALIAS(SCLK_SPI1, "s3c6410-spi.1", "spi-bus"),
-   ALIAS(SCLK_SPI0, "s3c6410-spi.0", "spi-bus"),
+   ALIAS(PCLK_SPI1, "s3c6410-spi.1", "spi_busclk0"),
+   ALIAS(SCLK_SPI1, "s3c6410-spi.1", "spi_busclk2"),
+   ALIAS(PCLK_SPI0, "s3c6410-spi.0", "spi_busclk0"),
+   ALIAS(SCLK_SPI0, "s3c6410-spi.0", "spi_busclk2"),
ALIAS(SCLK_AUDIO1, "samsung-pcm.1", "audio-bus"),
ALIAS(SCLK_AUDIO1, "samsung-i2s.1", "audio-bus"),
ALIAS(SCLK_AUDIO0, "samsung-pcm.0", "audio-bus"),
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 17/94] ARM: kprobes: Disallow instructions with PC and register specified shift

2014-07-15 Thread Sam Asadi
From: Jon Medhurst 

ARM data processing instructions which have a register specified shift
are defined as UNPREDICTABLE if PC is used for any register, not just
the shift value as the code was previous assuming. This issue manifests
on A15 devices as either test case failures or undefined instructions
aborts.

Reported-by: David Long 
Signed-off-by: Jon Medhurst 
Signed-off-by: sam-the-6 
---
 arch/arm/kernel/kprobes-test-arm.c |   22 --
 arch/arm/kernel/probes-arm.c   |6 +++---
 2 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/arch/arm/kernel/kprobes-test-arm.c 
b/arch/arm/kernel/kprobes-test-arm.c
index 9db4b65..e73f9cf 100644
--- a/arch/arm/kernel/kprobes-test-arm.c
+++ b/arch/arm/kernel/kprobes-test-arm.c
@@ -74,8 +74,6 @@ void kprobe_arm_test_cases(void)
TEST_RRR( op "lt" s "   r11, r",11,VAL1,", r",14,N(val),", asr r",7, 
6,"")\
TEST_RR(  op "gt" s "   r12, r13"   ", r",14,val, ", ror 
r",14,7,"")\
TEST_RR(  op "le" s "   r14, r",0, val, ", r13"   ", lsl 
r",14,8,"")\
-   TEST_RR(  op s "r12, pc"", r",14,val, ", ror 
r",14,7,"")\
-   TEST_RR(  op s "r14, r",0, val, ", pc"", lsl 
r",14,8,"")\
TEST_R(   op "eq" s "   r0,  r",11,VAL1,", #0xf5")  
\
TEST_R(   op "ne" s "   r11, r",0, VAL1,", #0xf500")
\
TEST_R(   op s "r7,  r",8, VAL2,", #0x000af000")
\
@@ -103,8 +101,6 @@ void kprobe_arm_test_cases(void)
TEST_RRR( op "ger",11,VAL1,", r",14,N(val),", asr r",7, 6,"")   
\
TEST_RR(  op "ler13"   ", r",14,val, ", ror r",14,7,"") 
\
TEST_RR(  op "gtr",0, val, ", r13"   ", lsl r",14,8,"") 
\
-   TEST_RR(  op "  pc"", r",14,val, ", ror r",14,7,"") 
\
-   TEST_RR(  op "  r",0, val, ", pc"", lsl r",14,8,"") 
\
TEST_R(   op "eqr",11,VAL1,", #0xf5")   
\
TEST_R(   op "ner",0, VAL1,", #0xf500") 
\
TEST_R(   op "  r",8, VAL2,", #0x000af000")
@@ -125,7 +121,6 @@ void kprobe_arm_test_cases(void)
TEST_RR(  op "ge" s "   r11, r",11,N(val),", asr r",7, 6,"")\
TEST_RR(  op "lt" s "   r12, r",11,val, ", ror r",14,7,"")  \
TEST_R(   op "gt" s "   r14, r13"   ", lsl r",14,8,"")  \
-   TEST_R(   op "le" s "   r14, pc"", lsl r",14,8,"")  \
TEST( op "eq" s "   r0,  #0xf5")\
TEST( op "ne" s "   r11, #0xf500")  \
TEST( op s "r7,  #0x000af000")  \
@@ -159,12 +154,19 @@ void kprobe_arm_test_cases(void)
TEST_SUPPORTED("cmp pc, #0x1000");
TEST_SUPPORTED("cmp sp, #0x1000");
 
-   /* Data-processing with PC as shift*/
+   /* Data-processing with PC and a shift count in a register */
TEST_UNSUPPORTED(__inst_arm(0xe15c0f1e) "   @ cmp   r12, r14, asl 
pc")
TEST_UNSUPPORTED(__inst_arm(0xe1a0cf1e) "   @ mov   r12, r14, asl 
pc")
TEST_UNSUPPORTED(__inst_arm(0xe08caf1e) "   @ add   r10, r12, r14, 
asl pc")
-
-   /* Data-processing with PC as shift*/
+   TEST_UNSUPPORTED(__inst_arm(0xe151021f) "   @ cmp   r1, pc, lsl r2")
+   TEST_UNSUPPORTED(__inst_arm(0xe17f0211) "   @ cmn   pc, r1, lsl r2")
+   TEST_UNSUPPORTED(__inst_arm(0xe1a0121f) "   @ mov   r1, pc, lsl r2")
+   TEST_UNSUPPORTED(__inst_arm(0xe1a0f211) "   @ mov   pc, r1, lsl r2")
+   TEST_UNSUPPORTED(__inst_arm(0xe042131f) "   @ sub   r1, r2, pc, lsl 
r3")
+   TEST_UNSUPPORTED(__inst_arm(0xe1cf1312) "   @ bic   r1, pc, r2, lsl 
r3")
+   TEST_UNSUPPORTED(__inst_arm(0xe081f312) "   @ add   pc, r1, r2, lsl 
r3")
+
+   /* Data-processing with PC as a target and status registers updated */
TEST_UNSUPPORTED("movs  pc, r1")
TEST_UNSUPPORTED("movs  pc, r1, lsl r2")
TEST_UNSUPPORTED("movs  pc, #0x1")
@@ -187,14 +189,14 @@ void kprobe_arm_test_cases(void)
TEST_BF_R ("add pc, pc, r",14,2f-1f-8,"")
TEST_BF_R ("add pc, r",14,2f-1f-8,", pc")
TEST_BF_R ("mov pc, r",0,2f,"")
-   TEST_BF_RR("mov pc, r",0,2f,", asl r",1,0,"")
+   TEST_BF_R ("add pc, pc, r",14,(2f-1f-8)*2,", asr #1")
TEST_BB(   "sub pc, pc, #1b-2b+8")
 #if __LINUX_ARM_ARCH__ == 6 && !defined(CONFIG_CPU_V7)
TEST_BB(   "sub pc, pc, #1b-2b+8-2") /* UNPREDICTABLE before and after 
ARMv6 */
 #endif
TEST_BB_R( "sub pc, pc, r",14, 1f-2f+8,"")
TEST_BB_R( "rsb pc, r",14,1f-2f+8,", pc")
-   TEST_RR(   "add pc, pc, r",10,-2,", asl r",11,1,"")
+   TEST_R("add pc, pc, r",10,-2,", asl #1")
 #ifdef CONFIG_THUMB2_KERNEL
TEST_ARM_TO_THUMB_INTERWORK_R("add  pc, pc, r",0,3f-1f-8+1,"")
TEST_ARM_TO_THUMB_INTERWORK_R("sub  pc, 

[PATCH 07/94] clk: samsung: add more aliases for s3c24xx

2014-07-15 Thread Sam Asadi
From: Vasily Khoruzhick 

Without these aliases clock lookup fails in s3c2410fb,
s3cmci, s3c2410-nand, s3c24xx-i2s, and i2c-s3c2410 drivers.

Signed-off-by: Vasily Khoruzhick 
Reviewed-by: Heiko Stuebner 
Signed-off-by: Tomasz Figa 
Signed-off-by: sam-the-6 
---
 drivers/clk/samsung/clk-s3c2410.c |5 +
 1 file changed, 5 insertions(+)

diff --git a/drivers/clk/samsung/clk-s3c2410.c 
b/drivers/clk/samsung/clk-s3c2410.c
index bd9a873..140f473 100644
--- a/drivers/clk/samsung/clk-s3c2410.c
+++ b/drivers/clk/samsung/clk-s3c2410.c
@@ -152,6 +152,11 @@ struct samsung_clock_alias s3c2410_common_aliases[] 
__initdata = {
ALIAS(HCLK, NULL, "hclk"),
ALIAS(MPLL, NULL, "mpll"),
ALIAS(FCLK, NULL, "fclk"),
+   ALIAS(PCLK, NULL, "watchdog"),
+   ALIAS(PCLK_SDI, NULL, "sdi"),
+   ALIAS(HCLK_NAND, NULL, "nand"),
+   ALIAS(PCLK_I2S, NULL, "iis"),
+   ALIAS(PCLK_I2C, NULL, "i2c"),
 };
 
 /* S3C2410 specific clocks */
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 02/94] clk: ti: apll: not allocating enough data

2014-07-15 Thread Sam Asadi
From: Dan Carpenter 

There is a cut and paste bug here which will lead to memory corruption
because we don't allocate enough data.

Fixes: 4d008589e271 ('CLK: TI: APLL: add support for omap2 aplls')
Signed-off-by: Dan Carpenter 
Signed-off-by: Tero Kristo 
Signed-off-by: sam-the-6 
---
 drivers/clk/ti/apll.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/ti/apll.c b/drivers/clk/ti/apll.c
index 5428c9c..18dbaf12 100644
--- a/drivers/clk/ti/apll.c
+++ b/drivers/clk/ti/apll.c
@@ -338,7 +338,7 @@ static void __init of_omap2_apll_setup(struct device_node 
*node)
const char *parent_name;
u32 val;
 
-   ad = kzalloc(sizeof(*clk_hw), GFP_KERNEL);
+   ad = kzalloc(sizeof(*ad), GFP_KERNEL);
clk_hw = kzalloc(sizeof(*clk_hw), GFP_KERNEL);
init = kzalloc(sizeof(*init), GFP_KERNEL);
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 16/94] ARM: kprobes: Prevent known test failures stopping other tests running

2014-07-15 Thread Sam Asadi
From: Jon Medhurst 

Due to a long-standing issue with Thumb symbol lookup [1] the jprobes
tests fail when built into a kernel compiled as Thumb mode. (They work
fine for ARM mode kernels or for Thumb when built as a loadable module.)

Rather than have this problem terminate testing prematurely lets instead
emit an error message and carry on with the main kprobes tests, delaying
the final failure report until the end.

[1] 
http://lists.infradead.org/pipermail/linux-arm-kernel/2011-August/063026.html

Signed-off-by: Jon Medhurst 
Signed-off-by: sam-the-6 
---
 arch/arm/kernel/kprobes-test.c |   10 ++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm/kernel/kprobes-test.c b/arch/arm/kernel/kprobes-test.c
index 3796399..08d7312 100644
--- a/arch/arm/kernel/kprobes-test.c
+++ b/arch/arm/kernel/kprobes-test.c
@@ -225,6 +225,7 @@ static int pre_handler_called;
 static int post_handler_called;
 static int jprobe_func_called;
 static int kretprobe_handler_called;
+static int tests_failed;
 
 #define FUNC_ARG1 0x12345678
 #define FUNC_ARG2 0xabcdef
@@ -461,6 +462,13 @@ static int run_api_tests(long (*func)(long, long))
 
pr_info("jprobe\n");
ret = test_jprobe(func);
+#if defined(CONFIG_THUMB2_KERNEL) && !defined(MODULE)
+   if (ret == -EINVAL) {
+   pr_err("FAIL: Known longtime bug with jprobe on Thumb 
kernels\n");
+   tests_failed = ret;
+   ret = 0;
+   }
+#endif
if (ret < 0)
return ret;
 
@@ -1672,6 +1680,8 @@ static int __init run_all_tests(void)
 
 out:
if (ret == 0)
+   ret = tests_failed;
+   if (ret == 0)
pr_info("Finished kprobe tests OK\n");
else
pr_err("kprobe tests failed\n");
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 11/94] clk: exynos5420: Remove aclk66_peric from the clock tree description

2014-07-15 Thread Sam Asadi
From: Doug Anderson 

The "aclk66_peric" clock is a gate clock with a whole bunch of gates
underneath it.  This big gate isn't very useful to include in our
clock tree.  If any of the children need to be turned on then the big
gate will need to be on anyway.  ...and there are plenty of other "big
gates" that aren't described in our clock tree, some of which shut off
collections of clocks that have no relationship in the hierarchy so
are hard to model.

"aclk66_peric" is causing earlyprintk problems since it gets disabled
as part of the boot process, so let's just remove it.

Strangely (and for no good reason) this clock is exported as part of
the common clock bindings.  Remove it since there are no in-kernel
device trees using it and no reason anyone out of tree should refer to
it either.

Signed-off-by: Doug Anderson 
Signed-off-by: Tomasz Figa 
Signed-off-by: sam-the-6 
---
 drivers/clk/samsung/clk-exynos5420.c   |   85 +---
 include/dt-bindings/clock/exynos5420.h |1 -
 2 files changed, 55 insertions(+), 31 deletions(-)

diff --git a/drivers/clk/samsung/clk-exynos5420.c 
b/drivers/clk/samsung/clk-exynos5420.c
index 9d7d7ee..61eccf0 100644
--- a/drivers/clk/samsung/clk-exynos5420.c
+++ b/drivers/clk/samsung/clk-exynos5420.c
@@ -890,8 +890,6 @@ static struct samsung_gate_clock exynos5x_gate_clks[] 
__initdata = {
GATE_BUS_TOP, 9, CLK_IGNORE_UNUSED, 0),
GATE(0, "aclk66_psgen", "mout_user_aclk66_psgen",
GATE_BUS_TOP, 10, CLK_IGNORE_UNUSED, 0),
-   GATE(CLK_ACLK66_PERIC, "aclk66_peric", "mout_user_aclk66_peric",
-   GATE_BUS_TOP, 11, CLK_IGNORE_UNUSED, 0),
GATE(0, "aclk266_isp", "mout_user_aclk266_isp",
GATE_BUS_TOP, 13, 0, 0),
GATE(0, "aclk166", "mout_user_aclk166",
@@ -994,34 +992,61 @@ static struct samsung_gate_clock exynos5x_gate_clks[] 
__initdata = {
SRC_MASK_FSYS, 24, CLK_SET_RATE_PARENT, 0),
 
/* PERIC Block */
-   GATE(CLK_UART0, "uart0", "aclk66_peric", GATE_IP_PERIC, 0, 0, 0),
-   GATE(CLK_UART1, "uart1", "aclk66_peric", GATE_IP_PERIC, 1, 0, 0),
-   GATE(CLK_UART2, "uart2", "aclk66_peric", GATE_IP_PERIC, 2, 0, 0),
-   GATE(CLK_UART3, "uart3", "aclk66_peric", GATE_IP_PERIC, 3, 0, 0),
-   GATE(CLK_I2C0, "i2c0", "aclk66_peric", GATE_IP_PERIC, 6, 0, 0),
-   GATE(CLK_I2C1, "i2c1", "aclk66_peric", GATE_IP_PERIC, 7, 0, 0),
-   GATE(CLK_I2C2, "i2c2", "aclk66_peric", GATE_IP_PERIC, 8, 0, 0),
-   GATE(CLK_I2C3, "i2c3", "aclk66_peric", GATE_IP_PERIC, 9, 0, 0),
-   GATE(CLK_USI0, "usi0", "aclk66_peric", GATE_IP_PERIC, 10, 0, 0),
-   GATE(CLK_USI1, "usi1", "aclk66_peric", GATE_IP_PERIC, 11, 0, 0),
-   GATE(CLK_USI2, "usi2", "aclk66_peric", GATE_IP_PERIC, 12, 0, 0),
-   GATE(CLK_USI3, "usi3", "aclk66_peric", GATE_IP_PERIC, 13, 0, 0),
-   GATE(CLK_I2C_HDMI, "i2c_hdmi", "aclk66_peric", GATE_IP_PERIC, 14, 0, 0),
-   GATE(CLK_TSADC, "tsadc", "aclk66_peric", GATE_IP_PERIC, 15, 0, 0),
-   GATE(CLK_SPI0, "spi0", "aclk66_peric", GATE_IP_PERIC, 16, 0, 0),
-   GATE(CLK_SPI1, "spi1", "aclk66_peric", GATE_IP_PERIC, 17, 0, 0),
-   GATE(CLK_SPI2, "spi2", "aclk66_peric", GATE_IP_PERIC, 18, 0, 0),
-   GATE(CLK_I2S1, "i2s1", "aclk66_peric", GATE_IP_PERIC, 20, 0, 0),
-   GATE(CLK_I2S2, "i2s2", "aclk66_peric", GATE_IP_PERIC, 21, 0, 0),
-   GATE(CLK_PCM1, "pcm1", "aclk66_peric", GATE_IP_PERIC, 22, 0, 0),
-   GATE(CLK_PCM2, "pcm2", "aclk66_peric", GATE_IP_PERIC, 23, 0, 0),
-   GATE(CLK_PWM, "pwm", "aclk66_peric", GATE_IP_PERIC, 24, 0, 0),
-   GATE(CLK_SPDIF, "spdif", "aclk66_peric", GATE_IP_PERIC, 26, 0, 0),
-   GATE(CLK_USI4, "usi4", "aclk66_peric", GATE_IP_PERIC, 28, 0, 0),
-   GATE(CLK_USI5, "usi5", "aclk66_peric", GATE_IP_PERIC, 30, 0, 0),
-   GATE(CLK_USI6, "usi6", "aclk66_peric", GATE_IP_PERIC, 31, 0, 0),
-
-   GATE(CLK_KEYIF, "keyif", "aclk66_peric", GATE_BUS_PERIC, 22, 0, 0),
+   GATE(CLK_UART0, "uart0", "mout_user_aclk66_peric",
+   GATE_IP_PERIC, 0, 0, 0),
+   GATE(CLK_UART1, "uart1", "mout_user_aclk66_peric",
+   GATE_IP_PERIC, 1, 0, 0),
+   GATE(CLK_UART2, "uart2", "mout_user_aclk66_peric",
+   GATE_IP_PERIC, 2, 0, 0),
+   GATE(CLK_UART3, "uart3", "mout_user_aclk66_peric",
+   GATE_IP_PERIC, 3, 0, 0),
+   GATE(CLK_I2C0, "i2c0", "mout_user_aclk66_peric",
+   GATE_IP_PERIC, 6, 0, 0),
+   GATE(CLK_I2C1, "i2c1", "mout_user_aclk66_peric",
+   GATE_IP_PERIC, 7, 0, 0),
+   GATE(CLK_I2C2, "i2c2", "mout_user_aclk66_peric",
+   GATE_IP_PERIC, 8, 0, 0),
+   GATE(CLK_I2C3, "i2c3", "mout_user_aclk66_peric",
+   GATE_IP_PERIC, 9, 0, 0),
+   GATE(CLK_USI0, "usi0", "mout_user_aclk66_peric",
+   GATE_IP_PERIC, 10, 0, 0),
+   

[PATCH 22/94] ARM: dts: fix pwm-cells in pwm node for exynos4

2014-07-15 Thread Sam Asadi
From: Jaewon Kim 

pwm-cells should be 3. Third cell is optional PWM flags. And This flag
supported by this binding is PWM_POLARITY_INVERTED.

Signed-off-by: Jaewon Kim 
Reviewed-by: Sachin Kamat 
Signed-off-by: Kukjin Kim 
Signed-off-by: sam-the-6 
---
 arch/arm/boot/dts/exynos4.dtsi |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi
index fbaf426..17b22e9 100644
--- a/arch/arm/boot/dts/exynos4.dtsi
+++ b/arch/arm/boot/dts/exynos4.dtsi
@@ -554,7 +554,7 @@
interrupts = <0 37 0>, <0 38 0>, <0 39 0>, <0 40 0>, <0 41 0>;
clocks = < CLK_PWM>;
clock-names = "timers";
-   #pwm-cells = <2>;
+   #pwm-cells = <3>;
status = "disabled";
};
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 33/94] ext4: clarify ext4_error message in ext4_mb_generate_buddy_error()

2014-07-15 Thread Sam Asadi
From: Theodore Ts'o 

We are spending a lot of time explaining to users what this error
means.  Let's try to improve the message to avoid this problem.

Signed-off-by: Theodore Ts'o 
Cc: sta...@vger.kernel.org
Signed-off-by: sam-the-6 
---
 fs/ext4/mballoc.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index 7f72f50..2dcb936 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -752,8 +752,8 @@ void ext4_mb_generate_buddy(struct super_block *sb,
 
if (free != grp->bb_free) {
ext4_grp_locked_error(sb, group, 0, 0,
- "%u clusters in bitmap, %u in gd; "
- "block bitmap corrupt.",
+ "block bitmap and bg descriptor "
+ "inconsistent: %u vs %u free clusters",
  free, grp->bb_free);
/*
 * If we intend to continue, we consider group descriptor
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 35/94] ARM: OMAP3: PRM/CM: Add back macros used by TI DSP/Bridge driver

2014-07-15 Thread Sam Asadi
From: Suman Anna 

The commit 7be914f {ARM: OMAP3: PRM/CM: Cleanup unused header} removed
some of the macros used by the TI DSP/Bridge driver. This fixes the
following build errors when trying to build DSP/Bridge driver (disabled
at present), otherwise results in the following build errors:

drivers/staging/tidspbridge/core/tiomap3430.c:531:31: error: 
'OMAP3430_AUTO_IVA2_DPLL_SHIFT' undeclared (first use in this function)
drivers/staging/tidspbridge/core/tiomap3430.c:531:31: note: each undeclared 
identifier is reported only once for each function it appears in
make[3]: *** [drivers/staging/tidspbridge/core/tiomap3430.o] Error 1
make[3]: *** Waiting for unfinished jobs
drivers/staging/tidspbridge/core/tiomap_io.c: In function 'sm_interrupt_dsp':
drivers/staging/tidspbridge/core/tiomap_io.c:404:31: error: 
'OMAP3430_AUTO_IVA2_DPLL_SHIFT' undeclared (first use in this function)
drivers/staging/tidspbridge/core/tiomap_io.c:404:31: note: each undeclared 
identifier is reported only once for each function it appears in
drivers/staging/tidspbridge/core/tiomap_io.c:414:12: error: 
'OMAP3430_IVA2_DPLL_FREQSEL_SHIFT' undeclared (first use in this function)
drivers/staging/tidspbridge/core/tiomap_io.c:415:12: error: 
'OMAP3430_EN_IVA2_DPLL_SHIFT' undeclared (first use in this function)
make[3]: *** [drivers/staging/tidspbridge/core/tiomap_io.o] Error 1
drivers/staging/tidspbridge/core/tiomap3430_pwr.c: In function 
'dsp_clk_wakeup_event_ctrl':
drivers/staging/tidspbridge/core/tiomap3430_pwr.c:442:19: error: 
'OMAP3430_GRPSEL_GPT5_MASK' undeclared (first use in this function)
drivers/staging/tidspbridge/core/tiomap3430_pwr.c:442:19: note: each undeclared 
identifier is reported only once for each function it appears in
drivers/staging/tidspbridge/core/tiomap3430_pwr.c:455:19: error: 
'OMAP3430_GRPSEL_GPT6_MASK' undeclared (first use in this function)
drivers/staging/tidspbridge/core/tiomap3430_pwr.c:468:19: error: 
'OMAP3430_GRPSEL_GPT7_MASK' undeclared (first use in this function)
drivers/staging/tidspbridge/core/tiomap3430_pwr.c:481:19: error: 
'OMAP3430_GRPSEL_GPT8_MASK' undeclared (first use in this function)
drivers/staging/tidspbridge/core/tiomap3430_pwr.c:494:19: error: 
'OMAP3430_GRPSEL_MCBSP1_MASK' undeclared (first use in this function)
drivers/staging/tidspbridge/core/tiomap3430_pwr.c:546:19: error: 
'OMAP3430_GRPSEL_MCBSP5_MASK' undeclared (first use in this function)
make[3]: *** [drivers/staging/tidspbridge/core/tiomap3430_pwr.o] Error 1
make[2]: *** [drivers/staging/tidspbridge] Error 2

Fixes: 7be914f (ARM: OMAP3: PRM/CM: Cleanup unused header)
Cc: Rajendra Nayak 
Cc: Paul Walmsley 
Signed-off-by: Suman Anna 
Signed-off-by: Paul Walmsley 
Signed-off-by: sam-the-6 
---
 arch/arm/mach-omap2/cm-regbits-34xx.h  |3 +++
 arch/arm/mach-omap2/prm-regbits-34xx.h |6 ++
 2 files changed, 9 insertions(+)

diff --git a/arch/arm/mach-omap2/cm-regbits-34xx.h 
b/arch/arm/mach-omap2/cm-regbits-34xx.h
index 04dab2f..ee6c784 100644
--- a/arch/arm/mach-omap2/cm-regbits-34xx.h
+++ b/arch/arm/mach-omap2/cm-regbits-34xx.h
@@ -26,11 +26,14 @@
 #define OMAP3430_EN_WDT3_SHIFT 12
 #define OMAP3430_CM_FCLKEN_IVA2_EN_IVA2_MASK   (1 << 0)
 #define OMAP3430_CM_FCLKEN_IVA2_EN_IVA2_SHIFT  0
+#define OMAP3430_IVA2_DPLL_FREQSEL_SHIFT   4
 #define OMAP3430_IVA2_DPLL_FREQSEL_MASK(0xf << 4)
 #define OMAP3430_EN_IVA2_DPLL_DRIFTGUARD_SHIFT 3
+#define OMAP3430_EN_IVA2_DPLL_SHIFT0
 #define OMAP3430_EN_IVA2_DPLL_MASK (0x7 << 0)
 #define OMAP3430_ST_IVA2_SHIFT 0
 #define OMAP3430_ST_IVA2_CLK_MASK  (1 << 0)
+#define OMAP3430_AUTO_IVA2_DPLL_SHIFT  0
 #define OMAP3430_AUTO_IVA2_DPLL_MASK   (0x7 << 0)
 #define OMAP3430_IVA2_CLK_SRC_SHIFT19
 #define OMAP3430_IVA2_CLK_SRC_WIDTH3
diff --git a/arch/arm/mach-omap2/prm-regbits-34xx.h 
b/arch/arm/mach-omap2/prm-regbits-34xx.h
index 106132d..cbefbd7 100644
--- a/arch/arm/mach-omap2/prm-regbits-34xx.h
+++ b/arch/arm/mach-omap2/prm-regbits-34xx.h
@@ -35,6 +35,8 @@
 #define OMAP3430_LOGICSTATEST_MASK (1 << 2)
 #define OMAP3430_LASTLOGICSTATEENTERED_MASK(1 << 2)
 #define OMAP3430_LASTPOWERSTATEENTERED_MASK(0x3 << 0)
+#define OMAP3430_GRPSEL_MCBSP5_MASK(1 << 10)
+#define OMAP3430_GRPSEL_MCBSP1_MASK(1 << 9)
 #define OMAP3630_GRPSEL_UART4_MASK (1 << 18)
 #define OMAP3430_GRPSEL_GPIO6_MASK (1 << 17)
 #define OMAP3430_GRPSEL_GPIO5_MASK (1 << 16)
@@ -42,6 +44,10 @@
 #define OMAP3430_GRPSEL_GPIO3_MASK (1 << 14)
 #define OMAP3430_GRPSEL_GPIO2_MASK (1 << 13)
 #define OMAP3430_GRPSEL_UART3_MASK (1 << 11)
+#define OMAP3430_GRPSEL_GPT8_MASK  (1 << 

[PATCH 19/94] clk: qcom: HDMI source sel is 3 not 2

2014-07-15 Thread Sam Asadi
From: Stephen Boyd 

The HDMI PLL input to the tv mux is supposed to be 3, not 2. Fix
the code so that we can properly select the HDMI PLL.

Fixes: 6d00b56fe "clk: qcom: Add support for MSM8960's multimedia clock 
controller (MMCC)"
Reported-by: Rob Clark 
Signed-off-by: Stephen Boyd 
Signed-off-by: Mike Turquette 
Signed-off-by: sam-the-6 
---
 drivers/clk/qcom/mmcc-msm8960.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/qcom/mmcc-msm8960.c b/drivers/clk/qcom/mmcc-msm8960.c
index 12f3c0b..4c449b3 100644
--- a/drivers/clk/qcom/mmcc-msm8960.c
+++ b/drivers/clk/qcom/mmcc-msm8960.c
@@ -1209,7 +1209,7 @@ static struct clk_branch rot_clk = {
 
 static u8 mmcc_pxo_hdmi_map[] = {
[P_PXO] = 0,
-   [P_HDMI_PLL]= 2,
+   [P_HDMI_PLL]= 3,
 };
 
 static const char *mmcc_pxo_hdmi[] = {
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 24/94] clocksource: exynos_mct: Register the timer for stable udelay

2014-07-15 Thread Sam Asadi
From: Amit Daniel Kachhap 

This patch registers the exynos mct clocksource as the current timer
as it has constant clock rate. This will generate correct udelay for
the exynos platform and avoid using unnecessary calibrated
jiffies. This change has been tested on exynos5420 based board and
udelay is very close to expected.

Without this patch udelay() on exynos5400 / exynos5800 is wildly
inaccurate due to big.LITTLE not adjusting loops_per_jiffy correctly.
Also without this patch udelay() on exynos5250 can be innacruate
during transitions between frequencies < 800 MHz (you'll go 200 MHz ->
800 MHz -> 300 MHz and will run at 800 MHz for a time with the wrong
loops_per_jiffy).

[dianders: reworked and created version 3]

Signed-off-by: Amit Daniel Kachhap 
Signed-off-by: Doug Anderson 
Signed-off-by: Kukjin Kim 
Signed-off-by: sam-the-6 
---
 drivers/clocksource/exynos_mct.c |   11 +++
 1 file changed, 11 insertions(+)

diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c
index 5ce99c0..ab51bf20a 100644
--- a/drivers/clocksource/exynos_mct.c
+++ b/drivers/clocksource/exynos_mct.c
@@ -200,10 +200,21 @@ static u64 notrace exynos4_read_sched_clock(void)
return _exynos4_frc_read();
 }
 
+static struct delay_timer exynos4_delay_timer;
+
+static cycles_t exynos4_read_current_timer(void)
+{
+   return _exynos4_frc_read();
+}
+
 static void __init exynos4_clocksource_init(void)
 {
exynos4_mct_frc_start();
 
+   exynos4_delay_timer.read_current_timer = _read_current_timer;
+   exynos4_delay_timer.freq = clk_rate;
+   register_current_timer_delay(_delay_timer);
+
if (clocksource_register_hz(_frc, clk_rate))
panic("%s: can't register clocksource\n", mct_frc.name);
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 30/94] iio: hid-sensor-prox: Fix return values

2014-07-15 Thread Sam Asadi
From: Sachin Kamat 

IIO_CHAN_INFO_SAMP_FREQ and IIO_CHAN_INFO_HYSTERESIS cases ignored
the actual return values (which could be -EINVAL) and instead
returned IIO_VAL_INT_PLUS_MICRO always. Return the actual value
obtained from the functions. Both functions return IIO_VAL_INT_PLUS_MICRO
upon success.

Signed-off-by: Sachin Kamat 
Cc: Srinivas Pandruvada 
Signed-off-by: Jonathan Cameron 
Signed-off-by: sam-the-6 
---
 drivers/iio/light/hid-sensor-prox.c |7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/light/hid-sensor-prox.c 
b/drivers/iio/light/hid-sensor-prox.c
index d203ef4..412bae8 100644
--- a/drivers/iio/light/hid-sensor-prox.c
+++ b/drivers/iio/light/hid-sensor-prox.c
@@ -74,7 +74,6 @@ static int prox_read_raw(struct iio_dev *indio_dev,
struct prox_state *prox_state = iio_priv(indio_dev);
int report_id = -1;
u32 address;
-   int ret;
int ret_type;
s32 poll_value;
 
@@ -125,14 +124,12 @@ static int prox_read_raw(struct iio_dev *indio_dev,
ret_type = IIO_VAL_INT;
break;
case IIO_CHAN_INFO_SAMP_FREQ:
-   ret = hid_sensor_read_samp_freq_value(
+   ret_type = hid_sensor_read_samp_freq_value(
_state->common_attributes, val, val2);
-   ret_type = IIO_VAL_INT_PLUS_MICRO;
break;
case IIO_CHAN_INFO_HYSTERESIS:
-   ret = hid_sensor_read_raw_hyst_value(
+   ret_type = hid_sensor_read_raw_hyst_value(
_state->common_attributes, val, val2);
-   ret_type = IIO_VAL_INT_PLUS_MICRO;
break;
default:
ret_type = -EINVAL;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 27/94] iio: hid-sensor-magn-3d: Fix return values

2014-07-15 Thread Sam Asadi
From: Sachin Kamat 

IIO_CHAN_INFO_SAMP_FREQ and IIO_CHAN_INFO_HYSTERESIS cases ignored
the actual return values (which could be -EINVAL) and instead
returned IIO_VAL_INT_PLUS_MICRO always. Return the actual value
obtained from the functions. Both functions return IIO_VAL_INT_PLUS_MICRO
upon success.

Signed-off-by: Sachin Kamat 
Cc: Srinivas Pandruvada 
Signed-off-by: Jonathan Cameron 
Signed-off-by: sam-the-6 
---
 drivers/iio/magnetometer/hid-sensor-magn-3d.c |7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/magnetometer/hid-sensor-magn-3d.c 
b/drivers/iio/magnetometer/hid-sensor-magn-3d.c
index 41cf29e..b2b0937 100644
--- a/drivers/iio/magnetometer/hid-sensor-magn-3d.c
+++ b/drivers/iio/magnetometer/hid-sensor-magn-3d.c
@@ -110,7 +110,6 @@ static int magn_3d_read_raw(struct iio_dev *indio_dev,
struct magn_3d_state *magn_state = iio_priv(indio_dev);
int report_id = -1;
u32 address;
-   int ret;
int ret_type;
s32 poll_value;
 
@@ -153,14 +152,12 @@ static int magn_3d_read_raw(struct iio_dev *indio_dev,
ret_type = IIO_VAL_INT;
break;
case IIO_CHAN_INFO_SAMP_FREQ:
-   ret = hid_sensor_read_samp_freq_value(
+   ret_type = hid_sensor_read_samp_freq_value(
_state->common_attributes, val, val2);
-   ret_type = IIO_VAL_INT_PLUS_MICRO;
break;
case IIO_CHAN_INFO_HYSTERESIS:
-   ret = hid_sensor_read_raw_hyst_value(
+   ret_type = hid_sensor_read_raw_hyst_value(
_state->common_attributes, val, val2);
-   ret_type = IIO_VAL_INT_PLUS_MICRO;
break;
default:
ret_type = -EINVAL;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 34/94] ext4: disable synchronous transaction batching if max_batch_time==0

2014-07-15 Thread Sam Asadi
From: Eric Sandeen 

The mount manpage says of the max_batch_time option,

This optimization can be turned off entirely
by setting max_batch_time to 0.

But the code doesn't do that.  So fix the code to do
that.

Signed-off-by: Eric Sandeen 
Signed-off-by: Theodore Ts'o 
Cc: sta...@vger.kernel.org
Signed-off-by: sam-the-6 
---
 fs/ext4/super.c   |2 --
 fs/jbd2/transaction.c |5 -
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 3423947..6297c07 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -1525,8 +1525,6 @@ static int handle_mount_opt(struct super_block *sb, char 
*opt, int token,
arg = JBD2_DEFAULT_MAX_COMMIT_AGE;
sbi->s_commit_interval = HZ * arg;
} else if (token == Opt_max_batch_time) {
-   if (arg == 0)
-   arg = EXT4_DEF_MAX_BATCH_TIME;
sbi->s_max_batch_time = arg;
} else if (token == Opt_min_batch_time) {
sbi->s_min_batch_time = arg;
diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c
index 38cfcf5..6f0f590 100644
--- a/fs/jbd2/transaction.c
+++ b/fs/jbd2/transaction.c
@@ -1588,9 +1588,12 @@ int jbd2_journal_stop(handle_t *handle)
 * to perform a synchronous write.  We do this to detect the
 * case where a single process is doing a stream of sync
 * writes.  No point in waiting for joiners in that case.
+*
+* Setting max_batch_time to 0 disables this completely.
 */
pid = current->pid;
-   if (handle->h_sync && journal->j_last_sync_writer != pid) {
+   if (handle->h_sync && journal->j_last_sync_writer != pid &&
+   journal->j_max_batch_time) {
u64 commit_time, trans_time;
 
journal->j_last_sync_writer = pid;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 32/94] ext4: clarify error count warning messages

2014-07-15 Thread Sam Asadi
From: Theodore Ts'o 

Make it clear that values printed are times, and that it is error
since last fsck. Also add note about fsck version required.

Signed-off-by: Pavel Machek 
Signed-off-by: Theodore Ts'o 
Reviewed-by: Andreas Dilger 
Cc: sta...@vger.kernel.org
Signed-off-by: sam-the-6 
---
 fs/ext4/super.c |7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index b9b9aab..3423947 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -2809,10 +2809,11 @@ static void print_daily_error_info(unsigned long arg)
es = sbi->s_es;
 
if (es->s_error_count)
-   ext4_msg(sb, KERN_NOTICE, "error count: %u",
+   /* fsck newer than v1.41.13 is needed to clean this condition. 
*/
+   ext4_msg(sb, KERN_NOTICE, "error count since last fsck: %u",
 le32_to_cpu(es->s_error_count));
if (es->s_first_error_time) {
-   printk(KERN_NOTICE "EXT4-fs (%s): initial error at %u: %.*s:%d",
+   printk(KERN_NOTICE "EXT4-fs (%s): initial error at time %u: 
%.*s:%d",
   sb->s_id, le32_to_cpu(es->s_first_error_time),
   (int) sizeof(es->s_first_error_func),
   es->s_first_error_func,
@@ -2826,7 +2827,7 @@ static void print_daily_error_info(unsigned long arg)
printk("\n");
}
if (es->s_last_error_time) {
-   printk(KERN_NOTICE "EXT4-fs (%s): last error at %u: %.*s:%d",
+   printk(KERN_NOTICE "EXT4-fs (%s): last error at time %u: 
%.*s:%d",
   sb->s_id, le32_to_cpu(es->s_last_error_time),
   (int) sizeof(es->s_last_error_func),
   es->s_last_error_func,
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 36/94] ARM: DRA7: hwmod: Fixup SATA hwmod

2014-07-15 Thread Sam Asadi
From: Roger Quadros 

Get rid of optional clock as that is now managed by the
AHCI platform driver.

Correct .mpu_rt_idx to 1 as the module register space (SYSCONFIG..)
is passed as the second memory resource in the device tree.

Signed-off-by: Roger Quadros 
Reviewed-by: Rajendra Nayak 
Tested-by: Sekhar Nori 
Signed-off-by: Paul Walmsley 
Signed-off-by: sam-the-6 
---
 arch/arm/mach-omap2/omap_hwmod_7xx_data.c |6 +-
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c 
b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
index 20b4398..1209266 100644
--- a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
@@ -1268,9 +1268,6 @@ static struct omap_hwmod_class dra7xx_sata_hwmod_class = {
 };
 
 /* sata */
-static struct omap_hwmod_opt_clk sata_opt_clks[] = {
-   { .role = "ref_clk", .clk = "sata_ref_clk" },
-};
 
 static struct omap_hwmod dra7xx_sata_hwmod = {
.name   = "sata",
@@ -1278,6 +1275,7 @@ static struct omap_hwmod dra7xx_sata_hwmod = {
.clkdm_name = "l3init_clkdm",
.flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
.main_clk   = "func_48m_fclk",
+   .mpu_rt_idx = 1,
.prcm = {
.omap4 = {
.clkctrl_offs = DRA7XX_CM_L3INIT_SATA_CLKCTRL_OFFSET,
@@ -1285,8 +1283,6 @@ static struct omap_hwmod dra7xx_sata_hwmod = {
.modulemode   = MODULEMODE_SWCTRL,
},
},
-   .opt_clks   = sata_opt_clks,
-   .opt_clks_cnt   = ARRAY_SIZE(sata_opt_clks),
 };
 
 /*
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 66/94] m68k: Export mach_random_get_entropy to modules

2014-07-15 Thread Sam Asadi
From: Geert Uytterhoeven 

When a module calls random_get_entropy():

ERROR: "mach_random_get_entropy" [crypto/drbg.ko] undefined!
make[1]: *** [__modpost] Error 1

Signed-off-by: Geert Uytterhoeven 
Signed-off-by: sam-the-6 
---
 arch/m68k/kernel/time.c |2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/m68k/kernel/time.c b/arch/m68k/kernel/time.c
index 958f1ad..3857737 100644
--- a/arch/m68k/kernel/time.c
+++ b/arch/m68k/kernel/time.c
@@ -11,6 +11,7 @@
  */
 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -30,6 +31,7 @@
 
 
 unsigned long (*mach_random_get_entropy)(void);
+EXPORT_SYMBOL_GPL(mach_random_get_entropy);
 
 
 /*
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 67/94] ext4: revert commit which was causing fs corruption after journal replays

2014-07-15 Thread Sam Asadi
From: Theodore Ts'o 

Commit 007649375f6af2 ("ext4: initialize multi-block allocator before
checking block descriptors") causes the block group descriptor's count
of the number of free blocks to become inconsistent with the number of
free blocks in the allocation bitmap.  This is a harmless form of fs
corruption, but it causes the kernel to potentially remount the file
system read-only, or to panic, depending on the file systems's error
behavior.

Thanks to Eric Whitney for his tireless work to reproduce and to find
the guilty commit.

Fixes: 007649375f6af2 ("ext4: initialize multi-block allocator before checking 
block descriptors"

Cc: sta...@vger.kernel.org  # 3.15
Reported-by: David Jander 
Reported-by: Matteo Croce 
Tested-by: Eric Whitney 
Suggested-by: Eric Whitney 
Signed-off-by: Theodore Ts'o 
Signed-off-by: sam-the-6 
---
 fs/ext4/super.c |   51 ---
 1 file changed, 24 insertions(+), 27 deletions(-)

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 6297c07..6df7bc6 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -3879,38 +3879,19 @@ static int ext4_fill_super(struct super_block *sb, void 
*data, int silent)
goto failed_mount2;
}
}
-
-   /*
-* set up enough so that it can read an inode,
-* and create new inode for buddy allocator
-*/
-   sbi->s_gdb_count = db_count;
-   if (!test_opt(sb, NOLOAD) &&
-   EXT4_HAS_COMPAT_FEATURE(sb, EXT4_FEATURE_COMPAT_HAS_JOURNAL))
-   sb->s_op = _sops;
-   else
-   sb->s_op = _nojournal_sops;
-
-   ext4_ext_init(sb);
-   err = ext4_mb_init(sb);
-   if (err) {
-   ext4_msg(sb, KERN_ERR, "failed to initialize mballoc (%d)",
-err);
-   goto failed_mount2;
-   }
-
if (!ext4_check_descriptors(sb, _not_zeroed)) {
ext4_msg(sb, KERN_ERR, "group descriptors corrupted!");
-   goto failed_mount2a;
+   goto failed_mount2;
}
if (EXT4_HAS_INCOMPAT_FEATURE(sb, EXT4_FEATURE_INCOMPAT_FLEX_BG))
if (!ext4_fill_flex_info(sb)) {
ext4_msg(sb, KERN_ERR,
   "unable to initialize "
   "flex_bg meta info!");
-   goto failed_mount2a;
+   goto failed_mount2;
}
 
+   sbi->s_gdb_count = db_count;
get_random_bytes(>s_next_generation, sizeof(u32));
spin_lock_init(>s_next_gen_lock);
 
@@ -3945,6 +3926,14 @@ static int ext4_fill_super(struct super_block *sb, void 
*data, int silent)
sbi->s_stripe = ext4_get_stripe_size(sbi);
sbi->s_extent_max_zeroout_kb = 32;
 
+   /*
+* set up enough so that it can read an inode
+*/
+   if (!test_opt(sb, NOLOAD) &&
+   EXT4_HAS_COMPAT_FEATURE(sb, EXT4_FEATURE_COMPAT_HAS_JOURNAL))
+   sb->s_op = _sops;
+   else
+   sb->s_op = _nojournal_sops;
sb->s_export_op = _export_ops;
sb->s_xattr = ext4_xattr_handlers;
 #ifdef CONFIG_QUOTA
@@ -4134,13 +4123,21 @@ no_journal:
if (err) {
ext4_msg(sb, KERN_ERR, "failed to reserve %llu clusters for "
 "reserved pool", ext4_calculate_resv_clusters(sb));
-   goto failed_mount5;
+   goto failed_mount4a;
}
 
err = ext4_setup_system_zone(sb);
if (err) {
ext4_msg(sb, KERN_ERR, "failed to initialize system "
 "zone (%d)", err);
+   goto failed_mount4a;
+   }
+
+   ext4_ext_init(sb);
+   err = ext4_mb_init(sb);
+   if (err) {
+   ext4_msg(sb, KERN_ERR, "failed to initialize mballoc (%d)",
+err);
goto failed_mount5;
}
 
@@ -4217,8 +4214,11 @@ failed_mount8:
 failed_mount7:
ext4_unregister_li_request(sb);
 failed_mount6:
-   ext4_release_system_zone(sb);
+   ext4_mb_release(sb);
 failed_mount5:
+   ext4_ext_release(sb);
+   ext4_release_system_zone(sb);
+failed_mount4a:
dput(sb->s_root);
sb->s_root = NULL;
 failed_mount4:
@@ -4242,14 +4242,11 @@ failed_mount3:
percpu_counter_destroy(>s_extent_cache_cnt);
if (sbi->s_mmp_tsk)
kthread_stop(sbi->s_mmp_tsk);
-failed_mount2a:
-   ext4_mb_release(sb);
 failed_mount2:
for (i = 0; i < db_count; i++)
brelse(sbi->s_group_desc[i]);
ext4_kvfree(sbi->s_group_desc);
 failed_mount:
-   ext4_ext_release(sb);
if (sbi->s_chksum_driver)
crypto_free_shash(sbi->s_chksum_driver);
if (sbi->s_proc) {
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  

[PATCH 65/94] serial: arc_uart: Use uart_circ_empty() for open-coded comparison

2014-07-15 Thread Sam Asadi
From: Peter Hurley 

Replace open-coded test for empty tx ring buffer with equivalent
helper function, uart_circ_empty(). No functional change.

Signed-off-by: Peter Hurley 
Signed-off-by: Greg Kroah-Hartman 
Signed-off-by: sam-the-6 
---
 drivers/tty/serial/arc_uart.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/serial/arc_uart.c b/drivers/tty/serial/arc_uart.c
index c9f5c9d..008c223 100644
--- a/drivers/tty/serial/arc_uart.c
+++ b/drivers/tty/serial/arc_uart.c
@@ -177,7 +177,7 @@ static void arc_serial_tx_chars(struct arc_uart_port *uart)
uart->port.icount.tx++;
uart->port.x_char = 0;
sent = 1;
-   } else if (xmit->tail != xmit->head) {  /* TODO: uart_circ_empty */
+   } else if (!uart_circ_empty(xmit)) {
ch = xmit->buf[xmit->tail];
xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
uart->port.icount.tx++;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 52/94] ARM: imx: fix shared gate clock

2014-07-15 Thread Sam Asadi
From: Shawn Guo 

Let's say clock A and B are two gate clocks that share the same register
bit in hardware.  Therefore they are registered as shared gate clocks
with imx_clk_gate2_shared().

In a scenario that only clock A is enabled by clk_enable(A) while B is
not used, the shared gate will be unexpectedly disabled in hardware.
It happens because clk_enable(A) increments the share_count from 0 to 1,
while clock B is unused to clock core, and therefore the core function
will just disable B by calling clk->ops->disable() directly.  The
consequence of that call is share_count is decremented to 0 and the gate
is disabled in hardware, even though clock A is still in use.

The patch fixes the issue by initializing the share_count per hardware
state and returns enable state per share_count from .is_enabled() hook,
in case it's a shared gate.

While at it, add a check in clk_gate2_disable() to ensure it's never
called with a zero share_count.

Reported-by: Fabio Estevam 
Fixes: f9f28cdf2167 ("ARM: imx: add shared gate clock support")
Signed-off-by: Shawn Guo 
Tested-by: Fabio Estevam 
Signed-off-by: Olof Johansson 
Signed-off-by: sam-the-6 
---
 arch/arm/mach-imx/clk-gate2.c |   31 +++
 1 file changed, 23 insertions(+), 8 deletions(-)

diff --git a/arch/arm/mach-imx/clk-gate2.c b/arch/arm/mach-imx/clk-gate2.c
index 4ba587d..84acdfd 100644
--- a/arch/arm/mach-imx/clk-gate2.c
+++ b/arch/arm/mach-imx/clk-gate2.c
@@ -67,8 +67,12 @@ static void clk_gate2_disable(struct clk_hw *hw)
 
spin_lock_irqsave(gate->lock, flags);
 
-   if (gate->share_count && --(*gate->share_count) > 0)
-   goto out;
+   if (gate->share_count) {
+   if (WARN_ON(*gate->share_count == 0))
+   goto out;
+   else if (--(*gate->share_count) > 0)
+   goto out;
+   }
 
reg = readl(gate->reg);
reg &= ~(3 << gate->bit_idx);
@@ -78,19 +82,26 @@ out:
spin_unlock_irqrestore(gate->lock, flags);
 }
 
-static int clk_gate2_is_enabled(struct clk_hw *hw)
+static int clk_gate2_reg_is_enabled(void __iomem *reg, u8 bit_idx)
 {
-   u32 reg;
-   struct clk_gate2 *gate = to_clk_gate2(hw);
+   u32 val = readl(reg);
 
-   reg = readl(gate->reg);
-
-   if (((reg >> gate->bit_idx) & 1) == 1)
+   if (((val >> bit_idx) & 1) == 1)
return 1;
 
return 0;
 }
 
+static int clk_gate2_is_enabled(struct clk_hw *hw)
+{
+   struct clk_gate2 *gate = to_clk_gate2(hw);
+
+   if (gate->share_count)
+   return !!(*gate->share_count);
+   else
+   return clk_gate2_reg_is_enabled(gate->reg, gate->bit_idx);
+}
+
 static struct clk_ops clk_gate2_ops = {
.enable = clk_gate2_enable,
.disable = clk_gate2_disable,
@@ -116,6 +127,10 @@ struct clk *clk_register_gate2(struct device *dev, const 
char *name,
gate->bit_idx = bit_idx;
gate->flags = clk_gate2_flags;
gate->lock = lock;
+
+   /* Initialize share_count per hardware state */
+   if (share_count)
+   *share_count = clk_gate2_reg_is_enabled(reg, bit_idx) ? 1 : 0;
gate->share_count = share_count;
 
init.name = name;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 39/94] iio:tcs3472: Check for buffer enabled and locking

2014-07-15 Thread Sam Asadi
From: Peter Meerwald 

Signed-off-by: Peter Meerwald 
Signed-off-by: Jonathan Cameron 
Signed-off-by: sam-the-6 
---
 drivers/iio/light/tcs3472.c |   11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/light/tcs3472.c b/drivers/iio/light/tcs3472.c
index fe063a0..7525699 100644
--- a/drivers/iio/light/tcs3472.c
+++ b/drivers/iio/light/tcs3472.c
@@ -52,6 +52,7 @@
 
 struct tcs3472_data {
struct i2c_client *client;
+   struct mutex lock;
u8 enable;
u8 control;
u8 atime;
@@ -116,10 +117,17 @@ static int tcs3472_read_raw(struct iio_dev *indio_dev,
 
switch (mask) {
case IIO_CHAN_INFO_RAW:
+   if (iio_buffer_enabled(indio_dev))
+   return -EBUSY;
+
+   mutex_lock(>lock);
ret = tcs3472_req_data(data);
-   if (ret < 0)
+   if (ret < 0) {
+   mutex_unlock(>lock);
return ret;
+   }
ret = i2c_smbus_read_word_data(data->client, chan->address);
+   mutex_unlock(>lock);
if (ret < 0)
return ret;
*val = ret;
@@ -255,6 +263,7 @@ static int tcs3472_probe(struct i2c_client *client,
data = iio_priv(indio_dev);
i2c_set_clientdata(client, indio_dev);
data->client = client;
+   mutex_init(>lock);
 
indio_dev->dev.parent = >dev;
indio_dev->info = _info;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 03/94] clk: ti: dra7: return error code in failure case

2014-07-15 Thread Sam Asadi
From: Julia Lawall 

Add a returned error code in the MAX_APLL_WAIT_TRIES case.  Remove the
updating of the return variable r to 0 if MAX_APLL_WAIT_TRIES is not yet
reached, because r is already 0 at this point.

Signed-off-by: Julia Lawall 
Signed-off-by: Tero Kristo 
Signed-off-by: sam-the-6 
---
 drivers/clk/ti/apll.c |6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/clk/ti/apll.c b/drivers/clk/ti/apll.c
index 18dbaf12..72d9727 100644
--- a/drivers/clk/ti/apll.c
+++ b/drivers/clk/ti/apll.c
@@ -77,13 +77,11 @@ static int dra7_apll_enable(struct clk_hw *hw)
if (i == MAX_APLL_WAIT_TRIES) {
pr_warn("clock: %s failed transition to '%s'\n",
clk_name, (state) ? "locked" : "bypassed");
-   } else {
+   r = -EBUSY;
+   } else
pr_debug("clock: %s transition to '%s' in %d loops\n",
 clk_name, (state) ? "locked" : "bypassed", i);
 
-   r = 0;
-   }
-
return r;
 }
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 55/94] Drivers: hv: vmbus: Fix a bug in the channel callback dispatch code

2014-07-15 Thread Sam Asadi
From: "K. Y. Srinivasan" 

Starting with Win8, we have implemented several optimizations to improve the
scalability and performance of the VMBUS transport between the Host and the
Guest. Some of the non-performance critical services cannot leverage these
optimization since they only read and process one message at a time.
Make adjustments to the callback dispatch code to account for the way
non-performance critical drivers handle reading of the channel.

Signed-off-by: K. Y. Srinivasan 
Cc: 
Signed-off-by: Greg Kroah-Hartman 
Signed-off-by: sam-the-6 
---
 drivers/hv/connection.c |8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
index e84f452..ae22e3c 100644
--- a/drivers/hv/connection.c
+++ b/drivers/hv/connection.c
@@ -339,9 +339,13 @@ static void process_chn_event(u32 relid)
 */
 
do {
-   hv_begin_read(>inbound);
+   if (read_state)
+   hv_begin_read(>inbound);
channel->onchannel_callback(arg);
-   bytes_to_read = hv_end_read(>inbound);
+   if (read_state)
+   bytes_to_read = hv_end_read(>inbound);
+   else
+   bytes_to_read = 0;
} while (read_state && (bytes_to_read != 0));
} else {
pr_err("no channel callback for relid - %u\n", relid);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


  1   2   3   >