[6/7] S3C6410: Add platform data for S3C IDE controller driver

Submitted by Thomas Abraham on Nov. 1, 2009, 4:58 a.m.

Details

Message ID 1257051536-8170-1-git-send-email-thomas.ab@samsung.com
State Rejected
Delegated to: David Miller
Headers show

Commit Message

Thomas Abraham Nov. 1, 2009, 4:58 a.m.
This patch adds platform data for S3C IDE controller driver in
S3C6410 platform.

Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
---
 arch/arm/mach-s3c6410/mach-smdk6410.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

Comments

Ben Dooks Nov. 1, 2009, 1:07 p.m.
On Sun, Nov 01, 2009 at 01:58:56PM +0900, Thomas Abraham wrote:
> This patch adds platform data for S3C IDE controller driver in
> S3C6410 platform.
> 
> Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
> Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
> ---
>  arch/arm/mach-s3c6410/mach-smdk6410.c |    8 +++++++-
>  1 files changed, 7 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/mach-s3c6410/mach-smdk6410.c b/arch/arm/mach-s3c6410/mach-smdk6410.c
> index ea51dbe..81b435e 100644
> --- a/arch/arm/mach-s3c6410/mach-smdk6410.c
> +++ b/arch/arm/mach-s3c6410/mach-smdk6410.c
> @@ -50,6 +50,7 @@
>  #include <plat/regs-sys.h>
>  #include <plat/iic.h>
>  #include <plat/fb.h>
> +#include <plat/ide.h>
>  #include <plat/gpio-cfg.h>
>  
>  #include <plat/s3c6410.h>
> @@ -153,6 +154,12 @@ static struct s3c_fb_platdata smdk6410_lcd_pdata __initdata = {
>  	.vidcon1	= VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
>  };
>  
> +#ifdef CONFIG_BLK_DEV_IDE_S3C
> +static struct s3c_ide_platdata smdk6410_ide_pdata __initdata = {
> +	.setup_gpio	= s3c64xx_ide_setup_gpio,
> +};
> +#endif
> +
>  static struct resource smdk6410_smsc911x_resources[] = {
>  	[0] = {
>  		.start = 0x18000000,
> @@ -199,7 +204,9 @@ static struct platform_device *smdk6410_devices[] __initdata = {
>  	&s3c_device_usb,
>  	&s3c_device_usb_hsotg,
>  	&smdk6410_lcd_powerdev,
> -
> +#ifdef CONFIG_BLK_DEV_IDE_S3C
> +	&s3c_device_cfcon,
> +#endif
>  	&smdk6410_smsc911x,
>  };

Firstly, doing stuff if the driver is enabled or not is not a good idea,
as it means re-installing the kernel if you then go and build the driver
as a module at a later date.

Two, since I guess that the IDE gpio setup should be the same across all
s3c6410 based systems, then you should look at supplying a standard
platform data that the board can use instead of having to duplicate this
across all the boards.

> @@ -377,6 +382,9 @@ static void __init smdk6410_machine_init(void)
>  	s3c_i2c0_set_platdata(NULL);
>  	s3c_i2c1_set_platdata(NULL);
>  	s3c_fb_set_platdata(&smdk6410_lcd_pdata);
> +#ifdef CONFIG_BLK_DEV_IDE_S3C
> +	s3c_ide_set_platdata(&smdk6410_ide_pdata);
> +#endif
>  
>  	gpio_request(S3C64XX_GPN(5), "LCD power");
>  	gpio_request(S3C64XX_GPF(13), "LCD power");
Thomas Abraham Nov. 2, 2009, 6:18 a.m.
On Sun, Nov 1, 2009 at 10:07 PM, Ben Dooks <ben-linux@fluff.org> wrote:
> On Sun, Nov 01, 2009 at 01:58:56PM +0900, Thomas Abraham wrote:
>> This patch adds platform data for S3C IDE controller driver in
>> S3C6410 platform.
>>
>> Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
>> Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
>> ---
>>  arch/arm/mach-s3c6410/mach-smdk6410.c |    8 +++++++-
>>  1 files changed, 7 insertions(+), 1 deletions(-)
>> -
>> +#ifdef CONFIG_BLK_DEV_IDE_S3C
>> +     &s3c_device_cfcon,
>> +#endif
>>       &smdk6410_smsc911x,
>>  };
>
> Firstly, doing stuff if the driver is enabled or not is not a good idea,
> as it means re-installing the kernel if you then go and build the driver
> as a module at a later date.
>
> Two, since I guess that the IDE gpio setup should be the same across all
> s3c6410 based systems, then you should look at supplying a standard
> platform data that the board can use instead of having to duplicate this
> across all the boards.
>

Ok. I will remove the conditional compilation and move the platform
data from SMDK board file. Since the IDE driver is not accepted, these
patches will be updated and resent again with the libata based driver.

Thanks Ben for reviewing the patches.

Thomas.
--
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 hide | download patch | download mbox

diff --git a/arch/arm/mach-s3c6410/mach-smdk6410.c b/arch/arm/mach-s3c6410/mach-smdk6410.c
index ea51dbe..81b435e 100644
--- a/arch/arm/mach-s3c6410/mach-smdk6410.c
+++ b/arch/arm/mach-s3c6410/mach-smdk6410.c
@@ -50,6 +50,7 @@ 
 #include <plat/regs-sys.h>
 #include <plat/iic.h>
 #include <plat/fb.h>
+#include <plat/ide.h>
 #include <plat/gpio-cfg.h>
 
 #include <plat/s3c6410.h>
@@ -153,6 +154,12 @@  static struct s3c_fb_platdata smdk6410_lcd_pdata __initdata = {
 	.vidcon1	= VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
 };
 
+#ifdef CONFIG_BLK_DEV_IDE_S3C
+static struct s3c_ide_platdata smdk6410_ide_pdata __initdata = {
+	.setup_gpio	= s3c64xx_ide_setup_gpio,
+};
+#endif
+
 static struct resource smdk6410_smsc911x_resources[] = {
 	[0] = {
 		.start = 0x18000000,
@@ -199,7 +204,9 @@  static struct platform_device *smdk6410_devices[] __initdata = {
 	&s3c_device_usb,
 	&s3c_device_usb_hsotg,
 	&smdk6410_lcd_powerdev,
-
+#ifdef CONFIG_BLK_DEV_IDE_S3C
+	&s3c_device_cfcon,
+#endif
 	&smdk6410_smsc911x,
 };
 
@@ -377,6 +382,9 @@  static void __init smdk6410_machine_init(void)
 	s3c_i2c0_set_platdata(NULL);
 	s3c_i2c1_set_platdata(NULL);
 	s3c_fb_set_platdata(&smdk6410_lcd_pdata);
+#ifdef CONFIG_BLK_DEV_IDE_S3C
+	s3c_ide_set_platdata(&smdk6410_ide_pdata);
+#endif
 
 	gpio_request(S3C64XX_GPN(5), "LCD power");
 	gpio_request(S3C64XX_GPF(13), "LCD power");