lkml.org 
[lkml]   [2012]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 03/11] MFD: twl4030-audio: Rearange and clean-up the probe function
    Date
    To facilitate the device tree support the probe function need to be rearanged.
    Small cleanup in the APLL frequency selection part as well.

    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    ---
    drivers/mfd/twl4030-audio.c | 34 ++++++++++++++++------------------
    1 files changed, 16 insertions(+), 18 deletions(-)

    diff --git a/drivers/mfd/twl4030-audio.c b/drivers/mfd/twl4030-audio.c
    index efa2d42..ca2d669 100644
    --- a/drivers/mfd/twl4030-audio.c
    +++ b/drivers/mfd/twl4030-audio.c
    @@ -169,35 +169,30 @@ static int __devinit twl4030_audio_probe(struct platform_device *pdev)
    return -EINVAL;
    }

    + audio = devm_kzalloc(&pdev->dev, sizeof(struct twl4030_audio),
    + GFP_KERNEL);
    + if (!audio)
    + return -ENOMEM;
    +
    + mutex_init(&audio->mutex);
    + audio->audio_mclk = pdata->audio_mclk;
    +
    /* Configure APLL_INFREQ and disable APLL if enabled */
    - val = 0;
    - switch (pdata->audio_mclk) {
    + switch (audio->audio_mclk) {
    case 19200000:
    - val |= TWL4030_APLL_INFREQ_19200KHZ;
    + val = TWL4030_APLL_INFREQ_19200KHZ;
    break;
    case 26000000:
    - val |= TWL4030_APLL_INFREQ_26000KHZ;
    + val = TWL4030_APLL_INFREQ_26000KHZ;
    break;
    case 38400000:
    - val |= TWL4030_APLL_INFREQ_38400KHZ;
    + val = TWL4030_APLL_INFREQ_38400KHZ;
    break;
    default:
    dev_err(&pdev->dev, "Invalid audio_mclk\n");
    return -EINVAL;
    }
    - twl_i2c_write_u8(TWL4030_MODULE_AUDIO_VOICE,
    - val, TWL4030_REG_APLL_CTL);
    -
    - audio = devm_kzalloc(&pdev->dev, sizeof(struct twl4030_audio),
    - GFP_KERNEL);
    - if (!audio)
    - return -ENOMEM;
    -
    - platform_set_drvdata(pdev, audio);
    -
    - twl4030_audio_dev = pdev;
    - mutex_init(&audio->mutex);
    - audio->audio_mclk = pdata->audio_mclk;
    + twl_i2c_write_u8(TWL4030_MODULE_AUDIO_VOICE, val, TWL4030_REG_APLL_CTL);

    /* Codec power */
    audio->resource[TWL4030_AUDIO_RES_POWER].reg = TWL4030_REG_CODEC_MODE;
    @@ -222,6 +217,9 @@ static int __devinit twl4030_audio_probe(struct platform_device *pdev)
    childs++;
    }

    + platform_set_drvdata(pdev, audio);
    + twl4030_audio_dev = pdev;
    +
    if (childs)
    ret = mfd_add_devices(&pdev->dev, pdev->id, audio->cells,
    childs, NULL, 0);
    --
    1.7.8.6


    \
     
     \ /
      Last update: 2012-08-08 12:21    [W:2.571 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site