linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2 v2] at91/ssc: fixes on ASoC tree for 3.8
@ 2013-01-11 14:08 Nicolas Ferre
  2013-01-11 14:08 ` [PATCH 1/2 v2] ARM: at91/dts: add pinctrl support for SSC peripheral Nicolas Ferre
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Nicolas Ferre @ 2013-01-11 14:08 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Mark, Olof, Arnd,

This series goes on top of Linus' v3.8-rc3 and fixes an error that
we have while compiling DTBs for AT91:
ERROR (phandle_references): Reference to non-existent node or label
"pinctrl_ssc0_tx"

ERROR: Input tree has errors, aborting (use -f to force output)
make[3]: *** [arch/arm/boot/dts/at91sam9g20ek.dtb] Error 2

I have included pending material that is dealing with SSC and pinctrl. The
pinctrl part can be merged more easily now that the big pinctrl update for AT91
has been merged upstream.

This material was designed to enter Mark's fixes queue, but as discussed with
Olof, we can imagine merging everything through arm-soc or split the series (of
2 patches) and let them progress upstream separated (option that I do not like
even if I know that the consequences are not so dramatic).
So please, Olof, if you feel confortable with this series, tell us what you
prefer and we will make our best to make this material go forward...

Thanks for your help, best regards,

v2: - remove the fix for typo in SSC status property: already merged upstream

Bo Shen (2):
  ARM: at91/dts: add pinctrl support for SSC peripheral
  ASoC: atmel-ssc: add pinctrl selection to driver

 arch/arm/boot/dts/at91sam9260.dtsi | 18 ++++++++++++++++++
 arch/arm/boot/dts/at91sam9263.dtsi | 36 ++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/at91sam9g45.dtsi | 36 ++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/at91sam9n12.dtsi | 26 ++++++++++++++++++++++++++
 arch/arm/boot/dts/at91sam9x5.dtsi  | 32 +++++++++++++++++++++++++-------
 drivers/misc/atmel-ssc.c           |  8 ++++++++
 6 files changed, 149 insertions(+), 7 deletions(-)

-- 
1.8.0

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/2 v2] ARM: at91/dts: add pinctrl support for SSC peripheral
  2013-01-11 14:08 [PATCH 0/2 v2] at91/ssc: fixes on ASoC tree for 3.8 Nicolas Ferre
@ 2013-01-11 14:08 ` Nicolas Ferre
  2013-01-11 14:08 ` [PATCH 2/2 v2] ASoC: atmel-ssc: add pinctrl selection to driver Nicolas Ferre
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Nicolas Ferre @ 2013-01-11 14:08 UTC (permalink / raw)
  To: linux-arm-kernel

From: Bo Shen <voice.shen@atmel.com>

Add pinctrl support for SSC on AT91 dtsi files.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
[nicolas.ferre at atmel.com: split dtsi and driver changes]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/boot/dts/at91sam9260.dtsi | 18 ++++++++++++++++++
 arch/arm/boot/dts/at91sam9263.dtsi | 36 ++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/at91sam9g45.dtsi | 36 ++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/at91sam9n12.dtsi | 26 ++++++++++++++++++++++++++
 arch/arm/boot/dts/at91sam9x5.dtsi  | 32 +++++++++++++++++++++++++-------
 5 files changed, 141 insertions(+), 7 deletions(-)

diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi
index 68bccf4..cb7bcc5 100644
--- a/arch/arm/boot/dts/at91sam9260.dtsi
+++ b/arch/arm/boot/dts/at91sam9260.dtsi
@@ -306,6 +306,22 @@
 					};
 				};
 
+				ssc0 {
+					pinctrl_ssc0_tx: ssc0_tx-0 {
+						atmel,pins =
+							<1 16 0x1 0x0	/* PB16 periph A */
+							 1 17 0x1 0x0	/* PB17 periph A */
+							 1 18 0x1 0x0>;	/* PB18 periph A */
+					};
+
+					pinctrl_ssc0_rx: ssc0_rx-0 {
+						atmel,pins =
+							<1 19 0x1 0x0	/* PB19 periph A */
+							 1 20 0x1 0x0	/* PB20 periph A */
+							 1 21 0x1 0x0>;	/* PB21 periph A */
+					};
+				};
+
 				pioA: gpio at fffff400 {
 					compatible = "atmel,at91rm9200-gpio";
 					reg = <0xfffff400 0x200>;
@@ -450,6 +466,8 @@
 				compatible = "atmel,at91rm9200-ssc";
 				reg = <0xfffbc000 0x4000>;
 				interrupts = <14 4 5>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
 				status = "disabled";
 			};
 
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi
index 32ec62c..271d4de 100644
--- a/arch/arm/boot/dts/at91sam9263.dtsi
+++ b/arch/arm/boot/dts/at91sam9263.dtsi
@@ -271,6 +271,38 @@
 					};
 				};
 
+				ssc0 {
+					pinctrl_ssc0_tx: ssc0_tx-0 {
+						atmel,pins =
+							<1 0 0x2 0x0	/* PB0 periph B */
+							 1 1 0x2 0x0	/* PB1 periph B */
+							 1 2 0x2 0x0>;	/* PB2 periph B */
+					};
+
+					pinctrl_ssc0_rx: ssc0_rx-0 {
+						atmel,pins =
+							<1 3 0x2 0x0	/* PB3 periph B */
+							 1 4 0x2 0x0	/* PB4 periph B */
+							 1 5 0x2 0x0>;	/* PB5 periph B */
+					};
+				};
+
+				ssc1 {
+					pinctrl_ssc1_tx: ssc1_tx-0 {
+						atmel,pins =
+							<1 6 0x1 0x0	/* PB6 periph A */
+							 1 7 0x1 0x0	/* PB7 periph A */
+							 1 8 0x1 0x0>;	/* PB8 periph A */
+					};
+
+					pinctrl_ssc1_rx: ssc1_rx-0 {
+						atmel,pins =
+							<1 9 0x1 0x0	/* PB9 periph A */
+							 1 10 0x1 0x0	/* PB10 periph A */
+							 1 11 0x1 0x0>;	/* PB11 periph A */
+					};
+				};
+
 				pioA: gpio at fffff200 {
 					compatible = "atmel,at91rm9200-gpio";
 					reg = <0xfffff200 0x200>;
@@ -368,6 +400,8 @@
 				compatible = "atmel,at91rm9200-ssc";
 				reg = <0xfff98000 0x4000>;
 				interrupts = <16 4 5>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
 				status = "disabled";
 			};
 
@@ -375,6 +409,8 @@
 				compatible = "atmel,at91rm9200-ssc";
 				reg = <0xfff9c000 0x4000>;
 				interrupts = <17 4 5>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
 				status = "disabled";
 			};
 
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi
index 231858f..6b1d4ca 100644
--- a/arch/arm/boot/dts/at91sam9g45.dtsi
+++ b/arch/arm/boot/dts/at91sam9g45.dtsi
@@ -290,6 +290,38 @@
 					};
 				};
 
+				ssc0 {
+					pinctrl_ssc0_tx: ssc0_tx-0 {
+						atmel,pins =
+							<3 0 0x1 0x0	/* PD0 periph A */
+							 3 1 0x1 0x0	/* PD1 periph A */
+							 3 2 0x1 0x0>;	/* PD2 periph A */
+					};
+
+					pinctrl_ssc0_rx: ssc0_rx-0 {
+						atmel,pins =
+							<3 3 0x1 0x0	/* PD3 periph A */
+							 3 4 0x1 0x0	/* PD4 periph A */
+							 3 5 0x1 0x0>;	/* PD5 periph A */
+					};
+				};
+
+				ssc1 {
+					pinctrl_ssc1_tx: ssc1_tx-0 {
+						atmel,pins =
+							<3 10 0x1 0x0	/* PD10 periph A */
+							 3 11 0x1 0x0	/* PD11 periph A */
+							 3 12 0x1 0x0>;	/* PD12 periph A */
+					};
+
+					pinctrl_ssc1_rx: ssc1_rx-0 {
+						atmel,pins =
+							<3 13 0x1 0x0	/* PD13 periph A */
+							 3 14 0x1 0x0	/* PD14 periph A */
+							 3 15 0x1 0x0>;	/* PD15 periph A */
+					};
+				};
+
 				pioA: gpio at fffff200 {
 					compatible = "atmel,at91rm9200-gpio";
 					reg = <0xfffff200 0x200>;
@@ -425,6 +457,8 @@
 				compatible = "atmel,at91sam9g45-ssc";
 				reg = <0xfff9c000 0x4000>;
 				interrupts = <16 4 5>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
 				status = "disabled";
 			};
 
@@ -432,6 +466,8 @@
 				compatible = "atmel,at91sam9g45-ssc";
 				reg = <0xfffa0000 0x4000>;
 				interrupts = <17 4 5>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
 				status = "disabled";
 			};
 
diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi
index e9efb34..80e29c6 100644
--- a/arch/arm/boot/dts/at91sam9n12.dtsi
+++ b/arch/arm/boot/dts/at91sam9n12.dtsi
@@ -28,6 +28,7 @@
 		tcb1 = &tcb1;
 		i2c0 = &i2c0;
 		i2c1 = &i2c1;
+		ssc0 = &ssc0;
 	};
 	cpus {
 		cpu at 0 {
@@ -244,6 +245,22 @@
 					};
 				};
 
+				ssc0 {
+					pinctrl_ssc0_tx: ssc0_tx-0 {
+						atmel,pins =
+							<0 24 0x2 0x0	/* PA24 periph B */
+							 0 25 0x2 0x0	/* PA25 periph B */
+							 0 26 0x2 0x0>;	/* PA26 periph B */
+					};
+
+					pinctrl_ssc0_rx: ssc0_rx-0 {
+						atmel,pins =
+							<0 27 0x2 0x0	/* PA27 periph B */
+							 0 28 0x2 0x0	/* PA28 periph B */
+							 0 29 0x2 0x0>;	/* PA29 periph B */
+					};
+				};
+
 				pioA: gpio at fffff400 {
 					compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
 					reg = <0xfffff400 0x200>;
@@ -294,6 +311,15 @@
 				status = "disabled";
 			};
 
+			ssc0: ssc at f0010000 {
+				compatible = "atmel,at91sam9g45-ssc";
+				reg = <0xf0010000 0x4000>;
+				interrupts = <28 4 5>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
+				status = "disabled";
+			};
+
 			usart0: serial at f801c000 {
 				compatible = "atmel,at91sam9260-usart";
 				reg = <0xf801c000 0x4000>;
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi
index 40ac3a4..3a47cf9 100644
--- a/arch/arm/boot/dts/at91sam9x5.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5.dtsi
@@ -88,13 +88,6 @@
 				interrupts = <1 4 7>;
 			};
 
-			ssc0: ssc at f0010000 {
-				compatible = "atmel,at91sam9g45-ssc";
-				reg = <0xf0010000 0x4000>;
-				interrupts = <28 4 5>;
-				status = "disabled";
-			};
-
 			tcb0: timer at f8008000 {
 				compatible = "atmel,at91sam9x5-tcb";
 				reg = <0xf8008000 0x100>;
@@ -290,6 +283,22 @@
 					};
 				};
 
+				ssc0 {
+					pinctrl_ssc0_tx: ssc0_tx-0 {
+						atmel,pins =
+							<0 24 0x2 0x0	/* PA24 periph B */
+							 0 25 0x2 0x0	/* PA25 periph B */
+							 0 26 0x2 0x0>;	/* PA26 periph B */
+					};
+
+					pinctrl_ssc0_rx: ssc0_rx-0 {
+						atmel,pins =
+							<0 27 0x2 0x0	/* PA27 periph B */
+							 0 28 0x2 0x0	/* PA28 periph B */
+							 0 29 0x2 0x0>;	/* PA29 periph B */
+					};
+				};
+
 				pioA: gpio at fffff400 {
 					compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
 					reg = <0xfffff400 0x200>;
@@ -333,6 +342,15 @@
 				};
 			};
 
+			ssc0: ssc at f0010000 {
+				compatible = "atmel,at91sam9g45-ssc";
+				reg = <0xf0010000 0x4000>;
+				interrupts = <28 4 5>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
+				status = "disabled";
+			};
+
 			mmc0: mmc at f0008000 {
 				compatible = "atmel,hsmci";
 				reg = <0xf0008000 0x600>;
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/2 v2] ASoC: atmel-ssc: add pinctrl selection to driver
  2013-01-11 14:08 [PATCH 0/2 v2] at91/ssc: fixes on ASoC tree for 3.8 Nicolas Ferre
  2013-01-11 14:08 ` [PATCH 1/2 v2] ARM: at91/dts: add pinctrl support for SSC peripheral Nicolas Ferre
