[PATCH 2/2] DaVinci: DM365: Add the device_enable for the DaVinci Keyscan

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH 2/2] DaVinci: DM365: Add the device_enable for the DaVinci Keyscan

miguel.aguilar@ridgerun.com
From: Miguel Aguilar <[hidden email]>

Adds the device_enable function to the DaVinci Keyscan platform data
to setup the PINMUX configuration.

It also removes #ifdef from the DM365 EVM board in order to load it
properly as a module.

Signed-off-by: Miguel Aguilar <[hidden email]>
---
 arch/arm/mach-davinci/board-dm365-evm.c |   11 ++++++-----
 arch/arm/mach-davinci/dm365.c           |    1 -
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-davinci/board-dm365-evm.c b/arch/arm/mach-davinci/board-dm365-evm.c
index 8d23972..5abf89d 100644
--- a/arch/arm/mach-davinci/board-dm365-evm.c
+++ b/arch/arm/mach-davinci/board-dm365-evm.c
@@ -195,7 +195,11 @@ static struct davinci_i2c_platform_data i2c_pdata = {
  .bus_delay = 0 /* usec */,
 };
 
-#ifdef CONFIG_KEYBOARD_DAVINCI
+void dm365evm_keyscan_enable(struct device *dev)
+{
+ davinci_cfg_reg(DM365_KEYSCAN);
+}
+
 static unsigned short dm365evm_keymap[] = {
  KEY_KP2,
  KEY_LEFT,
@@ -217,6 +221,7 @@ static unsigned short dm365evm_keymap[] = {
 };
 
 static struct davinci_ks_platform_data dm365evm_ks_data = {
+ .device_enable = dm365evm_keyscan_enable,
  .keymap = dm365evm_keymap,
  .keymapsize = ARRAY_SIZE(dm365evm_keymap),
  .rep = 1,
@@ -225,7 +230,6 @@ static struct davinci_ks_platform_data dm365evm_ks_data = {
  .interval = 0x2,
  .matrix_type = DAVINCI_KEYSCAN_MATRIX_4X4,
 };
-#endif
 
 static int cpld_mmc_get_cd(int module)
 {
@@ -514,10 +518,7 @@ static __init void dm365_evm_init(void)
 
  dm365_init_asp(&dm365_evm_snd_data);
  dm365_init_rtc();
-
-#ifdef CONFIG_KEYBOARD_DAVINCI
  dm365_init_ks(&dm365evm_ks_data);
-#endif
 }
 
 static __init void dm365_evm_irq_init(void)
diff --git a/arch/arm/mach-davinci/dm365.c b/arch/arm/mach-davinci/dm365.c
index 2ec619e..f53735c 100644
--- a/arch/arm/mach-davinci/dm365.c
+++ b/arch/arm/mach-davinci/dm365.c
@@ -993,7 +993,6 @@ void __init dm365_init_asp(struct snd_platform_data *pdata)
 
 void __init dm365_init_ks(struct davinci_ks_platform_data *pdata)
 {
- davinci_cfg_reg(DM365_KEYSCAN);
  dm365_ks_device.dev.platform_data = pdata;
  platform_device_register(&dm365_ks_device);
 }
--
1.6.0.4


Reply | Threaded
Open this post in threaded view
|

[PATCH 2/2] DaVinci: DM365: Add the device_enable for the DaVinci Keyscan

Nori, Sekhar
On Fri, Nov 13, 2009 at 22:49:46, [hidden email] wrote:

> From: Miguel Aguilar <[hidden email]>
>
> Adds the device_enable function to the DaVinci Keyscan platform data
> to setup the PINMUX configuration.
>
> It also removes #ifdef from the DM365 EVM board in order to load it
> properly as a module.
>
> Signed-off-by: Miguel Aguilar <[hidden email]>
> ---
>  arch/arm/mach-davinci/board-dm365-evm.c |   11 ++++++-----
>  arch/arm/mach-davinci/dm365.c           |    1 -
>  2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/mach-davinci/board-dm365-evm.c b/arch/arm/mach-davinci/board-dm365-evm.c
> index 8d23972..5abf89d 100644
> --- a/arch/arm/mach-davinci/board-dm365-evm.c
> +++ b/arch/arm/mach-davinci/board-dm365-evm.c
> @@ -195,7 +195,11 @@ static struct davinci_i2c_platform_data i2c_pdata = {
>       .bus_delay      = 0     /* usec */,
>  };
>
> -#ifdef CONFIG_KEYBOARD_DAVINCI
> +void dm365evm_keyscan_enable(struct device *dev)
> +{
> +     davinci_cfg_reg(DM365_KEYSCAN);

This could probably return a useful error (later)
so, its better to make a provision to propagate
the error.

> +}
> +
>  static unsigned short dm365evm_keymap[] = {
>       KEY_KP2,
>       KEY_LEFT,
> @@ -217,6 +221,7 @@ static unsigned short dm365evm_keymap[] = {
>  };
>
>  static struct davinci_ks_platform_data dm365evm_ks_data = {
> +     .device_enable  = dm365evm_keyscan_enable,

Maybe it's a personal choice, but simply calling it
'init' instead of 'device_enable' should be sufficient.

Thanks,
Sekhar

Reply | Threaded
Open this post in threaded view
|

[PATCH 2/2] DaVinci: DM365: Add the device_enable for the DaVinci Keyscan

miguel.aguilar@ridgerun.com
Nori, Sekhar wrote:

> On Fri, Nov 13, 2009 at 22:49:46, [hidden email] wrote:
>> From: Miguel Aguilar <[hidden email]>
>>
>> Adds the device_enable function to the DaVinci Keyscan platform data
>> to setup the PINMUX configuration.
>>
>> It also removes #ifdef from the DM365 EVM board in order to load it
>> properly as a module.
>>
>> Signed-off-by: Miguel Aguilar <[hidden email]>
>> ---
>>  arch/arm/mach-davinci/board-dm365-evm.c |   11 ++++++-----
>>  arch/arm/mach-davinci/dm365.c           |    1 -
>>  2 files changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/arch/arm/mach-davinci/board-dm365-evm.c b/arch/arm/mach-davinci/board-dm365-evm.c
>> index 8d23972..5abf89d 100644
>> --- a/arch/arm/mach-davinci/board-dm365-evm.c
>> +++ b/arch/arm/mach-davinci/board-dm365-evm.c
>> @@ -195,7 +195,11 @@ static struct davinci_i2c_platform_data i2c_pdata = {
>>       .bus_delay      = 0     /* usec */,
>>  };
>>
>> -#ifdef CONFIG_KEYBOARD_DAVINCI
>> +void dm365evm_keyscan_enable(struct device *dev)
>> +{
>> +     davinci_cfg_reg(DM365_KEYSCAN);
>
> This could probably return a useful error (later)
> so, its better to make a provision to propagate
> the error.
Yes, that would be a good idea.

>
>> +}
>> +
>>  static unsigned short dm365evm_keymap[] = {
>>       KEY_KP2,
>>       KEY_LEFT,
>> @@ -217,6 +221,7 @@ static unsigned short dm365evm_keymap[] = {
>>  };
>>
>>  static struct davinci_ks_platform_data dm365evm_ks_data = {
>> +     .device_enable  = dm365evm_keyscan_enable,
>
> Maybe it's a personal choice, but simply calling it
> 'init' instead of 'device_enable' should be sufficient.
The idea is to avoid confusion with other init functions, due to the specific
intention of this function, which is perform board specific actions only when
the device is enabled, mainly when the driver is built as a module.
>
> Thanks,
> Sekhar
>

Thanks,

Miguel Aguilar