Skip to contentSkip to conversation

mx31ads: Convert 1133-EV1 to use dev_name to specify consumer devices

PATCH New Mark Brown 2 participants 8 messages Jan 4, 2010 – Jan 5, 2010

Subsystems (3)
lore
Share & tools
lore

Mark Brown

author
#0 lore raw

PATCH 1/3 mx31ads: Convert 1133-EV1 to use dev_name to specify consumer devices

This means we don't need to go running round working out struct devices at runtime.

---
 arch/arm/mach-mx3/mx31ads.c |   14 ++------------
 1 files changed, 2 insertions(+), 12 deletions(-)
arch/arm/mach-mx3/mx31ads.c +2 -12
index 0497c15..cda570b 100644
@@ -307,12 +307,8 @@ static struct regulator_init_data ldo1_data = {
 };
 
 static struct regulator_consumer_supply ldo2_consumers[] = {
-	{
-		.supply = "AVDD",
-	},
-	{
-		.supply = "HPVDD",
-	},
+	{ .supply = "AVDD", .dev_name = "1-001a" },
+	{ .supply = "HPVDD", .dev_name = "1-001a" },
 };
 
 /* CODEC and SIM */
@@ -382,8 +378,6 @@ static struct wm8350_audio_platform_data imx32ads_wm8350_setup = {
 
 static int mx31_wm8350_init(struct wm8350 *wm8350)
 {
-	int i;
-
 	wm8350_gpio_config(wm8350, 0, WM8350_GPIO_DIR_IN,
 			   WM8350_GPIO0_PWR_ON_IN, WM8350_GPIO_ACTIVE_LOW,
 			   WM8350_GPIO_PULL_UP, WM8350_GPIO_INVERT_OFF,
@@ -419,10 +413,6 @@ static int mx31_wm8350_init(struct wm8350 *wm8350)
 			   WM8350_GPIO_PULL_NONE, WM8350_GPIO_INVERT_OFF,
 			   WM8350_GPIO_DEBOUNCE_OFF);
 
-	/* Fix up for our own supplies. */
-	for (i = 0; i < ARRAY_SIZE(ldo2_consumers); i++)
-		ldo2_consumers[i].dev = wm8350->dev;
-
 	wm8350_register_regulator(wm8350, WM8350_DCDC_1, &sw1a_data);
 	wm8350_register_regulator(wm8350, WM8350_DCDC_3, &viohi_data);
 	wm8350_register_regulator(wm8350, WM8350_DCDC_4, &violo_data);
Signature · 1 line
1.6.5.7
author
#1 lore raw

PATCH 2/3 mx31ads: Allow enable/disable of switchable supplies

They will be automatically powered off at startup so users will need to enable them for use.

---
 arch/arm/mach-mx3/mx31ads.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
arch/arm/mach-mx3/mx31ads.c +2 -0
index cda570b..718fbe6 100644
@@ -302,6 +302,7 @@ static struct regulator_init_data ldo1_data = {
 		.min_uV = 2800000,
 		.max_uV = 2800000,
 		.valid_modes_mask = REGULATOR_MODE_NORMAL,
+		.valid_ops_mask = REGULATOR_CHANGE_STATUS,
 		.apply_uV = 1,
 	},
 };
@@ -318,6 +319,7 @@ static struct regulator_init_data ldo2_data = {
 		.min_uV = 3300000,
 		.max_uV = 3300000,
 		.valid_modes_mask = REGULATOR_MODE_NORMAL,
+		.valid_ops_mask = REGULATOR_CHANGE_STATUS,
 		.apply_uV = 1,
 	},
 	.num_consumer_supplies = ARRAY_SIZE(ldo2_consumers),
Signature · 1 line
1.6.5.7
maintainer
#2 lore raw

PATCH 2/3 mx31ads: Allow enable/disable of switchable supplies

Quoted 2 lines · Mark Brown

They will be automatically powered off at startup so users will need to enable them for use.

Ok, scheduled for -next. Or do you wish to have this earlier?

Sascha

Quoted 30 lines
---
 arch/arm/mach-mx3/mx31ads.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
arch/arm/mach-mx3/mx31ads.c +2 -0
index cda570b..718fbe6 100644
@@ -302,6 +302,7 @@ static struct regulator_init_data ldo1_data = {
 		.min_uV = 2800000,
 		.max_uV = 2800000,
 		.valid_modes_mask = REGULATOR_MODE_NORMAL,
+		.valid_ops_mask = REGULATOR_CHANGE_STATUS,
 		.apply_uV = 1,
 	},
 };
@@ -318,6 +319,7 @@ static struct regulator_init_data ldo2_data = {
 		.min_uV = 3300000,
 		.max_uV = 3300000,
 		.valid_modes_mask = REGULATOR_MODE_NORMAL,
+		.valid_ops_mask = REGULATOR_CHANGE_STATUS,
 		.apply_uV = 1,
 	},
 	.num_consumer_supplies = ARRAY_SIZE(ldo2_consumers),
Signature · 1 line
1.6.5.7
Signature · 4 lines
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
author
#3 lore raw

PATCH 2/3 mx31ads: Allow enable/disable of switchable supplies

