Re: [PATCH v2 3/4] omap4 hsmmc: Register offset handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Manju,

On Fri, Oct 1, 2010 at 8:32 PM, G, Manjunath Kondaiah <manjugk@xxxxxx> wrote:
>
>
>
>> -----Original Message-----
>> From: linux-omap-owner@xxxxxxxxxxxxxxx
>> [mailto:linux-omap-owner@xxxxxxxxxxxxxxx] On Behalf Of
>> Kadiyala, Kishore
>> Sent: Saturday, September 18, 2010 10:04 PM
>> To: linux-mmc@xxxxxxxxxxxxxxx; linux-omap@xxxxxxxxxxxxxxx;
>> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
>> Cc: khilman@xxxxxxxxxxxxxxxxxxx; Cousson, Benoit
>> Subject: [PATCH v2 3/4] omap4 hsmmc: Register offset handling
>>
>> The offset handling implementation of omap4 mmc registers
>> which was already present can't be reused once hwmod
>> modifications are done for mmc driver.
>> Since hwmod data file for OMAP4 is an auto generated the base
>> address for MMC will remain same as OMAP3 and thus the offset
>> deviation of registers should be updated in the hsmmc driver.
>> The omap-mmc platform data is updated with a register offset
>> which will be updated and used in the driver accordingly.
>>
>> Signed-off-by: Kishore Kadiyala <kishore.kadiyala@xxxxxx>
>> ---
>>  arch/arm/mach-omap2/devices.c         |    8 +++-----
>>  arch/arm/mach-omap2/hsmmc.c           |    4 ++++
>>  arch/arm/plat-omap/include/plat/mmc.h |    3 +++
>>  drivers/mmc/host/omap_hsmmc.c         |    2 +-
>>  4 files changed, 11 insertions(+), 6 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap2/devices.c
>> b/arch/arm/mach-omap2/devices.c index 2dbb265..bb7ec13 100644
>> --- a/arch/arm/mach-omap2/devices.c
>> +++ b/arch/arm/mach-omap2/devices.c
>> @@ -745,13 +745,13 @@ void __init omap2_init_mmc(struct
>> omap_mmc_platform_data **mmc_data,
>>               case 3:
>>                       if (!cpu_is_omap44xx())
>>                               return;
>> -                     base = OMAP4_MMC4_BASE + OMAP4_MMC_REG_OFFSET;
>> +                     base = OMAP4_MMC4_BASE;
>>                       irq = OMAP44XX_IRQ_MMC4;
>>                       break;
>>               case 4:
>>                       if (!cpu_is_omap44xx())
>>                               return;
>> -                     base = OMAP4_MMC5_BASE + OMAP4_MMC_REG_OFFSET;
>> +                     base = OMAP4_MMC5_BASE;
>>                       irq = OMAP44XX_IRQ_MMC5;
>>                       break;
>>               default:
>> @@ -762,10 +762,8 @@ void __init omap2_init_mmc(struct
>> omap_mmc_platform_data **mmc_data,
>>                       size = OMAP2420_MMC_SIZE;
>>                       name = "mmci-omap";
>>               } else if (cpu_is_omap44xx()) {
>> -                     if (i < 3) {
>> -                             base += OMAP4_MMC_REG_OFFSET;
>> +                     if (i < 3)
>>                               irq += OMAP44XX_IRQ_GIC_START;
>> -                     }
>>                       size = OMAP4_HSMMC_SIZE;
>>                       name = "mmci-omap-hs";
>>               } else {
>> diff --git a/arch/arm/mach-omap2/hsmmc.c
>> b/arch/arm/mach-omap2/hsmmc.c index c8f647b..49d76a7 100644
>> --- a/arch/arm/mach-omap2/hsmmc.c
>> +++ b/arch/arm/mach-omap2/hsmmc.c
>> @@ -261,6 +261,10 @@ void __init omap2_hsmmc_init(struct
>> omap2_hsmmc_info *controllers)
>>               mmc->slots[0].wires = c->wires;
>>               mmc->slots[0].internal_clock = !c->ext_clock;
>>               mmc->dma_mask = 0xffffffff;
>> +             if (cpu_is_omap44xx())
>> +                     mmc->reg_offset = OMAP4_MMC_REG_OFFSET;
>> +             else
>> +                     mmc->reg_offset = 0;
>
> 1. Since you mentioned that, this is useful for hwmod, the
> register offsets should use enum and static tables. You can
> refer to i2c-omap.c for more details and dma hwmod review
> comments for more details.
> https://patchwork.kernel.org/patch/126251/

I've avoided using static tables for register offset handling as suggested
by Benoit for HSMMC driver.Instead had the offset updated in hsmmc.c
and used in driver.

Could you check the latest version V4
http://www.spinics.net/lists/linux-omap/msg37226.html


>
> 2. Replace macros with inline functions for low level read/write
> functions.

Didn't touch this in the latest V4

Regards,
Kishore
>
>  -Manjunath
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux