Patchwork [3/3] ep93xx: Add IDE support to edb93xx boards

login
register
mail settings
Submitter Rafal Prylowski
Date March 29, 2012, 8:20 a.m.
Message ID <4F741B3F.4000507@metasoft.pl>
Download mbox | patch
Permalink /patch/149371/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Rafal Prylowski - March 29, 2012, 8:20 a.m.
Signed-off-by: Rafal Prylowski <prylowski@metasoft.pl>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ryan Mallon <ryan@bluewatersys.com>

---
 arch/arm/mach-ep93xx/edb93xx.c |   23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
hartleys - March 29, 2012, 4:32 p.m.
On Thursday, March 29, 2012 1:20 AM, Rafal Prylowski wrote:
> Signed-off-by: Rafal Prylowski <prylowski@metasoft.pl>
> Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
> Cc: Ryan Mallon <ryan@bluewatersys.com>
>
> ---
>  arch/arm/mach-ep93xx/edb93xx.c |   23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
>
> Index: linux-2.6/arch/arm/mach-ep93xx/edb93xx.c
> ===================================================================
> --- linux-2.6.orig/arch/arm/mach-ep93xx/edb93xx.c
> +++ linux-2.6/arch/arm/mach-ep93xx/edb93xx.c
> @@ -233,6 +233,28 @@ static void __init edb93xx_register_fb(v
>  }
>  
>  
> +/*************************************************************************
> + * EDB93xx IDE
> + *************************************************************************/
> +static int __init edb93xx_has_ide(void)
> +{
> +	/*
> +	 * Although EDB9312 and EDB9315 do have IDE capability, they have
> +	 * INTRQ line wired as pull-up, which makes using IDE interface
> +	 * problematic.
> +	 */
> +	return machine_is_edb9315a();

Allow the driver to be loaded on the EDB9312 and EDB9315 but leave the comment.
If a use of these boards wishes to use the IDE they could remove the pull-up and add
a pull-down to their board.

> +}
> +
> +static void __init edb93xx_register_ide(void)
> +{
> +	if (!edb93xx_has_ide())
> +		return;
> +
> +	ep93xx_register_ide();
> +}
> +
> +
>  static void __init edb93xx_init_machine(void)
>  {
>  	ep93xx_init_devices();
> @@ -243,6 +265,7 @@ static void __init edb93xx_init_machine(
>  	edb93xx_register_i2s();
>  	edb93xx_register_pwm();
>  	edb93xx_register_fb();
> +	edb93xx_register_ide();
>  }

Regards,
Hartley

 
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rafal Prylowski - March 30, 2012, 8:32 a.m.
On 2012-03-29 18:32, H Hartley Sweeten wrote:
>> +static int __init edb93xx_has_ide(void)
>> +{
>> +	/*
>> +	 * Although EDB9312 and EDB9315 do have IDE capability, they have
>> +	 * INTRQ line wired as pull-up, which makes using IDE interface
>> +	 * problematic.
>> +	 */
>> +	return machine_is_edb9315a();
> 
> Allow the driver to be loaded on the EDB9312 and EDB9315 but leave the comment.
> If a use of these boards wishes to use the IDE they could remove the pull-up and add
> a pull-down to their board.

Ok. Will do that.
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

Index: linux-2.6/arch/arm/mach-ep93xx/edb93xx.c
===================================================================
--- linux-2.6.orig/arch/arm/mach-ep93xx/edb93xx.c
+++ linux-2.6/arch/arm/mach-ep93xx/edb93xx.c
@@ -233,6 +233,28 @@  static void __init edb93xx_register_fb(v
 }
 
 
+/*************************************************************************
+ * EDB93xx IDE
+ *************************************************************************/
+static int __init edb93xx_has_ide(void)
+{
+	/*
+	 * Although EDB9312 and EDB9315 do have IDE capability, they have
+	 * INTRQ line wired as pull-up, which makes using IDE interface
+	 * problematic.
+	 */
+	return machine_is_edb9315a();
+}
+
+static void __init edb93xx_register_ide(void)
+{
+	if (!edb93xx_has_ide())
+		return;
+
+	ep93xx_register_ide();
+}
+
+
 static void __init edb93xx_init_machine(void)
 {
 	ep93xx_init_devices();
@@ -243,6 +265,7 @@  static void __init edb93xx_init_machine(
 	edb93xx_register_i2s();
 	edb93xx_register_pwm();
 	edb93xx_register_fb();
+	edb93xx_register_ide();
 }