[PATCH 4/7] S3C64XX: Declare IISv4 PCLK for S3C6410

jassi brar jassisinghbrar at gmail.com
Tue Dec 1 19:50:15 EST 2009


On Wed, Dec 2, 2009 at 6:42 AM, Ben Dooks <ben-linux at fluff.org> wrote:
> On Fri, Nov 27, 2009 at 04:43:56PM +0000, Mark Brown wrote:
>> From: Jassi <jassi.brar at samsung.com>
>>
>> [Updated the device ID to -1 since there's only one IISv4 device but the
>> S3C clock API tries to match based on the ID of the requesting device
>> (and not the name) -- broonie.]
>
> I had a quick look at the other clock changes and there are a couple
> of questions that have come up:
>
> 1) If changing the .id field of the iisv4 device really a good idea,
>   especially if there might be more than one of them in the future?
I agree.
Also, changing indices of devices with disregard to their respective clock
might force further adhoc changes in system resources.

I think, best wud be to modify s3c64xx_i2s.c to support 2 channel, 6
channel, h/w mixing(maybe LP-Audio feature too) and pass flag for each
feature via platform data
by something like:-  .has_6_channels, .has_hw_mixer, .has_lp_audio etc

The point to note here is to write drivers around functionality, rather than
version, of the controller.

> 2) The clock name for the current audio bus clock for the iisv4 unit
>   is wrong as we're using it for both the iis and iisv4 blocks. It
>   might be worth renaming the clock for the iisv4 audio bus before
>   looking at changing the usage of the clock support (once the current
>   changes have been sorted)
> As such is the #ifdef of the clock code when the S3C6410 support
> really necesary?
>
>> Signed-Off-by: Jassi <jassi.brar at samsung.com>
>> Signed-off-by: Mark Brown <broonie at opensource.wolfsonmicro.com>
>> ---
>>  arch/arm/plat-s3c64xx/clock.c |    8 ++++++++
>>  1 files changed, 8 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/plat-s3c64xx/clock.c b/arch/arm/plat-s3c64xx/clock.c
>> index 7a36e89..2f1548e 100644
>> --- a/arch/arm/plat-s3c64xx/clock.c
>> +++ b/arch/arm/plat-s3c64xx/clock.c
>> @@ -129,6 +129,14 @@ static struct clk init_clocks_disable[] = {
>>               .enable         = s3c64xx_pclk_ctrl,
>>               .ctrlbit        = S3C_CLKCON_PCLK_IIS1,
>>       }, {
>> +#ifdef CONFIG_CPU_S3C6410
>> +             .name           = "iis",
>> +             .id             = -1,  /* There's only one IISv4 port */
>> +             .parent         = &clk_p,
>> +             .enable         = s3c64xx_pclk_ctrl,
>> +             .ctrlbit        = S3C6410_CLKCON_PCLK_IIS2,
>> +     }, {
>> +#endif
>>               .name           = "spi",
>>               .id             = 0,
>>               .parent         = &clk_p,
>> --
>> 1.6.5.3
>>
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
> --
> --
> Ben
>
> Q:      What's a light-year?
> A:      One-third less calories than a regular year.
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>



More information about the linux-arm-kernel mailing list