All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] MIPS: lantiq: adds 4dword burst length for dma
@ 2013-08-08  9:07 John Crispin
  2013-08-08  9:07 ` [PATCH 2/4] MIPS: lantiq: adds minimal dcdc driver John Crispin
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: John Crispin @ 2013-08-08  9:07 UTC (permalink / raw)
  To: Ralf Baechle; +Cc: linux-mips, John Crispin

Comparing the upstream code with the Lantiq UGW kernel we see that burst length
should be set to 4 bytes.

Signed-off-by: John Crispin <blogic@openwrt.org>
---
 arch/mips/lantiq/xway/dma.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/mips/lantiq/xway/dma.c b/arch/mips/lantiq/xway/dma.c
index 08f7ebd..ccf1451 100644
--- a/arch/mips/lantiq/xway/dma.c
+++ b/arch/mips/lantiq/xway/dma.c
@@ -48,6 +48,7 @@
 #define DMA_IRQ_ACK		0x7e		/* IRQ status register */
 #define DMA_POLL		BIT(31)		/* turn on channel polling */
 #define DMA_CLK_DIV4		BIT(6)		/* polling clock divider */
+#define DMA_4W_BURST		BIT(2)		/* 4 word burst length */
 #define DMA_2W_BURST		BIT(1)		/* 2 word burst length */
 #define DMA_MAX_CHANNEL		20		/* the soc has 20 channels */
 #define DMA_ETOP_ENDIANNESS	(0xf << 8) /* endianness swap etop channels */
@@ -196,7 +197,8 @@ ltq_dma_init_port(int p)
 		 * Tell the DMA engine to swap the endianness of data frames and
 		 * drop packets if the channel arbitration fails.
 		 */
-		ltq_dma_w32_mask(0, DMA_ETOP_ENDIANNESS | DMA_PDEN,
+		ltq_dma_w32_mask(0, (DMA_4W_BURST << 4) | (DMA_4W_BURST << 2) |
+			DMA_ETOP_ENDIANNESS | DMA_PDEN,
 			LTQ_DMA_PCTRL);
 		break;
 
-- 
1.7.10.4

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

* [PATCH 2/4] MIPS: lantiq: adds minimal dcdc driver
  2013-08-08  9:07 [PATCH 1/4] MIPS: lantiq: adds 4dword burst length for dma John Crispin
@ 2013-08-08  9:07 ` John Crispin
  2013-08-08 10:58   ` Sergei Shtylyov
  2013-08-08  9:07 ` [PATCH 3/4] MIPS: lantiq: falcon: add cpu-feature-override.h John Crispin
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: John Crispin @ 2013-08-08  9:07 UTC (permalink / raw)
  To: Ralf Baechle; +Cc: linux-mips, John Crispin

This driver so far only reads the core voltage.

Signed-off-by: John Crispin <blogic@openwrt.org>
---
 arch/mips/lantiq/xway/Makefile |    2 +-
 arch/mips/lantiq/xway/dcdc.c   |   75 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 76 insertions(+), 1 deletion(-)
 create mode 100644 arch/mips/lantiq/xway/dcdc.c

diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
index 7a13660..087497d 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,3 +1,3 @@
-obj-y := prom.o sysctrl.o clk.o reset.o dma.o gptu.o
+obj-y := prom.o sysctrl.o clk.o reset.o dma.o gptu.o dcdc.o
 
 obj-$(CONFIG_XRX200_PHY_FW) += xrx200_phy_fw.o