@ 2013-01-11 14:08 ` Nicolas Ferre
  2013-01-11 18:52 ` [PATCH 0/2 v2] at91/ssc: fixes on ASoC tree for 3.8 Olof Johansson
  2013-01-12  0:04 ` Mark Brown
  3 siblings, 0 replies; 8+ messages in thread
From: Nicolas Ferre @ 2013-01-11 14:08 UTC (permalink / raw)
  To: linux-arm-kernel

From: Bo Shen <voice.shen@atmel.com>

Add default pinctrl selection to atmel-ssc driver. The pinctrl
is mandatory.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
[nicolas.ferre at atmel.com: split dtsi and driver changes]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 drivers/misc/atmel-ssc.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/misc/atmel-ssc.c b/drivers/misc/atmel-ssc.c
index 158da5a..3c09cbb 100644
--- a/drivers/misc/atmel-ssc.c
+++ b/drivers/misc/atmel-ssc.c
@@ -19,6 +19,7 @@
 #include <linux/module.h>
 
 #include <linux/of.h>
+#include <linux/pinctrl/consumer.h>
 
 /* Serialize access to ssc_list and user count */
 static DEFINE_SPINLOCK(user_lock);
@@ -131,6 +132,13 @@ static int ssc_probe(struct platform_device *pdev)
 	struct resource *regs;
 	struct ssc_device *ssc;
 	const struct atmel_ssc_platform_data *plat_dat;
+	struct pinctrl *pinctrl;
+
+	pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
+	if (IS_ERR(pinctrl)) {
+		dev_err(&pdev->dev, "Failed to request pinctrl\n");
+		return PTR_ERR(pinctrl);
+	}
 
 	ssc = devm_kzalloc(&pdev->dev, sizeof(struct ssc_device), GFP_KERNEL);
 	if (!ssc) {
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 0/2 v2] at91/ssc: fixes on ASoC tree for 3.8
  2013-01-11 14:08 [PATCH 0/2 v2] at91/ssc: fixes on ASoC tree for 3.8 Nicolas Ferre
  2013-01-11 14:08 ` [PATCH 1/2 v2] ARM: at91/dts: add pinctrl support for SSC peripheral Nicolas Ferre
  2013-01-11 14:08 ` [PATCH 2/2 v2] ASoC: atmel-ssc: add pinctrl selection to driver Nicolas Ferre
@ 2013-01-11 18:52 ` Olof Johansson
  2013-01-11 19:39   ` Mark Brown
  2013-01-12  0:04 ` Mark Brown
  3 siblings, 1 reply; 8+ messages in thread
From: Olof Johansson @ 2013-01-11 18:52 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Fri, Jan 11, 2013 at 6:08 AM, Nicolas Ferre <nicolas.ferre@atmel.com> wrote:

> This material was designed to enter Mark's fixes queue, but as discussed with
> Olof, we can imagine merging everything through arm-soc or split the series (of
> 2 patches) and let them progress upstream separated (option that I do not like
> even if I know that the consequences are not so dramatic).
> So please, Olof, if you feel confortable with this series, tell us what you
> prefer and we will make our best to make this material go forward...

You're setting yourself up for awkward merges. The driver change is
strongly dependent on the device tree change by failing probe unless
the device tree update is there, while before this patch, it still
worked.

If you instead use the dts update if it's there, you can merge the two
through independent paths, and later make it mandatory to use the
pinctrl specification. That way you avoid these complicated merge
scenarios where you have to send your platform code through a
subsystem tree instead.

But to be honest, I don't think this is a fix, it's a feature that you
just didn't include in time for the merge window. I don't really see
them as appropriate 3.8 material at this point.

So, nack on this series. Please make the driver change non-dependent
on the new dtsi contents, and merge that through the ASoC tree. Then
the dtsi update can go through arm-soc, and later on you can make it
mandatory.


-Olof

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 0/2 v2] at91/ssc: fixes on ASoC tree for 3.8
  2013-01-11 18:52 ` [PATCH 0/2 v2] at91/ssc: fixes on ASoC tree for 3.8 Olof Johansson
@ 2013-01-11 19:39   ` Mark Brown
  2013-01-11 19:53     ` Olof Johansson
  0 siblings, 1 reply; 8+ messages in thread
From: Mark Brown @ 2013-01-11 19:39 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jan 11, 2013 at 10:52:19AM -0800, Olof Johansson wrote:
> On Fri, Jan 11, 2013 at 6:08 AM, Nicolas Ferre <nicolas.ferre@atmel.com> wrote:
> 
> > This material was designed to enter Mark's fixes queue, but as discussed with
> > Olof, we can imagine merging everything through arm-soc or split the series (of
> > 2 patches) and let them progress upstream separated (option that I do not like
> > even if I know that the consequences are not so dramatic).
> > So please, Olof, if you feel confortable with this series, tell us what you
> > prefer and we will make our best to make this material go forward...

> You're setting yourself up for awkward merges. The driver change is
> strongly dependent on the device tree change by failing probe unless
> the device tree update is there, while before this patch, it still
> worked.

This is partly my fault for getting grumpy about adding the bolier plate
code without error checking - overall Linus' change to do the get in the
core seems like the most sane approach here.

> But to be honest, I don't think this is a fix, it's a feature that you
> just didn't include in time for the merge window. I don't really see
> them as appropriate 3.8 material at this point.

Jean-Christophe has been most insistent that pinctrl support is now
manadatory for all AT91 systems using device tree.  Unfortunately
pinctrl support for AT91 only came in during the merge window and it
seems like it's sadly been impossible to do what seemd like the obvious
thing and add the pinctrl bindings to the DT prior to the merge down so
now we've got this mess.  I believe the way the pinctrl conversion was
done renders the audio driver non-functional without this series.

> So, nack on this series. Please make the driver change non-dependent
> on the new dtsi contents, and merge that through the ASoC tree. Then
> the dtsi update can go through arm-soc, and later on you can make it
> mandatory.

Like I say I'm not thrilled about ignoring the return code TBH, nor am I
thrilled with the way this has been handled overall.  That said, the
current series does seem like the best of a bad job - as I understand it
we need something like this in v3.8 to make the driver functional.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130111/3d4e2769/attachment-0001.sig>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 0/2 v2] at91/ssc: fixes on ASoC tree for 3.8
  2013-01-11 19:39   ` Mark Brown
