From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rafal Prylowski Subject: [PATCH v2 3/3] ep93xx: Add IDE support to edb93xx boards Date: Tue, 03 Apr 2012 16:48:05 +0200 Message-ID: <4F7B0DA5.6080703@metasoft.pl> References: <4F7B0C54.8010804@metasoft.pl> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: 7bit Return-path: Received: from metasoft.pl ([195.149.224.191]:53418 "EHLO smtp.metasoft.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751652Ab2DCOs5 (ORCPT ); Tue, 3 Apr 2012 10:48:57 -0400 In-Reply-To: <4F7B0C54.8010804@metasoft.pl> Sender: linux-ide-owner@vger.kernel.org List-Id: linux-ide@vger.kernel.org To: "linux-ide@vger.kernel.org" Cc: "linux-arm-kernel@lists.infradead.org" , "joao.ramos@inov.pt" , hsweeten@visionengravers.com, "rmallon@gmail.com" , Sergei Shtylyov , "bzolnier@gmail.com" Signed-off-by: Rafal Prylowski Cc: H Hartley Sweeten Cc: Ryan Mallon --- arch/arm/mach-ep93xx/edb93xx.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 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,29 @@ 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_edb9312() || machine_is_edb9315 || + 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 +266,7 @@ static void __init edb93xx_init_machine( edb93xx_register_i2s(); edb93xx_register_pwm(); edb93xx_register_fb(); + edb93xx_register_ide(); }