diff --git a/arch/mips/lantiq/xway/dcdc.c b/arch/mips/lantiq/xway/dcdc.c
new file mode 100644
index 0000000..6361c30
--- /dev/null
+++ b/arch/mips/lantiq/xway/dcdc.c
@@ -0,0 +1,75 @@
+/*
+ *  This program is free software; you can redistribute it and/or modify it
+ *  under the terms of the GNU General Public License version 2 as published
+ *  by the Free Software Foundation.
+ *
+ *  Copyright (C) 2012 John Crispin <blogic@openwrt.org>
+ *  Copyright (C) 2010 Sameer Ahmad, Lantiq GmbH
+ */
+
+#include <linux/interrupt.h>
+#include <linux/ioport.h>
+#include <linux/module.h>
+#include <linux/of_platform.h>
+#include <linux/of_irq.h>
+
+#include <lantiq_soc.h>
+
+/* Bias and regulator Setup Register */
+#define DCDC_BIAS_VREG0	0xa
+/* Bias and regulator Setup Register */
+#define DCDC_BIAS_VREG1	0xb
+
+#define dcdc_w8(x, y)	ltq_w8((x), dcdc_membase + (y))
+#define dcdc_r8(x)	ltq_r8(dcdc_membase + (x))
+
+static void __iomem *dcdc_membase;
+
+static int dcdc_probe(struct platform_device *pdev)
+{
+	struct resource *res;
+
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (!res) {
+		dev_err(&pdev->dev, "Failed to get resource\n");
+		return -ENOMEM;
+	}
+
+	/* remap dcdc register range */
+	dcdc_membase = devm_request_and_ioremap(&pdev->dev, res);
+	if (!dcdc_membase) {
+		dev_err(&pdev->dev, "Failed to remap resource\n");
+		return -ENOMEM;
+	}
+
+	dev_info(&pdev->dev, "Core Voltage : %d mV\n",
+		dcdc_r8(DCDC_BIAS_VREG1) * 8);
+
+	return 0;
+}
+
+static const struct of_device_id dcdc_match[] = {
+	{ .compatible = "lantiq,dcdc-xrx200" },
+	{},
+};
+MODULE_DEVICE_TABLE(of, dcdc_match);
+
+static struct platform_driver dcdc_driver = {
+	.probe = dcdc_probe,
+	.driver = {
+		.name = "dcdc-xrx200",
+		.owner = THIS_MODULE,
+		.of_match_table = dcdc_match,
+	},
+};
+
+int __init dcdc_init(void)
+{
+	int ret = platform_driver_register(&dcdc_driver);
+
+	if (ret)
+		pr_info("dcdc: Error registering platform driver\n");
+	return ret;
+}
+
+arch_initcall(dcdc_init);
-- 
1.7.10.4

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

* [PATCH 3/4] MIPS: lantiq: falcon: add cpu-feature-override.h
  2013-08-08  9:07 [PATCH 1/4] MIPS: lantiq: adds 4dword burst length for dma John Crispin
  2013-08-08  9:07 ` [PATCH 2/4] MIPS: lantiq: adds minimal dcdc driver John Crispin
@ 2013-08-08  9:07 ` John Crispin
  2013-08-08  9:07 ` [PATCH 4/4] MIPS: lantiq: falcon: fix asc clock definition John Crispin
  2013-08-08  9:49 ` [PATCH 1/4] MIPS: lantiq: adds 4dword burst length for dma Thomas Bogendoerfer
  3 siblings, 0 replies; 9+ messages in thread
From: John Crispin @ 2013-08-08  9:07 UTC (permalink / raw)
  To: Ralf Baechle; +Cc: linux-mips, Thomas Langer

From: Thomas Langer <thomas.langer@lantiq.com>

Add cpu-feature-override.h for the GPON SoC

Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
Acked-by: John Crispin <blogic@openwrt.org>
---
 .../asm/mach-lantiq/falcon/cpu-feature-overrides.h |   58 ++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 arch/mips/include/asm/mach-lantiq/falcon/cpu-feature-overrides.h