@ 2013-01-11 19:53     ` Olof Johansson
  2013-01-12 13:34       ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 1 reply; 8+ messages in thread
From: Olof Johansson @ 2013-01-11 19:53 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jan 11, 2013 at 07:39:49PM +0000, Mark Brown wrote:
> On Fri, Jan 11, 2013 at 10:52:19AM -0800, Olof Johansson wrote:
> > On Fri, Jan 11, 2013 at 6:08 AM, Nicolas Ferre <nicolas.ferre@atmel.com> wrote:
> > 
> > > This material was designed to enter Mark's fixes queue, but as discussed with
> > > Olof, we can imagine merging everything through arm-soc or split the series (of
> > > 2 patches) and let them progress upstream separated (option that I do not like
> > > even if I know that the consequences are not so dramatic).
> > > So please, Olof, if you feel confortable with this series, tell us what you
> > > prefer and we will make our best to make this material go forward...
> 
> > You're setting yourself up for awkward merges. The driver change is
> > strongly dependent on the device tree change by failing probe unless
> > the device tree update is there, while before this patch, it still
> > worked.
> 
> This is partly my fault for getting grumpy about adding the bolier plate
> code without error checking - overall Linus' change to do the get in the
> core seems like the most sane approach here.
> 
> > But to be honest, I don't think this is a fix, it's a feature that you
> > just didn't include in time for the merge window. I don't really see
> > them as appropriate 3.8 material at this point.
> 
> Jean-Christophe has been most insistent that pinctrl support is now
> manadatory for all AT91 systems using device tree. 

That's a noble goal but enforcing it early gives everyone a lot of pain, and
quite honestly doesn't make sense. During transition it's better to be lenient
and allow both old and new methods (without breakage), unless it causes
significant extra churn.

> Unfortunately
> pinctrl support for AT91 only came in during the merge window and it
> seems like it's sadly been impossible to do what seemd like the obvious
> thing and add the pinctrl bindings to the DT prior to the merge down so
> now we've got this mess.  I believe the way the pinctrl conversion was
> done renders the audio driver non-functional without this series.

The problem is that at91 tries to do too much in a single release, and then do
nothing in several releases after. If there was a steadier trickle of code
coming in, then these kind of complex dependencies wouldn't show up all at
once, and could be handled with much less overhead for everyone else involved.
:(

> 
> > So, nack on this series. Please make the driver change non-dependent
> > on the new dtsi contents, and merge that through the ASoC tree. Then
> > the dtsi update can go through arm-soc, and later on you can make it
> > mandatory.
> 
> Like I say I'm not thrilled about ignoring the return code TBH, nor am I
> thrilled with the way this has been handled overall.  That said, the
> current series does seem like the best of a bad job - as I understand it
> we need something like this in v3.8 to make the driver functional.

To be honest, if Atmel can't figure out how to merge a complete feature
without causing intentional regressions during the merge window, and plan
on brokenness to be fixed as late as in -rc4, then they deserve to have
a broken platform. Unfortunately the victim of that is end users, and we
don't want to leave them hanging. This really can't become a trend though.

Sigh. Feel free to add:

Reluctantly-acked-by: Olof Johansson <olof@lixom.net>

to the patches when you apply them (based on IRC discussion, might as
well take both through ASoC).


-Olof

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 0/2 v2] at91/ssc: fixes on ASoC tree for 3.8
  2013-01-11 14:08 [PATCH 0/2 v2] at91/ssc: fixes on ASoC tree for 3.8 Nicolas Ferre
                   ` (2 preceding siblings ...)
  2013-01-11 18:52 ` [PATCH 0/2 v2] at91/ssc: fixes on ASoC tree for 3.8 Olof Johansson
@ 2013-01-12  0:04 ` Mark Brown
  3 siblings, 0 replies; 8+ messages in thread
From: Mark Brown @ 2013-01-12  0:04 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jan 11, 2013 at 03:08:29PM +0100, Nicolas Ferre wrote:
> Hi Mark, Olof, Arnd,
> 
> This series goes on top of Linus' v3.8-rc3 and fixes an error that
> we have while compiling DTBs for AT91:
> ERROR (phandle_references): Reference to non-existent node or label
> "pinctrl_ssc0_tx"

Applied both.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130112/cdcccbfb/attachment.sig>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 0/2 v2] at91/ssc: fixes on ASoC tree for 3.8
  2013-01-11 19:53     ` Olof Johansson
@ 2013-01-12 13:34       ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 8+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-01-12 13:34 UTC (permalink / raw)
  To: linux-arm-kernel

On 11:53 Fri 11 Jan     , Olof Johansson wrote:
> On Fri, Jan 11, 2013 at 07:39:49PM +0000, Mark Brown wrote:
> > On Fri, Jan 11, 2013 at 10:52:19AM -0800, Olof Johansson wrote:
> > > On Fri, Jan 11, 2013 at 6:08 AM, Nicolas Ferre <nicolas.ferre@atmel.com> wrote:
> > > 
> > > > This material was designed to enter Mark's fixes queue, but as discussed with
> > > > Olof, we can imagine merging everything through arm-soc or split the series (of
> > > > 2 patches) and let them progress upstream separated (option that I do not like
> > > > even if I know that the consequences are not so dramatic).
> > > > So please, Olof, if you feel confortable with this series, tell us what you
> > > > prefer and we will make our best to make this material go forward...
> > 
> > > You're setting yourself up for awkward merges. The driver change is
> > > strongly dependent on the device tree change by failing probe unless
> > > the device tree update is there, while before this patch, it still
> > > worked.
> > 
> > This is partly my fault for getting grumpy about adding the bolier plate
> > code without error checking - overall Linus' change to do the get in the
> > core seems like the most sane approach here.
> > 
> > > But to be honest, I don't think this is a fix, it's a feature that you
> > > just didn't include in time for the merge window. I don't really see
> > > them as appropriate 3.8 material at this point.
> > 
> > Jean-Christophe has been most insistent that pinctrl support is now
> > manadatory for all AT91 systems using device tree. 
> 
> That's a noble goal but enforcing it early gives everyone a lot of pain, and
> quite honestly doesn't make sense. During transition it's better to be lenient
> and allow both old and new methods (without breakage), unless it causes
> significant extra churn.
except here we can not as the same ip manage gpio & pinctrl

so no choice we need to do the switch at once

and that's why we wait 1 more release to do the switch so erveryone can play
with it before

Best Regards,
J.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-01-12 13:34 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-11 14:08 [PATCH 0/2 v2] at91/ssc: fixes on ASoC tree for 3.8 Nicolas Ferre
2013-01-11 14:08 ` [PATCH 1/2 v2] ARM: at91/dts: add pinctrl support for SSC peripheral Nicolas Ferre
2013-01-11 14:08 ` [PATCH 2/2 v2] ASoC: atmel-ssc: add pinctrl selection to driver Nicolas Ferre
2013-01-11 18:52 ` [PATCH 0/2 v2] at91/ssc: fixes on ASoC tree for 3.8 Olof Johansson
2013-01-11 19:39   ` Mark Brown
2013-01-11 19:53     ` Olof Johansson
2013-01-12 13:34       ` Jean-Christophe PLAGNIOL-VILLARD
2013-01-12  0:04 ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).