On Mon, Feb 23, 2009 at 6:00 AM, Daniel Mack <[email protected]> wrote: > Hi, > > what's the suggested way of implementing an i2c drver which does not > have any other interfaces to the outside world than just the i2c device > it is communicating with? More specifically, I implemented a driver for a > Maxim clock generator and would like to use a proprietary interface with > it from a alsa-soc module. I just can't find a sane way to access the > driver's instance from there. It does exist somewhere in the linux > device tree, but is there a simple function that iterates over it and > returns it to me by name? Reading include/linux/device.h didn't point me > to anything that could fit.
The max9485? Which codec are you using it with? I tried submitting the
attached driver for the chip but Jean said it was too simple of a
driver.
I use it like this:
static int dspeak01_fabric_hw_params(struct snd_pcm_substream
*substream, struct snd_pcm_hw_params *params)
{
uint rate, select;
int ret;
struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai;
printk("dspeak01_fabric_hw_params\n");
switch (params_rate(params)) {
case 11025:
case 22050:
case 44100:
case 88200:
case 176400:
rate = 22579200;
select = MAX9485_225792;
break;
default:
rate = 24576000;
select = MAX9485_245760;
break;
}
max9485_set(fabric.clock, select | MAX9485_CLK_OUT_2);
ret = cpu_dai->ops.set_sysclk(cpu_dai, MPC52xx_CLK_CELLSLAVE, rate,
SND_SOC_CLOCK_OUT);
if (ret < 0)
return ret;
return 0;
}
>
> Excuse me this is a stupid question, but I can't find any useful
> information about that anywhere.
>
> Thanks,
> Daniel
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
Jon Smirl
[email protected]
max9485
Description: Binary data