diff --git a/arch/mips/include/asm/mach-lantiq/falcon/cpu-feature-overrides.h b/arch/mips/include/asm/mach-lantiq/falcon/cpu-feature-overrides.h
new file mode 100644
index 0000000..096a100
--- /dev/null
+++ b/arch/mips/include/asm/mach-lantiq/falcon/cpu-feature-overrides.h
@@ -0,0 +1,58 @@
+/*
+ *  Lantiq FALCON specific CPU feature overrides
+ *
+ *  Copyright (C) 2013 Thomas Langer, Lantiq Deutschland
+ *
+ *  This file was derived from: include/asm-mips/cpu-features.h
+ *	Copyright (C) 2003, 2004 Ralf Baechle
+ *	Copyright (C) 2004 Maciej W. Rozycki
+ *
+ *  This program is free software; you can redistribute it and/or modify it
+ *  under the terms of the GNU General Public License version 2 as published
+ *  by the Free Software Foundation.
+ *
+ */
+#ifndef __ASM_MACH_FALCON_CPU_FEATURE_OVERRIDES_H
+#define __ASM_MACH_FALCON_CPU_FEATURE_OVERRIDES_H
+
+#define cpu_has_tlb		1
+#define cpu_has_4kex		1
+#define cpu_has_3k_cache	0
+#define cpu_has_4k_cache	1
+#define cpu_has_tx39_cache	0
+#define cpu_has_sb1_cache	0
+#define cpu_has_fpu		0
+#define cpu_has_32fpr		0
+#define cpu_has_counter		1
+#define cpu_has_watch		1
+#define cpu_has_divec		1
+
+#define cpu_has_prefetch	1
+#define cpu_has_ejtag		1
+#define cpu_has_llsc		1
+
+#define cpu_has_mips16		1
+#define cpu_has_mdmx		0
+#define cpu_has_mips3d		0
+#define cpu_has_smartmips	0
+
+#define cpu_has_mips32r1	1
+#define cpu_has_mips32r2	1
+#define cpu_has_mips64r1	0
+#define cpu_has_mips64r2	0
+
+#define cpu_has_dsp		1
+#define cpu_has_mipsmt		1
+
+#define cpu_has_vint		1
+#define cpu_has_veic		1
+
+#define cpu_has_64bits		0
+#define cpu_has_64bit_zero_reg	0
+#define cpu_has_64bit_gp_regs	0
+#define cpu_has_64bit_addresses	0
+
+#define cpu_dcache_line_size()	32
+#define cpu_icache_line_size()	32
+
+#endif /* __ASM_MACH_FALCON_CPU_FEATURE_OVERRIDES_H */
-- 
1.7.10.4

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

* [PATCH 4/4] MIPS: lantiq: falcon: fix asc clock definition
  2013-08-08  9:07 [PATCH 1/4] MIPS: lantiq: adds 4dword burst length for dma John Crispin
  2013-08-08  9:07 ` [PATCH 2/4] MIPS: lantiq: adds minimal dcdc driver John Crispin
  2013-08-08  9:07 ` [PATCH 3/4] MIPS: lantiq: falcon: add cpu-feature-override.h John Crispin
@ 2013-08-08  9:07 ` John Crispin
  2013-08-08  9:49 ` [PATCH 1/4] MIPS: lantiq: adds 4dword burst length for dma Thomas Bogendoerfer
  3 siblings, 0 replies; 9+ messages in thread
From: John Crispin @ 2013-08-08  9:07 UTC (permalink / raw)
  To: Ralf Baechle; +Cc: linux-mips, Thomas Langer

From: Thomas Langer <thomas.langer@lantiq.com>

The clocks of the serial ports were not setup properly.

Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
Acked-by: John Crispin <blogic@openwrt.org>
---
 arch/mips/lantiq/falcon/sysctrl.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/mips/lantiq/falcon/sysctrl.c b/arch/mips/lantiq/falcon/sysctrl.c
index ff4894a..8f1866d 100644
--- a/arch/mips/lantiq/falcon/sysctrl.c
+++ b/arch/mips/lantiq/falcon/sysctrl.c
@@ -48,6 +48,7 @@
 #define CPU0CC_CPUDIV		0x0001
 
 /* Activation Status Register */
+#define ACTS_ASC0_ACT	0x00001000
 #define ACTS_ASC1_ACT	0x00000800
 #define ACTS_I2C_ACT	0x00004000
 #define ACTS_P0		0x00010000
@@ -108,6 +109,7 @@ static void sysctl_deactivate(struct clk *clk)
 static int sysctl_clken(struct clk *clk)
 {
 	sysctl_w32(clk->module, clk->bits, SYSCTL_CLKEN);
+	sysctl_w32(clk->module, clk->bits, SYSCTL_ACT);
 	sysctl_wait(clk, clk->bits, SYSCTL_CLKS);
 	return 0;
 }
@@ -256,6 +258,7 @@ void __init ltq_soc_init(void)
 	clkdev_add_sys("1e800400.pad", SYSCTL_SYS1, ACTS_PADCTRL1);
 	clkdev_add_sys("1e800500.pad", SYSCTL_SYS1, ACTS_PADCTRL3);
 	clkdev_add_sys("1e800600.pad", SYSCTL_SYS1, ACTS_PADCTRL4);
-	clkdev_add_sys("1e100C00.serial", SYSCTL_SYS1, ACTS_ASC1_ACT);
+	clkdev_add_sys("1e100b00.serial", SYSCTL_SYS1, ACTS_ASC1_ACT);
+	clkdev_add_sys("1e100c00.serial", SYSCTL_SYS1, ACTS_ASC0_ACT);
 	clkdev_add_sys("1e200000.i2c", SYSCTL_SYS1, ACTS_I2C_ACT);
 }
-- 
1.7.10.4

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

* Re: [PATCH 1/4] MIPS: lantiq: adds 4dword burst length for dma
  2013-08-08  9:07 [PATCH 1/4] MIPS: lantiq: adds 4dword burst length for dma John Crispin
                   ` (2 preceding siblings ...)
  2013-08-08  9:07 ` [PATCH 4/4] MIPS: lantiq: falcon: fix asc clock definition John Crispin
@ 2013-08-08  9:49 ` Thomas Bogendoerfer
  3 siblings, 0 replies; 9+ messages in thread
From: Thomas Bogendoerfer @ 2013-08-08  9:49 UTC (permalink / raw)
  To: John Crispin; +Cc: Ralf Baechle, linux-mips

On Thu, Aug 08, 2013 at 11:07:23AM +0200, John Crispin wrote:
> Comparing the upstream code with the Lantiq UGW kernel we see that burst length
> should be set to 4 bytes.
> 
> Signed-off-by: John Crispin <blogic@openwrt.org>
> ---
>  arch/mips/lantiq/xway/dma.c |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/mips/lantiq/xway/dma.c b/arch/mips/lantiq/xway/dma.c
> index 08f7ebd..ccf1451 100644
> --- a/arch/mips/lantiq/xway/dma.c
> +++ b/arch/mips/lantiq/xway/dma.c
> @@ -48,6 +48,7 @@
>  #define DMA_IRQ_ACK		0x7e		/* IRQ status register */
>  #define DMA_POLL		BIT(31)		/* turn on channel polling */
>  #define DMA_CLK_DIV4		BIT(6)		/* polling clock divider */
> +#define DMA_4W_BURST		BIT(2)		/* 4 word burst length */
>  #define DMA_2W_BURST		BIT(1)		/* 2 word burst length */

that's wrong, it's not BIT(x), but x itself.

1 means 2 word burst
2 means 4 word burst
3 means 8 word burst

Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]

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

* Re: [PATCH 2/4] MIPS: lantiq: adds minimal dcdc driver
  2013-08-08  9:07 ` [PATCH 2/4] MIPS: lantiq: adds minimal dcdc driver John Crispin
@ 2013-08-08 10:58   ` Sergei Shtylyov
  2013-08-08 11:17     ` Florian Fainelli
  0 siblings, 1 reply; 9+ messages in thread
From: Sergei Shtylyov @ 2013-08-08 10:58 UTC (permalink / raw)
  To: John Crispin; +Cc: Ralf Baechle, linux-mips

Hello.

On 08-08-2013 13:07, John Crispin wrote:

> This driver so far only reads the core voltage.

> Signed-off-by: John Crispin <blogic@openwrt.org>
[...]