Quoted 5 lines · Sascha Hauer
Quoted 2 lines · Mark Brown

They will be automatically powered off at startup so users will need to enable them for use.

Ok, scheduled for -next. Or do you wish to have this earlier?

It'd be nice to have it earlier if possible.

maintainer
#4 lore raw

PATCH 2/3 mx31ads: Allow enable/disable of switchable supplies

Quoted 9 lines · Mark Brown
Quoted 5 lines · Sascha Hauer
Quoted 2 lines · Mark Brown

They will be automatically powered off at startup so users will need to enable them for use.

Ok, scheduled for -next. Or do you wish to have this earlier?

It'd be nice to have it earlier if possible.

ok.

Signature · 4 lines
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
author
#5 lore raw

PATCH 3/3 mx31ads: Provide an IRQ range to the WM835x on the 1133-EV1 module

In reply to Mark Brown

The WM8350 core won't actually use the range yet, but it will in future and the platform data to configure it is there now.

---
 arch/arm/mach-mx3/mx31ads.c           |    1 +
 arch/arm/plat-mxc/include/mach/irqs.h |    7 +++++++
 2 files changed, 8 insertions(+), 0 deletions(-)
arch/arm/mach-mx3/mx31ads.c +1 -0
index 718fbe6..030b187 100644
@@ -451,6 +451,7 @@ static int mx31_wm8350_init(struct wm8350 *wm8350)
 
 static struct wm8350_platform_data __initdata mx31_wm8350_pdata = {
 	.init = mx31_wm8350_init,
+	.irq_base = MXC_BOARD_IRQ_START,
 };
 #endif
 
arch/arm/plat-mxc/include/mach/irqs.h +7 -0
index ead9d59..5d22798 100644
@@ -37,7 +37,14 @@
  * within sensible limits.
  */
 #define MXC_BOARD_IRQ_START	(MXC_INTERNAL_IRQS + MXC_GPIO_IRQS)
+
+#if defined(CONFIG_MACH_MX31ADS_WM1133_EV1) && !defined(MXC_BOARD_IRQS)
+#define MXC_BOARD_IRQS  64
+#endif
+
+#ifndef MXC_BOARD_IRQS
 #define MXC_BOARD_IRQS	16
+#endif
 
 #define MXC_IPU_IRQ_START	(MXC_BOARD_IRQ_START + MXC_BOARD_IRQS)
 
Signature · 1 line
1.6.5.7
author
#6 lore raw

PATCH 3/3 mx31ads: Provide an IRQ range to the WM835x on the 1133-EV1 module

Quoted 4 lines · Mark Brown

The WM8350 core won't actually use the range yet, but it will in future and the platform data to configure it is there now.

Please don't apply this one, there's already an IRQ expander on the board. I'll send a revised patch later.

maintainer
#7 lore raw

PATCH 1/3 mx31ads: Convert 1133-EV1 to use dev_name to specify consumer devices

In reply to Mark Brown
Quoted 2 lines · Mark Brown

This means we don't need to go running round working out struct devices at runtime.

Ok, scheduled for -next.

Sascha

Quoted 49 lines
---
 arch/arm/mach-mx3/mx31ads.c |   14 ++------------
 1 files changed, 2 insertions(+), 12 deletions(-)
arch/arm/mach-mx3/mx31ads.c +2 -12
index 0497c15..cda570b 100644
@@ -307,12 +307,8 @@ static struct regulator_init_data ldo1_data = {
 };
 
 static struct regulator_consumer_supply ldo2_consumers[] = {
-	{
-		.supply = "AVDD",
-	},
-	{
-		.supply = "HPVDD",
-	},
+	{ .supply = "AVDD", .dev_name = "1-001a" },
+	{ .supply = "HPVDD", .dev_name = "1-001a" },
 };
 
 /* CODEC and SIM */
@@ -382,8 +378,6 @@ static struct wm8350_audio_platform_data imx32ads_wm8350_setup = {
 
 static int mx31_wm8350_init(struct wm8350 *wm8350)
 {
-	int i;
-
 	wm8350_gpio_config(wm8350, 0, WM8350_GPIO_DIR_IN,
 			   WM8350_GPIO0_PWR_ON_IN, WM8350_GPIO_ACTIVE_LOW,
 			   WM8350_GPIO_PULL_UP, WM8350_GPIO_INVERT_OFF,
@@ -419,10 +413,6 @@ static int mx31_wm8350_init(struct wm8350 *wm8350)
 			   WM8350_GPIO_PULL_NONE, WM8350_GPIO_INVERT_OFF,
 			   WM8350_GPIO_DEBOUNCE_OFF);
 
-	/* Fix up for our own supplies. */
-	for (i = 0; i < ARRAY_SIZE(ldo2_consumers); i++)
-		ldo2_consumers[i].dev = wm8350->dev;
-
 	wm8350_register_regulator(wm8350, WM8350_DCDC_1, &sw1a_data);
 	wm8350_register_regulator(wm8350, WM8350_DCDC_3, &viohi_data);
 	wm8350_register_regulator(wm8350, WM8350_DCDC_4, &violo_data);
Signature · 1 line
1.6.5.7
Signature · 4 lines
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |