Subject: [PATCH 1/2] pxa/spitz: Correctly register WM8750

From: [email-masked] (Marek Vasut)
Date: Fri, 28 May 2010 21:28:00 +0200

Dne P? 28. kv?tna 2010 16:17:31 Eric Miao napsal(a):
> On Fri, May 28, 2010 at 9:33 PM, Pavel Machek <[email-masked]> wrote:
> > On Fri 2010-05-28 04:45:32, Marek Vasut wrote:
> >> This patch registers the WM8750 codec on a proper place on the SPITZ
> >> machine after the WM8750 driver was converted to new API.
> >> 
> >> Signed-off-by: Marek Vasut <[email-masked]>
> >> ---
> >>  arch/arm/mach-pxa/spitz.c |    3 +++
> >>  sound/soc/pxa/spitz.c     |   36 ------------------------------------
> >>  2 files changed, 3 insertions(+), 36 deletions(-)
> > 
> > I got rejects on second file when trying to apply it on 2.6.34...?

Apply it by hand, the patch is obvious. This is based on Eric's -devel, latest 
edition (updated before sending this), maybe you have local changes?

Marek
> 
> Pavel,
> 
> Could you give it a quick test? It does solve a building issue of
> spitz.
> 
> >                                                                      
> >  Pavel
> > 
> >> diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c
> >> index 4d2413e..c1048a3 100644
> >> --- a/arch/arm/mach-pxa/spitz.c
> >> +++ b/arch/arm/mach-pxa/spitz.c
> >> @@ -818,6 +818,9 @@ static struct i2c_board_info akita_i2c_board_info[]
> >> = { .type           = "max7310",
> >>               .addr           = 0x18,
> >>               .platform_data  = &akita_ioexp,
> >> +     }, {
> >> +             .type           = "wm8750",
> >> +             .addr           = 0x1b,
> >>       },
> >>  };
> >> 
> >> diff --git a/sound/soc/pxa/spitz.c b/sound/soc/pxa/spitz.c
> >> index 1941a35..d256f5f 100644
> >> --- a/sound/soc/pxa/spitz.c
> >> +++ b/sound/soc/pxa/spitz.c
> >> @@ -328,38 +328,6 @@ static struct snd_soc_device spitz_snd_devdata = {
> >>       .codec_dev = &soc_codec_dev_wm8750,
> >>  };
> >> 
> >> -/*
> >> - * FIXME: This is a temporary bodge to avoid cross-tree merge issues.
> >> - * New drivers should register the wm8750 I2C device in the machine
> >> - * setup code (under arch/arm for ARM systems).
> >> - */
> >> -static int wm8750_i2c_register(void)
> >> -{
> >> -     struct i2c_board_info info;
> >> -     struct i2c_adapter *adapter;
> >> -     struct i2c_client *client;
> >> -
> >> -     memset(&info, 0, sizeof(struct i2c_board_info));
> >> -     info.addr = 0x1b;
> >> -     strlcpy(info.type, "wm8750", I2C_NAME_SIZE);
> >> -
> >> -     adapter = i2c_get_adapter(0);
> >> -     if (!adapter) {
> >> -             printk(KERN_ERR "can't get i2c adapter 0\n");
> >> -             return -ENODEV;
> >> -     }
> >> -
> >> -     client = i2c_new_device(adapter, &info);
> >> -     i2c_put_adapter(adapter);
> >> -     if (!client) {
> >> -             printk(KERN_ERR "can't add i2c device at 0x%x\n",
> >> -             (unsigned int)info.addr);
> >> -             return -ENODEV;
> >> -     }
> >> -
> >> -     return 0;
> >> -}
> >> -
> >>  static struct platform_device *spitz_snd_device;
> >> 
> >>  static int __init spitz_init(void)
> >> @@ -369,10 +337,6 @@ static int __init spitz_init(void)
> >>       if (!(machine_is_spitz() || machine_is_borzoi() ||
> >> machine_is_akita())) return -ENODEV;
> >> 
> >> -     ret = wm8750_i2c_setup();
> >> -     if (ret != 0)
> >> -             return ret;
> >> -
> >>       spitz_snd_device = platform_device_alloc("soc-audio", -1);
> >>       if (!spitz_snd_device)
> >>               return -ENOMEM;
> > 
> > --
> > (english) http://www.livejournal.com/~pavelmachek
> > (cesky, pictures)
> > http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html