> diff --git a/arch/mips/lantiq/xway/dcdc.c b/arch/mips/lantiq/xway/dcdc.c
> new file mode 100644
> index 0000000..6361c30
> --- /dev/null
> +++ b/arch/mips/lantiq/xway/dcdc.c
> @@ -0,0 +1,75 @@
[...]
> +static int dcdc_probe(struct platform_device *pdev)
> +{
> +	struct resource *res;
> +
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> +	if (!res) {
> +		dev_err(&pdev->dev, "Failed to get resource\n");
> +		return -ENOMEM;
> +	}

    You do not need to check this with devm_request_and_ioremap() or
devm_ioremap_resource().

> +
> +	/* remap dcdc register range */
> +	dcdc_membase = devm_request_and_ioremap(&pdev->dev, res);

    Use devm_ioremap_resource().

> +	if (!dcdc_membase) {
> +		dev_err(&pdev->dev, "Failed to remap resource\n");

    Error messages are already printed by devm_request_and_ioremap() 
ordevm_ioremap_resource().

> +		return -ENOMEM;

    -EADDRNOTAVAIL is the right code for devm_request_and_ioremap().

WBR, Sergei

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

* Re: [PATCH 2/4] MIPS: lantiq: adds minimal dcdc driver
  2013-08-08 10:58   ` Sergei Shtylyov
@ 2013-08-08 11:17     ` Florian Fainelli
  2013-08-08 11:50       ` Lars-Peter Clausen
  2013-08-08 12:04       ` Sergei Shtylyov
  0 siblings, 2 replies; 9+ messages in thread
From: Florian Fainelli @ 2013-08-08 11:17 UTC (permalink / raw)
  To: Sergei Shtylyov; +Cc: John Crispin, Ralf Baechle, Linux-MIPS

2013/8/8 Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>:
> Hello.
>
>
> On 08-08-2013 13:07, John Crispin wrote:
>
>> This driver so far only reads the core voltage.
>
>
>> Signed-off-by: John Crispin <blogic@openwrt.org>
>
> [...]
>
>
>> diff --git a/arch/mips/lantiq/xway/dcdc.c b/arch/mips/lantiq/xway/dcdc.c
>> new file mode 100644
>> index 0000000..6361c30
>> --- /dev/null
>> +++ b/arch/mips/lantiq/xway/dcdc.c
>> @@ -0,0 +1,75 @@
>
> [...]
>
>> +static int dcdc_probe(struct platform_device *pdev)
>> +{
>> +       struct resource *res;
>> +
>> +       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>> +       if (!res) {
>> +               dev_err(&pdev->dev, "Failed to get resource\n");
>> +               return -ENOMEM;
>> +       }
>
>
>    You do not need to check this with devm_request_and_ioremap() or
> devm_ioremap_resource().
>
>
>> +
>> +       /* remap dcdc register range */
>> +       dcdc_membase = devm_request_and_ioremap(&pdev->dev, res);
>
>
>    Use devm_ioremap_resource().
>
>
>> +       if (!dcdc_membase) {
>> +               dev_err(&pdev->dev, "Failed to remap resource\n");
>
>
>    Error messages are already printed by devm_request_and_ioremap()
> ordevm_ioremap_resource().
>
>> +               return -ENOMEM;
>
>
>    -EADDRNOTAVAIL is the right code for devm_request_and_ioremap().

This is the first time that I read this, lib/devres.c internal returns
-ENOMEM when an ioremap() call fails (see devm_ioremap_resource),
-EADDRNOTAVAIL really is for networking matter, this is not.
-- 
Florian

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

* Re: [PATCH 2/4] MIPS: lantiq: adds minimal dcdc driver
  2013-08-08 11:17     ` Florian Fainelli
@ 2013-08-08 11:50       ` Lars-Peter Clausen
  2013-08-08 12:04       ` Sergei Shtylyov
  1 sibling, 0 replies; 9+ messages in thread
From: Lars-Peter Clausen @ 2013-08-08 11:50 UTC (permalink / raw)
  To: Florian Fainelli; +Cc: Sergei Shtylyov, John Crispin, Ralf Baechle, Linux-MIPS

On 08/08/2013 01:17 PM, Florian Fainelli wrote:
> 2013/8/8 Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>:
>> Hello.
>>
>>
>> On 08-08-2013 13:07, John Crispin wrote:
>>
>>> This driver so far only reads the core voltage.
>>
>>
>>> Signed-off-by: John Crispin <blogic@openwrt.org>
>>
>> [...]
>>
>>
>>> diff --git a/arch/mips/lantiq/xway/dcdc.c b/arch/mips/lantiq/xway/dcdc.c
>>> new file mode 100644
>>> index 0000000..6361c30
>>> --- /dev/null
>>> +++ b/arch/mips/lantiq/xway/dcdc.c
>>> @@ -0,0 +1,75 @@
>>
>> [...]
>>
>>> +static int dcdc_probe(struct platform_device *pdev)
>>> +{
>>> +       struct resource *res;
>>> +
>>> +       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>>> +       if (!res) {
>>> +               dev_err(&pdev->dev, "Failed to get resource\n");
>>> +               return -ENOMEM;
>>> +       }
>>
>>
>>     You do not need to check this with devm_request_and_ioremap() or
>> devm_ioremap_resource().
>>
>>
>>> +
>>> +       /* remap dcdc register range */
>>> +       dcdc_membase = devm_request_and_ioremap(&pdev->dev, res);
>>
>>
>>     Use devm_ioremap_resource().
>>
>>
>>> +       if (!dcdc_membase) {
>>> +               dev_err(&pdev->dev, "Failed to remap resource\n");
>>
>>
>>     Error messages are already printed by devm_request_and_ioremap()
>> ordevm_ioremap_resource().
>>
>>> +               return -ENOMEM;
>>
>>
>>     -EADDRNOTAVAIL is the right code for devm_request_and_ioremap().
>
> This is the first time that I read this, lib/devres.c internal returns
> -ENOMEM when an ioremap() call fails (see devm_ioremap_resource),
> -EADDRNOTAVAIL really is for networking matter, this is not.
>

You shouldn't need worry about the return code in this case anyway. This is the 
correct pattern for situations like this:

res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
base = devm_ioremap_resource(&pdev->dev, res);
if (IS_ERR(base))
	return PTR_ERR(base);

- Lars

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

* Re: [PATCH 2/4] MIPS: lantiq: adds minimal dcdc driver
  2013-08-08 11:17     ` Florian Fainelli
  2013-08-08 11:50       ` Lars-Peter Clausen
@ 2013-08-08 12:04       ` Sergei Shtylyov
  1 sibling, 0 replies; 9+ messages in thread
From: Sergei Shtylyov @ 2013-08-08 12:04 UTC (permalink / raw)
  To: Florian Fainelli; +Cc: John Crispin, Ralf Baechle, Linux-MIPS

Hello.

On 08-08-2013 15:17, Florian Fainelli wrote:

>>> This driver so far only reads the core voltage.

>>> Signed-off-by: John Crispin <blogic@openwrt.org>

>> [...]

>>> diff --git a/arch/mips/lantiq/xway/dcdc.c b/arch/mips/lantiq/xway/dcdc.c
>>> new file mode 100644
>>> index 0000000..6361c30
>>> --- /dev/null
>>> +++ b/arch/mips/lantiq/xway/dcdc.c
>>> @@ -0,0 +1,75 @@

>> [...]

>>> +
>>> +       /* remap dcdc register range */
>>> +       dcdc_membase = devm_request_and_ioremap(&pdev->dev, res);

>>     Use devm_ioremap_resource().

>>> +       if (!dcdc_membase) {
>>> +               dev_err(&pdev->dev, "Failed to remap resource\n");

>>     Error messages are already printed by devm_request_and_ioremap()
>> ordevm_ioremap_resource().

>>> +               return -ENOMEM;

>>     -EADDRNOTAVAIL is the right code for devm_request_and_ioremap().

> This is the first time that I read this, lib/devres.c internal returns
> -ENOMEM when an ioremap() call fails

    What if the other call fails?

> (see devm_ioremap_resource),
> -EADDRNOTAVAIL really is for networking matter, this is not.

    Just see the comment accompanying devm_request_and_ioremap().

WBR, Sergei

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

end of thread, other threads:[~2013-08-08 12:04 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-08  9:07 [PATCH 1/4] MIPS: lantiq: adds 4dword burst length for dma John Crispin
2013-08-08  9:07 ` [PATCH 2/4] MIPS: lantiq: adds minimal dcdc driver John Crispin
2013-08-08 10:58   ` Sergei Shtylyov
2013-08-08 11:17     ` Florian Fainelli
2013-08-08 11:50       ` Lars-Peter Clausen
2013-08-08 12:04       ` Sergei Shtylyov
2013-08-08  9:07 ` [PATCH 3/4] MIPS: lantiq: falcon: add cpu-feature-override.h John Crispin
2013-08-08  9:07 ` [PATCH 4/4] MIPS: lantiq: falcon: fix asc clock definition John Crispin
2013-08-08  9:49 ` [PATCH 1/4] MIPS: lantiq: adds 4dword burst length for dma Thomas Bogendoerfer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.